diff options
1260 files changed, 13795 insertions, 8759 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/AppStateTrackerImpl.java b/apex/jobscheduler/service/java/com/android/server/AppStateTrackerImpl.java index b7cf2978bb2c..3fc87d394574 100644 --- a/apex/jobscheduler/service/java/com/android/server/AppStateTrackerImpl.java +++ b/apex/jobscheduler/service/java/com/android/server/AppStateTrackerImpl.java @@ -429,7 +429,7 @@ public class AppStateTrackerImpl implements AppStateTracker { /** * Called when a uid goes into cached, so its alarms using a listener should be removed. */ - public void removeListenerAlarmsForCachedUid(int uid) { + public void handleUidCachedChanged(int uid, boolean cached) { } } @@ -870,9 +870,7 @@ public class AppStateTrackerImpl implements AppStateTracker { } public void onUidCachedChanged(int uid, boolean cached) { - if (cached) { - obtainMessage(MSG_ON_UID_CACHED, uid, 0).sendToTarget(); - } + obtainMessage(MSG_ON_UID_CACHED, uid, cached ? 1 : 0).sendToTarget(); } @Override @@ -969,14 +967,14 @@ public class AppStateTrackerImpl implements AppStateTracker { } return; case MSG_ON_UID_CACHED: - handleUidCached(msg.arg1); + handleUidCached(msg.arg1, (msg.arg2 != 0)); return; } } - private void handleUidCached(int uid) { + private void handleUidCached(int uid, boolean cached) { for (Listener l : cloneListeners()) { - l.removeListenerAlarmsForCachedUid(uid); + l.handleUidCachedChanged(uid, cached); } } diff --git a/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java b/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java index 26c0eef5542d..c76a43fa38f5 100644 --- a/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java +++ b/apex/jobscheduler/service/java/com/android/server/alarm/AlarmManagerService.java @@ -58,6 +58,7 @@ import static com.android.server.alarm.Alarm.EXACT_ALLOW_REASON_POLICY_PERMISSIO import static com.android.server.alarm.Alarm.EXACT_ALLOW_REASON_PRIORITIZED; import static com.android.server.alarm.Alarm.REQUESTER_POLICY_INDEX; import static com.android.server.alarm.Alarm.TARE_POLICY_INDEX; +import static com.android.server.alarm.AlarmManagerService.AlarmHandler.REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED; import static com.android.server.alarm.AlarmManagerService.RemovedAlarm.REMOVE_REASON_ALARM_CANCELLED; import static com.android.server.alarm.AlarmManagerService.RemovedAlarm.REMOVE_REASON_DATA_CLEARED; import static com.android.server.alarm.AlarmManagerService.RemovedAlarm.REMOVE_REASON_EXACT_PERMISSION_REVOKED; @@ -739,6 +740,8 @@ public class AlarmManagerService extends SystemService { "kill_on_schedule_exact_alarm_revoked"; @VisibleForTesting static final String KEY_TEMPORARY_QUOTA_BUMP = "temporary_quota_bump"; + @VisibleForTesting + static final String KEY_CACHED_LISTENER_REMOVAL_DELAY = "cached_listener_removal_delay"; private static final long DEFAULT_MIN_FUTURITY = 5 * 1000; private static final long DEFAULT_MIN_INTERVAL = 60 * 1000; @@ -784,6 +787,8 @@ public class AlarmManagerService extends SystemService { private static final boolean DEFAULT_DELAY_NONWAKEUP_ALARMS_WHILE_SCREEN_OFF = true; + private static final long DEFAULT_CACHED_LISTENER_REMOVAL_DELAY = 10_000; + // Minimum futurity of a new alarm public long MIN_FUTURITY = DEFAULT_MIN_FUTURITY; @@ -880,6 +885,13 @@ public class AlarmManagerService extends SystemService { public boolean DELAY_NONWAKEUP_ALARMS_WHILE_SCREEN_OFF = DEFAULT_DELAY_NONWAKEUP_ALARMS_WHILE_SCREEN_OFF; + /** + * Exact listener alarms for apps that get cached are removed after this duration. This is + * a grace period to allow for transient procstate changes, e.g., when the app switches + * between different lifecycles. + */ + public long CACHED_LISTENER_REMOVAL_DELAY = DEFAULT_CACHED_LISTENER_REMOVAL_DELAY; + private long mLastAllowWhileIdleWhitelistDuration = -1; private int mVersion = 0; @@ -1063,6 +1075,11 @@ public class AlarmManagerService extends SystemService { KEY_DELAY_NONWAKEUP_ALARMS_WHILE_SCREEN_OFF, DEFAULT_DELAY_NONWAKEUP_ALARMS_WHILE_SCREEN_OFF); break; + case KEY_CACHED_LISTENER_REMOVAL_DELAY: + CACHED_LISTENER_REMOVAL_DELAY = properties.getLong( + KEY_CACHED_LISTENER_REMOVAL_DELAY, + DEFAULT_CACHED_LISTENER_REMOVAL_DELAY); + break; default: if (name.startsWith(KEY_PREFIX_STANDBY_QUOTA) && !standbyQuotaUpdated) { // The quotas need to be updated in order, so we can't just rely @@ -1307,6 +1324,11 @@ public class AlarmManagerService extends SystemService { DELAY_NONWAKEUP_ALARMS_WHILE_SCREEN_OFF); pw.println(); + pw.print(KEY_CACHED_LISTENER_REMOVAL_DELAY); + pw.print("="); + TimeUtils.formatDuration(CACHED_LISTENER_REMOVAL_DELAY, pw); + pw.println(); + pw.decreaseIndent(); } @@ -4968,6 +4990,7 @@ public class AlarmManagerService extends SystemService { public static final int TARE_AFFORDABILITY_CHANGED = 12; public static final int CHECK_EXACT_ALARM_PERMISSION_ON_UPDATE = 13; public static final int TEMPORARY_QUOTA_CHANGED = 14; + public static final int REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED = 15; AlarmHandler() { super(Looper.myLooper()); @@ -5088,6 +5111,21 @@ public class AlarmManagerService extends SystemService { removeExactAlarmsOnPermissionRevoked(uid, packageName, /*killUid = */false); } break; + case REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED: + uid = (Integer) msg.obj; + synchronized (mLock) { + removeAlarmsInternalLocked(a -> { + if (a.uid != uid || a.listener == null || a.windowLength != 0) { + return false; + } + // TODO (b/265195908): Change to .w once we have some data on breakages. + Slog.wtf(TAG, "Alarm " + a.listenerTag + " being removed for " + + UserHandle.formatUid(a.uid) + ":" + a.packageName + + " because the app went into cached state"); + return true; + }, REMOVE_REASON_LISTENER_CACHED); + } + break; default: // nope, just ignore it break; @@ -5444,20 +5482,30 @@ public class AlarmManagerService extends SystemService { } @Override - public void removeListenerAlarmsForCachedUid(int uid) { + public void handleUidCachedChanged(int uid, boolean cached) { if (!CompatChanges.isChangeEnabled(EXACT_LISTENER_ALARMS_DROPPED_ON_CACHED, uid)) { return; } + // Apps can quickly get frozen after being cached, breaking the exactness guarantee on + // listener alarms. So going forward, the contract of exact listener alarms explicitly + // states that they will be removed as soon as the app goes out of lifecycle. We still + // allow a short grace period for quick shuffling of proc-states that may happen + // unexpectedly when switching between different lifecycles and is generally hard for + // apps to avoid. + + final long delay; synchronized (mLock) { - removeAlarmsInternalLocked(a -> { - if (a.uid != uid || a.listener == null || a.windowLength != 0) { - return false; - } - // TODO (b/265195908): Change to a .w once we have some data on breakages. - Slog.wtf(TAG, "Alarm " + a.listenerTag + " being removed for " + a.packageName - + " because the app went into cached state"); - return true; - }, REMOVE_REASON_LISTENER_CACHED); + delay = mConstants.CACHED_LISTENER_REMOVAL_DELAY; + } + final Integer uidObj = uid; + + if (cached && !mHandler.hasEqualMessages(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED, + uidObj)) { + mHandler.sendMessageDelayed( + mHandler.obtainMessage(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED, uidObj), + delay); + } else { + mHandler.removeEqualMessages(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED, uidObj); } } }; diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java index 89eb1a9a7650..4477e94b77f1 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java @@ -1259,10 +1259,14 @@ class JobConcurrencyManager { final BackgroundStartPrivileges bsp = activityManagerInternal.getBackgroundStartPrivileges(uid); - final boolean balAllowed = bsp.allowsBackgroundActivityStarts(); if (DEBUG) { - Slog.d(TAG, "Job " + job.toShortString() + " bal state: " + bsp); + Slog.d(TAG, "Job " + job.toShortString() + " bsp state: " + bsp); } + // Intentionally use the background activity start BSP here instead of + // the full BAL check since the former is transient and better indicates that the + // user recently interacted with the app, while the latter includes + // permanent exceptions that don't warrant bypassing normal concurrency policy. + final boolean balAllowed = bsp.allowsBackgroundActivityStarts(); cachedPrivilegedState.put(uid, balAllowed ? PRIVILEGED_STATE_BAL : PRIVILEGED_STATE_NONE); return balAllowed; diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java index 08810b549e62..4cf9c8cfb6fe 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java +++ b/apex/jobscheduler/service/java/com/android/server/job/JobSchedulerService.java @@ -31,7 +31,6 @@ import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityManagerInternal; import android.app.AppGlobals; -import android.app.BackgroundStartPrivileges; import android.app.IUidObserver; import android.app.compat.CompatChanges; import android.app.job.IJobScheduler; @@ -3782,7 +3781,8 @@ public class JobSchedulerService extends com.android.server.SystemService return canPersist; } - private int validateJob(@NonNull JobInfo job, int callingUid, int sourceUserId, + private int validateJob(@NonNull JobInfo job, int callingUid, int callingPid, + int sourceUserId, @Nullable String sourcePkgName, @Nullable JobWorkItem jobWorkItem) { final boolean rejectNegativeNetworkEstimates = CompatChanges.isChangeEnabled( JobInfo.REJECT_NEGATIVE_NETWORK_ESTIMATES, callingUid); @@ -3815,6 +3815,8 @@ public class JobSchedulerService extends com.android.server.SystemService } // We aim to check the permission of both the source and calling app so that apps // don't attempt to bypass the permission by using other apps to do the work. + boolean isInStateToScheduleUiJobSource = false; + final String callingPkgName = job.getService().getPackageName(); if (sourceUid != -1) { // Check the permission of the source app. final int sourceResult = @@ -3822,8 +3824,13 @@ public class JobSchedulerService extends com.android.server.SystemService if (sourceResult != JobScheduler.RESULT_SUCCESS) { return sourceResult; } + final int sourcePid = + callingUid == sourceUid && callingPkgName.equals(sourcePkgName) + ? callingPid : -1; + isInStateToScheduleUiJobSource = isInStateToScheduleUserInitiatedJobs( + sourceUid, sourcePid, sourcePkgName); } - final String callingPkgName = job.getService().getPackageName(); + boolean isInStateToScheduleUiJobCalling = false; if (callingUid != sourceUid || !callingPkgName.equals(sourcePkgName)) { // Source app is different from calling app. Make sure the calling app also has // the permission. @@ -3832,25 +3839,17 @@ public class JobSchedulerService extends com.android.server.SystemService if (callingResult != JobScheduler.RESULT_SUCCESS) { return callingResult; } + // Avoid rechecking the state if the source app is able to schedule the job. + if (!isInStateToScheduleUiJobSource) { + isInStateToScheduleUiJobCalling = isInStateToScheduleUserInitiatedJobs( + callingUid, callingPid, callingPkgName); + } } - final int uid = sourceUid != -1 ? sourceUid : callingUid; - final int procState = mActivityManagerInternal.getUidProcessState(uid); - if (DEBUG) { - Slog.d(TAG, "Uid " + uid + " proc state=" - + ActivityManager.procStateToString(procState)); - } - if (procState != ActivityManager.PROCESS_STATE_TOP) { - final BackgroundStartPrivileges bsp = - mActivityManagerInternal.getBackgroundStartPrivileges(uid); - if (DEBUG) { - Slog.d(TAG, "Uid " + uid + ": " + bsp); - } - if (!bsp.allowsBackgroundActivityStarts()) { - Slog.e(TAG, - "Uid " + uid + " not in a state to schedule user-initiated jobs"); - return JobScheduler.RESULT_FAILURE; - } + if (!isInStateToScheduleUiJobSource && !isInStateToScheduleUiJobCalling) { + Slog.e(TAG, "Uid(s) " + sourceUid + "/" + callingUid + + " not in a state to schedule user-initiated jobs"); + return JobScheduler.RESULT_FAILURE; } } if (jobWorkItem != null) { @@ -3896,6 +3895,24 @@ public class JobSchedulerService extends com.android.server.SystemService return JobScheduler.RESULT_SUCCESS; } + private boolean isInStateToScheduleUserInitiatedJobs(int uid, int pid, String pkgName) { + final int procState = mActivityManagerInternal.getUidProcessState(uid); + if (DEBUG) { + Slog.d(TAG, "Uid " + uid + " proc state=" + + ActivityManager.procStateToString(procState)); + } + if (procState == ActivityManager.PROCESS_STATE_TOP) { + return true; + } + final boolean canScheduleUiJobsInBg = + mActivityManagerInternal.canScheduleUserInitiatedJobs(uid, pid, pkgName); + if (DEBUG) { + Slog.d(TAG, "Uid " + uid + + " AM.canScheduleUserInitiatedJobs= " + canScheduleUiJobsInBg); + } + return canScheduleUiJobsInBg; + } + // IJobScheduler implementation @Override public int schedule(String namespace, JobInfo job) throws RemoteException { @@ -3908,7 +3925,7 @@ public class JobSchedulerService extends com.android.server.SystemService enforceValidJobRequest(uid, pid, job); - final int result = validateJob(job, uid, -1, null, null); + final int result = validateJob(job, uid, pid, -1, null, null); if (result != JobScheduler.RESULT_SUCCESS) { return result; } @@ -3941,7 +3958,7 @@ public class JobSchedulerService extends com.android.server.SystemService throw new NullPointerException("work is null"); } - final int result = validateJob(job, uid, -1, null, work); + final int result = validateJob(job, uid, pid, -1, null, work); if (result != JobScheduler.RESULT_SUCCESS) { return result; } @@ -3963,6 +3980,7 @@ public class JobSchedulerService extends com.android.server.SystemService public int scheduleAsPackage(String namespace, JobInfo job, String packageName, int userId, String tag) throws RemoteException { final int callerUid = Binder.getCallingUid(); + final int callerPid = Binder.getCallingPid(); if (DEBUG) { Slog.d(TAG, "Caller uid " + callerUid + " scheduling job: " + job.toString() + " on behalf of " + packageName + "/"); @@ -3979,7 +3997,7 @@ public class JobSchedulerService extends com.android.server.SystemService + " not permitted to schedule jobs for other apps"); } - int result = validateJob(job, callerUid, userId, packageName, null); + int result = validateJob(job, callerUid, callerPid, userId, packageName, null); if (result != JobScheduler.RESULT_SUCCESS) { return result; } diff --git a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java index ab0a8adb5daf..55e681521048 100644 --- a/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java +++ b/apex/jobscheduler/service/java/com/android/server/usage/AppStandbyController.java @@ -489,14 +489,6 @@ public class AppStandbyController | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE; - /** - * Whether we should allow apps into the - * {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_RESTRICTED} bucket or not. - * If false, any attempts to put an app into the bucket will put the app into the - * {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_RARE} bucket instead. - */ - private boolean mAllowRestrictedBucket; - private volatile boolean mAppIdleEnabled; private volatile boolean mIsCharging; private boolean mSystemServicesReady = false; @@ -1058,13 +1050,6 @@ public class AppStandbyController Slog.d(TAG, "Bringing down to RESTRICTED due to timeout"); } } - if (newBucket == STANDBY_BUCKET_RESTRICTED && !mAllowRestrictedBucket) { - newBucket = STANDBY_BUCKET_RARE; - // Leave the reason alone. - if (DEBUG) { - Slog.d(TAG, "Bringing up from RESTRICTED to RARE due to off switch"); - } - } if (newBucket > minBucket) { newBucket = minBucket; // Leave the reason alone. @@ -1689,7 +1674,7 @@ public class AppStandbyController final int reason = (REASON_MAIN_MASK & mainReason) | (REASON_SUB_MASK & restrictReason); final long nowElapsed = mInjector.elapsedRealtime(); - final int bucket = mAllowRestrictedBucket ? STANDBY_BUCKET_RESTRICTED : STANDBY_BUCKET_RARE; + final int bucket = STANDBY_BUCKET_RESTRICTED; setAppStandbyBucket(packageName, userId, bucket, reason, nowElapsed, false); } @@ -1793,9 +1778,6 @@ public class AppStandbyController Slog.e(TAG, "Tried to set bucket of uninstalled app: " + packageName); return; } - if (newBucket == STANDBY_BUCKET_RESTRICTED && !mAllowRestrictedBucket) { - newBucket = STANDBY_BUCKET_RARE; - } AppIdleHistory.AppUsageHistory app = mAppIdleHistory.getAppUsageHistory(packageName, userId, elapsedRealtime); boolean predicted = (reason & REASON_MAIN_MASK) == REASON_MAIN_PREDICTED; @@ -1921,7 +1903,6 @@ public class AppStandbyController + " due to min timeout"); } } else if (newBucket == STANDBY_BUCKET_RARE - && mAllowRestrictedBucket && getBucketForLocked(packageName, userId, elapsedRealtime) == STANDBY_BUCKET_RESTRICTED) { // Prediction doesn't think the app will be used anytime soon and @@ -2529,8 +2510,6 @@ public class AppStandbyController pw.println(); pw.print("mAppIdleEnabled="); pw.print(mAppIdleEnabled); - pw.print(" mAllowRestrictedBucket="); - pw.print(mAllowRestrictedBucket); pw.print(" mIsCharging="); pw.print(mIsCharging); pw.println(); @@ -2711,12 +2690,6 @@ public class AppStandbyController } } - boolean isRestrictedBucketEnabled() { - return Global.getInt(mContext.getContentResolver(), - Global.ENABLE_RESTRICTED_BUCKET, - Global.DEFAULT_ENABLE_RESTRICTED_BUCKET) == 1; - } - File getDataSystemDirectory() { return Environment.getDataSystemDirectory(); } @@ -3079,11 +3052,6 @@ public class AppStandbyController // APP_STANDBY_ENABLED is a SystemApi that some apps may be watching, so best to // leave it in Settings. cr.registerContentObserver(Global.getUriFor(Global.APP_STANDBY_ENABLED), false, this); - // Leave ENABLE_RESTRICTED_BUCKET as a user-controlled setting which will stay in - // Settings. - // TODO: make setting user-specific - cr.registerContentObserver(Global.getUriFor(Global.ENABLE_RESTRICTED_BUCKET), - false, this); // ADAPTIVE_BATTERY_MANAGEMENT_ENABLED is a user setting, so it has to stay in Settings. cr.registerContentObserver(Global.getUriFor(Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED), false, this); @@ -3284,10 +3252,6 @@ public class AppStandbyController Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED)); } - synchronized (mAppIdleLock) { - mAllowRestrictedBucket = mInjector.isRestrictedBucketEnabled(); - } - setAppIdleEnabled(mInjector.isAppIdleEnabled()); } diff --git a/api/Android.bp b/api/Android.bp index 73dbd286229d..24b30048fab7 100644 --- a/api/Android.bp +++ b/api/Android.bp @@ -41,23 +41,6 @@ bootstrap_go_package { } python_binary_host { - name: "api_versions_trimmer", - srcs: ["api_versions_trimmer.py"], -} - -python_test_host { - name: "api_versions_trimmer_unittests", - main: "api_versions_trimmer_unittests.py", - srcs: [ - "api_versions_trimmer_unittests.py", - "api_versions_trimmer.py", - ], - test_options: { - unit_test: true, - }, -} - -python_binary_host { name: "merge_annotation_zips", srcs: ["merge_annotation_zips.py"], } diff --git a/api/api.go b/api/api.go index 9876abb8ce36..09c238336a39 100644 --- a/api/api.go +++ b/api/api.go @@ -194,55 +194,6 @@ func createMergedAnnotationsFilegroups(ctx android.LoadHookContext, modules, sys } } -func createFilteredApiVersions(ctx android.LoadHookContext, modules []string) { - // For the filtered api versions, we prune all APIs except art module's APIs. because - // 1) ART apis are available by default to all modules, while other module-to-module deps are - // explicit and probably receive more scrutiny anyway - // 2) The number of ART/libcore APIs is large, so not linting them would create a large gap - // 3) It's a compromise. Ideally we wouldn't be filtering out any module APIs, and have - // per-module lint databases that excludes just that module's APIs. Alas, that's more - // difficult to achieve. - modules = remove(modules, art) - - for _, i := range []struct{ - name string - out string - in string - }{ - { - // We shouldn't need public-filtered or system-filtered. - // public-filtered is currently used to lint things that - // use the module sdk or the system server sdk, but those - // should be switched over to module-filtered and - // system-server-filtered, and then public-filtered can - // be removed. - name: "api-versions-xml-public-filtered", - out: "api-versions-public-filtered.xml", - in: ":api_versions_public{.api_versions.xml}", - }, { - name: "api-versions-xml-module-lib-filtered", - out: "api-versions-module-lib-filtered.xml", - in: ":api_versions_module_lib{.api_versions.xml}", - }, { - name: "api-versions-xml-system-server-filtered", - out: "api-versions-system-server-filtered.xml", - in: ":api_versions_system_server{.api_versions.xml}", - }, - } { - props := genruleProps{} - props.Name = proptools.StringPtr(i.name) - props.Out = []string{i.out} - // Note: order matters: first parameter is the full api-versions.xml - // after that the stubs files in any order - // stubs files are all modules that export API surfaces EXCEPT ART - props.Srcs = append([]string{i.in}, createSrcs(modules, ".stubs{.jar}")...) - props.Tools = []string{"api_versions_trimmer"} - props.Cmd = proptools.StringPtr("$(location api_versions_trimmer) $(out) $(in)") - props.Dists = []android.Dist{{Targets: []string{"sdk"}}} - ctx.CreateModule(genrule.GenRuleFactory, &props, &bp2buildNotAvailable) - } -} - func createMergedPublicStubs(ctx android.LoadHookContext, modules []string) { props := libraryProps{} props.Name = proptools.StringPtr("all-modules-public-stubs") @@ -395,8 +346,6 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) { createMergedAnnotationsFilegroups(ctx, bootclasspath, system_server_classpath) - createFilteredApiVersions(ctx, bootclasspath) - createPublicStubsSourceFilegroup(ctx, bootclasspath) } diff --git a/api/api_versions_trimmer.py b/api/api_versions_trimmer.py deleted file mode 100755 index 9afd95a3003a..000000000000 --- a/api/api_versions_trimmer.py +++ /dev/null @@ -1,136 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2021 The Android Open 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. - -"""Script to remove mainline APIs from the api-versions.xml.""" - -import argparse -import re -import xml.etree.ElementTree as ET -import zipfile - - -def read_classes(stubs): - """Read classes from the stubs file. - - Args: - stubs: argument can be a path to a file (a string), a file-like object or a - path-like object - - Returns: - a set of the classes found in the file (set of strings) - """ - classes = set() - with zipfile.ZipFile(stubs) as z: - for info in z.infolist(): - if (not info.is_dir() - and info.filename.endswith(".class") - and not info.filename.startswith("META-INF")): - # drop ".class" extension - classes.add(info.filename[:-6]) - return classes - - -def filter_method_tag(method, classes_to_remove): - """Updates the signature of this method by calling filter_method_signature. - - Updates the method passed into this function. - - Args: - method: xml element that represents a method - classes_to_remove: set of classes you to remove - """ - filtered = filter_method_signature(method.get("name"), classes_to_remove) - method.set("name", filtered) - - -def filter_method_signature(signature, classes_to_remove): - """Removes mentions of certain classes from this method signature. - - Replaces any existing classes that need to be removed, with java/lang/Object - - Args: - signature: string that is a java representation of a method signature - classes_to_remove: set of classes you to remove - """ - regex = re.compile("L.*?;") - start = signature.find("(") - matches = set(regex.findall(signature[start:])) - for m in matches: - # m[1:-1] to drop the leading `L` and `;` ending - if m[1:-1] in classes_to_remove: - signature = signature.replace(m, "Ljava/lang/Object;") - return signature - - -def filter_lint_database(database, classes_to_remove, output): - """Reads a lint database and writes a filtered version without some classes. - - Reads database from api-versions.xml and removes any references to classes - in the second argument. Writes the result (another xml with the same format - of the database) to output. - - Args: - database: path to xml with lint database to read - classes_to_remove: iterable (ideally a set or similar for quick - lookups) that enumerates the classes that should be removed - output: path to write the filtered database - """ - xml = ET.parse(database) - root = xml.getroot() - for c in xml.findall("class"): - cname = c.get("name") - if cname in classes_to_remove: - root.remove(c) - else: - # find the <extends /> tag inside this class to see if the parent - # has been removed from the known classes (attribute called name) - super_classes = c.findall("extends") - for super_class in super_classes: - super_class_name = super_class.get("name") - if super_class_name in classes_to_remove: - super_class.set("name", "java/lang/Object") - interfaces = c.findall("implements") - for interface in interfaces: - interface_name = interface.get("name") - if interface_name in classes_to_remove: - c.remove(interface) - for method in c.findall("method"): - filter_method_tag(method, classes_to_remove) - xml.write(output) - - -def main(): - """Run the program.""" - parser = argparse.ArgumentParser( - description= - ("Read a lint database (api-versions.xml) and many stubs jar files. " - "Produce another database file that doesn't include the classes present " - "in the stubs file(s).")) - parser.add_argument("output", help="Destination of the result (xml file).") - parser.add_argument( - "api_versions", - help="The lint database (api-versions.xml file) to read data from" - ) - parser.add_argument("stubs", nargs="+", help="The stubs jar file(s)") - parsed = parser.parse_args() - classes = set() - for stub in parsed.stubs: - classes.update(read_classes(stub)) - filter_lint_database(parsed.api_versions, classes, parsed.output) - - -if __name__ == "__main__": - main() diff --git a/api/api_versions_trimmer_unittests.py b/api/api_versions_trimmer_unittests.py deleted file mode 100644 index d2e5b7d1a07e..000000000000 --- a/api/api_versions_trimmer_unittests.py +++ /dev/null @@ -1,307 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2021 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import io -import re -import unittest -import xml.etree.ElementTree as ET -import zipfile - -import api_versions_trimmer - - -def create_in_memory_zip_file(files): - f = io.BytesIO() - with zipfile.ZipFile(f, "w") as z: - for fname in files: - with z.open(fname, mode="w") as class_file: - class_file.write(b"") - return f - - -def indent(elem, level=0): - i = "\n" + level * " " - j = "\n" + (level - 1) * " " - if len(elem): - if not elem.text or not elem.text.strip(): - elem.text = i + " " - if not elem.tail or not elem.tail.strip(): - elem.tail = i - for subelem in elem: - indent(subelem, level + 1) - if not elem.tail or not elem.tail.strip(): - elem.tail = j - else: - if level and (not elem.tail or not elem.tail.strip()): - elem.tail = j - return elem - - -def pretty_print(s): - tree = ET.parse(io.StringIO(s)) - el = indent(tree.getroot()) - res = ET.tostring(el).decode("utf-8") - # remove empty lines inside the result because this still breaks some - # comparisons - return re.sub(r"\n\s*\n", "\n", res, re.MULTILINE) - - -class ApiVersionsTrimmerUnittests(unittest.TestCase): - - def setUp(self): - # so it prints diffs in long strings (xml files) - self.maxDiff = None - - def test_read_classes(self): - f = create_in_memory_zip_file( - ["a/b/C.class", - "a/b/D.class", - ] - ) - res = api_versions_trimmer.read_classes(f) - self.assertEqual({"a/b/C", "a/b/D"}, res) - - def test_read_classes_ignore_dex(self): - f = create_in_memory_zip_file( - ["a/b/C.class", - "a/b/D.class", - "a/b/E.dex", - "f.dex", - ] - ) - res = api_versions_trimmer.read_classes(f) - self.assertEqual({"a/b/C", "a/b/D"}, res) - - def test_read_classes_ignore_manifest(self): - f = create_in_memory_zip_file( - ["a/b/C.class", - "a/b/D.class", - "META-INFO/G.class" - ] - ) - res = api_versions_trimmer.read_classes(f) - self.assertEqual({"a/b/C", "a/b/D"}, res) - - def test_filter_method_signature(self): - xml = """ - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" since="24"/> - """ - method = ET.fromstring(xml) - classes_to_remove = {"android/accessibilityservice/GestureDescription"} - expected = "dispatchGesture(Ljava/lang/Object;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" - api_versions_trimmer.filter_method_tag(method, classes_to_remove) - self.assertEqual(expected, method.get("name")) - - def test_filter_method_signature_with_L_in_method(self): - xml = """ - <method name="dispatchLeftGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" since="24"/> - """ - method = ET.fromstring(xml) - classes_to_remove = {"android/accessibilityservice/GestureDescription"} - expected = "dispatchLeftGesture(Ljava/lang/Object;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" - api_versions_trimmer.filter_method_tag(method, classes_to_remove) - self.assertEqual(expected, method.get("name")) - - def test_filter_method_signature_with_L_in_class(self): - xml = """ - <method name="dispatchGesture(Landroid/accessibilityservice/LeftGestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" since="24"/> - """ - method = ET.fromstring(xml) - classes_to_remove = {"android/accessibilityservice/LeftGestureDescription"} - expected = "dispatchGesture(Ljava/lang/Object;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" - api_versions_trimmer.filter_method_tag(method, classes_to_remove) - self.assertEqual(expected, method.get("name")) - - def test_filter_method_signature_with_inner_class(self): - xml = """ - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription$Inner;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" since="24"/> - """ - method = ET.fromstring(xml) - classes_to_remove = {"android/accessibilityservice/GestureDescription$Inner"} - expected = "dispatchGesture(Ljava/lang/Object;Landroid/accessibilityservice/AccessibilityService$GestureResultCallback;Landroid/os/Handler;)Z" - api_versions_trimmer.filter_method_tag(method, classes_to_remove) - self.assertEqual(expected, method.get("name")) - - def _run_filter_db_test(self, database_str, expected): - """Performs the pattern of testing the filter_lint_database method. - - Filters instances of the class "a/b/C" (hard-coded) from the database string - and compares the result with the expected result (performs formatting of - the xml of both inputs) - - Args: - database_str: string, the contents of the lint database (api-versions.xml) - expected: string, the expected result after filtering the original - database - """ - database = io.StringIO(database_str) - classes_to_remove = {"a/b/C"} - output = io.BytesIO() - api_versions_trimmer.filter_lint_database( - database, - classes_to_remove, - output - ) - expected = pretty_print(expected) - res = pretty_print(output.getvalue().decode("utf-8")) - self.assertEqual(expected, res) - - def test_filter_lint_database_updates_method_signature_params(self): - self._run_filter_db_test( - database_str=""" - <api version="2"> - <!-- will be removed --> - <class name="a/b/C" since="1"> - <extends name="java/lang/Object"/> - </class> - - <class name="a/b/E" since="1"> - <!-- extends will be modified --> - <extends name="a/b/C"/> - <!-- first parameter will be modified --> - <method name="dispatchGesture(La/b/C;Landroid/os/Handler;)Z" since="24"/> - <!-- second should remain untouched --> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """, - expected=""" - <api version="2"> - <class name="a/b/E" since="1"> - <extends name="java/lang/Object"/> - <method name="dispatchGesture(Ljava/lang/Object;Landroid/os/Handler;)Z" since="24"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """) - - def test_filter_lint_database_updates_method_signature_return(self): - self._run_filter_db_test( - database_str=""" - <api version="2"> - <!-- will be removed --> - <class name="a/b/C" since="1"> - <extends name="java/lang/Object"/> - </class> - - <class name="a/b/E" since="1"> - <!-- extends will be modified --> - <extends name="a/b/C"/> - <!-- return type should be changed --> - <method name="gestureIdToString(I)La/b/C;" since="24"/> - </class> - </api> - """, - expected=""" - <api version="2"> - <class name="a/b/E" since="1"> - - <extends name="java/lang/Object"/> - - <method name="gestureIdToString(I)Ljava/lang/Object;" since="24"/> - </class> - </api> - """) - - def test_filter_lint_database_removes_implements(self): - self._run_filter_db_test( - database_str=""" - <api version="2"> - <!-- will be removed --> - <class name="a/b/C" since="1"> - <extends name="java/lang/Object"/> - </class> - - <class name="a/b/D" since="1"> - <extends name="java/lang/Object"/> - <implements name="a/b/C"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """, - expected=""" - <api version="2"> - - <class name="a/b/D" since="1"> - <extends name="java/lang/Object"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """) - - def test_filter_lint_database_updates_extends(self): - self._run_filter_db_test( - database_str=""" - <api version="2"> - <!-- will be removed --> - <class name="a/b/C" since="1"> - <extends name="java/lang/Object"/> - </class> - - <class name="a/b/E" since="1"> - <!-- extends will be modified --> - <extends name="a/b/C"/> - <method name="dispatchGesture(Ljava/lang/Object;Landroid/os/Handler;)Z" since="24"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """, - expected=""" - <api version="2"> - <class name="a/b/E" since="1"> - <extends name="java/lang/Object"/> - <method name="dispatchGesture(Ljava/lang/Object;Landroid/os/Handler;)Z" since="24"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """) - - def test_filter_lint_database_removes_class(self): - self._run_filter_db_test( - database_str=""" - <api version="2"> - <!-- will be removed --> - <class name="a/b/C" since="1"> - <extends name="java/lang/Object"/> - </class> - - <class name="a/b/D" since="1"> - <extends name="java/lang/Object"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """, - expected=""" - <api version="2"> - - <class name="a/b/D" since="1"> - <extends name="java/lang/Object"/> - <method name="dispatchGesture(Landroid/accessibilityservice/GestureDescription;Landroid/accessibilityservice/AccessibilityService$GestureRe -sultCallback;Landroid/os/Handler;)Z" since="24"/> - </class> - </api> - """) - - -if __name__ == "__main__": - unittest.main(verbosity=2) diff --git a/cmds/bootanimation/BootAnimation.cpp b/cmds/bootanimation/BootAnimation.cpp index 00d9a4bf05f0..c4e8b0e49af3 100644 --- a/cmds/bootanimation/BootAnimation.cpp +++ b/cmds/bootanimation/BootAnimation.cpp @@ -458,6 +458,7 @@ public: EGLConfig BootAnimation::getEglConfig(const EGLDisplay& display) { const EGLint attribs[] = { + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT, EGL_RED_SIZE, 8, EGL_GREEN_SIZE, 8, EGL_BLUE_SIZE, 8, diff --git a/cmds/svc/src/com/android/commands/svc/PowerCommand.java b/cmds/svc/src/com/android/commands/svc/PowerCommand.java index 957ebfbef799..a7560b23c6bd 100644 --- a/cmds/svc/src/com/android/commands/svc/PowerCommand.java +++ b/cmds/svc/src/com/android/commands/svc/PowerCommand.java @@ -40,7 +40,7 @@ public class PowerCommand extends Svc.Command { public String longHelp() { return shortHelp() + "\n" + "\n" - + "usage: svc power stayon [true|false|usb|ac|wireless]\n" + + "usage: svc power stayon [true|false|usb|ac|wireless|dock]\n" + " Set the 'keep awake while plugged in' setting.\n" + " svc power reboot [reason]\n" + " Perform a runtime shutdown and reboot device with specified reason.\n" @@ -66,9 +66,10 @@ public class PowerCommand extends Svc.Command { if ("stayon".equals(args[1]) && args.length == 3) { int val; if ("true".equals(args[2])) { - val = BatteryManager.BATTERY_PLUGGED_AC | - BatteryManager.BATTERY_PLUGGED_USB | - BatteryManager.BATTERY_PLUGGED_WIRELESS; + val = BatteryManager.BATTERY_PLUGGED_AC + | BatteryManager.BATTERY_PLUGGED_USB + | BatteryManager.BATTERY_PLUGGED_WIRELESS + | BatteryManager.BATTERY_PLUGGED_DOCK; } else if ("false".equals(args[2])) { val = 0; @@ -78,6 +79,8 @@ public class PowerCommand extends Svc.Command { val = BatteryManager.BATTERY_PLUGGED_AC; } else if ("wireless".equals(args[2])) { val = BatteryManager.BATTERY_PLUGGED_WIRELESS; + } else if ("dock".equals(args[2])) { + val = BatteryManager.BATTERY_PLUGGED_DOCK; } else { break fail; } diff --git a/core/api/current.txt b/core/api/current.txt index 8cf7571f4e8a..70dcd542d715 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -83,6 +83,7 @@ package android { field public static final String CLEAR_APP_CACHE = "android.permission.CLEAR_APP_CACHE"; field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY"; field public static final String CONTROL_LOCATION_UPDATES = "android.permission.CONTROL_LOCATION_UPDATES"; + field public static final String CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS = "android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"; field public static final String CREDENTIAL_MANAGER_SET_ORIGIN = "android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"; field public static final String DELETE_CACHE_FILES = "android.permission.DELETE_CACHE_FILES"; field public static final String DELETE_PACKAGES = "android.permission.DELETE_PACKAGES"; @@ -556,6 +557,7 @@ package android { field public static final int canTakeScreenshot = 16844303; // 0x101060f field public static final int candidatesTextStyleSpans = 16843312; // 0x1010230 field public static final int cantSaveState = 16844142; // 0x101056e + field public static final int capability; field @Deprecated public static final int capitalize = 16843113; // 0x1010169 field public static final int category = 16843752; // 0x10103e8 field public static final int centerBright = 16842956; // 0x10100cc @@ -1448,6 +1450,7 @@ package android { field public static final int sessionService = 16843837; // 0x101043d field public static final int settingsActivity = 16843301; // 0x1010225 field public static final int settingsSliceUri = 16844179; // 0x1010593 + field public static final int settingsSubtitle; field public static final int setupActivity = 16843766; // 0x10103f6 field public static final int shadowColor = 16843105; // 0x1010161 field public static final int shadowDx = 16843106; // 0x1010162 @@ -6944,6 +6947,7 @@ package android.app { method public void send() throws android.app.PendingIntent.CanceledException; method public void send(int) throws android.app.PendingIntent.CanceledException; method public void send(android.content.Context, int, @Nullable android.content.Intent) throws android.app.PendingIntent.CanceledException; + method public void send(@Nullable android.os.Bundle) throws android.app.PendingIntent.CanceledException; method public void send(int, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler) throws android.app.PendingIntent.CanceledException; method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler) throws android.app.PendingIntent.CanceledException; method public void send(android.content.Context, int, @Nullable android.content.Intent, @Nullable android.app.PendingIntent.OnFinished, @Nullable android.os.Handler, @Nullable String) throws android.app.PendingIntent.CanceledException; @@ -13671,8 +13675,9 @@ package android.credentials { } public final class CredentialOption implements android.os.Parcelable { - ctor public CredentialOption(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.Bundle, boolean); + ctor @Deprecated public CredentialOption(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.Bundle, boolean); method public int describeContents(); + method @NonNull public java.util.Set<android.content.ComponentName> getAllowedProviders(); method @NonNull public android.os.Bundle getCandidateQueryData(); method @NonNull public android.os.Bundle getCredentialRetrievalData(); method @NonNull public String getType(); @@ -13682,6 +13687,14 @@ package android.credentials { field public static final String FLATTENED_REQUEST = "android.credentials.GetCredentialOption.FLATTENED_REQUEST_STRING"; } + public static final class CredentialOption.Builder { + ctor public CredentialOption.Builder(@NonNull String, @NonNull android.os.Bundle, @NonNull android.os.Bundle); + method @NonNull public android.credentials.CredentialOption.Builder addAllowedProvider(@NonNull android.content.ComponentName); + method @NonNull public android.credentials.CredentialOption build(); + method @NonNull public android.credentials.CredentialOption.Builder setAllowedProviders(@NonNull java.util.Set<android.content.ComponentName>); + method @NonNull public android.credentials.CredentialOption.Builder setIsSystemProviderRequired(boolean); + } + public class GetCredentialException extends java.lang.Exception { ctor public GetCredentialException(@NonNull String, @Nullable String); ctor public GetCredentialException(@NonNull String, @Nullable String, @Nullable Throwable); @@ -18767,7 +18780,6 @@ package android.hardware.camera2 { field public static final int CONTROL_AF_TRIGGER_CANCEL = 2; // 0x2 field public static final int CONTROL_AF_TRIGGER_IDLE = 0; // 0x0 field public static final int CONTROL_AF_TRIGGER_START = 1; // 0x1 - field public static final int CONTROL_AUTOFRAMING_AUTO = 2; // 0x2 field public static final int CONTROL_AUTOFRAMING_OFF = 0; // 0x0 field public static final int CONTROL_AUTOFRAMING_ON = 1; // 0x1 field public static final int CONTROL_AUTOFRAMING_STATE_CONVERGED = 2; // 0x2 @@ -40707,7 +40719,7 @@ package android.service.credentials { method public abstract void onBeginGetCredential(@NonNull android.service.credentials.BeginGetCredentialRequest, @NonNull android.os.CancellationSignal, @NonNull android.os.OutcomeReceiver<android.service.credentials.BeginGetCredentialResponse,android.credentials.GetCredentialException>); method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent); method public abstract void onClearCredentialState(@NonNull android.service.credentials.ClearCredentialStateRequest, @NonNull android.os.CancellationSignal, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.credentials.ClearCredentialStateException>); - field public static final String CAPABILITY_META_DATA_KEY = "android.credentials.capabilities"; + field @Deprecated public static final String CAPABILITY_META_DATA_KEY = "android.credentials.capabilities"; field public static final String EXTRA_BEGIN_GET_CREDENTIAL_REQUEST = "android.service.credentials.extra.BEGIN_GET_CREDENTIAL_REQUEST"; field public static final String EXTRA_BEGIN_GET_CREDENTIAL_RESPONSE = "android.service.credentials.extra.BEGIN_GET_CREDENTIAL_RESPONSE"; field public static final String EXTRA_CREATE_CREDENTIAL_EXCEPTION = "android.service.credentials.extra.CREATE_CREDENTIAL_EXCEPTION"; @@ -40717,6 +40729,7 @@ package android.service.credentials { field public static final String EXTRA_GET_CREDENTIAL_REQUEST = "android.service.credentials.extra.GET_CREDENTIAL_REQUEST"; field public static final String EXTRA_GET_CREDENTIAL_RESPONSE = "android.service.credentials.extra.GET_CREDENTIAL_RESPONSE"; field public static final String SERVICE_INTERFACE = "android.service.credentials.CredentialProviderService"; + field public static final String SERVICE_META_DATA = "android.credentials.provider"; } public final class GetCredentialRequest implements android.os.Parcelable { diff --git a/core/api/system-current.txt b/core/api/system-current.txt index ee6606768afc..6177a9f0500f 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -13033,6 +13033,7 @@ package android.service.voice { public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback { ctor public AlwaysOnHotwordDetector.Callback(); method public abstract void onAvailabilityChanged(int); + method public void onFailure(@NonNull android.service.voice.SoundTriggerFailure); method public void onHotwordDetectionServiceInitialized(int); method public void onHotwordDetectionServiceRestarted(); method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult); @@ -13056,32 +13057,12 @@ package android.service.voice { method public int getStart(); } - public final class DetectedPhrase implements android.os.Parcelable { - method public int describeContents(); - method public int getId(); - method @Nullable public String getPhrase(); - method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.DetectedPhrase> CREATOR; - } - - public static final class DetectedPhrase.Builder { - ctor public DetectedPhrase.Builder(); - method @NonNull public android.service.voice.DetectedPhrase build(); - method @NonNull public android.service.voice.DetectedPhrase.Builder setId(int); - method @NonNull public android.service.voice.DetectedPhrase.Builder setPhrase(@NonNull String); - } - - public abstract class DetectorFailure implements android.os.Parcelable { - method public int describeContents(); - method @NonNull public String getErrorMessage(); - method public abstract int getSuggestedAction(); - method public void writeToParcel(@NonNull android.os.Parcel, int); - field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.DetectorFailure> CREATOR; - field public static final int SUGGESTED_ACTION_DISABLE_DETECTION = 2; // 0x2 - field public static final int SUGGESTED_ACTION_NONE = 1; // 0x1 - field public static final int SUGGESTED_ACTION_RECREATE_DETECTOR = 3; // 0x3 - field public static final int SUGGESTED_ACTION_RESTART_RECOGNITION = 4; // 0x4 - field public static final int SUGGESTED_ACTION_UNKNOWN = 0; // 0x0 + public final class FailureSuggestedAction { + field public static final int DISABLE_DETECTION = 2; // 0x2 + field public static final int NONE = 1; // 0x1 + field public static final int RECREATE_DETECTOR = 3; // 0x3 + field public static final int RESTART_RECOGNITION = 4; // 0x4 + field public static final int UNKNOWN = 0; // 0x0 } public final class HotwordAudioStream implements android.os.Parcelable { @@ -13112,14 +13093,13 @@ package android.service.voice { method @NonNull public java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams(); method public int getBackgroundAudioPower(); method public int getConfidenceLevel(); - method @NonNull public android.service.voice.DetectedPhrase getDetectedPhrase(); method @NonNull public android.os.PersistableBundle getExtras(); method public int getHotwordDurationMillis(); method public int getHotwordOffsetMillis(); - method @Deprecated public int getHotwordPhraseId(); + method public int getHotwordPhraseId(); method public static int getMaxBackgroundAudioPower(); method public static int getMaxBundleSize(); - method @Deprecated public static int getMaxHotwordPhraseId(); + method public static int getMaxHotwordPhraseId(); method public static int getMaxScore(); method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent(); method public int getPersonalizedScore(); @@ -13150,12 +13130,11 @@ package android.service.voice { method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioStreams(@NonNull java.util.List<android.service.voice.HotwordAudioStream>); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setBackgroundAudioPower(int); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int); - method @NonNull public android.service.voice.HotwordDetectedResult.Builder setDetectedPhrase(@NonNull android.service.voice.DetectedPhrase); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int); - method @Deprecated @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int); + method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int); method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int); @@ -13180,9 +13159,12 @@ package android.service.voice { method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult); } - public final class HotwordDetectionServiceFailure extends android.service.voice.DetectorFailure { + public final class HotwordDetectionServiceFailure implements android.os.Parcelable { + method public int describeContents(); method public int getErrorCode(); + method @NonNull public String getErrorMessage(); method public int getSuggestedAction(); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectionServiceFailure> CREATOR; field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2 field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1 @@ -13205,12 +13187,13 @@ package android.service.voice { public static interface HotwordDetector.Callback { method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload); method @Deprecated public void onError(); - method public default void onFailure(@NonNull android.service.voice.DetectorFailure); + method public default void onFailure(@NonNull android.service.voice.HotwordDetectionServiceFailure); method public void onHotwordDetectionServiceInitialized(int); method public void onHotwordDetectionServiceRestarted(); method public void onRecognitionPaused(); method public void onRecognitionResumed(); method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult); + method public default void onUnknownFailure(@NonNull String); } public final class HotwordRejectedResult implements android.os.Parcelable { @@ -13237,9 +13220,12 @@ package android.service.voice { field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64 } - public final class SoundTriggerFailure extends android.service.voice.DetectorFailure { + public final class SoundTriggerFailure implements android.os.Parcelable { + method public int describeContents(); method public int getErrorCode(); + method @NonNull public String getErrorMessage(); method public int getSuggestedAction(); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.SoundTriggerFailure> CREATOR; field public static final int ERROR_CODE_MODULE_DIED = 1; // 0x1 field public static final int ERROR_CODE_RECOGNITION_RESUME_FAILED = 2; // 0x2 @@ -13247,11 +13233,6 @@ package android.service.voice { field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0 } - public final class UnknownFailure extends android.service.voice.DetectorFailure { - method public int getSuggestedAction(); - field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.UnknownFailure> CREATOR; - } - public abstract class VisualQueryDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer { ctor public VisualQueryDetectionService(); method public final void finishQuery() throws java.lang.IllegalStateException; @@ -13266,9 +13247,12 @@ package android.service.voice { field public static final String SERVICE_INTERFACE = "android.service.voice.VisualQueryDetectionService"; } - public final class VisualQueryDetectionServiceFailure extends android.service.voice.DetectorFailure { + public final class VisualQueryDetectionServiceFailure implements android.os.Parcelable { + method public int describeContents(); method public int getErrorCode(); + method @NonNull public String getErrorMessage(); method public int getSuggestedAction(); + method public void writeToParcel(@NonNull android.os.Parcel, int); field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectionServiceFailure> CREATOR; field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2 field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1 @@ -13286,10 +13270,11 @@ package android.service.voice { } public static interface VisualQueryDetector.Callback { - method public void onFailure(@NonNull android.service.voice.DetectorFailure); + method public void onFailure(@NonNull android.service.voice.VisualQueryDetectionServiceFailure); method public void onQueryDetected(@NonNull String); method public void onQueryFinished(); method public void onQueryRejected(); + method public void onUnknownFailure(@NonNull String); method public void onVisualQueryDetectionServiceInitialized(int); method public void onVisualQueryDetectionServiceRestarted(); } diff --git a/core/api/test-current.txt b/core/api/test-current.txt index b856bc2ce853..51863bba480a 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -1112,6 +1112,7 @@ package android.credentials { method @Nullable public CharSequence getLabel(@NonNull android.content.Context); method @Nullable public android.graphics.drawable.Drawable getServiceIcon(@NonNull android.content.Context); method @NonNull public android.content.pm.ServiceInfo getServiceInfo(); + method @Nullable public CharSequence getSettingsSubtitle(); method @NonNull public boolean hasCapability(@NonNull String); method public boolean isEnabled(); method public boolean isSystemProvider(); @@ -1124,6 +1125,7 @@ package android.credentials { method @NonNull public android.credentials.CredentialProviderInfo.Builder addCapabilities(@NonNull java.util.List<java.lang.String>); method @NonNull public android.credentials.CredentialProviderInfo build(); method @NonNull public android.credentials.CredentialProviderInfo.Builder setEnabled(boolean); + method @NonNull public android.credentials.CredentialProviderInfo.Builder setSettingsSubtitle(@Nullable CharSequence); method @NonNull public android.credentials.CredentialProviderInfo.Builder setSystemProvider(boolean); } @@ -2897,23 +2899,19 @@ package android.service.voice { field public static final boolean ENABLE_PROXIMITY_RESULT = true; } - public final class HotwordDetectionServiceFailure extends android.service.voice.DetectorFailure { + public final class HotwordDetectionServiceFailure implements android.os.Parcelable { ctor public HotwordDetectionServiceFailure(int, @NonNull String); } - public final class SoundTriggerFailure extends android.service.voice.DetectorFailure { + public final class SoundTriggerFailure implements android.os.Parcelable { ctor public SoundTriggerFailure(int, @NonNull String); } - public final class UnknownFailure extends android.service.voice.DetectorFailure { - ctor public UnknownFailure(@NonNull String); - } - public final class VisibleActivityInfo implements android.os.Parcelable { ctor public VisibleActivityInfo(int, @NonNull android.os.IBinder); } - public final class VisualQueryDetectionServiceFailure extends android.service.voice.DetectorFailure { + public final class VisualQueryDetectionServiceFailure implements android.os.Parcelable { ctor public VisualQueryDetectionServiceFailure(int, @NonNull String); } diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java index b96f8c94aaa3..0293bb53d3f0 100644 --- a/core/java/android/app/ActivityManagerInternal.java +++ b/core/java/android/app/ActivityManagerInternal.java @@ -474,6 +474,12 @@ public abstract class ActivityManagerInternal { public abstract BackgroundStartPrivileges getBackgroundStartPrivileges(int uid); public abstract void reportCurKeyguardUsageEvent(boolean keyguardShowing); + /** + * Returns whether the app is in a state where it is allowed to schedule a + * {@link android.app.job.JobInfo.Builder#setUserInitiated(boolean) user-initiated job}. + */ + public abstract boolean canScheduleUserInitiatedJobs(int uid, int pid, String pkgName); + /** @see com.android.server.am.ActivityManagerService#monitor */ public abstract void monitor(); diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 502ef0db586b..99de72480110 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -3269,6 +3269,43 @@ public class Notification implements Parcelable /** * @hide */ + public static boolean areIconsDifferent(Notification first, Notification second) { + return areIconsMaybeDifferent(first.getSmallIcon(), second.getSmallIcon()) + || areIconsMaybeDifferent(first.getLargeIcon(), second.getLargeIcon()); + } + + /** + * Note that we aren't actually comparing the contents of the bitmaps here; this is only a + * cursory inspection. We will not return false negatives, but false positives are likely. + */ + private static boolean areIconsMaybeDifferent(Icon a, Icon b) { + if (a == b) { + return false; + } + if (a == null || b == null) { + return true; + } + if (a.sameAs(b)) { + return false; + } + final int aType = a.getType(); + if (aType != b.getType()) { + return true; + } + if (aType == Icon.TYPE_BITMAP || aType == Icon.TYPE_ADAPTIVE_BITMAP) { + final Bitmap aBitmap = a.getBitmap(); + final Bitmap bBitmap = b.getBitmap(); + return aBitmap.getWidth() != bBitmap.getWidth() + || aBitmap.getHeight() != bBitmap.getHeight() + || aBitmap.getConfig() != bBitmap.getConfig() + || aBitmap.getGenerationId() != bBitmap.getGenerationId(); + } + return true; + } + + /** + * @hide + */ public static boolean areStyledNotificationsVisiblyDifferent(Builder first, Builder second) { if (first.getStyle() == null) { return second.getStyle() != null; @@ -7643,8 +7680,6 @@ public class Notification implements Parcelable /** * @hide - * Note that we aren't actually comparing the contents of the bitmaps here, so this - * is only doing a cursory inspection. Bitmaps of equal size will appear the same. */ @Override public boolean areNotificationsVisiblyDifferent(Style other) { @@ -7652,32 +7687,7 @@ public class Notification implements Parcelable return true; } BigPictureStyle otherS = (BigPictureStyle) other; - return areIconsObviouslyDifferent(getBigPicture(), otherS.getBigPicture()); - } - - private static boolean areIconsObviouslyDifferent(Icon a, Icon b) { - if (a == b) { - return false; - } - if (a == null || b == null) { - return true; - } - if (a.sameAs(b)) { - return false; - } - final int aType = a.getType(); - if (aType != b.getType()) { - return true; - } - if (aType == Icon.TYPE_BITMAP || aType == Icon.TYPE_ADAPTIVE_BITMAP) { - final Bitmap aBitmap = a.getBitmap(); - final Bitmap bBitmap = b.getBitmap(); - return aBitmap.getWidth() != bBitmap.getWidth() - || aBitmap.getHeight() != bBitmap.getHeight() - || aBitmap.getConfig() != bBitmap.getConfig() - || aBitmap.getGenerationId() != bBitmap.getGenerationId(); - } - return true; + return areIconsMaybeDifferent(getBigPicture(), otherS.getBigPicture()); } } diff --git a/core/java/android/app/PendingIntent.java b/core/java/android/app/PendingIntent.java index e0f5fb4f75e2..9bf56b374576 100644 --- a/core/java/android/app/PendingIntent.java +++ b/core/java/android/app/PendingIntent.java @@ -892,10 +892,8 @@ public final class PendingIntent implements Parcelable { * @param options Additional options the caller would like to provide to modify the * sending behavior. May be built from an {@link ActivityOptions} to apply to an * activity start. - * - * @hide */ - public void send(Bundle options) throws CanceledException { + public void send(@Nullable Bundle options) throws CanceledException { send(null, 0, null, null, null, null, options); } diff --git a/core/java/android/app/TEST_MAPPING b/core/java/android/app/TEST_MAPPING index 0bdc222f323c..1df860258d82 100644 --- a/core/java/android/app/TEST_MAPPING +++ b/core/java/android/app/TEST_MAPPING @@ -42,10 +42,10 @@ }, { "file_patterns": ["(/|^)AppOpsManager.java"], - "name": "CtsPermission2TestCases", + "name": "CtsPermissionPolicyTestCases", "options": [ { - "include-filter": "android.permission2.cts.RuntimePermissionProperties" + "include-filter": "android.permissionpolicy.cts.RuntimePermissionProperties" } ] }, diff --git a/core/java/android/app/TaskInfo.java b/core/java/android/app/TaskInfo.java index 303ada0fec9c..404f94ac77c4 100644 --- a/core/java/android/app/TaskInfo.java +++ b/core/java/android/app/TaskInfo.java @@ -188,6 +188,14 @@ public class TaskInfo { public int launchIntoPipHostTaskId; /** + * The task id of the parent Task of the launch-into-pip Activity, i.e., if task have more than + * one activity it will create new task for this activity, this id is the origin task id and + * the pip activity will be reparent to origin task when it exit pip mode. + * @hide + */ + public int lastParentTaskIdBeforePip; + + /** * The {@link Rect} copied from {@link DisplayCutout#getSafeInsets()} if the cutout is not of * (LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES, LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS), * {@code null} otherwise. @@ -512,6 +520,7 @@ public class TaskInfo { pictureInPictureParams = source.readTypedObject(PictureInPictureParams.CREATOR); shouldDockBigOverlays = source.readBoolean(); launchIntoPipHostTaskId = source.readInt(); + lastParentTaskIdBeforePip = source.readInt(); displayCutoutInsets = source.readTypedObject(Rect.CREATOR); topActivityInfo = source.readTypedObject(ActivityInfo.CREATOR); isResizeable = source.readBoolean(); @@ -558,6 +567,7 @@ public class TaskInfo { dest.writeTypedObject(pictureInPictureParams, flags); dest.writeBoolean(shouldDockBigOverlays); dest.writeInt(launchIntoPipHostTaskId); + dest.writeInt(lastParentTaskIdBeforePip); dest.writeTypedObject(displayCutoutInsets, flags); dest.writeTypedObject(topActivityInfo, flags); dest.writeBoolean(isResizeable); @@ -598,6 +608,7 @@ public class TaskInfo { + " pictureInPictureParams=" + pictureInPictureParams + " shouldDockBigOverlays=" + shouldDockBigOverlays + " launchIntoPipHostTaskId=" + launchIntoPipHostTaskId + + " lastParentTaskIdBeforePip=" + lastParentTaskIdBeforePip + " displayCutoutSafeInsets=" + displayCutoutInsets + " topActivityInfo=" + topActivityInfo + " launchCookies=" + launchCookies diff --git a/core/java/android/companion/virtual/VirtualDeviceManager.java b/core/java/android/companion/virtual/VirtualDeviceManager.java index 90681cba7d83..00e6408a8dd3 100644 --- a/core/java/android/companion/virtual/VirtualDeviceManager.java +++ b/core/java/android/companion/virtual/VirtualDeviceManager.java @@ -603,6 +603,10 @@ public final class VirtualDeviceManager { mVirtualAudioDevice.close(); mVirtualAudioDevice = null; } + if (mVirtualCameraDevice != null) { + mVirtualCameraDevice.close(); + mVirtualCameraDevice = null; + } } /** diff --git a/core/java/android/content/ContentProvider.java b/core/java/android/content/ContentProvider.java index d3502c5254c8..d2dbd64ccd7a 100644 --- a/core/java/android/content/ContentProvider.java +++ b/core/java/android/content/ContentProvider.java @@ -309,14 +309,30 @@ public abstract class ContentProvider implements ContentInterface, ComponentCall try { if (checkGetTypePermission(attributionSource, uri) == PermissionChecker.PERMISSION_GRANTED) { - final String type = mInterface.getType(uri); + String type; + if (checkPermission(Manifest.permission.GET_ANY_PROVIDER_TYPE, + attributionSource) == PermissionChecker.PERMISSION_GRANTED) { + /* + For calling packages having the special permission for any type, + the calling identity should be cleared before calling getType. + */ + final CallingIdentity origId = getContentProvider().clearCallingIdentity(); + try { + type = mInterface.getType(uri); + } finally { + getContentProvider().restoreCallingIdentity(origId); + } + } else { + type = mInterface.getType(uri); + } + if (type != null) { logGetTypeData(Binder.getCallingUid(), uri, type, true); } return type; } else { final int callingUid = Binder.getCallingUid(); - final long origId = Binder.clearCallingIdentity(); + final CallingIdentity origId = getContentProvider().clearCallingIdentity(); try { final String type = getTypeAnonymous(uri); if (type != null) { @@ -324,7 +340,7 @@ public abstract class ContentProvider implements ContentInterface, ComponentCall } return type; } finally { - Binder.restoreCallingIdentity(origId); + getContentProvider().restoreCallingIdentity(origId); } } } catch (RemoteException e) { diff --git a/core/java/android/credentials/CredentialOption.java b/core/java/android/credentials/CredentialOption.java index 9a3b46dad2e7..da6656a0222f 100644 --- a/core/java/android/credentials/CredentialOption.java +++ b/core/java/android/credentials/CredentialOption.java @@ -16,16 +16,25 @@ package android.credentials; +import static android.Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS; + import static java.util.Objects.requireNonNull; import android.annotation.NonNull; +import android.annotation.SuppressLint; +import android.content.ComponentName; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; +import android.util.ArraySet; + +import androidx.annotation.RequiresPermission; import com.android.internal.util.AnnotationValidations; import com.android.internal.util.Preconditions; +import java.util.Set; + /** * Information about a specific type of credential to be requested during a {@link * CredentialManager#getCredential(GetCredentialRequest, Activity, CancellationSignal, Executor, @@ -66,6 +75,14 @@ public final class CredentialOption implements Parcelable { private final boolean mIsSystemProviderRequired; /** + * A list of {@link ComponentName}s corresponding to the providers that this option must be + * queried against. + */ + @NonNull + private final ArraySet<ComponentName> mAllowedProviders; + + + /** * Returns the requested credential type. */ @NonNull @@ -105,12 +122,22 @@ public final class CredentialOption implements Parcelable { return mIsSystemProviderRequired; } + /** + * Returns the set of {@link ComponentName} corresponding to providers that must receive + * this option. + */ + @NonNull + public Set<ComponentName> getAllowedProviders() { + return mAllowedProviders; + } + @Override public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeString8(mType); dest.writeBundle(mCredentialRetrievalData); dest.writeBundle(mCandidateQueryData); dest.writeBoolean(mIsSystemProviderRequired); + dest.writeArraySet(mAllowedProviders); } @Override @@ -125,6 +152,7 @@ public final class CredentialOption implements Parcelable { + ", requestData=" + mCredentialRetrievalData + ", candidateQueryData=" + mCandidateQueryData + ", isSystemProviderRequired=" + mIsSystemProviderRequired + + ", allowedProviders=" + mAllowedProviders + "}"; } @@ -139,17 +167,50 @@ public final class CredentialOption implements Parcelable { * provider * @throws IllegalArgumentException If type is empty. */ - public CredentialOption( + private CredentialOption( @NonNull String type, @NonNull Bundle credentialRetrievalData, @NonNull Bundle candidateQueryData, - boolean isSystemProviderRequired) { + boolean isSystemProviderRequired, + @NonNull ArraySet<ComponentName> allowedProviders) { mType = Preconditions.checkStringNotEmpty(type, "type must not be empty"); mCredentialRetrievalData = requireNonNull(credentialRetrievalData, "requestData must not be null"); mCandidateQueryData = requireNonNull(candidateQueryData, "candidateQueryData must not be null"); mIsSystemProviderRequired = isSystemProviderRequired; + mAllowedProviders = requireNonNull(allowedProviders, "providerFilterSer must" + + "not be empty"); + } + + /** + * Constructs a {@link CredentialOption}. + * + * @param type the requested credential type + * @param credentialRetrievalData the request data + * @param candidateQueryData the partial request data that will be sent to the provider + * during the initial credential candidate query stage + * @param isSystemProviderRequired whether the request must only be fulfilled by a system + * provider + * @throws IllegalArgumentException If type is empty, or null. + * @throws NullPointerException If {@code credentialRetrievalData}, or + * {@code candidateQueryData} is null. + * + * @deprecated replaced by Builder + */ + @Deprecated + public CredentialOption( + @NonNull String type, + @NonNull Bundle credentialRetrievalData, + @NonNull Bundle candidateQueryData, + boolean isSystemProviderRequired) { + this( + type, + credentialRetrievalData, + candidateQueryData, + isSystemProviderRequired, + new ArraySet<>() + ); } private CredentialOption(@NonNull Parcel in) { @@ -165,6 +226,8 @@ public final class CredentialOption implements Parcelable { mCandidateQueryData = candidateQueryData; AnnotationValidations.validate(NonNull.class, null, mCandidateQueryData); mIsSystemProviderRequired = isSystemProviderRequired; + mAllowedProviders = (ArraySet<ComponentName>) in.readArraySet(null); + AnnotationValidations.validate(NonNull.class, null, mAllowedProviders); } @NonNull @@ -179,4 +242,108 @@ public final class CredentialOption implements Parcelable { return new CredentialOption(in); } }; + + /** A builder for {@link CredentialOption}. */ + public static final class Builder { + + @NonNull + private String mType; + + @NonNull + private Bundle mCredentialRetrievalData; + + @NonNull + private Bundle mCandidateQueryData; + + private boolean mIsSystemProviderRequired = false; + + @NonNull + private ArraySet<ComponentName> mAllowedProviders = new ArraySet<>(); + + /** + * @param type the type of the credential option + * @param credentialRetrievalData the full request data + * @param candidateQueryData the partial request data that will be sent to the provider + * during the initial credential candidate query stage. + * @throws IllegalArgumentException If {@code type} is null, or empty + * @throws NullPointerException If {@code credentialRetrievalData}, or + * {@code candidateQueryData} is null + */ + public Builder(@NonNull String type, @NonNull Bundle credentialRetrievalData, + @NonNull Bundle candidateQueryData) { + mType = Preconditions.checkStringNotEmpty(type, "type must not be " + + "null, or empty"); + mCredentialRetrievalData = requireNonNull(credentialRetrievalData, + "credentialRetrievalData must not be null"); + mCandidateQueryData = requireNonNull(candidateQueryData, + "candidateQueryData must not be null"); + } + + /** + * Sets a true/false value corresponding to whether this option must be serviced by + * system credentials providers only. + */ + @SuppressLint("MissingGetterMatchingBuilder") + @NonNull + public Builder setIsSystemProviderRequired(boolean isSystemProviderRequired) { + mIsSystemProviderRequired = isSystemProviderRequired; + return this; + } + + /** + * Adds a provider {@link ComponentName} to be queried while gathering credentials from + * credential providers on the device. + * + * If no candidate providers are specified, all user configured and system credential + * providers will be queried in the candidate query phase. + * + * If an invalid component name is provided, or a service corresponding to the + * component name does not exist on the device, that component name is ignored. + * If all component names are invalid, or not present on the device, no providers + * are queried and no credentials are retrieved. + * + * @throws NullPointerException If {@code allowedProvider} is null + */ + @RequiresPermission(CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS) + @NonNull + public Builder addAllowedProvider(@NonNull ComponentName allowedProvider) { + mAllowedProviders.add(requireNonNull(allowedProvider, + "allowedProvider must not be null")); + return this; + } + + /** + * Sets a set of provider {@link ComponentName} to be queried while gathering credentials + * from credential providers on the device. + * + * If no candidate providers are specified, all user configured and system credential + * providers will be queried in the candidate query phase. + * + * If an invalid component name is provided, or a service corresponding to the + * component name does not exist on the device, that component name is ignored. + * If all component names are invalid, or not present on the device, no providers + * are queried and no credentials are retrieved. + * + * @throws NullPointerException If {@code allowedProviders} is null, or any of its + * elements are null. + */ + @RequiresPermission(CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS) + @NonNull + public Builder setAllowedProviders(@NonNull Set<ComponentName> allowedProviders) { + Preconditions.checkCollectionElementsNotNull( + allowedProviders, + /*valueName=*/ "allowedProviders"); + mAllowedProviders = new ArraySet<>(allowedProviders); + return this; + } + + /** + * Builds a {@link CredentialOption}. + */ + @NonNull + public CredentialOption build() { + return new CredentialOption(mType, mCredentialRetrievalData, mCandidateQueryData, + mIsSystemProviderRequired, mAllowedProviders); + } + } } diff --git a/core/java/android/credentials/CredentialProviderInfo.java b/core/java/android/credentials/CredentialProviderInfo.java index 7276770d281e..c224f01055e1 100644 --- a/core/java/android/credentials/CredentialProviderInfo.java +++ b/core/java/android/credentials/CredentialProviderInfo.java @@ -29,7 +29,9 @@ import android.text.TextUtils; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * {@link ServiceInfo} and meta-data about a credential provider. @@ -39,8 +41,9 @@ import java.util.List; @TestApi public final class CredentialProviderInfo implements Parcelable { @NonNull private final ServiceInfo mServiceInfo; - @NonNull private final List<String> mCapabilities = new ArrayList<>(); + @NonNull private final Set<String> mCapabilities = new HashSet<>(); @Nullable private final CharSequence mOverrideLabel; + @Nullable private CharSequence mSettingsSubtitle = null; private final boolean mIsSystemProvider; private final boolean mIsEnabled; @@ -53,6 +56,7 @@ public final class CredentialProviderInfo implements Parcelable { mServiceInfo = builder.mServiceInfo; mCapabilities.addAll(builder.mCapabilities); mIsSystemProvider = builder.mIsSystemProvider; + mSettingsSubtitle = builder.mSettingsSubtitle; mIsEnabled = builder.mIsEnabled; mOverrideLabel = builder.mOverrideLabel; } @@ -92,7 +96,11 @@ public final class CredentialProviderInfo implements Parcelable { /** Returns a list of capabilities this provider service can support. */ @NonNull public List<String> getCapabilities() { - return Collections.unmodifiableList(mCapabilities); + List<String> capabilities = new ArrayList<>(); + for (String capability : mCapabilities) { + capabilities.add(capability); + } + return Collections.unmodifiableList(capabilities); } /** Returns whether the provider is enabled by the user. */ @@ -100,6 +108,12 @@ public final class CredentialProviderInfo implements Parcelable { return mIsEnabled; } + /** Returns the settings subtitle. */ + @Nullable + public CharSequence getSettingsSubtitle() { + return mSettingsSubtitle; + } + /** Returns the component name for the service. */ @NonNull public ComponentName getComponentName() { @@ -110,9 +124,12 @@ public final class CredentialProviderInfo implements Parcelable { public void writeToParcel(@NonNull Parcel dest, int flags) { dest.writeTypedObject(mServiceInfo, flags); dest.writeBoolean(mIsSystemProvider); - dest.writeStringList(mCapabilities); dest.writeBoolean(mIsEnabled); TextUtils.writeToParcel(mOverrideLabel, dest, flags); + TextUtils.writeToParcel(mSettingsSubtitle, dest, flags); + + List<String> capabilities = getCapabilities(); + dest.writeStringList(capabilities); } @Override @@ -135,6 +152,9 @@ public final class CredentialProviderInfo implements Parcelable { + "overrideLabel=" + mOverrideLabel + ", " + + "settingsSubtitle=" + + mSettingsSubtitle + + ", " + "capabilities=" + String.join(",", mCapabilities) + "}"; @@ -143,9 +163,13 @@ public final class CredentialProviderInfo implements Parcelable { private CredentialProviderInfo(@NonNull Parcel in) { mServiceInfo = in.readTypedObject(ServiceInfo.CREATOR); mIsSystemProvider = in.readBoolean(); - in.readStringList(mCapabilities); mIsEnabled = in.readBoolean(); mOverrideLabel = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); + mSettingsSubtitle = TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(in); + + List<String> capabilities = new ArrayList<>(); + in.readStringList(capabilities); + mCapabilities.addAll(capabilities); } public static final @NonNull Parcelable.Creator<CredentialProviderInfo> CREATOR = @@ -165,8 +189,9 @@ public final class CredentialProviderInfo implements Parcelable { public static final class Builder { @NonNull private ServiceInfo mServiceInfo; - @NonNull private List<String> mCapabilities = new ArrayList<>(); + @NonNull private Set<String> mCapabilities = new HashSet<>(); private boolean mIsSystemProvider = false; + @Nullable private CharSequence mSettingsSubtitle = null; private boolean mIsEnabled = false; @Nullable private CharSequence mOverrideLabel = null; @@ -195,12 +220,28 @@ public final class CredentialProviderInfo implements Parcelable { return this; } + /** Sets the settings subtitle. */ + public @NonNull Builder setSettingsSubtitle(@Nullable CharSequence settingsSubtitle) { + mSettingsSubtitle = settingsSubtitle; + return this; + } + /** Sets a list of capabilities this provider service can support. */ public @NonNull Builder addCapabilities(@NonNull List<String> capabilities) { mCapabilities.addAll(capabilities); return this; } + /** + * Sets a list of capabilities this provider service can support. + * + * @hide + */ + public @NonNull Builder addCapabilities(@NonNull Set<String> capabilities) { + mCapabilities.addAll(capabilities); + return this; + } + /** Sets whether it is enabled by the user. */ public @NonNull Builder setEnabled(boolean isEnabled) { mIsEnabled = isEnabled; diff --git a/core/java/android/hardware/camera2/CameraCaptureSession.java b/core/java/android/hardware/camera2/CameraCaptureSession.java index e9df5533a907..1bc6099fd651 100644 --- a/core/java/android/hardware/camera2/CameraCaptureSession.java +++ b/core/java/android/hardware/camera2/CameraCaptureSession.java @@ -661,7 +661,7 @@ public abstract class CameraCaptureSession implements AutoCloseable { * * <p>Repeating burst requests are a simple way for an application to * maintain a preview or other continuous stream of frames where each - * request is different in a predicatable way, without having to continually + * request is different in a predictable way, without having to continually * submit requests through {@link #captureBurst}.</p> * * <p>To stop the repeating capture, call {@link #stopRepeating}. Any @@ -902,7 +902,7 @@ public abstract class CameraCaptureSession implements AutoCloseable { * {@link CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING OFFLINE_PROCESSING} * capability in {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES}. When this method * is supported, applications can use it to improve the latency of closing camera or recreating - * capture session without losing the in progresss capture request outputs.</p> + * capture session without losing the in progress capture request outputs.</p> * * <p>Offline processing mode and the corresponding {@link CameraOfflineSession} differ from * a regular online camera capture session in several ways. Successful offline switches will @@ -1001,7 +1001,7 @@ public abstract class CameraCaptureSession implements AutoCloseable { * * <p>Note that for common usage scenarios like creating a new session or closing the camera * device, it is faster to call respective APIs directly (see below for more details) without - * calling into this method. This API is only useful when application wants to uncofigure the + * calling into this method. This API is only useful when application wants to unconfigure the * camera but keep the device open for later use.</p> * * <p>Creating a new capture session with {@link CameraDevice#createCaptureSession} diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index dfb9cf65a4b9..0e4c3c0f12a1 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -651,7 +651,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * @param metadataClass The subclass of CameraMetadata that you want to get the keys for. * @param keyClass The class of the metadata key, e.g. CaptureRequest.Key.class * @param filterTags An array of tags to be used for filtering - * @param includeSynthetic Include public syntethic tag by default. + * @param includeSynthetic Include public synthetic tag by default. * * @return List of keys supported by this CameraDevice for metadataClass. * diff --git a/core/java/android/hardware/camera2/CameraDevice.java b/core/java/android/hardware/camera2/CameraDevice.java index 42aa608c0ef8..5feda785ece3 100644 --- a/core/java/android/hardware/camera2/CameraDevice.java +++ b/core/java/android/hardware/camera2/CameraDevice.java @@ -141,7 +141,7 @@ public abstract class CameraDevice implements AutoCloseable { * parameters. All automatic control is disabled (auto-exposure, auto-white * balance, auto-focus), and post-processing parameters are set to preview * quality. The manual capture parameters (exposure, sensitivity, and so on) - * are set to reasonable defaults, but should be overriden by the + * are set to reasonable defaults, but should be overridden by the * application depending on the intended use case. * This template is guaranteed to be supported on camera devices that support the * {@link CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR MANUAL_SENSOR} @@ -680,7 +680,7 @@ public abstract class CameraDevice implements AutoCloseable { * <tr><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th> </tr> * <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV}</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution GPU processing with preview.</td> </tr> * <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution in-app processing with preview.</td> </tr> - * <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution two-input in-app processsing.</td> </tr> + * <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution two-input in-app processing.</td> </tr> * <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code JPEG}</td><td id="rb">{@code MAXIMUM}</td> <td>Video recording with maximum-size video snapshot</td> </tr> * <tr> <td>{@code YUV }</td><td id="rb">{@code 640x480}</td> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Standard video recording plus maximum-resolution in-app processing.</td> </tr> * <tr> <td>{@code YUV }</td><td id="rb">{@code 640x480}</td> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Preview plus two-input maximum-resolution in-app processing.</td> </tr> @@ -722,7 +722,7 @@ public abstract class CameraDevice implements AutoCloseable { * <tr><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th> </tr> * <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV}</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution GPU processing with preview.</td> </tr> * <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution in-app processing with preview.</td> </tr> - * <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution two-input in-app processsing.</td> </tr> + * <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution two-input in-app processing.</td> </tr> * </table><br> * </p> * @@ -1137,7 +1137,7 @@ public abstract class CameraDevice implements AutoCloseable { * <tr><th colspan="13">Additional guaranteed combinations for ULTRA_HIGH_RESOLUTION sensors (YUV / PRIV inputs are guaranteed only if YUV / PRIVATE reprocessing are supported)</th></tr> * <tr> <th colspan="3" id="rb">Input</th> <th colspan="3" id="rb">Target 1</th> <th colspan="3" id="rb">Target 2</th> <th colspan="3" id="rb">Target 3</th> <th rowspan="2">Sample use case(s)</th> </tr> * <tr> <th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th><th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th> <th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th> <th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th></tr> - * <tr> <td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code PRIV / YUV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td colspan="3" id="rb"></td> <td>RAW remosaic reprocessing with seperate preview</td> </tr> + * <tr> <td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code PRIV / YUV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td colspan="3" id="rb"></td> <td>RAW remosaic reprocessing with separate preview</td> </tr> * <tr> <td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code PRIV / YUV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td id="rb">{@code JPEG / YUV}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td> <td>Ultra high res RAW -> JPEG / YUV with seperate preview</td> </tr> * <tr> <td>{@code YUV / PRIV}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td> <td>{@code YUV / PRIV}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code YUV / PRIV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td id="rb">{@code JPEG }</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td> <td> Ultra high res PRIV / YUV -> YUV / JPEG reprocessing with seperate preview</td> </tr> * </table><br> @@ -1260,7 +1260,7 @@ public abstract class CameraDevice implements AutoCloseable { * settings by calling {@link CaptureRequest.Builder#setPhysicalCameraKey}.</p> * * <p>Individual physical camera settings will only be honored for camera session - * that was initialiazed with corresponding physical camera id output configuration + * that was initialized with corresponding physical camera id output configuration * {@link OutputConfiguration#setPhysicalCameraId} and the same output targets are * also attached in the request by {@link CaptureRequest.Builder#addTarget}.</p> * diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java index 696873f7e5e4..144b1de148b4 100644 --- a/core/java/android/hardware/camera2/CameraManager.java +++ b/core/java/android/hardware/camera2/CameraManager.java @@ -256,7 +256,7 @@ public final class CameraManager { /** * Similar to getCameraIdList(). However, getCamerIdListNoLazy() necessarily communicates with - * cameraserver in order to get the list of camera ids. This is to faciliate testing since some + * cameraserver in order to get the list of camera ids. This is to facilitate testing since some * camera ids may go 'offline' without callbacks from cameraserver because of changes in * SYSTEM_CAMERA permissions (though this is not a changeable permission, tests may call * adopt(drop)ShellPermissionIdentity() and effectively change their permissions). This call @@ -560,7 +560,7 @@ public final class CameraManager { } // Query the characteristics of all physical sub-cameras, and combine the multi-resolution - // stream configurations. Alternatively, for ultra-high resolution camera, direclty use + // stream configurations. Alternatively, for ultra-high resolution camera, directly use // its multi-resolution stream configurations. Note that framework derived formats such as // HEIC and DEPTH_JPEG aren't supported as multi-resolution input or output formats. Set<String> physicalCameraIds = info.getPhysicalCameraIds(); @@ -835,7 +835,7 @@ public final class CameraManager { * Opening the same camera ID twice in the same application will similarly cause the * {@link android.hardware.camera2.CameraDevice.StateCallback#onDisconnected} callback * being fired for the {@link CameraDevice} from the first open call and all ongoing tasks - * being droppped.</p> + * being dropped.</p> * * <p>Once the camera is successfully opened, {@link CameraDevice.StateCallback#onOpened} will * be invoked with the newly opened {@link CameraDevice}. The camera device can then be set up @@ -1759,7 +1759,7 @@ public final class CameraManager { private final Set<Set<String>> mConcurrentCameraIdCombinations = new ArraySet<Set<String>>(); - // Registered availablility callbacks and their executors + // Registered availability callbacks and their executors private final ArrayMap<AvailabilityCallback, Executor> mCallbackMap = new ArrayMap<AvailabilityCallback, Executor>(); @@ -2846,7 +2846,7 @@ public final class CameraManager { // Tell listeners that the cameras and torch modes are unavailable and schedule a // reconnection to camera service. When camera service is reconnected, the camera // and torch statuses will be updated. - // Iterate from the end to the beginning befcause onStatusChangedLocked removes + // Iterate from the end to the beginning because onStatusChangedLocked removes // entries from the ArrayMap. for (int i = mDeviceStatus.size() - 1; i >= 0; i--) { String cameraId = mDeviceStatus.keyAt(i); diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index ed2a198dd6ed..a7e28e2f40d1 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -159,7 +159,7 @@ public abstract class CameraMetadata<TKey> { * Optionally, if {@code filterTags} is not {@code null}, then filter out any keys * whose native {@code tag} is not in {@code filterTags}. The {@code filterTags} array will be * sorted as a side effect. - * {@code includeSynthetic} Includes public syntenthic fields by default. + * {@code includeSynthetic} Includes public synthetic fields by default. * </p> */ /*package*/ @SuppressWarnings("unchecked") @@ -2308,7 +2308,7 @@ public abstract class CameraMetadata<TKey> { /** * <p>An external flash has been turned on.</p> * <p>It informs the camera device that an external flash has been turned on, and that - * metering (and continuous focus if active) should be quickly recaculated to account + * metering (and continuous focus if active) should be quickly recalculated to account * for the external flash. Otherwise, this mode acts like ON.</p> * <p>When the external flash is turned off, AE mode should be changed to one of the * other available AE modes.</p> @@ -3285,6 +3285,7 @@ public abstract class CameraMetadata<TKey> { /** * <p>Automatically select ON or OFF based on the system level preferences.</p> * @see CaptureRequest#CONTROL_AUTOFRAMING + * @hide */ public static final int CONTROL_AUTOFRAMING_AUTO = 2; diff --git a/core/java/android/hardware/camera2/CameraOfflineSession.java b/core/java/android/hardware/camera2/CameraOfflineSession.java index 312559c6c7df..c2198867940f 100644 --- a/core/java/android/hardware/camera2/CameraOfflineSession.java +++ b/core/java/android/hardware/camera2/CameraOfflineSession.java @@ -152,7 +152,7 @@ public abstract class CameraOfflineSession extends CameraCaptureSession { * * <p>Closing a session is idempotent; closing more than once has no effect.</p> * - * @throws IllegalStateException if the offline sesion is not ready. + * @throws IllegalStateException if the offline session is not ready. */ @Override public abstract void close(); diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index 929868b2faca..3a660812fd24 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -2532,7 +2532,6 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>> * <ul> * <li>{@link #CONTROL_AUTOFRAMING_OFF OFF}</li> * <li>{@link #CONTROL_AUTOFRAMING_ON ON}</li> - * <li>{@link #CONTROL_AUTOFRAMING_AUTO AUTO}</li> * </ul> * * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p> @@ -2545,7 +2544,6 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>> * @see CaptureRequest#SCALER_CROP_REGION * @see #CONTROL_AUTOFRAMING_OFF * @see #CONTROL_AUTOFRAMING_ON - * @see #CONTROL_AUTOFRAMING_AUTO */ @PublicKey @NonNull diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index a429f30c9a9e..1536376e4eb5 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -2736,7 +2736,6 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * <ul> * <li>{@link #CONTROL_AUTOFRAMING_OFF OFF}</li> * <li>{@link #CONTROL_AUTOFRAMING_ON ON}</li> - * <li>{@link #CONTROL_AUTOFRAMING_AUTO AUTO}</li> * </ul> * * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p> @@ -2749,7 +2748,6 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * @see CaptureRequest#SCALER_CROP_REGION * @see #CONTROL_AUTOFRAMING_OFF * @see #CONTROL_AUTOFRAMING_ON - * @see #CONTROL_AUTOFRAMING_AUTO */ @PublicKey @NonNull diff --git a/core/java/android/hardware/camera2/DngCreator.java b/core/java/android/hardware/camera2/DngCreator.java index cc484eaf265c..1ae2fe182427 100644 --- a/core/java/android/hardware/camera2/DngCreator.java +++ b/core/java/android/hardware/camera2/DngCreator.java @@ -482,7 +482,7 @@ public final class DngCreator implements AutoCloseable { } private static final int DEFAULT_PIXEL_STRIDE = 2; // bytes per sample - private static final int BYTES_PER_RGB_PIX = 3; // byts per pixel + private static final int BYTES_PER_RGB_PIX = 3; // bytes per pixel // TIFF tag values needed to map between public API and TIFF spec private static final int TAG_ORIENTATION_UNKNOWN = 9; diff --git a/core/java/android/hardware/camera2/extension/CameraOutputConfig.aidl b/core/java/android/hardware/camera2/extension/CameraOutputConfig.aidl index 34d016adbc06..7c54a9b01dde 100644 --- a/core/java/android/hardware/camera2/extension/CameraOutputConfig.aidl +++ b/core/java/android/hardware/camera2/extension/CameraOutputConfig.aidl @@ -36,4 +36,5 @@ parcelable CameraOutputConfig int surfaceGroupId; String physicalCameraId; List<CameraOutputConfig> sharedSurfaceConfigs; + boolean isMultiResolutionOutput; } diff --git a/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java b/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java index 2fa8b877a2df..cfade5532df7 100644 --- a/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraAdvancedExtensionSessionImpl.java @@ -258,6 +258,9 @@ public final class CameraAdvancedExtensionSessionImpl extends CameraExtensionSes OutputConfiguration cameraOutput = new OutputConfiguration(output.surfaceGroupId, outputSurface); + if (output.isMultiResolutionOutput) { + cameraOutput.setMultiResolutionOutput(); + } if ((output.sharedSurfaceConfigs != null) && !output.sharedSurfaceConfigs.isEmpty()) { cameraOutput.enableSurfaceSharing(); for (CameraOutputConfig sharedOutputConfig : output.sharedSurfaceConfigs) { diff --git a/core/java/android/hardware/camera2/params/MandatoryStreamCombination.java b/core/java/android/hardware/camera2/params/MandatoryStreamCombination.java index 86c453b56c5b..0a4a1f0176c7 100644 --- a/core/java/android/hardware/camera2/params/MandatoryStreamCombination.java +++ b/core/java/android/hardware/camera2/params/MandatoryStreamCombination.java @@ -607,7 +607,7 @@ public final class MandatoryStreamCombination { new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM), new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM) }, - "Maximum-resolution two-input in-app processsing"), + "Maximum-resolution two-input in-app processing"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW), new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW), @@ -891,7 +891,7 @@ public final class MandatoryStreamCombination { new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s720p), new StreamTemplate(ImageFormat.JPEG, SizeThreshold.s1440p)}, - "Standard stil image capture"), + "Standard still image capture"), new StreamCombinationTemplate(new StreamTemplate [] { new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s720p), new StreamTemplate(ImageFormat.JPEG, SizeThreshold.s1440p)}, diff --git a/core/java/android/hardware/camera2/params/OutputConfiguration.java b/core/java/android/hardware/camera2/params/OutputConfiguration.java index 857f62dfdd99..21540bf1a18b 100644 --- a/core/java/android/hardware/camera2/params/OutputConfiguration.java +++ b/core/java/android/hardware/camera2/params/OutputConfiguration.java @@ -165,7 +165,7 @@ public final class OutputConfiguration implements Parcelable { * device runs in fixed frame rate. The timestamp is roughly in the same time base as * {@link android.os.SystemClock#uptimeMillis}.</li> * <li> For an output surface of MediaRecorder, MediaCodec, or ImageReader with {@link - * android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE} usge flag, the timestamp base is + * android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE} usage flag, the timestamp base is * {@link #TIMESTAMP_BASE_MONOTONIC}, which is roughly the same time base as * {@link android.os.SystemClock#uptimeMillis}.</li> * <li> For all other cases, the timestamp base is {@link #TIMESTAMP_BASE_SENSOR}, the same @@ -418,7 +418,7 @@ public final class OutputConfiguration implements Parcelable { * call, or no non-negative group ID has been set. * @hide */ - void setMultiResolutionOutput() { + public void setMultiResolutionOutput() { if (mIsShared) { throw new IllegalStateException("Multi-resolution output flag must not be set for " + "configuration with surface sharing"); @@ -654,7 +654,7 @@ public final class OutputConfiguration implements Parcelable { mSurfaceType = SURFACE_TYPE_SURFACE_TEXTURE; } else { mSurfaceType = SURFACE_TYPE_UNKNOWN; - throw new IllegalArgumentException("Unknow surface source class type"); + throw new IllegalArgumentException("Unknown surface source class type"); } if (surfaceSize.getWidth() == 0 || surfaceSize.getHeight() == 0) { @@ -715,7 +715,7 @@ public final class OutputConfiguration implements Parcelable { * The supported surfaces for sharing must be of type SurfaceTexture, SurfaceView, * MediaRecorder, MediaCodec, or implementation defined ImageReader.</p> * - * <p>This function must not be called from OuptutConfigurations created by {@link + * <p>This function must not be called from OutputConfigurations created by {@link * #createInstancesForMultiResolutionOutput}.</p> * * @throws IllegalStateException If this OutputConfiguration is created via {@link @@ -934,7 +934,7 @@ public final class OutputConfiguration implements Parcelable { * * <p> Surfaces added via calls to {@link #addSurface} can also be removed from the * OutputConfiguration. The only notable exception is the surface associated with - * the OutputConfigration see {@link #getSurface} which was passed as part of the constructor + * the OutputConfiguration see {@link #getSurface} which was passed as part of the constructor * or was added first in the deferred case * {@link OutputConfiguration#OutputConfiguration(Size, Class)}.</p> * @@ -962,7 +962,7 @@ public final class OutputConfiguration implements Parcelable { * for scenarios where the immediate consumer target isn't sufficient to indicate the stream's * usage.</p> * - * <p>The main difference beteween stream use case and capture intent is that the former + * <p>The main difference between stream use case and capture intent is that the former * enables the camera device to optimize camera hardware and software pipelines based on user * scenarios for each stream, whereas the latter is mainly a hint to camera to decide * optimal 3A strategy that's applicable to the whole session. The camera device carries out @@ -1123,7 +1123,7 @@ public final class OutputConfiguration implements Parcelable { * CameraCharacteristics#SENSOR_READOUT_TIMESTAMP} is * {@link CameraMetadata#SENSOR_READOUT_TIMESTAMP_HARDWARE}.</p> * - * <p>As long as readout timestamp is supported, if the timestamp base isi + * <p>As long as readout timestamp is supported, if the timestamp base is * {@link #TIMESTAMP_BASE_CHOREOGRAPHER_SYNCED}, or if the timestamp base is DEFAULT for a * SurfaceView output, the image timestamps for the output are always readout time regardless * of whether this function is called.</p> @@ -1420,9 +1420,9 @@ public final class OutputConfiguration implements Parcelable { */ @Override public int hashCode() { - // Need ensure that the hashcode remains unchanged after adding a deferred surface. Otherwise - // the deferred output configuration will be lost in the camera streammap after the deferred - // surface is set. + // Need ensure that the hashcode remains unchanged after adding a deferred surface. + // Otherwise the deferred output configuration will be lost in the camera stream map + // after the deferred surface is set. if (mIsDeferredConfig) { return HashCodeHelpers.hashCode( mRotation, mConfiguredSize.hashCode(), mConfiguredFormat, mConfiguredDataspace, @@ -1446,7 +1446,7 @@ public final class OutputConfiguration implements Parcelable { private static final String TAG = "OutputConfiguration"; // A surfaceGroupId counter used for MultiResolutionImageReader. Its value is - // incremented everytime {@link createInstancesForMultiResolutionOutput} is called. + // incremented every time {@link createInstancesForMultiResolutionOutput} is called. private static int MULTI_RESOLUTION_GROUP_ID_COUNTER = 0; private ArrayList<Surface> mSurfaces; diff --git a/core/java/android/hardware/camera2/params/StreamConfigurationMap.java b/core/java/android/hardware/camera2/params/StreamConfigurationMap.java index 5a48176d29e7..aabe149d16f5 100644 --- a/core/java/android/hardware/camera2/params/StreamConfigurationMap.java +++ b/core/java/android/hardware/camera2/params/StreamConfigurationMap.java @@ -1790,7 +1790,7 @@ public final class StreamConfigurationMap { * * <p>{@code ValidOutputFormatsForInput([in:%s(%d), out:%s(%d), ... %s(%d)], * ... [in:%s(%d), out:%s(%d), ... %s(%d)])}, where {@code [in:%s(%d), out:%s(%d), ... %s(%d)]} - * represents an input fomat and its valid output formats.</p> + * represents an input format and its valid output formats.</p> * * <p>{@code HighSpeedVideoConfigurations([w:%d, h:%d, min_fps:%d, max_fps:%d], * ... [w:%d, h:%d, min_fps:%d, max_fps:%d])}, where diff --git a/core/java/android/hardware/display/HdrConversionMode.java b/core/java/android/hardware/display/HdrConversionMode.java index 49e5eff95a25..5fccb5e6d9db 100644 --- a/core/java/android/hardware/display/HdrConversionMode.java +++ b/core/java/android/hardware/display/HdrConversionMode.java @@ -29,9 +29,6 @@ import java.lang.annotation.RetentionPolicy; /** * Describes the HDR conversion mode for a device. * - * This class is used when user changes the HDR conversion mode of the device via - * {@link DisplayManager#setHdrConversionMode(HdrConversionMode)}. - * <p> * HDR conversion mode has a conversionMode and preferredHdrOutputType. </p><p> * The conversionMode can be one of: * {@link HdrConversionMode#HDR_CONVERSION_UNSUPPORTED} : HDR conversion is unsupported. In this diff --git a/core/java/android/hardware/display/VirtualDisplayConfig.java b/core/java/android/hardware/display/VirtualDisplayConfig.java index 490e55ba260f..03d6d91d1e78 100644 --- a/core/java/android/hardware/display/VirtualDisplayConfig.java +++ b/core/java/android/hardware/display/VirtualDisplayConfig.java @@ -161,9 +161,8 @@ public final class VirtualDisplayConfig implements Parcelable { } /** - * Returns the recording session associated with this VirtualDisplay. Only used for + * Returns the recording session associated with this {@link VirtualDisplay}. Only used for * recording via {@link MediaProjection}. - * * @hide */ @Nullable @@ -438,7 +437,7 @@ public final class VirtualDisplayConfig implements Parcelable { * * <p>For best results, specify a divisor of the physical refresh rate, e.g., 30 or 60 on * a 120hz display. If an arbitrary refresh rate is specified, the rate will be rounded up - * down to a divisor of the physical display. If unset or zero, the virtual display will be + * to a divisor of the physical display. If unset or zero, the virtual display will be * refreshed at the physical display refresh rate. * * @see Display#getRefreshRate() diff --git a/core/java/android/nfc/tech/IsoDep.java b/core/java/android/nfc/tech/IsoDep.java index 089b1599ec06..0ba0c5a8d13b 100644 --- a/core/java/android/nfc/tech/IsoDep.java +++ b/core/java/android/nfc/tech/IsoDep.java @@ -88,6 +88,7 @@ public final class IsoDep extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @param timeout timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void setTimeout(int timeout) { try { @@ -106,6 +107,7 @@ public final class IsoDep extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @return timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public int getTimeout() { try { @@ -167,6 +169,7 @@ public final class IsoDep extends BasicTagTechnology { * @return response bytes received, will not be null * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or this operation is canceled + * @throws SecurityException if the tag object is reused after the tag has left the field */ public byte[] transceive(byte[] data) throws IOException { return transceive(data, true); @@ -193,6 +196,7 @@ public final class IsoDep extends BasicTagTechnology { * support. * * @return whether the NFC adapter on this device supports extended length APDUs. + * @throws SecurityException if the tag object is reused after the tag has left the field */ public boolean isExtendedLengthApduSupported() { try { diff --git a/core/java/android/nfc/tech/MifareClassic.java b/core/java/android/nfc/tech/MifareClassic.java index 080e058737b6..26f54e692289 100644 --- a/core/java/android/nfc/tech/MifareClassic.java +++ b/core/java/android/nfc/tech/MifareClassic.java @@ -597,6 +597,7 @@ public final class MifareClassic extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @param timeout timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void setTimeout(int timeout) { try { @@ -615,6 +616,7 @@ public final class MifareClassic extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @return timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public int getTimeout() { try { diff --git a/core/java/android/nfc/tech/MifareUltralight.java b/core/java/android/nfc/tech/MifareUltralight.java index dec2c6548ab5..c0416a39ba76 100644 --- a/core/java/android/nfc/tech/MifareUltralight.java +++ b/core/java/android/nfc/tech/MifareUltralight.java @@ -236,6 +236,7 @@ public final class MifareUltralight extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @param timeout timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void setTimeout(int timeout) { try { @@ -255,6 +256,7 @@ public final class MifareUltralight extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @return timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public int getTimeout() { try { diff --git a/core/java/android/nfc/tech/Ndef.java b/core/java/android/nfc/tech/Ndef.java index 39c355ad918a..7d83f157a314 100644 --- a/core/java/android/nfc/tech/Ndef.java +++ b/core/java/android/nfc/tech/Ndef.java @@ -261,6 +261,7 @@ public final class Ndef extends BasicTagTechnology { * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or the operation is canceled * @throws FormatException if the NDEF Message on the tag is malformed + * @throws SecurityException if the tag object is reused after the tag has left the field */ public NdefMessage getNdefMessage() throws IOException, FormatException { checkConnected(); @@ -301,6 +302,7 @@ public final class Ndef extends BasicTagTechnology { * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or the operation is canceled * @throws FormatException if the NDEF Message to write is malformed + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void writeNdefMessage(NdefMessage msg) throws IOException, FormatException { checkConnected(); @@ -339,6 +341,7 @@ public final class Ndef extends BasicTagTechnology { * <p>Does not cause any RF activity and does not block. * * @return true if it is possible to make this tag read-only + * @throws SecurityException if the tag object is reused after the tag has left the field */ public boolean canMakeReadOnly() { INfcTag tagService = mTag.getTagService(); @@ -370,6 +373,7 @@ public final class Ndef extends BasicTagTechnology { * @return true on success, false if it is not possible to make this tag read-only * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or the operation is canceled + * @throws SecurityException if the tag object is reused after the tag has left the field */ public boolean makeReadOnly() throws IOException { checkConnected(); diff --git a/core/java/android/nfc/tech/NdefFormatable.java b/core/java/android/nfc/tech/NdefFormatable.java index 4175cd08804c..f19d30258393 100644 --- a/core/java/android/nfc/tech/NdefFormatable.java +++ b/core/java/android/nfc/tech/NdefFormatable.java @@ -111,6 +111,7 @@ public final class NdefFormatable extends BasicTagTechnology { * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or the operation is canceled * @throws FormatException if the NDEF Message to write is malformed + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void formatReadOnly(NdefMessage firstMessage) throws IOException, FormatException { format(firstMessage, true); diff --git a/core/java/android/nfc/tech/NfcA.java b/core/java/android/nfc/tech/NfcA.java index 88730f9af3df..7e6648361670 100644 --- a/core/java/android/nfc/tech/NfcA.java +++ b/core/java/android/nfc/tech/NfcA.java @@ -141,6 +141,7 @@ public final class NfcA extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @param timeout timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void setTimeout(int timeout) { try { @@ -159,6 +160,7 @@ public final class NfcA extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @return timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public int getTimeout() { try { diff --git a/core/java/android/nfc/tech/NfcF.java b/core/java/android/nfc/tech/NfcF.java index 44871212daef..2ccd38875f07 100644 --- a/core/java/android/nfc/tech/NfcF.java +++ b/core/java/android/nfc/tech/NfcF.java @@ -145,6 +145,7 @@ public final class NfcF extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @param timeout timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void setTimeout(int timeout) { try { @@ -163,6 +164,7 @@ public final class NfcF extends BasicTagTechnology { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @return timeout value in milliseconds + * @throws SecurityException if the tag object is reused after the tag has left the field */ public int getTimeout() { try { diff --git a/core/java/android/nfc/tech/TagTechnology.java b/core/java/android/nfc/tech/TagTechnology.java index 0e2c7c18c61c..839fe429b338 100644 --- a/core/java/android/nfc/tech/TagTechnology.java +++ b/core/java/android/nfc/tech/TagTechnology.java @@ -176,6 +176,7 @@ public interface TagTechnology extends Closeable { * @see #close() * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or connect is canceled + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void connect() throws IOException; @@ -193,6 +194,7 @@ public interface TagTechnology extends Closeable { * @see #close() * @throws TagLostException if the tag leaves the field * @throws IOException if there is an I/O failure, or connect is canceled + * @throws SecurityException if the tag object is reused after the tag has left the field * @hide */ public void reconnect() throws IOException; @@ -205,6 +207,7 @@ public interface TagTechnology extends Closeable { * <p class="note">Requires the {@link android.Manifest.permission#NFC} permission. * * @see #connect() + * @throws SecurityException if the tag object is reused after the tag has left the field */ public void close() throws IOException; diff --git a/core/java/android/os/FileUtils.java b/core/java/android/os/FileUtils.java index b478a37984e0..af09a0662795 100644 --- a/core/java/android/os/FileUtils.java +++ b/core/java/android/os/FileUtils.java @@ -1295,19 +1295,31 @@ public final class FileUtils { * value, such as 256MB or 32GB. This avoids showing weird values like * "29.5GB" in UI. * + * Some storage devices are still using GiB (powers of 1024) over + * GB (powers of 1000) measurements and this method takes it into account. + * + * Round ranges: + * ... + * [256 GiB + 1; 512 GiB] -> 512 GB + * [512 GiB + 1; 1 TiB] -> 1 TB + * [1 TiB + 1; 2 TiB] -> 2 TB + * etc + * * @hide */ public static long roundStorageSize(long size) { long val = 1; - long pow = 1; - while ((val * pow) < size) { + long kiloPow = 1; + long kibiPow = 1; + while ((val * kibiPow) < size) { val <<= 1; if (val > 512) { val = 1; - pow *= 1000; + kibiPow *= 1024; + kiloPow *= 1000; } } - return val * pow; + return val * kiloPow; } private static long toBytes(long value, String unit) { diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java index 1673ade04150..e784c2669575 100644 --- a/core/java/android/os/Parcel.java +++ b/core/java/android/os/Parcel.java @@ -4499,17 +4499,28 @@ public final class Parcel { public void writeToParcel(Parcel out) { Parcel source = mSource; if (source != null) { - out.appendFrom(source, mPosition, mLength); - } else { - out.writeValue(mObject); + synchronized (source) { + if (mSource != null) { + out.appendFrom(source, mPosition, mLength); + return; + } + } } + + out.writeValue(mObject); } public boolean hasFileDescriptors() { Parcel source = mSource; - return (source != null) - ? source.hasFileDescriptors(mPosition, mLength) - : Parcel.hasFileDescriptors(mObject); + if (source != null) { + synchronized (source) { + if (mSource != null) { + return source.hasFileDescriptors(mPosition, mLength); + } + } + } + + return Parcel.hasFileDescriptors(mObject); } @Override diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 123f48067be8..89b768d7dff7 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -14777,23 +14777,6 @@ public final class Settings { "adaptive_battery_management_enabled"; /** - * Whether or not apps are allowed into the - * {@link android.app.usage.UsageStatsManager#STANDBY_BUCKET_RESTRICTED} bucket. - * Type: int (0 for false, 1 for true) - * Default: {@value #DEFAULT_ENABLE_RESTRICTED_BUCKET} - * - * @hide - */ - @Readable - public static final String ENABLE_RESTRICTED_BUCKET = "enable_restricted_bucket"; - - /** - * @see #ENABLE_RESTRICTED_BUCKET - * @hide - */ - public static final int DEFAULT_ENABLE_RESTRICTED_BUCKET = 1; - - /** * Whether or not app auto restriction is enabled. When it is enabled, settings app will * auto restrict the app if it has bad behavior (e.g. hold wakelock for long time). * diff --git a/core/java/android/service/autofill/Dataset.java b/core/java/android/service/autofill/Dataset.java index e81ca1ada98a..5f7486addd69 100644 --- a/core/java/android/service/autofill/Dataset.java +++ b/core/java/android/service/autofill/Dataset.java @@ -1260,6 +1260,36 @@ public final class Dataset implements Parcelable { return mFieldIds.size() - 1; } + private void createFromParcel( + @Nullable AutofillId id, @Nullable String datatype, + @Nullable AutofillValue value, @Nullable RemoteViews presentation, + @Nullable InlinePresentation inlinePresentation, + @Nullable InlinePresentation tooltip, + @Nullable DatasetFieldFilter filter, + @Nullable RemoteViews dialogPresentation) { + if (id != null) { + final int existingIdx = mFieldIds.indexOf(id); + if (existingIdx >= 0) { + mFieldValues.set(existingIdx, value); + mFieldPresentations.set(existingIdx, presentation); + mFieldDialogPresentations.set(existingIdx, dialogPresentation); + mFieldInlinePresentations.set(existingIdx, inlinePresentation); + mFieldInlineTooltipPresentations.set(existingIdx, tooltip); + mFieldFilters.set(existingIdx, filter); + return; + } + } + mFieldIds.add(id); + mAutofillDatatypes.add(datatype); + mFieldValues.add(value); + mFieldPresentations.add(presentation); + mFieldDialogPresentations.add(dialogPresentation); + mFieldInlinePresentations.add(inlinePresentation); + mFieldInlineTooltipPresentations.add(tooltip); + mFieldFilters.add(filter); + return; + } + /** * Creates a new {@link Dataset} instance. * @@ -1391,37 +1421,20 @@ public final class Dataset implements Parcelable { builder.setContent(ids.get(0), fieldContent); } final int inlinePresentationsSize = inlinePresentations.size(); - - if (ids.size() == 0 && autofillDatatypes.size() > 0) { - for (int i = 0; i < autofillDatatypes.size(); i++) { - final String datatype = autofillDatatypes.get(i); - final AutofillValue value = values.get(i); - final RemoteViews fieldPresentation = presentations.get(i); - final RemoteViews fieldDialogPresentation = dialogPresentations.get(i); - final InlinePresentation fieldInlinePresentation = - i < inlinePresentationsSize ? inlinePresentations.get(i) : null; - final InlinePresentation fieldInlineTooltipPresentation = - i < inlinePresentationsSize ? inlineTooltipPresentations.get(i) : null; - final DatasetFieldFilter filter = filters.get(i); - builder.setLifeTheUniverseAndEverything( - datatype, value, fieldPresentation, fieldInlinePresentation, - fieldInlineTooltipPresentation, filter, fieldDialogPresentation); - } - } else { - for (int i = 0; i < ids.size(); i++) { - final AutofillId id = ids.get(i); - final AutofillValue value = values.get(i); - final RemoteViews fieldPresentation = presentations.get(i); - final RemoteViews fieldDialogPresentation = dialogPresentations.get(i); - final InlinePresentation fieldInlinePresentation = - i < inlinePresentationsSize ? inlinePresentations.get(i) : null; - final InlinePresentation fieldInlineTooltipPresentation = - i < inlinePresentationsSize ? inlineTooltipPresentations.get(i) : null; - final DatasetFieldFilter filter = filters.get(i); - builder.setLifeTheUniverseAndEverything(id, value, fieldPresentation, - fieldInlinePresentation, fieldInlineTooltipPresentation, filter, - fieldDialogPresentation); - } + for (int i = 0; i < ids.size(); i++) { + final AutofillId id = ids.get(i); + final String datatype = autofillDatatypes.get(i); + final AutofillValue value = values.get(i); + final RemoteViews fieldPresentation = presentations.get(i); + final RemoteViews fieldDialogPresentation = dialogPresentations.get(i); + final InlinePresentation fieldInlinePresentation = + i < inlinePresentationsSize ? inlinePresentations.get(i) : null; + final InlinePresentation fieldInlineTooltipPresentation = + i < inlinePresentationsSize ? inlineTooltipPresentations.get(i) : null; + final DatasetFieldFilter filter = filters.get(i); + builder.createFromParcel(id, datatype, value, fieldPresentation, + fieldInlinePresentation, fieldInlineTooltipPresentation, filter, + fieldDialogPresentation); } builder.setAuthentication(authentication); builder.setId(datasetId); diff --git a/core/java/android/service/credentials/CredentialProviderInfoFactory.java b/core/java/android/service/credentials/CredentialProviderInfoFactory.java index 3190c69abd92..8069414c3e6e 100644 --- a/core/java/android/service/credentials/CredentialProviderInfoFactory.java +++ b/core/java/android/service/credentials/CredentialProviderInfoFactory.java @@ -33,17 +33,28 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.content.res.Resources; +import android.content.res.TypedArray; +import android.content.res.XmlResourceParser; import android.credentials.CredentialManager; import android.credentials.CredentialProviderInfo; import android.os.Bundle; import android.os.RemoteException; import android.os.UserHandle; +import android.text.TextUtils; +import android.util.AttributeSet; import android.util.Log; import android.util.Slog; +import android.util.Xml; +import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -58,6 +69,11 @@ import java.util.Set; public final class CredentialProviderInfoFactory { private static final String TAG = "CredentialProviderInfoFactory"; + private static final String TAG_CREDENTIAL_PROVIDER = "credential-provider"; + private static final String TAG_CAPABILITIES = "capabilities"; + private static final String TAG_CAPABILITY = "capability"; + private static final String ATTR_NAME = "name"; + /** * Constructs an information instance of the credential provider. * @@ -118,8 +134,8 @@ public final class CredentialProviderInfoFactory { } /** - * Constructs an information instance of the credential provider for testing purposes. Does - * not run any verifications and passes parameters as is. + * Constructs an information instance of the credential provider for testing purposes. Does not + * run any verifications and passes parameters as is. */ @VisibleForTesting public static CredentialProviderInfo createForTests( @@ -134,7 +150,6 @@ public final class CredentialProviderInfoFactory { .setSystemProvider(isSystemProvider) .addCapabilities(capabilities) .build(); - } private static void verifyProviderPermission(ServiceInfo serviceInfo) throws SecurityException { @@ -194,10 +209,8 @@ public final class CredentialProviderInfoFactory { private static CredentialProviderInfo.Builder populateMetadata( @NonNull Context context, ServiceInfo serviceInfo) { requireNonNull(context, "context must not be null"); - - final CredentialProviderInfo.Builder builder = - new CredentialProviderInfo.Builder(serviceInfo); final PackageManager pm = context.getPackageManager(); + CredentialProviderInfo.Builder builder = new CredentialProviderInfo.Builder(serviceInfo); // 1. Get the metadata for the service. final Bundle metadata = serviceInfo.metaData; @@ -206,46 +219,155 @@ public final class CredentialProviderInfoFactory { return builder; } - // 2. Extract the capabilities from the bundle. + // 2. Get the resources for the application. + Resources resources = null; + try { + resources = pm.getResourcesForApplication(serviceInfo.applicationInfo); + } catch (PackageManager.NameNotFoundException e) { + Log.e(TAG, "Failed to get app resources", e); + } + + // 3. Stop if we are missing data. + if (metadata == null || resources == null) { + Log.i(TAG, "populateMetadata - resources is null"); + return builder; + } + + // 4. Extract the XML metadata. + try { + builder = extractXmlMetadata(context, builder, serviceInfo, pm, resources); + } catch (Exception e) { + Log.e(TAG, "Failed to get XML metadata", e); + } + + // 5. Extract the legacy metadata. + try { + builder.addCapabilities( + populateLegacyProviderCapabilities(resources, metadata, serviceInfo)); + } catch (Exception e) { + Log.e(TAG, "Failed to get legacy metadata ", e); + } + + return builder; + } + + private static CredentialProviderInfo.Builder extractXmlMetadata( + @NonNull Context context, + @NonNull CredentialProviderInfo.Builder builder, + @NonNull ServiceInfo serviceInfo, + @NonNull PackageManager pm, + @NonNull Resources resources) { + final XmlResourceParser parser = + serviceInfo.loadXmlMetaData(pm, CredentialProviderService.SERVICE_META_DATA); + if (parser == null) { + return builder; + } + try { - Resources resources = pm.getResourcesForApplication(serviceInfo.applicationInfo); - if (metadata == null || resources == null) { - Log.i(TAG, "populateMetadata - resources is null"); - return builder; + int type = 0; + while (type != XmlPullParser.END_DOCUMENT && type != XmlPullParser.START_TAG) { + type = parser.next(); } - builder.addCapabilities(populateProviderCapabilities(resources, metadata, serviceInfo)); - } catch (PackageManager.NameNotFoundException e) { - Slog.e(TAG, e.getMessage()); + // This is matching a <credential-provider /> tag in the XML. + if (TAG_CREDENTIAL_PROVIDER.equals(parser.getName())) { + final AttributeSet allAttributes = Xml.asAttributeSet(parser); + TypedArray afsAttributes = null; + try { + afsAttributes = + resources.obtainAttributes( + allAttributes, + com.android.internal.R.styleable.CredentialProvider); + builder.setSettingsSubtitle( + afsAttributes.getString( + R.styleable.CredentialProvider_settingsSubtitle)); + } catch (Exception e) { + Log.e(TAG, "Failed to get XML attr", e); + } finally { + if (afsAttributes != null) { + afsAttributes.recycle(); + } + } + builder.addCapabilities(parseXmlProviderOuterCapabilities(parser, resources)); + } else { + Log.e(TAG, "Meta-data does not start with credential-provider-service tag"); + } + } catch (IOException | XmlPullParserException e) { + Log.e(TAG, "Error parsing credential provider service meta-data", e); } return builder; } - private static List<String> populateProviderCapabilities( + private static Set<String> parseXmlProviderOuterCapabilities( + XmlPullParser parser, Resources resources) throws IOException, XmlPullParserException { + final Set<String> capabilities = new HashSet<>(); + final int outerDepth = parser.getDepth(); + int type; + while ((type = parser.next()) != XmlPullParser.END_DOCUMENT + && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) { + if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) { + continue; + } + + if (TAG_CAPABILITIES.equals(parser.getName())) { + capabilities.addAll(parseXmlProviderInnerCapabilities(parser, resources)); + } + } + + return capabilities; + } + + private static List<String> parseXmlProviderInnerCapabilities( + XmlPullParser parser, Resources resources) throws IOException, XmlPullParserException { + List<String> capabilities = new ArrayList<>(); + + final int outerDepth = parser.getDepth(); + int type; + while ((type = parser.next()) != XmlPullParser.END_DOCUMENT + && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) { + if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) { + continue; + } + + if (TAG_CAPABILITY.equals(parser.getName())) { + String name = parser.getAttributeValue(null, ATTR_NAME); + if (name != null && !TextUtils.isEmpty(name)) { + capabilities.add(name); + } + } + } + + return capabilities; + } + + private static Set<String> populateLegacyProviderCapabilities( Resources resources, Bundle metadata, ServiceInfo serviceInfo) { - List<String> output = new ArrayList<>(); - String[] capabilities = new String[0]; + Set<String> output = new HashSet<>(); + Set<String> capabilities = new HashSet<>(); try { - capabilities = + String[] discovered = resources.getStringArray( metadata.getInt(CredentialProviderService.CAPABILITY_META_DATA_KEY)); - } catch (Resources.NotFoundException e) { - Slog.e(TAG, "Failed to get capabilities: " + e.getMessage()); + if (discovered != null) { + capabilities.addAll(Arrays.asList(discovered)); + } + } catch (Resources.NotFoundException | NullPointerException e) { + Log.e(TAG, "Failed to get capabilities: ", e); } - if (capabilities == null || capabilities.length == 0) { - Slog.e(TAG, "No capabilities found for provider:" + serviceInfo.packageName); + if (capabilities.size() == 0) { + Log.e(TAG, "No capabilities found for provider:" + serviceInfo); return output; } for (String capability : capabilities) { - if (capability.isEmpty()) { - Slog.e(TAG, "Skipping empty capability"); + if (capability == null || capability.isEmpty()) { + Log.w(TAG, "Skipping empty/null capability"); continue; } - Slog.e(TAG, "Capabilities found for provider: " + capability); + Log.i(TAG, "Capabilities found for provider: " + capability); output.add(capability); } return output; @@ -361,7 +483,8 @@ public final class CredentialProviderInfoFactory { try { DevicePolicyManager dpm = newContext.getSystemService(DevicePolicyManager.class); - return dpm.getCredentialManagerPolicy(); + PackagePolicy pp = dpm.getCredentialManagerPolicy(); + return pp; } catch (SecurityException e) { // If the current user is not enrolled in DPM then this can throw a security error. Log.e(TAG, "Failed to get device policy: " + e); diff --git a/core/java/android/service/credentials/CredentialProviderService.java b/core/java/android/service/credentials/CredentialProviderService.java index e88474d86798..6824159706cd 100644 --- a/core/java/android/service/credentials/CredentialProviderService.java +++ b/core/java/android/service/credentials/CredentialProviderService.java @@ -156,8 +156,43 @@ public abstract class CredentialProviderService extends Service { private static final String TAG = "CredProviderService"; + /** + * The list of capabilities exposed by a credential provider. + * + * @deprecated Replaced with {@link android.service.credentials#SERVICE_META_DATA} + */ + @Deprecated public static final String CAPABILITY_META_DATA_KEY = "android.credentials.capabilities"; + /** + * Name under which a Credential Provider service component publishes information + * about itself. This meta-data must reference an XML resource containing + * an + * <code><{@link android.R.styleable#CredentialProvider credential-provider}></code> + * tag. + * + * For example (AndroidManifest.xml): + * <code> + * <meta-data + * android:name="android.credentials.provider" + * android:resource="@xml/provider"/> + * </code> + * + * For example (xml/provider.xml): + * <code> + * <credential-provider xmlns:android="http://schemas.android.com/apk/res/android" + * android:settingsSubtitle="@string/providerSubtitle"> + * <capabilities> + * <capability>@string/passwords</capability> + * <capability>@string/passkeys</capability> + * </capabilities> + * <string name="passwords">android.credentials.TYPE_PASSWORD_CREDENTIAL</string> + * <string name="passkeys">android.credentials.TYPE_PUBLIC_KEY_CREDENTIAL</string> + * </credential-provider> + * </code> + */ + public static final String SERVICE_META_DATA = "android.credentials.provider"; + /** @hide */ public static final String TEST_SYSTEM_PROVIDER_META_DATA_KEY = "android.credentials.testsystemprovider"; diff --git a/core/java/android/service/voice/AbstractDetector.java b/core/java/android/service/voice/AbstractDetector.java index 0f3e8d1f4bde..8648e386fbbb 100644 --- a/core/java/android/service/voice/AbstractDetector.java +++ b/core/java/android/service/voice/AbstractDetector.java @@ -228,11 +228,16 @@ abstract class AbstractDetector implements HotwordDetector { /** Called when the detection fails due to an error. */ @Override - public void onError(DetectorFailure detectorFailure) { - Slog.v(TAG, "BinderCallback#onError detectorFailure: " + detectorFailure); + public void onHotwordDetectionServiceFailure( + HotwordDetectionServiceFailure hotwordDetectionServiceFailure) { + Slog.v(TAG, "BinderCallback#onHotwordDetectionServiceFailure: " + + hotwordDetectionServiceFailure); Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { - mCallback.onFailure(detectorFailure != null ? detectorFailure - : new UnknownFailure("Error data is null")); + if (hotwordDetectionServiceFailure != null) { + mCallback.onFailure(hotwordDetectionServiceFailure); + } else { + mCallback.onUnknownFailure("Error data is null"); + } })); } diff --git a/core/java/android/service/voice/AlwaysOnHotwordDetector.java b/core/java/android/service/voice/AlwaysOnHotwordDetector.java index e69e03e1fac3..8688a18880b7 100644 --- a/core/java/android/service/voice/AlwaysOnHotwordDetector.java +++ b/core/java/android/service/voice/AlwaysOnHotwordDetector.java @@ -280,6 +280,9 @@ public class AlwaysOnHotwordDetector extends AbstractDetector { private static final int MSG_HOTWORD_REJECTED = 6; private static final int MSG_HOTWORD_STATUS_REPORTED = 7; private static final int MSG_PROCESS_RESTARTED = 8; + private static final int MSG_DETECTION_HOTWORD_DETECTION_SERVICE_FAILURE = 9; + private static final int MSG_DETECTION_SOUND_TRIGGER_FAILURE = 10; + private static final int MSG_DETECTION_UNKNOWN_FAILURE = 11; private final String mText; private final Locale mLocale; @@ -774,12 +777,28 @@ public class AlwaysOnHotwordDetector extends AbstractDetector { /** * {@inheritDoc} * - * @deprecated Use {@link HotwordDetector.Callback#onError(DetectorFailure)} instead. + * @deprecated On {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE} and above, + * implement {@link HotwordDetector.Callback#onFailure(HotwordDetectionServiceFailure)}, + * {@link AlwaysOnHotwordDetector.Callback#onFailure(SoundTriggerFailure)}, + * {@link HotwordDetector.Callback#onUnknownFailure(String)} instead. */ @Deprecated @Override public abstract void onError(); + /** + * Called when the detection fails due to an error occurs in the + * {@link com.android.server.soundtrigger.SoundTriggerService} and + * {@link com.android.server.soundtrigger_middleware.SoundTriggerMiddlewareService}, + * {@link SoundTriggerFailure} will be reported to the detector. + * + * @param soundTriggerFailure It provides the error code, error message and suggested + * action. + */ + public void onFailure(@NonNull SoundTriggerFailure soundTriggerFailure) { + onError(); + } + /** {@inheritDoc} */ public abstract void onRecognitionPaused(); @@ -1556,18 +1575,43 @@ public class AlwaysOnHotwordDetector extends AbstractDetector { @Override public void onError(int status) { Slog.i(TAG, "onError: " + status); - // This is a workaround before the sound trigger uses the onDetectionFailure method. - Message.obtain(mHandler, MSG_DETECTION_ERROR, - new SoundTriggerFailure(status, "Sound trigger error")).sendToTarget(); + // TODO(b/271534248): This is a workaround before the sound trigger uses the new error + // method. + Message.obtain(mHandler, MSG_DETECTION_SOUND_TRIGGER_FAILURE, + new SoundTriggerFailure(SoundTriggerFailure.ERROR_CODE_UNKNOWN, + "Sound trigger error")).sendToTarget(); } @Override - public void onDetectionFailure(DetectorFailure detectorFailure) { - Slog.v(TAG, "onDetectionFailure detectorFailure: " + detectorFailure); - Message.obtain(mHandler, MSG_DETECTION_ERROR, - detectorFailure != null ? detectorFailure - : new UnknownFailure("Error data is null")).sendToTarget(); + public void onHotwordDetectionServiceFailure( + HotwordDetectionServiceFailure hotwordDetectionServiceFailure) { + Slog.v(TAG, "onHotwordDetectionServiceFailure: " + hotwordDetectionServiceFailure); + if (hotwordDetectionServiceFailure != null) { + Message.obtain(mHandler, MSG_DETECTION_HOTWORD_DETECTION_SERVICE_FAILURE, + hotwordDetectionServiceFailure).sendToTarget(); + } else { + Message.obtain(mHandler, MSG_DETECTION_UNKNOWN_FAILURE, + "Error data is null").sendToTarget(); + } } + + @Override + public void onVisualQueryDetectionServiceFailure( + VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure) + throws RemoteException { + // It should never be called here. + Slog.w(TAG, + "onVisualQueryDetectionServiceFailure: " + visualQueryDetectionServiceFailure); + } + + @Override + public void onUnknownFailure(String errorMessage) throws RemoteException { + Slog.v(TAG, "onUnknownFailure: " + errorMessage); + Message.obtain(mHandler, MSG_DETECTION_UNKNOWN_FAILURE, + !TextUtils.isEmpty(errorMessage) ? errorMessage + : "Error data is null").sendToTarget(); + } + @Override public void onRecognitionPaused() { Slog.i(TAG, "onRecognitionPaused"); @@ -1600,7 +1644,7 @@ public class AlwaysOnHotwordDetector extends AbstractDetector { } void onDetectorRemoteException() { - Message.obtain(mHandler, MSG_DETECTION_ERROR, + Message.obtain(mHandler, MSG_DETECTION_HOTWORD_DETECTION_SERVICE_FAILURE, new HotwordDetectionServiceFailure( HotwordDetectionServiceFailure.ERROR_CODE_REMOTE_EXCEPTION, "Detector remote exception occurs")).sendToTarget(); @@ -1630,7 +1674,9 @@ public class AlwaysOnHotwordDetector extends AbstractDetector { mExternalCallback.onDetected((EventPayload) message.obj); break; case MSG_DETECTION_ERROR: - mExternalCallback.onFailure((DetectorFailure) message.obj); + // TODO(b/271534248): After reverting the workaround, this logic is still + // necessary. + mExternalCallback.onError(); break; case MSG_DETECTION_PAUSE: mExternalCallback.onRecognitionPaused(); @@ -1647,6 +1693,15 @@ public class AlwaysOnHotwordDetector extends AbstractDetector { case MSG_PROCESS_RESTARTED: mExternalCallback.onHotwordDetectionServiceRestarted(); break; + case MSG_DETECTION_HOTWORD_DETECTION_SERVICE_FAILURE: + mExternalCallback.onFailure((HotwordDetectionServiceFailure) message.obj); + break; + case MSG_DETECTION_SOUND_TRIGGER_FAILURE: + mExternalCallback.onFailure((SoundTriggerFailure) message.obj); + break; + case MSG_DETECTION_UNKNOWN_FAILURE: + mExternalCallback.onUnknownFailure((String) message.obj); + break; default: super.handleMessage(message); } diff --git a/core/java/android/service/voice/DetectedPhrase.aidl b/core/java/android/service/voice/DetectedPhrase.aidl deleted file mode 100644 index 23a405d51ed9..000000000000 --- a/core/java/android/service/voice/DetectedPhrase.aidl +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.service.voice; - -parcelable DetectedPhrase; diff --git a/core/java/android/service/voice/DetectedPhrase.java b/core/java/android/service/voice/DetectedPhrase.java deleted file mode 100644 index bd906125f59d..000000000000 --- a/core/java/android/service/voice/DetectedPhrase.java +++ /dev/null @@ -1,286 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.service.voice; - -import android.annotation.NonNull; -import android.annotation.Nullable; -import android.annotation.SystemApi; -import android.os.Parcelable; - -import com.android.internal.util.DataClass; -import com.android.internal.util.Preconditions; - -/** - * Details about the phrase used to generate a {@link HotwordDetectedResult} - * - * @hide - */ -@DataClass( - genConstructor = false, - genBuilder = true, - genEqualsHashCode = true, - genHiddenConstDefs = true, - genParcelable = true, - genToString = true -) -@SystemApi -public final class DetectedPhrase implements Parcelable { - - /** - * An ID representing the keyphrase that triggered the successful detection. - */ - private int mId = 0; - - static int defaultHotwordPhraseId() { - return 0; - } - - /** - * A string representing exactly what was heard and interpreted by the service leading to - * a successful detection. - * - * <p>Can be null if not set in {@link DetectedPhrase.Builder} - */ - @Nullable - private String mPhrase = null; - - /** - * Provides an instance of {@link DetectedPhrase.Builder} with state corresponding to - * this instance. - * @hide - */ - public DetectedPhrase.Builder buildUpon() { - return new DetectedPhrase.Builder() - .setId(mId) - .setPhrase(mPhrase); - } - - private void onConstructed() { - Preconditions.checkArgumentNonnegative(mId, "hotwordPhraseId"); - } - - - - // Code below generated by codegen v1.0.23. - // - // DO NOT MODIFY! - // CHECKSTYLE:OFF Generated code - // - // To regenerate run: - // $ codegen $ANDROID_BUILD_TOP/frameworks/base/core/java/android/service/voice/DetectedPhrase.java - // - // To exclude the generated code from IntelliJ auto-formatting enable (one-time): - // Settings > Editor > Code Style > Formatter Control - //@formatter:off - - - @DataClass.Generated.Member - /* package-private */ DetectedPhrase( - int id, - @Nullable String phrase) { - this.mId = id; - this.mPhrase = phrase; - - onConstructed(); - } - - /** - * An ID representing the keyphrase that triggered the successful detection. - */ - @DataClass.Generated.Member - public int getId() { - return mId; - } - - /** - * A string representing exactly what was heard and interpreted by the service leading to - * a successful detection. - * - * <p>Can be null if not set in {@link DetectedPhrase.Builder} - */ - @DataClass.Generated.Member - public @Nullable String getPhrase() { - return mPhrase; - } - - @Override - @DataClass.Generated.Member - public String toString() { - // You can override field toString logic by defining methods like: - // String fieldNameToString() { ... } - - return "DetectedPhrase { " + - "id = " + mId + ", " + - "phrase = " + mPhrase + - " }"; - } - - @Override - @DataClass.Generated.Member - public boolean equals(@Nullable Object o) { - // You can override field equality logic by defining either of the methods like: - // boolean fieldNameEquals(DetectedPhrase other) { ... } - // boolean fieldNameEquals(FieldType otherValue) { ... } - - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - @SuppressWarnings("unchecked") - DetectedPhrase that = (DetectedPhrase) o; - //noinspection PointlessBooleanExpression - return true - && mId == that.mId - && java.util.Objects.equals(mPhrase, that.mPhrase); - } - - @Override - @DataClass.Generated.Member - public int hashCode() { - // You can override field hashCode logic by defining methods like: - // int fieldNameHashCode() { ... } - - int _hash = 1; - _hash = 31 * _hash + mId; - _hash = 31 * _hash + java.util.Objects.hashCode(mPhrase); - return _hash; - } - - @Override - @DataClass.Generated.Member - public void writeToParcel(@NonNull android.os.Parcel dest, int flags) { - // You can override field parcelling by defining methods like: - // void parcelFieldName(Parcel dest, int flags) { ... } - - byte flg = 0; - if (mPhrase != null) flg |= 0x2; - dest.writeByte(flg); - dest.writeInt(mId); - if (mPhrase != null) dest.writeString(mPhrase); - } - - @Override - @DataClass.Generated.Member - public int describeContents() { return 0; } - - /** @hide */ - @SuppressWarnings({"unchecked", "RedundantCast"}) - @DataClass.Generated.Member - /* package-private */ DetectedPhrase(@NonNull android.os.Parcel in) { - // You can override field unparcelling by defining methods like: - // static FieldType unparcelFieldName(Parcel in) { ... } - - byte flg = in.readByte(); - int id = in.readInt(); - String phrase = (flg & 0x2) == 0 ? null : in.readString(); - - this.mId = id; - this.mPhrase = phrase; - - onConstructed(); - } - - @DataClass.Generated.Member - public static final @NonNull Parcelable.Creator<DetectedPhrase> CREATOR - = new Parcelable.Creator<DetectedPhrase>() { - @Override - public DetectedPhrase[] newArray(int size) { - return new DetectedPhrase[size]; - } - - @Override - public DetectedPhrase createFromParcel(@NonNull android.os.Parcel in) { - return new DetectedPhrase(in); - } - }; - - /** - * A builder for {@link DetectedPhrase} - */ - @SuppressWarnings("WeakerAccess") - @DataClass.Generated.Member - public static final class Builder { - - private int mId; - private @Nullable String mPhrase; - - private long mBuilderFieldsSet = 0L; - - public Builder() { - } - - /** - * An ID representing the keyphrase that triggered the successful detection. - */ - @DataClass.Generated.Member - public @NonNull Builder setId(int value) { - checkNotUsed(); - mBuilderFieldsSet |= 0x1; - mId = value; - return this; - } - - /** - * A string representing exactly what was heard and interpreted by the service leading to - * a successful detection. - * - * <p>Can be null if not set in {@link DetectedPhrase.Builder} - */ - @DataClass.Generated.Member - public @NonNull Builder setPhrase(@NonNull String value) { - checkNotUsed(); - mBuilderFieldsSet |= 0x2; - mPhrase = value; - return this; - } - - /** Builds the instance. This builder should not be touched after calling this! */ - public @NonNull DetectedPhrase build() { - checkNotUsed(); - mBuilderFieldsSet |= 0x4; // Mark builder used - - if ((mBuilderFieldsSet & 0x1) == 0) { - mId = 0; - } - if ((mBuilderFieldsSet & 0x2) == 0) { - mPhrase = null; - } - DetectedPhrase o = new DetectedPhrase( - mId, - mPhrase); - return o; - } - - private void checkNotUsed() { - if ((mBuilderFieldsSet & 0x4) != 0) { - throw new IllegalStateException( - "This Builder should not be reused. Use a new Builder instance instead"); - } - } - } - - @DataClass.Generated( - time = 1676870329959L, - codegenVersion = "1.0.23", - sourceFile = "frameworks/base/core/java/android/service/voice/DetectedPhrase.java", - inputSignatures = "private int mId\nprivate @android.annotation.Nullable java.lang.String mPhrase\nstatic int defaultHotwordPhraseId()\npublic android.service.voice.DetectedPhrase.Builder buildUpon()\nprivate void onConstructed()\nclass DetectedPhrase extends java.lang.Object implements [android.os.Parcelable]\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=true, genEqualsHashCode=true, genHiddenConstDefs=true, genParcelable=true, genToString=true)") - @Deprecated - private void __metadata() {} - - - //@formatter:on - // End of generated code - -} diff --git a/core/java/android/service/voice/DetectorFailure.java b/core/java/android/service/voice/DetectorFailure.java deleted file mode 100644 index c6efdc3063e3..000000000000 --- a/core/java/android/service/voice/DetectorFailure.java +++ /dev/null @@ -1,218 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.service.voice; - -import android.annotation.IntDef; -import android.annotation.NonNull; -import android.annotation.SuppressLint; -import android.annotation.SystemApi; -import android.os.Parcel; -import android.os.Parcelable; -import android.text.TextUtils; - -import com.android.internal.util.Preconditions; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * This is used by the assistant application to know what went wrong during using the detector - * and which action the application should take. The detector can be a HotwordDector or a visual - * query detector. - * - * <p>Any class that derives this class must only add an integer value of error source type, an - * integer value of error code and a string of error message passed into the constructor. Any other - * field will not be parceled through. If the derived class has custom parceling implementation, - * this class will not be able to unpack the parcel without having access to that implementation. - * - * @hide - */ -@SuppressLint("ParcelNotFinal") // Safe because the constructor is package-private -@SystemApi -public abstract class DetectorFailure implements Parcelable { - - /** - * A suggested action due to an unknown error occurs. - */ - public static final int SUGGESTED_ACTION_UNKNOWN = 0; - - /** - * Indicates that an error occurs, but no action is needed for the client. The error will be - * recovered from within the framework. - */ - public static final int SUGGESTED_ACTION_NONE = 1; - - /** - * Indicates that an error occurs, but no action is needed for the client due to the error can - * not be recovered. It means that the detection will not work even though the assistant - * application creates the detector again. - * - * Example: The detection service always crashes after assistant application creates the - * detector. The assistant application can stop re-creating the detector and show a suitable - * error dialog to notify the user. - */ - public static final int SUGGESTED_ACTION_DISABLE_DETECTION = 2; - - /** - * Indicates that the detection service is invalid, the client needs to destroy its detector - * first and recreate its detector later. - */ - public static final int SUGGESTED_ACTION_RECREATE_DETECTOR = 3; - - /** - * Indicates that the detection has stopped. The client needs to start recognition again. - * - * Example: The system server receives a Dsp trigger event. - */ - public static final int SUGGESTED_ACTION_RESTART_RECOGNITION = 4; - - /** - * @hide - */ - @IntDef(prefix = {"SUGGESTED_ACTION_"}, value = { - SUGGESTED_ACTION_UNKNOWN, - SUGGESTED_ACTION_NONE, - SUGGESTED_ACTION_DISABLE_DETECTION, - SUGGESTED_ACTION_RECREATE_DETECTOR, - SUGGESTED_ACTION_RESTART_RECOGNITION - }) - @Retention(RetentionPolicy.SOURCE) - public @interface SuggestedAction {} - - /** - * Indicates that an error occurs from the unknown error source. - * - * @hide - */ - public static final int ERROR_SOURCE_TYPE_UNKNOWN = -1; - - /** - * Indicates that an error occurs from the hotword detection. - * - * @see HotwordDetectionServiceFailure#ERROR_CODE_BIND_FAILURE - * @see HotwordDetectionServiceFailure#ERROR_CODE_BINDING_DIED - * @see HotwordDetectionServiceFailure#ERROR_CODE_COPY_AUDIO_DATA_FAILURE - * @see HotwordDetectionServiceFailure#ERROR_CODE_DETECT_TIMEOUT - * @see HotwordDetectionServiceFailure#ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION - * @see HotwordDetectionServiceFailure#ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE - * @see HotwordDetectionServiceFailure#ERROR_CODE_REMOTE_EXCEPTION - * - * @hide - */ - public static final int ERROR_SOURCE_TYPE_HOTWORD_DETECTION = 0; - - /** - * Indicates that an error occurs from the sound trigger system service - * {@link com.android.server.soundtrigger.SoundTriggerService} and - * {@link com.android.server.soundtrigger_middleware.SoundTriggerMiddlewareService}. - * - * @see SoundTriggerFailure#ERROR_CODE_MODULE_DIED - * @see SoundTriggerFailure#ERROR_CODE_RECOGNITION_RESUME_FAILED - * @see SoundTriggerFailure#ERROR_CODE_UNEXPECTED_PREEMPTION - * - * @hide - */ - public static final int ERROR_SOURCE_TYPE_SOUND_TRIGGER = 1; - - /** - * Indicates that an error occurs from {@link VisualQueryDetectionService}. - * - * @see VisualQueryDetectionServiceFailure#ERROR_CODE_BIND_FAILURE - * @see VisualQueryDetectionServiceFailure#ERROR_CODE_BINDING_DIED - * @see VisualQueryDetectionServiceFailure#ERROR_CODE_ILLEGAL_ATTENTION_STATE - * @see VisualQueryDetectionServiceFailure#ERROR_CODE_ILLEGAL_STREAMING_STATE - * @see VisualQueryDetectionServiceFailure#ERROR_CODE_REMOTE_EXCEPTION - * - * @hide - */ - public static final int ERROR_SOURCE_TYPE_VISUAL_QUERY_DETECTION = 2; - - private int mErrorSourceType = ERROR_SOURCE_TYPE_UNKNOWN; - private int mErrorCode = UnknownFailure.ERROR_CODE_UNKNOWN; - private String mErrorMessage = "Unknown"; - - DetectorFailure(int errorSourceType, int errorCode, @NonNull String errorMessage) { - Preconditions.checkArgumentInRange(errorSourceType, ERROR_SOURCE_TYPE_UNKNOWN, - ERROR_SOURCE_TYPE_VISUAL_QUERY_DETECTION, "errorSourceType"); - if (TextUtils.isEmpty(errorMessage)) { - throw new IllegalArgumentException("errorMessage is empty or null."); - } - mErrorSourceType = errorSourceType; - mErrorCode = errorCode; - mErrorMessage = errorMessage; - } - - /** - * Returns the suggested action. - */ - @SuggestedAction - public abstract int getSuggestedAction(); - - /** - * Returns the error code. - * - * @hide - */ - public int getErrorCode() { - return mErrorCode; - } - - /** - * Returns the error message. - */ - @NonNull - public String getErrorMessage() { - return mErrorMessage; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(@NonNull Parcel dest, int flags) { - dest.writeInt(mErrorSourceType); - dest.writeInt(mErrorCode); - dest.writeString8(mErrorMessage); - } - - public static final @NonNull Parcelable.Creator<DetectorFailure> CREATOR = - new Parcelable.Creator<DetectorFailure>() { - @Override - public DetectorFailure[] newArray(int size) { - return new DetectorFailure[size]; - } - - @Override - public DetectorFailure createFromParcel(@NonNull Parcel in) { - final int errorSourceType = in.readInt(); - final int errorCode = in.readInt(); - final String errorMessage = in.readString8(); - switch (errorSourceType) { - case ERROR_SOURCE_TYPE_HOTWORD_DETECTION: - return new HotwordDetectionServiceFailure(errorCode, errorMessage); - case ERROR_SOURCE_TYPE_SOUND_TRIGGER: - return new SoundTriggerFailure(errorCode, errorMessage); - case ERROR_SOURCE_TYPE_VISUAL_QUERY_DETECTION: - return new VisualQueryDetectionServiceFailure(errorCode, errorMessage); - default: - return new UnknownFailure(errorMessage); - } - } - }; -} diff --git a/core/java/android/service/voice/FailureSuggestedAction.java b/core/java/android/service/voice/FailureSuggestedAction.java new file mode 100644 index 000000000000..8408c3ba953a --- /dev/null +++ b/core/java/android/service/voice/FailureSuggestedAction.java @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.service.voice; + +import android.annotation.IntDef; +import android.annotation.SystemApi; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +/** + * This is used by the assistant application to know which action the application should take on a + * failure callback. The detector can be a HotwordDector or a visual query detector. + * + * @hide + */ +@SystemApi +public final class FailureSuggestedAction { + + /** + * A suggested action due to an unknown error occurs. + */ + public static final int UNKNOWN = 0; + + /** + * Indicates that an error occurs, but no action is needed for the client. The error will be + * recovered from within the framework. + */ + public static final int NONE = 1; + + /** + * Indicates that an error occurs, but no action is needed for the client due to the error can + * not be recovered. It means that the detection will not work even though the assistant + * application creates the detector again. + */ + public static final int DISABLE_DETECTION = 2; + + /** + * Indicates that the detection service is invalid, the client needs to destroy its detector + * first and recreate its detector later. + */ + public static final int RECREATE_DETECTOR = 3; + + /** + * Indicates that the detection has stopped. The client needs to start recognition again. + * + * Example: The system server receives a Dsp trigger event. + */ + public static final int RESTART_RECOGNITION = 4; + + /** + * @hide + */ + @IntDef({UNKNOWN, NONE, DISABLE_DETECTION, RECREATE_DETECTOR, RESTART_RECOGNITION}) + @Retention(RetentionPolicy.SOURCE) + public @interface FailureSuggestedActionDef {} + + private FailureSuggestedAction() {} +} diff --git a/core/java/android/service/voice/HotwordDetectedResult.java b/core/java/android/service/voice/HotwordDetectedResult.java index ab6f05535a2f..a1c5593579c6 100644 --- a/core/java/android/service/voice/HotwordDetectedResult.java +++ b/core/java/android/service/voice/HotwordDetectedResult.java @@ -206,23 +206,17 @@ public final class HotwordDetectedResult implements Parcelable { * An ID representing the keyphrase that triggered the successful detection. * * <p>Only values between 0 and {@link #getMaxHotwordPhraseId()} (inclusive) are accepted. - * - * @deprecated Use {@link #getDetectedPhrase()} and - * {@link DetectedPhrase#getId()}. */ - @Deprecated - public int getHotwordPhraseId() { - return mDetectedPhrase.getId(); + private final int mHotwordPhraseId; + private static int defaultHotwordPhraseId() { + return 0; } /** * Returns the maximum value of {@link #getHotwordPhraseId()}. - * - * @deprecated There is no maximum phrase ID enforced */ - @Deprecated public static int getMaxHotwordPhraseId() { - return Integer.MAX_VALUE; + return 63; } /** @@ -294,10 +288,6 @@ public final class HotwordDetectedResult implements Parcelable { return mMediaSyncEvent; } - @NonNull - private DetectedPhrase mDetectedPhrase = - new DetectedPhrase.Builder().build(); - /** * Power of the background audio signal in which the hotword phrase was detected. * @@ -333,9 +323,6 @@ public final class HotwordDetectedResult implements Parcelable { /** * Returns how many bits have been written into the HotwordDetectedResult. * - * <p>{@link #getAudioStreams()} and {@link #getDetectedPhrase()} - * are not counted here. - * * @hide */ public static int getUsageSize(@NonNull HotwordDetectedResult hotwordDetectedResult) { @@ -363,6 +350,9 @@ public final class HotwordDetectedResult implements Parcelable { if (hotwordDetectedResult.getPersonalizedScore() != defaultPersonalizedScore()) { totalBits += bitCount(HotwordDetectedResult.getMaxScore()); } + if (hotwordDetectedResult.getHotwordPhraseId() != defaultHotwordPhraseId()) { + totalBits += bitCount(HotwordDetectedResult.getMaxHotwordPhraseId()); + } PersistableBundle persistableBundle = hotwordDetectedResult.getExtras(); if (!persistableBundle.isEmpty()) { totalBits += getParcelableSize(persistableBundle) * Byte.SIZE; @@ -374,7 +364,7 @@ public final class HotwordDetectedResult implements Parcelable { return totalBits; } - static int bitCount(long value) { + private static int bitCount(long value) { int bits = 0; while (value > 0) { bits++; @@ -387,6 +377,8 @@ public final class HotwordDetectedResult implements Parcelable { Preconditions.checkArgumentInRange(mScore, 0, getMaxScore(), "score"); Preconditions.checkArgumentInRange(mPersonalizedScore, 0, getMaxScore(), "personalizedScore"); + Preconditions.checkArgumentInRange(mHotwordPhraseId, 0, getMaxHotwordPhraseId(), + "hotwordPhraseId"); if (mBackgroundAudioPower != BACKGROUND_AUDIO_POWER_UNSET) { Preconditions.checkArgumentInRange(mBackgroundAudioPower, 0, getMaxBackgroundAudioPower(), "backgroundAudioPower"); @@ -485,25 +477,10 @@ public final class HotwordDetectedResult implements Parcelable { Objects.requireNonNull(value, "value should not be null"); final Builder builder = (Builder) this; // If the code gen flag in build() is changed, we must update the flag e.g. 0x200 here. - builder.mBuilderFieldsSet |= 0x100; + builder.mBuilderFieldsSet |= 0x200; builder.mAudioStreams = List.copyOf(value); return builder; } - - /** - * An ID representing the keyphrase that triggered the successful detection. - * - * <p>Only values between 0 and {@link #getMaxHotwordPhraseId()} (inclusive) are accepted. - * - * @deprecated Use {@link HotwordDetectedResult.Builder#setDetectedPhrase(DetectedPhrase)} - * and {@link DetectedPhrase.Builder#setId(int)} - */ - @Deprecated - public @NonNull Builder setHotwordPhraseId(int value) { - final Builder builder = (Builder) this; - builder.setDetectedPhrase(new DetectedPhrase.Builder().setId(value).build()); - return builder; - } } /** @@ -520,9 +497,9 @@ public final class HotwordDetectedResult implements Parcelable { .setHotwordDetectionPersonalized(mHotwordDetectionPersonalized) .setScore(mScore) .setPersonalizedScore(mPersonalizedScore) + .setHotwordPhraseId(mHotwordPhraseId) .setAudioStreams(mAudioStreams) .setExtras(mExtras) - .setDetectedPhrase(mDetectedPhrase) .setBackgroundAudioPower(mBackgroundAudioPower); } @@ -632,9 +609,9 @@ public final class HotwordDetectedResult implements Parcelable { boolean hotwordDetectionPersonalized, int score, int personalizedScore, + int hotwordPhraseId, @NonNull List<HotwordAudioStream> audioStreams, @NonNull PersistableBundle extras, - @NonNull DetectedPhrase detectedPhrase, int backgroundAudioPower) { this.mConfidenceLevel = confidenceLevel; com.android.internal.util.AnnotationValidations.validate( @@ -646,15 +623,13 @@ public final class HotwordDetectedResult implements Parcelable { this.mHotwordDetectionPersonalized = hotwordDetectionPersonalized; this.mScore = score; this.mPersonalizedScore = personalizedScore; + this.mHotwordPhraseId = hotwordPhraseId; this.mAudioStreams = audioStreams; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, mAudioStreams); this.mExtras = extras; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, mExtras); - this.mDetectedPhrase = detectedPhrase; - com.android.internal.util.AnnotationValidations.validate( - NonNull.class, null, mDetectedPhrase); this.mBackgroundAudioPower = backgroundAudioPower; onConstructed(); @@ -730,6 +705,16 @@ public final class HotwordDetectedResult implements Parcelable { } /** + * An ID representing the keyphrase that triggered the successful detection. + * + * <p>Only values between 0 and {@link #getMaxHotwordPhraseId()} (inclusive) are accepted. + */ + @DataClass.Generated.Member + public int getHotwordPhraseId() { + return mHotwordPhraseId; + } + + /** * App-specific extras to support trigger. * * <p>The size of this bundle will be limited to {@link #getMaxBundleSize}. Results will larger @@ -759,11 +744,6 @@ public final class HotwordDetectedResult implements Parcelable { return mExtras; } - @DataClass.Generated.Member - public @NonNull DetectedPhrase getDetectedPhrase() { - return mDetectedPhrase; - } - /** * Power of the background audio signal in which the hotword phrase was detected. * @@ -790,9 +770,9 @@ public final class HotwordDetectedResult implements Parcelable { "hotwordDetectionPersonalized = " + mHotwordDetectionPersonalized + ", " + "score = " + mScore + ", " + "personalizedScore = " + mPersonalizedScore + ", " + + "hotwordPhraseId = " + mHotwordPhraseId + ", " + "audioStreams = " + mAudioStreams + ", " + "extras = " + mExtras + ", " + - "detectedPhrase = " + mDetectedPhrase + ", " + "backgroundAudioPower = " + mBackgroundAudioPower + " }"; } @@ -818,9 +798,9 @@ public final class HotwordDetectedResult implements Parcelable { && mHotwordDetectionPersonalized == that.mHotwordDetectionPersonalized && mScore == that.mScore && mPersonalizedScore == that.mPersonalizedScore + && mHotwordPhraseId == that.mHotwordPhraseId && Objects.equals(mAudioStreams, that.mAudioStreams) && Objects.equals(mExtras, that.mExtras) - && Objects.equals(mDetectedPhrase, that.mDetectedPhrase) && mBackgroundAudioPower == that.mBackgroundAudioPower; } @@ -839,9 +819,9 @@ public final class HotwordDetectedResult implements Parcelable { _hash = 31 * _hash + Boolean.hashCode(mHotwordDetectionPersonalized); _hash = 31 * _hash + mScore; _hash = 31 * _hash + mPersonalizedScore; + _hash = 31 * _hash + mHotwordPhraseId; _hash = 31 * _hash + Objects.hashCode(mAudioStreams); _hash = 31 * _hash + Objects.hashCode(mExtras); - _hash = 31 * _hash + Objects.hashCode(mDetectedPhrase); _hash = 31 * _hash + mBackgroundAudioPower; return _hash; } @@ -863,9 +843,9 @@ public final class HotwordDetectedResult implements Parcelable { dest.writeInt(mAudioChannel); dest.writeInt(mScore); dest.writeInt(mPersonalizedScore); + dest.writeInt(mHotwordPhraseId); dest.writeParcelableList(mAudioStreams, flags); dest.writeTypedObject(mExtras, flags); - dest.writeTypedObject(mDetectedPhrase, flags); dest.writeInt(mBackgroundAudioPower); } @@ -889,10 +869,10 @@ public final class HotwordDetectedResult implements Parcelable { int audioChannel = in.readInt(); int score = in.readInt(); int personalizedScore = in.readInt(); + int hotwordPhraseId = in.readInt(); List<HotwordAudioStream> audioStreams = new ArrayList<>(); in.readParcelableList(audioStreams, HotwordAudioStream.class.getClassLoader()); PersistableBundle extras = (PersistableBundle) in.readTypedObject(PersistableBundle.CREATOR); - DetectedPhrase detectedPhrase = (DetectedPhrase) in.readTypedObject(DetectedPhrase.CREATOR); int backgroundAudioPower = in.readInt(); this.mConfidenceLevel = confidenceLevel; @@ -905,15 +885,13 @@ public final class HotwordDetectedResult implements Parcelable { this.mHotwordDetectionPersonalized = hotwordDetectionPersonalized; this.mScore = score; this.mPersonalizedScore = personalizedScore; + this.mHotwordPhraseId = hotwordPhraseId; this.mAudioStreams = audioStreams; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, mAudioStreams); this.mExtras = extras; com.android.internal.util.AnnotationValidations.validate( NonNull.class, null, mExtras); - this.mDetectedPhrase = detectedPhrase; - com.android.internal.util.AnnotationValidations.validate( - NonNull.class, null, mDetectedPhrase); this.mBackgroundAudioPower = backgroundAudioPower; onConstructed(); @@ -948,9 +926,9 @@ public final class HotwordDetectedResult implements Parcelable { private boolean mHotwordDetectionPersonalized; private int mScore; private int mPersonalizedScore; + private int mHotwordPhraseId; private @NonNull List<HotwordAudioStream> mAudioStreams; private @NonNull PersistableBundle mExtras; - private @NonNull DetectedPhrase mDetectedPhrase; private int mBackgroundAudioPower; private long mBuilderFieldsSet = 0L; @@ -1062,6 +1040,19 @@ public final class HotwordDetectedResult implements Parcelable { } /** + * An ID representing the keyphrase that triggered the successful detection. + * + * <p>Only values between 0 and {@link #getMaxHotwordPhraseId()} (inclusive) are accepted. + */ + @DataClass.Generated.Member + public @NonNull Builder setHotwordPhraseId(int value) { + checkNotUsed(); + mBuilderFieldsSet |= 0x100; + mHotwordPhraseId = value; + return this; + } + + /** * App-specific extras to support trigger. * * <p>The size of this bundle will be limited to {@link #getMaxBundleSize}. Results will larger @@ -1089,16 +1080,8 @@ public final class HotwordDetectedResult implements Parcelable { @DataClass.Generated.Member public @NonNull Builder setExtras(@NonNull PersistableBundle value) { checkNotUsed(); - mBuilderFieldsSet |= 0x200; - mExtras = value; - return this; - } - - @DataClass.Generated.Member - public @NonNull Builder setDetectedPhrase(@NonNull DetectedPhrase value) { - checkNotUsed(); mBuilderFieldsSet |= 0x400; - mDetectedPhrase = value; + mExtras = value; return this; } @@ -1146,13 +1129,13 @@ public final class HotwordDetectedResult implements Parcelable { mPersonalizedScore = defaultPersonalizedScore(); } if ((mBuilderFieldsSet & 0x100) == 0) { - mAudioStreams = defaultAudioStreams(); + mHotwordPhraseId = defaultHotwordPhraseId(); } if ((mBuilderFieldsSet & 0x200) == 0) { - mExtras = defaultExtras(); + mAudioStreams = defaultAudioStreams(); } if ((mBuilderFieldsSet & 0x400) == 0) { - mDetectedPhrase = new DetectedPhrase.Builder().build(); + mExtras = defaultExtras(); } if ((mBuilderFieldsSet & 0x800) == 0) { mBackgroundAudioPower = defaultBackgroundAudioPower(); @@ -1166,9 +1149,9 @@ public final class HotwordDetectedResult implements Parcelable { mHotwordDetectionPersonalized, mScore, mPersonalizedScore, + mHotwordPhraseId, mAudioStreams, mExtras, - mDetectedPhrase, mBackgroundAudioPower); return o; } @@ -1182,10 +1165,10 @@ public final class HotwordDetectedResult implements Parcelable { } @DataClass.Generated( - time = 1679010159293L, + time = 1679081102676L, codegenVersion = "1.0.23", sourceFile = "frameworks/base/core/java/android/service/voice/HotwordDetectedResult.java", - inputSignatures = "public static final int CONFIDENCE_LEVEL_NONE\npublic static final int CONFIDENCE_LEVEL_LOW\npublic static final int CONFIDENCE_LEVEL_LOW_MEDIUM\npublic static final int CONFIDENCE_LEVEL_MEDIUM\npublic static final int CONFIDENCE_LEVEL_MEDIUM_HIGH\npublic static final int CONFIDENCE_LEVEL_HIGH\npublic static final int CONFIDENCE_LEVEL_VERY_HIGH\npublic static final int HOTWORD_OFFSET_UNSET\npublic static final int AUDIO_CHANNEL_UNSET\npublic static final int BACKGROUND_AUDIO_POWER_UNSET\nprivate static final int LIMIT_HOTWORD_OFFSET_MAX_VALUE\nprivate static final int LIMIT_AUDIO_CHANNEL_MAX_VALUE\nprivate static final java.lang.String EXTRA_PROXIMITY\npublic static final int PROXIMITY_UNKNOWN\npublic static final int PROXIMITY_NEAR\npublic static final int PROXIMITY_FAR\nprivate final @android.service.voice.HotwordDetectedResult.HotwordConfidenceLevelValue int mConfidenceLevel\nprivate @android.annotation.Nullable android.media.MediaSyncEvent mMediaSyncEvent\nprivate int mHotwordOffsetMillis\nprivate int mHotwordDurationMillis\nprivate int mAudioChannel\nprivate boolean mHotwordDetectionPersonalized\nprivate final int mScore\nprivate final int mPersonalizedScore\nprivate final @android.annotation.NonNull java.util.List<android.service.voice.HotwordAudioStream> mAudioStreams\nprivate final @android.annotation.NonNull android.os.PersistableBundle mExtras\nprivate static int sMaxBundleSize\nprivate @android.annotation.NonNull android.service.voice.DetectedPhrase mDetectedPhrase\nprivate final int mBackgroundAudioPower\nprivate static int defaultConfidenceLevel()\nprivate static int defaultScore()\nprivate static int defaultPersonalizedScore()\npublic static int getMaxScore()\npublic @java.lang.Deprecated int getHotwordPhraseId()\npublic static @java.lang.Deprecated int getMaxHotwordPhraseId()\nprivate static java.util.List<android.service.voice.HotwordAudioStream> defaultAudioStreams()\nprivate static android.os.PersistableBundle defaultExtras()\npublic static int getMaxBundleSize()\npublic @android.annotation.Nullable android.media.MediaSyncEvent getMediaSyncEvent()\nprivate static int defaultBackgroundAudioPower()\npublic static int getMaxBackgroundAudioPower()\npublic static int getParcelableSize(android.os.Parcelable)\npublic static int getUsageSize(android.service.voice.HotwordDetectedResult)\nstatic int bitCount(long)\nprivate void onConstructed()\npublic @android.annotation.NonNull java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams()\npublic void setProximity(double)\npublic @android.service.voice.HotwordDetectedResult.ProximityValue int getProximity()\nprivate @android.service.voice.HotwordDetectedResult.ProximityValue int convertToProximityLevel(double)\npublic android.service.voice.HotwordDetectedResult.Builder buildUpon()\nclass HotwordDetectedResult extends java.lang.Object implements [android.os.Parcelable]\npublic @android.annotation.NonNull android.service.voice.HotwordDetectedResult.Builder setAudioStreams(java.util.List<android.service.voice.HotwordAudioStream>)\npublic @java.lang.Deprecated @android.annotation.NonNull android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int)\nclass BaseBuilder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=true, genEqualsHashCode=true, genHiddenConstDefs=true, genParcelable=true, genToString=true)\npublic @android.annotation.NonNull android.service.voice.HotwordDetectedResult.Builder setAudioStreams(java.util.List<android.service.voice.HotwordAudioStream>)\npublic @java.lang.Deprecated @android.annotation.NonNull android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int)\nclass BaseBuilder extends java.lang.Object implements []") + inputSignatures = "public static final int CONFIDENCE_LEVEL_NONE\npublic static final int CONFIDENCE_LEVEL_LOW\npublic static final int CONFIDENCE_LEVEL_LOW_MEDIUM\npublic static final int CONFIDENCE_LEVEL_MEDIUM\npublic static final int CONFIDENCE_LEVEL_MEDIUM_HIGH\npublic static final int CONFIDENCE_LEVEL_HIGH\npublic static final int CONFIDENCE_LEVEL_VERY_HIGH\npublic static final int HOTWORD_OFFSET_UNSET\npublic static final int AUDIO_CHANNEL_UNSET\npublic static final int BACKGROUND_AUDIO_POWER_UNSET\nprivate static final int LIMIT_HOTWORD_OFFSET_MAX_VALUE\nprivate static final int LIMIT_AUDIO_CHANNEL_MAX_VALUE\nprivate static final java.lang.String EXTRA_PROXIMITY\npublic static final int PROXIMITY_UNKNOWN\npublic static final int PROXIMITY_NEAR\npublic static final int PROXIMITY_FAR\nprivate final @android.service.voice.HotwordDetectedResult.HotwordConfidenceLevelValue int mConfidenceLevel\nprivate @android.annotation.Nullable android.media.MediaSyncEvent mMediaSyncEvent\nprivate int mHotwordOffsetMillis\nprivate int mHotwordDurationMillis\nprivate int mAudioChannel\nprivate boolean mHotwordDetectionPersonalized\nprivate final int mScore\nprivate final int mPersonalizedScore\nprivate final int mHotwordPhraseId\nprivate final @android.annotation.NonNull java.util.List<android.service.voice.HotwordAudioStream> mAudioStreams\nprivate final @android.annotation.NonNull android.os.PersistableBundle mExtras\nprivate static int sMaxBundleSize\nprivate final int mBackgroundAudioPower\nprivate static int defaultConfidenceLevel()\nprivate static int defaultScore()\nprivate static int defaultPersonalizedScore()\npublic static int getMaxScore()\nprivate static int defaultHotwordPhraseId()\npublic static int getMaxHotwordPhraseId()\nprivate static java.util.List<android.service.voice.HotwordAudioStream> defaultAudioStreams()\nprivate static android.os.PersistableBundle defaultExtras()\npublic static int getMaxBundleSize()\npublic @android.annotation.Nullable android.media.MediaSyncEvent getMediaSyncEvent()\nprivate static int defaultBackgroundAudioPower()\npublic static int getMaxBackgroundAudioPower()\npublic static int getParcelableSize(android.os.Parcelable)\npublic static int getUsageSize(android.service.voice.HotwordDetectedResult)\nprivate static int bitCount(long)\nprivate void onConstructed()\npublic @android.annotation.NonNull java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams()\npublic void setProximity(double)\npublic @android.service.voice.HotwordDetectedResult.ProximityValue int getProximity()\nprivate @android.service.voice.HotwordDetectedResult.ProximityValue int convertToProximityLevel(double)\npublic android.service.voice.HotwordDetectedResult.Builder buildUpon()\nclass HotwordDetectedResult extends java.lang.Object implements [android.os.Parcelable]\npublic @android.annotation.NonNull android.service.voice.HotwordDetectedResult.Builder setAudioStreams(java.util.List<android.service.voice.HotwordAudioStream>)\nclass BaseBuilder extends java.lang.Object implements []\n@com.android.internal.util.DataClass(genConstructor=false, genBuilder=true, genEqualsHashCode=true, genHiddenConstDefs=true, genParcelable=true, genToString=true)\npublic @android.annotation.NonNull android.service.voice.HotwordDetectedResult.Builder setAudioStreams(java.util.List<android.service.voice.HotwordAudioStream>)\nclass BaseBuilder extends java.lang.Object implements []") @Deprecated private void __metadata() {} diff --git a/core/java/android/service/voice/HotwordDetectionServiceFailure.java b/core/java/android/service/voice/HotwordDetectionServiceFailure.java index 3d9f66b173d4..5cf245d8624b 100644 --- a/core/java/android/service/voice/HotwordDetectionServiceFailure.java +++ b/core/java/android/service/voice/HotwordDetectionServiceFailure.java @@ -22,6 +22,7 @@ import android.annotation.SystemApi; import android.annotation.TestApi; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -36,7 +37,7 @@ import java.lang.annotation.RetentionPolicy; * @hide */ @SystemApi -public final class HotwordDetectionServiceFailure extends DetectorFailure { +public final class HotwordDetectionServiceFailure implements Parcelable { /** * An error code which means an unknown error occurs. @@ -94,12 +95,19 @@ public final class HotwordDetectionServiceFailure extends DetectorFailure { @Retention(RetentionPolicy.SOURCE) public @interface HotwordDetectionServiceErrorCode {} + private int mErrorCode = ERROR_CODE_UNKNOWN; + private String mErrorMessage = "Unknown"; + /** * @hide */ @TestApi public HotwordDetectionServiceFailure(int errorCode, @NonNull String errorMessage) { - super(ERROR_SOURCE_TYPE_HOTWORD_DETECTION, errorCode, errorMessage); + if (TextUtils.isEmpty(errorMessage)) { + throw new IllegalArgumentException("errorMessage is empty or null."); + } + mErrorCode = errorCode; + mErrorMessage = errorMessage; } /** @@ -107,22 +115,33 @@ public final class HotwordDetectionServiceFailure extends DetectorFailure { */ @HotwordDetectionServiceErrorCode public int getErrorCode() { - return super.getErrorCode(); + return mErrorCode; } - @Override + /** + * Returns the error message. + */ + @NonNull + public String getErrorMessage() { + return mErrorMessage; + } + + /** + * Returns the suggested action. + */ + @FailureSuggestedAction.FailureSuggestedActionDef public int getSuggestedAction() { - switch (getErrorCode()) { + switch (mErrorCode) { case ERROR_CODE_BIND_FAILURE: case ERROR_CODE_BINDING_DIED: case ERROR_CODE_REMOTE_EXCEPTION: - return SUGGESTED_ACTION_RECREATE_DETECTOR; + return FailureSuggestedAction.RECREATE_DETECTOR; case ERROR_CODE_DETECT_TIMEOUT: case ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION: case ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE: - return SUGGESTED_ACTION_RESTART_RECOGNITION; + return FailureSuggestedAction.RESTART_RECOGNITION; default: - return SUGGESTED_ACTION_NONE; + return FailureSuggestedAction.NONE; } } @@ -133,7 +152,14 @@ public final class HotwordDetectionServiceFailure extends DetectorFailure { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - super.writeToParcel(dest, flags); + dest.writeInt(mErrorCode); + dest.writeString8(mErrorMessage); + } + + @Override + public String toString() { + return "HotwordDetectionServiceFailure { errorCode = " + mErrorCode + ", errorMessage = " + + mErrorMessage + " }"; } public static final @NonNull Parcelable.Creator<HotwordDetectionServiceFailure> CREATOR = @@ -145,8 +171,7 @@ public final class HotwordDetectionServiceFailure extends DetectorFailure { @Override public HotwordDetectionServiceFailure createFromParcel(@NonNull Parcel in) { - DetectorFailure detectorFailure = DetectorFailure.CREATOR.createFromParcel(in); - return (HotwordDetectionServiceFailure) detectorFailure; + return new HotwordDetectionServiceFailure(in.readInt(), in.readString8()); } }; } diff --git a/core/java/android/service/voice/HotwordDetector.java b/core/java/android/service/voice/HotwordDetector.java index 0c8fd48a39d2..32a93eef7fda 100644 --- a/core/java/android/service/voice/HotwordDetector.java +++ b/core/java/android/service/voice/HotwordDetector.java @@ -189,24 +189,34 @@ public interface HotwordDetector { /** * Called when the detection fails due to an error. * - * @deprecated On Android 14 and above, implement {@link #onFailure(DetectorFailure)} - * instead. + * @deprecated On {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE} and above, + * implement {@link HotwordDetector.Callback#onFailure(HotwordDetectionServiceFailure)}, + * {@link AlwaysOnHotwordDetector.Callback#onFailure(SoundTriggerFailure)}, + * {@link HotwordDetector.Callback#onUnknownFailure(String)} instead. */ @Deprecated void onError(); /** - * Called when the detection fails due to an error, the subclasses of - * {@link DetectorFailure} will be reported to the detector. + * Called when the detection fails due to an error occurs in the + * {@link HotwordDetectionService}, {@link HotwordDetectionServiceFailure} will be reported + * to the detector. * - * @see android.service.voice.HotwordDetectionServiceFailure - * @see android.service.voice.SoundTriggerFailure - * @see android.service.voice.UnknownFailure - * @see android.service.voice.VisualQueryDetectionServiceFailure + * @param hotwordDetectionServiceFailure It provides the error code, error message and + * suggested action. + */ + default void onFailure( + @NonNull HotwordDetectionServiceFailure hotwordDetectionServiceFailure) { + onError(); + } + + /** + * Called when the detection fails due to an unknown error occurs, an error message + * will be reported to the detector. * - * @param detectorFailure It provides the error code, error message and suggested action. + * @param errorMessage It provides the error message. */ - default void onFailure(@NonNull DetectorFailure detectorFailure) { + default void onUnknownFailure(@NonNull String errorMessage) { onError(); } diff --git a/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl b/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl index f800c1ee22d6..fab830af9d48 100644 --- a/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl +++ b/core/java/android/service/voice/IMicrophoneHotwordDetectionVoiceInteractionCallback.aidl @@ -17,8 +17,8 @@ package android.service.voice; import android.media.AudioFormat; -import android.service.voice.DetectorFailure; import android.service.voice.HotwordDetectedResult; +import android.service.voice.HotwordDetectionServiceFailure; import android.service.voice.HotwordRejectedResult; /** @@ -39,7 +39,8 @@ oneway interface IMicrophoneHotwordDetectionVoiceInteractionCallback { /** * Called when the detection fails due to an error. */ - void onError(in DetectorFailure detectorFailure); + void onHotwordDetectionServiceFailure( + in HotwordDetectionServiceFailure hotwordDetectionServiceFailure); /** * Called when the detected result was not detected. diff --git a/core/java/android/service/voice/IVisualQueryDetectionVoiceInteractionCallback.aidl b/core/java/android/service/voice/IVisualQueryDetectionVoiceInteractionCallback.aidl index 1a935c0acbf6..cedb7ff62497 100644 --- a/core/java/android/service/voice/IVisualQueryDetectionVoiceInteractionCallback.aidl +++ b/core/java/android/service/voice/IVisualQueryDetectionVoiceInteractionCallback.aidl @@ -16,7 +16,7 @@ package android.service.voice; -import android.service.voice.DetectorFailure; +import android.service.voice.VisualQueryDetectionServiceFailure; /** * Callback for returning the detected result from the VisualQueryDetectionService. @@ -43,5 +43,6 @@ oneway interface IVisualQueryDetectionVoiceInteractionCallback { /** * Called when the detection fails due to an error. */ - void onDetectionFailure(in DetectorFailure detectorFailure); + void onVisualQueryDetectionServiceFailure( + in VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure); } diff --git a/core/java/android/service/voice/SoftwareHotwordDetector.java b/core/java/android/service/voice/SoftwareHotwordDetector.java index 77900d7bcb5a..eac7aee43859 100644 --- a/core/java/android/service/voice/SoftwareHotwordDetector.java +++ b/core/java/android/service/voice/SoftwareHotwordDetector.java @@ -30,6 +30,7 @@ import android.os.ParcelFileDescriptor; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.SharedMemory; +import android.text.TextUtils; import android.util.Log; import android.util.Slog; @@ -176,11 +177,16 @@ class SoftwareHotwordDetector extends AbstractDetector { /** Called when the detection fails due to an error. */ @Override - public void onError(DetectorFailure detectorFailure) { - Slog.v(TAG, "BinderCallback#onError detectorFailure: " + detectorFailure); + public void onHotwordDetectionServiceFailure( + HotwordDetectionServiceFailure hotwordDetectionServiceFailure) { + Slog.v(TAG, "BinderCallback#onHotwordDetectionServiceFailure:" + + hotwordDetectionServiceFailure); Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { - mCallback.onFailure(detectorFailure != null ? detectorFailure - : new UnknownFailure("Error data is null")); + if (hotwordDetectionServiceFailure != null) { + mCallback.onFailure(hotwordDetectionServiceFailure); + } else { + mCallback.onUnknownFailure("Error data is null"); + } })); } @@ -236,11 +242,34 @@ class SoftwareHotwordDetector extends AbstractDetector { } @Override - public void onDetectionFailure(DetectorFailure detectorFailure) throws RemoteException { - Slog.v(TAG, "onDetectionFailure detectorFailure: " + detectorFailure); + public void onHotwordDetectionServiceFailure( + HotwordDetectionServiceFailure hotwordDetectionServiceFailure) + throws RemoteException { + Slog.v(TAG, "onHotwordDetectionServiceFailure: " + hotwordDetectionServiceFailure); Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { - mCallback.onFailure(detectorFailure != null ? detectorFailure - : new UnknownFailure("Error data is null")); + if (hotwordDetectionServiceFailure != null) { + mCallback.onFailure(hotwordDetectionServiceFailure); + } else { + mCallback.onUnknownFailure("Error data is null"); + } + })); + } + + @Override + public void onVisualQueryDetectionServiceFailure( + VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure) + throws RemoteException { + // It should never be called here. + Slog.w(TAG, "onVisualQueryDetectionServiceFailure: " + + visualQueryDetectionServiceFailure); + } + + @Override + public void onUnknownFailure(String errorMessage) throws RemoteException { + Slog.v(TAG, "onUnknownFailure: " + errorMessage); + Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { + mCallback.onUnknownFailure( + !TextUtils.isEmpty(errorMessage) ? errorMessage : "Error data is null"); })); } diff --git a/core/java/android/service/voice/SoundTriggerFailure.java b/core/java/android/service/voice/SoundTriggerFailure.java index a431fbc0fe1d..5560800a373f 100644 --- a/core/java/android/service/voice/SoundTriggerFailure.java +++ b/core/java/android/service/voice/SoundTriggerFailure.java @@ -22,6 +22,7 @@ import android.annotation.SystemApi; import android.annotation.TestApi; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -35,7 +36,7 @@ import java.lang.annotation.RetentionPolicy; * @hide */ @SystemApi -public final class SoundTriggerFailure extends DetectorFailure { +public final class SoundTriggerFailure implements Parcelable { /** * An error code which means an unknown error occurs. @@ -72,12 +73,19 @@ public final class SoundTriggerFailure extends DetectorFailure { @Retention(RetentionPolicy.SOURCE) public @interface SoundTriggerErrorCode {} + private int mErrorCode = ERROR_CODE_UNKNOWN; + private String mErrorMessage = "Unknown"; + /** * @hide */ @TestApi public SoundTriggerFailure(int errorCode, @NonNull String errorMessage) { - super(ERROR_SOURCE_TYPE_SOUND_TRIGGER, errorCode, errorMessage); + if (TextUtils.isEmpty(errorMessage)) { + throw new IllegalArgumentException("errorMessage is empty or null."); + } + mErrorCode = errorCode; + mErrorMessage = errorMessage; } /** @@ -85,19 +93,30 @@ public final class SoundTriggerFailure extends DetectorFailure { */ @SoundTriggerErrorCode public int getErrorCode() { - return super.getErrorCode(); + return mErrorCode; } - @Override + /** + * Returns the error message. + */ + @NonNull + public String getErrorMessage() { + return mErrorMessage; + } + + /** + * Returns the suggested action. + */ + @FailureSuggestedAction.FailureSuggestedActionDef public int getSuggestedAction() { - switch (getErrorCode()) { + switch (mErrorCode) { case ERROR_CODE_MODULE_DIED: case ERROR_CODE_UNEXPECTED_PREEMPTION: - return SUGGESTED_ACTION_RECREATE_DETECTOR; + return FailureSuggestedAction.RECREATE_DETECTOR; case ERROR_CODE_RECOGNITION_RESUME_FAILED: - return SUGGESTED_ACTION_RESTART_RECOGNITION; + return FailureSuggestedAction.RESTART_RECOGNITION; default: - return SUGGESTED_ACTION_NONE; + return FailureSuggestedAction.NONE; } } @@ -108,7 +127,14 @@ public final class SoundTriggerFailure extends DetectorFailure { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - super.writeToParcel(dest, flags); + dest.writeInt(mErrorCode); + dest.writeString8(mErrorMessage); + } + + @Override + public String toString() { + return "SoundTriggerFailure { errorCode = " + mErrorCode + ", errorMessage = " + + mErrorMessage + " }"; } public static final @NonNull Parcelable.Creator<SoundTriggerFailure> CREATOR = @@ -120,7 +146,7 @@ public final class SoundTriggerFailure extends DetectorFailure { @Override public SoundTriggerFailure createFromParcel(@NonNull Parcel in) { - return (SoundTriggerFailure) DetectorFailure.CREATOR.createFromParcel(in); + return new SoundTriggerFailure(in.readInt(), in.readString8()); } }; } diff --git a/core/java/android/service/voice/UnknownFailure.java b/core/java/android/service/voice/UnknownFailure.java deleted file mode 100644 index 2ef2d5f880fd..000000000000 --- a/core/java/android/service/voice/UnknownFailure.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.service.voice; - -import android.annotation.NonNull; -import android.annotation.SystemApi; -import android.annotation.TestApi; -import android.os.Parcel; -import android.os.Parcelable; - -/** - * A class which indicates an unknown error occurs during the detector doing detection. The class - * is mainly used by the assistant application, the application still can get the suggested action - * for the unknown error. - * - * @hide - */ -@SystemApi -public final class UnknownFailure extends DetectorFailure { - - /** - * An error code which means an unknown error occurs. - * - * @hide - */ - public static final int ERROR_CODE_UNKNOWN = 0; - - /** - * @hide - */ - @TestApi - public UnknownFailure(@NonNull String errorMessage) { - super(ERROR_SOURCE_TYPE_UNKNOWN, ERROR_CODE_UNKNOWN, errorMessage); - } - - @Override - public int getSuggestedAction() { - return SUGGESTED_ACTION_UNKNOWN; - } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(@NonNull Parcel dest, int flags) { - super.writeToParcel(dest, flags); - } - - public static final @NonNull Parcelable.Creator<UnknownFailure> CREATOR = - new Parcelable.Creator<UnknownFailure>() { - @Override - public UnknownFailure[] newArray(int size) { - return new UnknownFailure[size]; - } - - @Override - public UnknownFailure createFromParcel(@NonNull Parcel in) { - return (UnknownFailure) DetectorFailure.CREATOR.createFromParcel(in); - } - }; -} diff --git a/core/java/android/service/voice/VisualQueryDetectionServiceFailure.java b/core/java/android/service/voice/VisualQueryDetectionServiceFailure.java index aa02299b2b28..4657e37486bf 100644 --- a/core/java/android/service/voice/VisualQueryDetectionServiceFailure.java +++ b/core/java/android/service/voice/VisualQueryDetectionServiceFailure.java @@ -22,6 +22,7 @@ import android.annotation.SystemApi; import android.annotation.TestApi; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -33,7 +34,7 @@ import java.lang.annotation.RetentionPolicy; * @hide */ @SystemApi -public final class VisualQueryDetectionServiceFailure extends DetectorFailure { +public final class VisualQueryDetectionServiceFailure implements Parcelable { /** * An error code which means an unknown error occurs. @@ -79,12 +80,19 @@ public final class VisualQueryDetectionServiceFailure extends DetectorFailure { @Retention(RetentionPolicy.SOURCE) public @interface VisualQueryDetectionServiceErrorCode {} + private int mErrorCode = ERROR_CODE_UNKNOWN; + private String mErrorMessage = "Unknown"; + /** * @hide */ @TestApi public VisualQueryDetectionServiceFailure(int errorCode, @NonNull String errorMessage) { - super(ERROR_SOURCE_TYPE_VISUAL_QUERY_DETECTION, errorCode, errorMessage); + if (TextUtils.isEmpty(errorMessage)) { + throw new IllegalArgumentException("errorMessage is empty or null."); + } + mErrorCode = errorCode; + mErrorMessage = errorMessage; } /** @@ -92,21 +100,32 @@ public final class VisualQueryDetectionServiceFailure extends DetectorFailure { */ @VisualQueryDetectionServiceErrorCode public int getErrorCode() { - return super.getErrorCode(); + return mErrorCode; } - @Override + /** + * Returns the error message. + */ + @NonNull + public String getErrorMessage() { + return mErrorMessage; + } + + /** + * Returns the suggested action. + */ + @FailureSuggestedAction.FailureSuggestedActionDef public int getSuggestedAction() { - switch (getErrorCode()) { + switch (mErrorCode) { case ERROR_CODE_BIND_FAILURE: case ERROR_CODE_BINDING_DIED: case ERROR_CODE_ILLEGAL_ATTENTION_STATE: case ERROR_CODE_REMOTE_EXCEPTION: - return SUGGESTED_ACTION_RECREATE_DETECTOR; + return FailureSuggestedAction.RECREATE_DETECTOR; case ERROR_CODE_ILLEGAL_STREAMING_STATE: - return SUGGESTED_ACTION_RESTART_RECOGNITION; + return FailureSuggestedAction.RESTART_RECOGNITION; default: - return SUGGESTED_ACTION_NONE; + return FailureSuggestedAction.NONE; } } @@ -117,7 +136,14 @@ public final class VisualQueryDetectionServiceFailure extends DetectorFailure { @Override public void writeToParcel(@NonNull Parcel dest, int flags) { - super.writeToParcel(dest, flags); + dest.writeInt(mErrorCode); + dest.writeString8(mErrorMessage); + } + + @Override + public String toString() { + return "VisualQueryDetectionServiceFailure { errorCode = " + mErrorCode + + ", errorMessage = " + mErrorMessage + " }"; } public static final @NonNull Parcelable.Creator<VisualQueryDetectionServiceFailure> CREATOR = @@ -129,8 +155,7 @@ public final class VisualQueryDetectionServiceFailure extends DetectorFailure { @Override public VisualQueryDetectionServiceFailure createFromParcel(@NonNull Parcel in) { - DetectorFailure detectorFailure = DetectorFailure.CREATOR.createFromParcel(in); - return (VisualQueryDetectionServiceFailure) detectorFailure; + return new VisualQueryDetectionServiceFailure(in.readInt(), in.readString8()); } }; } diff --git a/core/java/android/service/voice/VisualQueryDetector.java b/core/java/android/service/voice/VisualQueryDetector.java index d7bf07498715..b4f5ff1046ae 100644 --- a/core/java/android/service/voice/VisualQueryDetector.java +++ b/core/java/android/service/voice/VisualQueryDetector.java @@ -32,6 +32,7 @@ import android.os.ParcelFileDescriptor; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.SharedMemory; +import android.text.TextUtils; import android.util.Slog; import com.android.internal.app.IHotwordRecognitionStatusCallback; @@ -216,9 +217,23 @@ public class VisualQueryDetector { void onVisualQueryDetectionServiceRestarted(); /** - * Called when the detection fails due to an error. + * Called when the detection fails due to an error occurs in the + * {@link VisualQueryDetectionService}, {@link VisualQueryDetectionServiceFailure} will be + * reported to the detector. + * + * @param visualQueryDetectionServiceFailure It provides the error code, error message and + * suggested action. + */ + void onFailure( + @NonNull VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure); + + /** + * Called when the detection fails due to an unknown error occurs, an error message + * will be reported to the detector. + * + * @param errorMessage It provides the error message. */ - void onFailure(@NonNull DetectorFailure detectorFailure); + void onUnknownFailure(@NonNull String errorMessage); } private class VisualQueryDetectorInitializationDelegate extends AbstractDetector { @@ -295,10 +310,17 @@ public class VisualQueryDetector { /** Called when the detection fails due to an error. */ @Override - public void onDetectionFailure(DetectorFailure detectorFailure) { - Slog.v(TAG, "BinderCallback#onDetectionFailure"); - Binder.withCleanCallingIdentity(() -> mExecutor.execute( - () -> mCallback.onFailure(detectorFailure))); + public void onVisualQueryDetectionServiceFailure( + VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure) { + Slog.v(TAG, "BinderCallback#onVisualQueryDetectionServiceFailure: " + + visualQueryDetectionServiceFailure); + Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { + if (visualQueryDetectionServiceFailure != null) { + mCallback.onFailure(visualQueryDetectionServiceFailure); + } else { + mCallback.onUnknownFailure("Error data is null"); + } + })); } } @@ -375,7 +397,35 @@ public class VisualQueryDetector { } @Override - public void onDetectionFailure(DetectorFailure detectorFailure) throws RemoteException { + public void onHotwordDetectionServiceFailure( + HotwordDetectionServiceFailure hotwordDetectionServiceFailure) + throws RemoteException { + // It should never be called here. + Slog.w(TAG, "onHotwordDetectionServiceFailure: " + hotwordDetectionServiceFailure); + } + + @Override + public void onVisualQueryDetectionServiceFailure( + VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure) + throws RemoteException { + Slog.v(TAG, "onVisualQueryDetectionServiceFailure: " + + visualQueryDetectionServiceFailure); + Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { + if (visualQueryDetectionServiceFailure != null) { + mCallback.onFailure(visualQueryDetectionServiceFailure); + } else { + mCallback.onUnknownFailure("Error data is null"); + } + })); + } + + @Override + public void onUnknownFailure(String errorMessage) throws RemoteException { + Slog.v(TAG, "onUnknownFailure: " + errorMessage); + Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> { + mCallback.onUnknownFailure( + !TextUtils.isEmpty(errorMessage) ? errorMessage : "Error data is null"); + })); } } } diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index 8d95c0251203..0b947fc18237 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -60,6 +60,7 @@ import android.hardware.display.DisplayManager.DisplayListener; import android.os.Build; import android.os.Bundle; import android.os.Handler; +import android.os.HandlerThread; import android.os.IBinder; import android.os.Looper; import android.os.Message; @@ -97,6 +98,7 @@ import android.view.WindowManagerGlobal; import android.window.ClientWindowFrames; import android.window.ScreenCapture; +import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.os.HandlerCaller; import com.android.internal.view.BaseIWindow; @@ -104,9 +106,10 @@ import com.android.internal.view.BaseSurfaceHolder; import java.io.FileDescriptor; import java.io.PrintWriter; -import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.Objects; +import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; @@ -167,11 +170,12 @@ public abstract class WallpaperService extends Service { private static final int MSG_REPORT_SHOWN = 10150; private static final int MSG_UPDATE_DIMMING = 10200; private static final int MSG_WALLPAPER_FLAGS_CHANGED = 10210; - private static final List<Float> PROHIBITED_STEPS = Arrays.asList(0f, Float.POSITIVE_INFINITY, - Float.NEGATIVE_INFINITY); + /** limit calls to {@link Engine#onComputeColors} to at most once per second */ private static final int NOTIFY_COLORS_RATE_LIMIT_MS = 1000; - private static final int PROCESS_LOCAL_COLORS_INTERVAL_MS = 1000; + + /** limit calls to {@link Engine#processLocalColorsInternal} to at most once per 2 seconds */ + private static final int PROCESS_LOCAL_COLORS_INTERVAL_MS = 2000; private static final boolean ENABLE_WALLPAPER_DIMMING = SystemProperties.getBoolean("persist.debug.enable_wallpaper_dimming", true); @@ -180,6 +184,9 @@ public abstract class WallpaperService extends Service { private final ArrayMap<IBinder, IWallpaperEngineWrapper> mActiveEngines = new ArrayMap<>(); + private Handler mBackgroundHandler; + private HandlerThread mBackgroundThread; + static final class WallpaperCommand { String action; int x; @@ -198,14 +205,6 @@ public abstract class WallpaperService extends Service { */ public class Engine { IWallpaperEngineWrapper mIWallpaperEngine; - final ArraySet<RectF> mLocalColorAreas = new ArraySet<>(4); - final ArraySet<RectF> mLocalColorsToAdd = new ArraySet<>(4); - - // 2D matrix [x][y] to represent a page of a portion of a window - EngineWindowPage[] mWindowPages = new EngineWindowPage[0]; - Bitmap mLastScreenshot; - int mLastWindowPage = -1; - private boolean mResetWindowPages; // Copies from mIWallpaperEngine. HandlerCaller mCaller; @@ -266,11 +265,34 @@ public abstract class WallpaperService extends Service { final Object mLock = new Object(); boolean mOffsetMessageEnqueued; + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023) - float mPendingXOffset; - float mPendingYOffset; - float mPendingXOffsetStep; - float mPendingYOffsetStep; + @GuardedBy("mLock") + private float mPendingXOffset; + @GuardedBy("mLock") + private float mPendingYOffset; + @GuardedBy("mLock") + private float mPendingXOffsetStep; + @GuardedBy("mLock") + private float mPendingYOffsetStep; + + /** + * local color extraction related fields. When a user calls `addLocalColorAreas` + */ + @GuardedBy("mLock") + private final ArraySet<RectF> mLocalColorAreas = new ArraySet<>(4); + + @GuardedBy("mLock") + private final ArraySet<RectF> mLocalColorsToAdd = new ArraySet<>(4); + private long mLastProcessLocalColorsTimestamp; + private AtomicBoolean mProcessLocalColorsPending = new AtomicBoolean(false); + private int mPixelCopyCount = 0; + // 2D matrix [x][y] to represent a page of a portion of a window + @GuardedBy("mLock") + private EngineWindowPage[] mWindowPages = new EngineWindowPage[0]; + private Bitmap mLastScreenshot; + private boolean mResetWindowPages; + boolean mPendingSync; MotionEvent mPendingMove; boolean mIsInAmbientMode; @@ -279,12 +301,8 @@ public abstract class WallpaperService extends Service { private long mLastColorInvalidation; private final Runnable mNotifyColorsChanged = this::notifyColorsChanged; - // used to throttle processLocalColors - private long mLastProcessLocalColorsTimestamp; - private AtomicBoolean mProcessLocalColorsPending = new AtomicBoolean(false); private final Supplier<Long> mClockFunction; private final Handler mHandler; - private Display mDisplay; private Context mDisplayContext; private int mDisplayState; @@ -854,7 +872,7 @@ public abstract class WallpaperService extends Service { + "was not established."); } mResetWindowPages = true; - processLocalColors(mPendingXOffset, mPendingXOffsetStep); + processLocalColors(); } catch (RemoteException e) { Log.w(TAG, "Can't notify system because wallpaper connection was lost.", e); } @@ -1389,10 +1407,9 @@ public abstract class WallpaperService extends Service { mIsCreating = false; mSurfaceCreated = true; if (redrawNeeded) { - resetWindowPages(); mSession.finishDrawing(mWindow, null /* postDrawTransaction */, Integer.MAX_VALUE); - processLocalColors(mPendingXOffset, mPendingXOffsetStep); + processLocalColors(); } reposition(); reportEngineShown(shouldWaitForEngineShown()); @@ -1536,7 +1553,7 @@ public abstract class WallpaperService extends Service { if (!mDestroyed) { mVisible = visible; reportVisibility(false); - if (mReportedVisible) processLocalColors(mPendingXOffset, mPendingXOffsetStep); + if (mReportedVisible) processLocalColors(); } else { AnimationHandler.requestAnimatorsEnabled(visible, this); } @@ -1640,14 +1657,14 @@ public abstract class WallpaperService extends Service { } // setup local color extraction data - processLocalColors(xOffset, xOffsetStep); + processLocalColors(); } /** * Thread-safe util to call {@link #processLocalColorsInternal} with a minimum interval of * {@link #PROCESS_LOCAL_COLORS_INTERVAL_MS} between two calls. */ - private void processLocalColors(float xOffset, float xOffsetStep) { + private void processLocalColors() { if (mProcessLocalColorsPending.compareAndSet(false, true)) { final long now = mClockFunction.get(); final long timeSinceLastColorProcess = now - mLastProcessLocalColorsTimestamp; @@ -1657,80 +1674,98 @@ public abstract class WallpaperService extends Service { mHandler.postDelayed(() -> { mLastProcessLocalColorsTimestamp = now + timeToWait; mProcessLocalColorsPending.set(false); - processLocalColorsInternal(xOffset, xOffsetStep); + processLocalColorsInternal(); }, timeToWait); } } - private void processLocalColorsInternal(float xOffset, float xOffsetStep) { - // implemented by the wallpaper + /** + * Default implementation of the local color extraction. + * This will take a screenshot of the whole wallpaper on the main thread. + * Then, in a background thread, for each launcher page, for each area that needs color + * extraction in this page, creates a sub-bitmap and call {@link WallpaperColors#fromBitmap} + * to extract the colors. Every time a launcher page has been processed, call + * {@link #notifyLocalColorsChanged} with the color and areas of this page. + */ + private void processLocalColorsInternal() { if (supportsLocalColorExtraction()) return; - if (DEBUG) { - Log.d(TAG, "processLocalColors " + xOffset + " of step " - + xOffsetStep); - } - //below is the default implementation - if (xOffset % xOffsetStep > MIN_PAGE_ALLOWED_MARGIN - || !mSurfaceHolder.getSurface().isValid()) return; - int xCurrentPage; + float xOffset; + float xOffsetStep; + float wallpaperDimAmount; + int xPage; int xPages; - if (!validStep(xOffsetStep)) { + Set<RectF> areas; + EngineWindowPage current; + + synchronized (mLock) { + xOffset = mPendingXOffset; + xOffsetStep = mPendingXOffsetStep; + wallpaperDimAmount = mWallpaperDimAmount; + if (DEBUG) { - Log.w(TAG, "invalid offset step " + xOffsetStep); + Log.d(TAG, "processLocalColors " + xOffset + " of step " + + xOffsetStep); + } + if (xOffset % xOffsetStep > MIN_PAGE_ALLOWED_MARGIN + || !mSurfaceHolder.getSurface().isValid()) return; + int xCurrentPage; + if (!validStep(xOffsetStep)) { + if (DEBUG) { + Log.w(TAG, "invalid offset step " + xOffsetStep); + } + xOffset = 0; + xOffsetStep = 1; + xCurrentPage = 0; + xPages = 1; + } else { + xPages = Math.round(1 / xOffsetStep) + 1; + xOffsetStep = (float) 1 / (float) xPages; + float shrink = (float) (xPages - 1) / (float) xPages; + xOffset *= shrink; + xCurrentPage = Math.round(xOffset / xOffsetStep); + } + if (DEBUG) { + Log.d(TAG, "xPages " + xPages + " xPage " + xCurrentPage); + Log.d(TAG, "xOffsetStep " + xOffsetStep + " xOffset " + xOffset); } - xOffset = 0; - xOffsetStep = 1; - xCurrentPage = 0; - xPages = 1; - } else { - xPages = Math.round(1 / xOffsetStep) + 1; - xOffsetStep = (float) 1 / (float) xPages; - float shrink = (float) (xPages - 1) / (float) xPages; - xOffset *= shrink; - xCurrentPage = Math.round(xOffset / xOffsetStep); - } - if (DEBUG) { - Log.d(TAG, "xPages " + xPages + " xPage " + xCurrentPage); - Log.d(TAG, "xOffsetStep " + xOffsetStep + " xOffset " + xOffset); - } - float finalXOffsetStep = xOffsetStep; - float finalXOffset = xOffset; + float finalXOffsetStep = xOffsetStep; + float finalXOffset = xOffset; - Trace.beginSection("WallpaperService#processLocalColors"); - resetWindowPages(); - int xPage = xCurrentPage; - EngineWindowPage current; - if (mWindowPages.length == 0 || (mWindowPages.length != xPages)) { - mWindowPages = new EngineWindowPage[xPages]; - initWindowPages(mWindowPages, finalXOffsetStep); - } - if (mLocalColorsToAdd.size() != 0) { - for (RectF colorArea : mLocalColorsToAdd) { - if (!isValid(colorArea)) continue; - mLocalColorAreas.add(colorArea); - int colorPage = getRectFPage(colorArea, finalXOffsetStep); - EngineWindowPage currentPage = mWindowPages[colorPage]; - currentPage.setLastUpdateTime(0); - currentPage.removeColor(colorArea); + resetWindowPages(); + xPage = xCurrentPage; + if (mWindowPages.length == 0 || (mWindowPages.length != xPages)) { + mWindowPages = new EngineWindowPage[xPages]; + initWindowPages(mWindowPages, finalXOffsetStep); } - mLocalColorsToAdd.clear(); - } - if (xPage >= mWindowPages.length) { - if (DEBUG) { - Log.e(TAG, "error xPage >= mWindowPages.length page: " + xPage); - Log.e(TAG, "error on page " + xPage + " out of " + xPages); - Log.e(TAG, - "error on xOffsetStep " + finalXOffsetStep - + " xOffset " + finalXOffset); + if (mLocalColorsToAdd.size() != 0) { + for (RectF colorArea : mLocalColorsToAdd) { + if (!isValid(colorArea)) continue; + mLocalColorAreas.add(colorArea); + int colorPage = getRectFPage(colorArea, finalXOffsetStep); + EngineWindowPage currentPage = mWindowPages[colorPage]; + currentPage.setLastUpdateTime(0); + currentPage.removeColor(colorArea); + } + mLocalColorsToAdd.clear(); } - xPage = mWindowPages.length - 1; + if (xPage >= mWindowPages.length) { + if (DEBUG) { + Log.e(TAG, "error xPage >= mWindowPages.length page: " + xPage); + Log.e(TAG, "error on page " + xPage + " out of " + xPages); + Log.e(TAG, + "error on xOffsetStep " + finalXOffsetStep + + " xOffset " + finalXOffset); + } + xPage = mWindowPages.length - 1; + } + current = mWindowPages[xPage]; + areas = new HashSet<>(current.getAreas()); } - current = mWindowPages[xPage]; - updatePage(current, xPage, xPages, finalXOffsetStep); - Trace.endSection(); + updatePage(current, areas, xPage, xPages, wallpaperDimAmount); } + @GuardedBy("mLock") private void initWindowPages(EngineWindowPage[] windowPages, float step) { for (int i = 0; i < windowPages.length; i++) { windowPages[i] = new EngineWindowPage(); @@ -1747,16 +1782,16 @@ public abstract class WallpaperService extends Service { } } - void updatePage(EngineWindowPage currentPage, int pageIndx, int numPages, - float xOffsetStep) { + void updatePage(EngineWindowPage currentPage, Set<RectF> areas, int pageIndx, int numPages, + float wallpaperDimAmount) { + // in case the clock is zero, we start with negative time long current = SystemClock.elapsedRealtime() - DEFAULT_UPDATE_SCREENSHOT_DURATION; long lapsed = current - currentPage.getLastUpdateTime(); // Always update the page when the last update time is <= 0 // This is important especially when the device first boots - if (lapsed < DEFAULT_UPDATE_SCREENSHOT_DURATION) { - return; - } + if (lapsed < DEFAULT_UPDATE_SCREENSHOT_DURATION) return; + Surface surface = mSurfaceHolder.getSurface(); if (!surface.isValid()) return; boolean widthIsLarger = mSurfaceSize.x > mSurfaceSize.y; @@ -1769,43 +1804,59 @@ public abstract class WallpaperService extends Service { Log.e(TAG, "wrong width and height values of bitmap " + width + " " + height); return; } + final String pixelCopySectionName = "WallpaperService#pixelCopy"; + final int pixelCopyCount = mPixelCopyCount++; + Trace.beginAsyncSection(pixelCopySectionName, pixelCopyCount); Bitmap screenShot = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); final Bitmap finalScreenShot = screenShot; - Trace.beginSection("WallpaperService#pixelCopy"); - PixelCopy.request(surface, screenShot, (res) -> { - Trace.endSection(); - if (DEBUG) Log.d(TAG, "result of pixel copy is " + res); - if (res != PixelCopy.SUCCESS) { - Bitmap lastBitmap = currentPage.getBitmap(); - // assign the last bitmap taken for now - currentPage.setBitmap(mLastScreenshot); - Bitmap lastScreenshot = mLastScreenshot; - if (lastScreenshot != null && !lastScreenshot.isRecycled() - && !Objects.equals(lastBitmap, lastScreenshot)) { - updatePageColors(currentPage, pageIndx, numPages, xOffsetStep); + try { + // TODO(b/274427458) check if this can be done in the background. + PixelCopy.request(surface, screenShot, (res) -> { + Trace.endAsyncSection(pixelCopySectionName, pixelCopyCount); + if (DEBUG) { + Log.d(TAG, "result of pixel copy is: " + + (res == PixelCopy.SUCCESS ? "SUCCESS" : "FAILURE")); } - } else { - mLastScreenshot = finalScreenShot; - // going to hold this lock for a while - currentPage.setBitmap(finalScreenShot); - currentPage.setLastUpdateTime(current); - updatePageColors(currentPage, pageIndx, numPages, xOffsetStep); - } - }, mHandler); - + if (res != PixelCopy.SUCCESS) { + Bitmap lastBitmap = currentPage.getBitmap(); + // assign the last bitmap taken for now + currentPage.setBitmap(mLastScreenshot); + Bitmap lastScreenshot = mLastScreenshot; + if (lastScreenshot != null && !Objects.equals(lastBitmap, lastScreenshot)) { + updatePageColors( + currentPage, areas, pageIndx, numPages, wallpaperDimAmount); + } + } else { + mLastScreenshot = finalScreenShot; + currentPage.setBitmap(finalScreenShot); + currentPage.setLastUpdateTime(current); + updatePageColors( + currentPage, areas, pageIndx, numPages, wallpaperDimAmount); + } + }, mBackgroundHandler); + } catch (IllegalArgumentException e) { + // this can potentially happen if the surface is invalidated right between the + // surface.isValid() check and the PixelCopy operation. + // in this case, stop: we'll compute colors on the next processLocalColors call. + Log.w(TAG, "Cancelling processLocalColors: exception caught during PixelCopy"); + } } // locked by the passed page - private void updatePageColors(EngineWindowPage page, int pageIndx, int numPages, - float xOffsetStep) { + private void updatePageColors(EngineWindowPage page, Set<RectF> areas, + int pageIndx, int numPages, float wallpaperDimAmount) { if (page.getBitmap() == null) return; + if (!mBackgroundHandler.getLooper().isCurrentThread()) { + throw new IllegalStateException( + "ProcessLocalColors should be called from the background thread"); + } Trace.beginSection("WallpaperService#updatePageColors"); if (DEBUG) { Log.d(TAG, "updatePageColorsLocked for page " + pageIndx + " with areas " + page.getAreas().size() + " and bitmap size of " + page.getBitmap().getWidth() + " x " + page.getBitmap().getHeight()); } - for (RectF area: page.getAreas()) { + for (RectF area: areas) { if (area == null) continue; RectF subArea = generateSubRect(area, pageIndx, numPages); Bitmap b = page.getBitmap(); @@ -1815,12 +1866,12 @@ public abstract class WallpaperService extends Service { int height = Math.round(b.getHeight() * subArea.height()); Bitmap target; try { - target = Bitmap.createBitmap(page.getBitmap(), x, y, width, height); + target = Bitmap.createBitmap(b, x, y, width, height); } catch (Exception e) { Log.e(TAG, "Error creating page local color bitmap", e); continue; } - WallpaperColors color = WallpaperColors.fromBitmap(target, mWallpaperDimAmount); + WallpaperColors color = WallpaperColors.fromBitmap(target, wallpaperDimAmount); target.recycle(); WallpaperColors currentColor = page.getColors(area); @@ -1837,12 +1888,14 @@ public abstract class WallpaperService extends Service { + " local color callback for area" + area + " for page " + pageIndx + " of " + numPages); } - try { - mConnection.onLocalWallpaperColorsChanged(area, color, - mDisplayContext.getDisplayId()); - } catch (RemoteException e) { - Log.e(TAG, "Error calling Connection.onLocalWallpaperColorsChanged", e); - } + mHandler.post(() -> { + try { + mConnection.onLocalWallpaperColorsChanged(area, color, + mDisplayContext.getDisplayId()); + } catch (RemoteException e) { + Log.e(TAG, "Error calling Connection.onLocalWallpaperColorsChanged", e); + } + }); } } Trace.endSection(); @@ -1868,16 +1921,17 @@ public abstract class WallpaperService extends Service { return new RectF(left, in.top, right, in.bottom); } + @GuardedBy("mLock") private void resetWindowPages() { if (supportsLocalColorExtraction()) return; if (!mResetWindowPages) return; mResetWindowPages = false; - mLastWindowPage = -1; for (int i = 0; i < mWindowPages.length; i++) { mWindowPages[i].setLastUpdateTime(0L); } } + @GuardedBy("mLock") private int getRectFPage(RectF area, float step) { if (!isValid(area)) return 0; if (!validStep(step)) return 0; @@ -1898,12 +1952,12 @@ public abstract class WallpaperService extends Service { if (DEBUG) { Log.d(TAG, "addLocalColorsAreas adding local color areas " + regions); } - mHandler.post(() -> { - mLocalColorsToAdd.addAll(regions); - processLocalColors(mPendingXOffset, mPendingYOffset); + mBackgroundHandler.post(() -> { + synchronized (mLock) { + mLocalColorsToAdd.addAll(regions); + } + processLocalColors(); }); - - } /** @@ -1913,16 +1967,18 @@ public abstract class WallpaperService extends Service { */ public void removeLocalColorsAreas(@NonNull List<RectF> regions) { if (supportsLocalColorExtraction()) return; - mHandler.post(() -> { - float step = mPendingXOffsetStep; - mLocalColorsToAdd.removeAll(regions); - mLocalColorAreas.removeAll(regions); - if (!validStep(step)) { - return; - } - for (int i = 0; i < mWindowPages.length; i++) { - for (int j = 0; j < regions.size(); j++) { - mWindowPages[i].removeArea(regions.get(j)); + mBackgroundHandler.post(() -> { + synchronized (mLock) { + float step = mPendingXOffsetStep; + mLocalColorsToAdd.removeAll(regions); + mLocalColorAreas.removeAll(regions); + if (!validStep(step)) { + return; + } + for (int i = 0; i < mWindowPages.length; i++) { + for (int j = 0; j < regions.size(); j++) { + mWindowPages[i].removeArea(regions.get(j)); + } } } }); @@ -1940,7 +1996,7 @@ public abstract class WallpaperService extends Service { } private boolean validStep(float step) { - return !PROHIBITED_STEPS.contains(step) && step > 0. && step <= 1.; + return !Float.isNaN(step) && step > 0f && step <= 1f; } void doCommand(WallpaperCommand cmd) { @@ -2579,6 +2635,9 @@ public abstract class WallpaperService extends Service { @Override public void onCreate() { Trace.beginSection("WPMS.onCreate"); + mBackgroundThread = new HandlerThread("DefaultWallpaperLocalColorExtractor"); + mBackgroundThread.start(); + mBackgroundHandler = new Handler(mBackgroundThread.getLooper()); super.onCreate(); Trace.endSection(); } @@ -2591,6 +2650,7 @@ public abstract class WallpaperService extends Service { engineWrapper.destroy(); } mActiveEngines.clear(); + mBackgroundThread.quitSafely(); Trace.endSection(); } diff --git a/core/java/android/util/DataUnit.java b/core/java/android/util/DataUnit.java index cf045b8aec06..cc33af32ba93 100644 --- a/core/java/android/util/DataUnit.java +++ b/core/java/android/util/DataUnit.java @@ -36,9 +36,11 @@ public enum DataUnit { KILOBYTES { @Override public long toBytes(long v) { return v * 1_000; } }, MEGABYTES { @Override public long toBytes(long v) { return v * 1_000_000; } }, GIGABYTES { @Override public long toBytes(long v) { return v * 1_000_000_000; } }, + TERABYTES { @Override public long toBytes(long v) { return v * 1_000_000_000_000L; } }, KIBIBYTES { @Override public long toBytes(long v) { return v * 1_024; } }, MEBIBYTES { @Override public long toBytes(long v) { return v * 1_048_576; } }, - GIBIBYTES { @Override public long toBytes(long v) { return v * 1_073_741_824; } }; + GIBIBYTES { @Override public long toBytes(long v) { return v * 1_073_741_824; } }, + TEBIBYTES { @Override public long toBytes(long v) { return v * 1_099_511_627_776L; } }; public long toBytes(long v) { throw new AbstractMethodError(); diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java index 6201b3a91eff..4c6bd671df7b 100644 --- a/core/java/android/util/FeatureFlagUtils.java +++ b/core/java/android/util/FeatureFlagUtils.java @@ -234,8 +234,8 @@ public class FeatureFlagUtils { DEFAULT_FLAGS.put(SETTINGS_AUDIO_ROUTING, "false"); DEFAULT_FLAGS.put(SETTINGS_FLASH_NOTIFICATIONS, "true"); DEFAULT_FLAGS.put(SETTINGS_SHOW_UDFPS_ENROLL_IN_SETTINGS, "true"); - DEFAULT_FLAGS.put(SETTINGS_ENABLE_LOCKSCREEN_TRANSFER_API, "false"); - DEFAULT_FLAGS.put(SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION, "false"); + DEFAULT_FLAGS.put(SETTINGS_ENABLE_LOCKSCREEN_TRANSFER_API, "true"); + DEFAULT_FLAGS.put(SETTINGS_REMOTE_DEVICE_CREDENTIAL_VALIDATION, "true"); } private static final Set<String> PERSISTENT_FLAGS; diff --git a/core/java/android/util/SparseArray.java b/core/java/android/util/SparseArray.java index cc83decc7b21..cd03d83b818c 100644 --- a/core/java/android/util/SparseArray.java +++ b/core/java/android/util/SparseArray.java @@ -71,7 +71,7 @@ public class SparseArray<E> implements Cloneable { * Creates a new SparseArray containing no mappings. */ public SparseArray() { - this(10); + this(0); } /** diff --git a/core/java/android/util/SparseBooleanArray.java b/core/java/android/util/SparseBooleanArray.java index c145b20e6f6c..12a99004daed 100644 --- a/core/java/android/util/SparseBooleanArray.java +++ b/core/java/android/util/SparseBooleanArray.java @@ -51,7 +51,7 @@ public class SparseBooleanArray implements Cloneable { * Creates a new SparseBooleanArray containing no mappings. */ public SparseBooleanArray() { - this(10); + this(0); } /** diff --git a/core/java/android/util/SparseDoubleArray.java b/core/java/android/util/SparseDoubleArray.java index ee2e3ce3e0ee..4b0cbe45d857 100644 --- a/core/java/android/util/SparseDoubleArray.java +++ b/core/java/android/util/SparseDoubleArray.java @@ -50,7 +50,7 @@ public class SparseDoubleArray implements Cloneable { /** Creates a new SparseDoubleArray containing no mappings. */ public SparseDoubleArray() { - this(10); + this(0); } /** diff --git a/core/java/android/util/SparseIntArray.java b/core/java/android/util/SparseIntArray.java index d4f6685e4347..0e98c285c227 100644 --- a/core/java/android/util/SparseIntArray.java +++ b/core/java/android/util/SparseIntArray.java @@ -58,7 +58,7 @@ public class SparseIntArray implements Cloneable { * Creates a new SparseIntArray containing no mappings. */ public SparseIntArray() { - this(10); + this(0); } /** diff --git a/core/java/android/util/SparseLongArray.java b/core/java/android/util/SparseLongArray.java index b739e379499c..e86b6472dc39 100644 --- a/core/java/android/util/SparseLongArray.java +++ b/core/java/android/util/SparseLongArray.java @@ -51,7 +51,7 @@ public class SparseLongArray implements Cloneable { * Creates a new SparseLongArray containing no mappings. */ public SparseLongArray() { - this(10); + this(0); } /** diff --git a/core/java/android/view/InputDevice.java b/core/java/android/view/InputDevice.java index 9225cd908c17..61864d776cab 100644 --- a/core/java/android/view/InputDevice.java +++ b/core/java/android/view/InputDevice.java @@ -1183,8 +1183,10 @@ public final class InputDevice implements Parcelable { */ @NonNull public LightsManager getLightsManager() { - if (mLightsManager == null) { - mLightsManager = InputManager.getInstance().getInputDeviceLightsManager(mId); + synchronized (mMotionRanges) { + if (mLightsManager == null) { + mLightsManager = InputManager.getInstance().getInputDeviceLightsManager(mId); + } } return mLightsManager; } diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index b46a68c1d5fd..d8b6b7b25a24 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -851,10 +851,14 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall } mParentSurfaceSequenceId = viewRoot.getSurfaceSequenceId(); - if (mViewVisibility) { - surfaceUpdateTransaction.show(mSurfaceControl); - } else { - surfaceUpdateTransaction.hide(mSurfaceControl); + // Only control visibility if we're not hardware-accelerated. Otherwise we'll + // let renderthread drive since offscreen SurfaceControls should not be visible. + if (!isHardwareAccelerated()) { + if (mViewVisibility) { + surfaceUpdateTransaction.show(mSurfaceControl); + } else { + surfaceUpdateTransaction.hide(mSurfaceControl); + } } updateBackgroundVisibility(surfaceUpdateTransaction); @@ -1417,12 +1421,10 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall } private final Rect mRTLastReportedPosition = new Rect(); - private final Point mRTLastReportedSurfaceSize = new Point(); private class SurfaceViewPositionUpdateListener implements RenderNode.PositionUpdateListener { private final int mRtSurfaceWidth; private final int mRtSurfaceHeight; - private boolean mRtFirst = true; private final SurfaceControl.Transaction mPositionChangedTransaction = new SurfaceControl.Transaction(); @@ -1433,15 +1435,6 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall @Override public void positionChanged(long frameNumber, int left, int top, int right, int bottom) { - if (!mRtFirst && (mRTLastReportedPosition.left == left - && mRTLastReportedPosition.top == top - && mRTLastReportedPosition.right == right - && mRTLastReportedPosition.bottom == bottom - && mRTLastReportedSurfaceSize.x == mRtSurfaceWidth - && mRTLastReportedSurfaceSize.y == mRtSurfaceHeight)) { - return; - } - mRtFirst = false; try { if (DEBUG_POSITION) { Log.d(TAG, String.format( @@ -1452,8 +1445,8 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall } synchronized (mSurfaceControlLock) { if (mSurfaceControl == null) return; + mRTLastReportedPosition.set(left, top, right, bottom); - mRTLastReportedSurfaceSize.set(mRtSurfaceWidth, mRtSurfaceHeight); onSetSurfacePositionAndScale(mPositionChangedTransaction, mSurfaceControl, mRTLastReportedPosition.left /*positionLeft*/, mRTLastReportedPosition.top /*positionTop*/, @@ -1461,10 +1454,8 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall / (float) mRtSurfaceWidth /*postScaleX*/, mRTLastReportedPosition.height() / (float) mRtSurfaceHeight /*postScaleY*/); - if (mViewVisibility) { - // b/131239825 - mPositionChangedTransaction.show(mSurfaceControl); - } + + mPositionChangedTransaction.show(mSurfaceControl); } applyOrMergeTransaction(mPositionChangedTransaction, frameNumber); } catch (Exception ex) { @@ -1490,7 +1481,6 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall System.identityHashCode(this), frameNumber)); } mRTLastReportedPosition.setEmpty(); - mRTLastReportedSurfaceSize.set(-1, -1); // positionLost can be called while UI thread is un-paused. synchronized (mSurfaceControlLock) { diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java index ab0c4df9efc1..508c20a37215 100644 --- a/core/java/android/view/autofill/AutofillManager.java +++ b/core/java/android/view/autofill/AutofillManager.java @@ -1643,7 +1643,7 @@ public final class AutofillManager { mForAugmentedAutofillOnly = false; } - if ((flags & FLAG_SUPPORTS_FILL_DIALOG) != 0) { + if ((flags & FLAG_SUPPORTS_FILL_DIALOG) != 0 && view != null) { flags |= FLAG_RESET_FILL_DIALOG_STATE; } @@ -2948,8 +2948,10 @@ public final class AutofillManager { mFillableIds = new ArraySet<>(fillableIds.length); } for (AutofillId id : fillableIds) { - id.resetSessionId(); - mFillableIds.add(id); + if (id != null) { + id.resetSessionId(); + mFillableIds.add(id); + } } } @@ -2974,8 +2976,10 @@ public final class AutofillManager { } if (trackedIds != null) { for (AutofillId id : trackedIds) { - id.resetSessionId(); - allFillableIds.add(id); + if (id != null) { + id.resetSessionId(); + allFillableIds.add(id); + } } } diff --git a/core/java/android/widget/OWNERS b/core/java/android/widget/OWNERS index 02dafd44d3bd..7f0a651c6420 100644 --- a/core/java/android/widget/OWNERS +++ b/core/java/android/widget/OWNERS @@ -13,3 +13,5 @@ per-file TextView*,Edit*,Selection* = file:../text/OWNERS per-file SpellChecker.java = file:../view/inputmethod/OWNERS per-file RemoteViews* = file:../appwidget/OWNERS + +per-file Toast.java = juliacr@google.com, jeffdq@google.com diff --git a/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl b/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl index 813febf33964..ad0d1a401991 100644 --- a/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl +++ b/core/java/com/android/internal/app/IHotwordRecognitionStatusCallback.aidl @@ -17,9 +17,10 @@ package com.android.internal.app; import android.hardware.soundtrigger.SoundTrigger; -import android.service.voice.DetectorFailure; import android.service.voice.HotwordDetectedResult; +import android.service.voice.HotwordDetectionServiceFailure; import android.service.voice.HotwordRejectedResult; +import android.service.voice.VisualQueryDetectionServiceFailure; /** * @hide @@ -63,11 +64,31 @@ oneway interface IHotwordRecognitionStatusCallback { void onError(int status); /** - * Called when the detection fails due to an error. + * Called when the detection fails due to an error occurs in the + * {@link HotwordDetectionService}. + * + * @param hotwordDetectionServiceFailure It provides the error code, error message and + * suggested action. + */ + void onHotwordDetectionServiceFailure( + in HotwordDetectionServiceFailure hotwordDetectionServiceFailure); + + /** + * Called when the detection fails due to an error occurs in the + * {@link VisualQueryDetectionService}. + * + * @param visualQueryDetectionServiceFailure It provides the error code, error message and + * suggested action. + */ + void onVisualQueryDetectionServiceFailure( + in VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure); + + /** + * Called when the detection fails due to an unknown error occurs. * - * @param detectorFailure It provides the error code, error message and suggested action. + * @param errorMessage It provides the error message. */ - void onDetectionFailure(in DetectorFailure detectorFailure); + void onUnknownFailure(in String errorMessage); /** * Called when the recognition is paused temporarily for some reason. diff --git a/core/java/com/android/internal/app/OWNERS b/core/java/com/android/internal/app/OWNERS index 0d02683868c5..a1d571fc4350 100644 --- a/core/java/com/android/internal/app/OWNERS +++ b/core/java/com/android/internal/app/OWNERS @@ -1,4 +1,6 @@ per-file *AppOp* = file:/core/java/android/permission/OWNERS +per-file UnlaunchableAppActivity.java = file:/core/java/android/app/admin/WorkProfile_OWNERS +per-file IntentForwarderActivity.java = file:/core/java/android/app/admin/WorkProfile_OWNERS per-file *Resolver* = file:/packages/SystemUI/OWNERS per-file *Chooser* = file:/packages/SystemUI/OWNERS per-file SimpleIconFactory.java = file:/packages/SystemUI/OWNERS diff --git a/core/java/com/android/internal/config/sysui/SystemUiSystemPropertiesFlags.java b/core/java/com/android/internal/config/sysui/SystemUiSystemPropertiesFlags.java index 9fae2113f0f9..2b08a5525d82 100644 --- a/core/java/com/android/internal/config/sysui/SystemUiSystemPropertiesFlags.java +++ b/core/java/com/android/internal/config/sysui/SystemUiSystemPropertiesFlags.java @@ -74,6 +74,9 @@ public class SystemUiSystemPropertiesFlags { public static final Flag OTP_REDACTION = devFlag("persist.sysui.notification.otp_redaction"); + /** Gating the removal of sorting-notifications-by-interruptiveness. */ + public static final Flag NO_SORT_BY_INTERRUPTIVENESS = + devFlag("persist.sysui.notification.no_sort_by_interruptiveness"); } //// == End of flags. Everything below this line is the implementation. == //// diff --git a/core/java/com/android/internal/expresslog/Counter.java b/core/java/com/android/internal/expresslog/Counter.java index afdbdc8ead73..4a46d91efbf0 100644 --- a/core/java/com/android/internal/expresslog/Counter.java +++ b/core/java/com/android/internal/expresslog/Counter.java @@ -36,6 +36,16 @@ public final class Counter { } /** + * Increments Telemetry Express Counter metric by 1 + * @param metricId to log, no-op if metricId is not defined in the TeX catalog + * @param uid used as a dimension for the count metric + * @hide + */ + public static void logIncrementWithUid(@NonNull String metricId, int uid) { + logIncrementWithUid(metricId, uid, 1); + } + + /** * Increments Telemetry Express Counter metric by arbitrary value * @param metricId to log, no-op if metricId is not defined in the TeX catalog * @param amount to increment counter @@ -45,4 +55,17 @@ public final class Counter { final long metricIdHash = Utils.hashString(metricId); FrameworkStatsLog.write(FrameworkStatsLog.EXPRESS_EVENT_REPORTED, metricIdHash, amount); } + + /** + * Increments Telemetry Express Counter metric by arbitrary value + * @param metricId to log, no-op if metricId is not defined in the TeX catalog + * @param uid used as a dimension for the count metric + * @param amount to increment counter + * @hide + */ + public static void logIncrementWithUid(@NonNull String metricId, int uid, long amount) { + final long metricIdHash = Utils.hashString(metricId); + FrameworkStatsLog.write( + FrameworkStatsLog.EXPRESS_UID_EVENT_REPORTED, metricIdHash, amount, uid); + } } diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index 1505ccce97a1..85cb15bdd906 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -721,7 +721,8 @@ public class ZygoteInit { } catch (ErrnoException ex) { throw new RuntimeException("Failed to capget()", ex); } - capabilities &= ((long) data[0].effective) | (((long) data[1].effective) << 32); + capabilities &= Integer.toUnsignedLong(data[0].effective) | + (Integer.toUnsignedLong(data[1].effective) << 32); /* Hardcoded command line to start the system server */ String[] args = { diff --git a/core/java/com/android/internal/util/LATENCY_TRACKER_OWNERS b/core/java/com/android/internal/util/LATENCY_TRACKER_OWNERS new file mode 100644 index 000000000000..77550002e3c6 --- /dev/null +++ b/core/java/com/android/internal/util/LATENCY_TRACKER_OWNERS @@ -0,0 +1,3 @@ +# TODO(b/274465475): Migrate LatencyTracker testing to its own module +marcinoc@google.com +ilkos@google.com diff --git a/core/java/com/android/internal/util/LatencyTracker.java b/core/java/com/android/internal/util/LatencyTracker.java index 2d5bb6c9f495..3c0675504e25 100644 --- a/core/java/com/android/internal/util/LatencyTracker.java +++ b/core/java/com/android/internal/util/LatencyTracker.java @@ -48,6 +48,7 @@ import static com.android.internal.util.LatencyTracker.ActionProperties.SAMPLE_I import static com.android.internal.util.LatencyTracker.ActionProperties.TRACE_THRESHOLD_SUFFIX; import android.Manifest; +import android.annotation.ElapsedRealtimeLong; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.Nullable; @@ -55,7 +56,6 @@ import android.annotation.RequiresPermission; import android.app.ActivityThread; import android.content.Context; import android.os.Build; -import android.os.ConditionVariable; import android.os.SystemClock; import android.os.Trace; import android.provider.DeviceConfig; @@ -79,7 +79,7 @@ import java.util.concurrent.TimeUnit; * Class to track various latencies in SystemUI. It then writes the latency to statsd and also * outputs it to logcat so these latencies can be captured by tests and then used for dashboards. * <p> - * This is currently only in Keyguard so it can be shared between SystemUI and Keyguard, but + * This is currently only in Keyguard. It can be shared between SystemUI and Keyguard, but * eventually we'd want to merge these two packages together so Keyguard can use common classes * that are shared with SystemUI. */ @@ -285,8 +285,6 @@ public class LatencyTracker { UIACTION_LATENCY_REPORTED__ACTION__ACTION_REQUEST_IME_HIDDEN, }; - private static LatencyTracker sLatencyTracker; - private final Object mLock = new Object(); @GuardedBy("mLock") private final SparseArray<Session> mSessions = new SparseArray<>(); @@ -294,20 +292,21 @@ public class LatencyTracker { private final SparseArray<ActionProperties> mActionPropertiesMap = new SparseArray<>(); @GuardedBy("mLock") private boolean mEnabled; - @VisibleForTesting - public final ConditionVariable mDeviceConfigPropertiesUpdated = new ConditionVariable(); + + // Wrapping this in a holder class achieves lazy loading behavior + private static final class SLatencyTrackerHolder { + private static final LatencyTracker sLatencyTracker = new LatencyTracker(); + } public static LatencyTracker getInstance(Context context) { - if (sLatencyTracker == null) { - synchronized (LatencyTracker.class) { - if (sLatencyTracker == null) { - sLatencyTracker = new LatencyTracker(); - } - } - } - return sLatencyTracker; + return SLatencyTrackerHolder.sLatencyTracker; } + /** + * Constructor for LatencyTracker + * + * <p>This constructor is only visible for test classes to inject their own consumer callbacks + */ @RequiresPermission(Manifest.permission.READ_DEVICE_CONFIG) @VisibleForTesting public LatencyTracker() { @@ -349,11 +348,8 @@ public class LatencyTracker { properties.getInt(actionName + TRACE_THRESHOLD_SUFFIX, legacyActionTraceThreshold))); } - if (DEBUG) { - Log.d(TAG, "updated action properties: " + mActionPropertiesMap); - } + onDeviceConfigPropertiesUpdated(mActionPropertiesMap); } - mDeviceConfigPropertiesUpdated.open(); } /** @@ -477,7 +473,7 @@ public class LatencyTracker { */ public void onActionStart(@Action int action, String tag) { synchronized (mLock) { - if (!isEnabled()) { + if (!isEnabled(action)) { return; } // skip if the action is already instrumenting. @@ -501,7 +497,7 @@ public class LatencyTracker { */ public void onActionEnd(@Action int action) { synchronized (mLock) { - if (!isEnabled()) { + if (!isEnabled(action)) { return; } Session session = mSessions.get(action); @@ -540,6 +536,24 @@ public class LatencyTracker { } /** + * Testing API to get the time when a given action was started. + * + * @param action Action which to retrieve start time from + * @return Elapsed realtime timestamp when the action started. -1 if the action is not active. + * @hide + */ + @VisibleForTesting + @ElapsedRealtimeLong + public long getActiveActionStartTime(@Action int action) { + synchronized (mLock) { + if (mSessions.contains(action)) { + return mSessions.get(action).mStartRtc; + } + return -1; + } + } + + /** * Logs an action that has started and ended. This needs to be called from the main thread. * * @param action The action to end. One of the ACTION_* values. @@ -549,6 +563,9 @@ public class LatencyTracker { boolean shouldSample; int traceThreshold; synchronized (mLock) { + if (!isEnabled(action)) { + return; + } ActionProperties actionProperties = mActionPropertiesMap.get(action); if (actionProperties == null) { return; @@ -559,28 +576,24 @@ public class LatencyTracker { traceThreshold = actionProperties.getTraceThreshold(); } - if (traceThreshold > 0 && duration >= traceThreshold) { - PerfettoTrigger.trigger(getTraceTriggerNameForAction(action)); - } + boolean shouldTriggerPerfettoTrace = traceThreshold > 0 && duration >= traceThreshold; - logActionDeprecated(action, duration, shouldSample); - } + if (DEBUG) { + Log.i(TAG, "logAction: " + getNameOfAction(STATSD_ACTION[action]) + + " duration=" + duration + + " shouldSample=" + shouldSample + + " shouldTriggerPerfettoTrace=" + shouldTriggerPerfettoTrace); + } - /** - * Logs an action that has started and ended. This needs to be called from the main thread. - * - * @param action The action to end. One of the ACTION_* values. - * @param duration The duration of the action in ms. - * @param writeToStatsLog Whether to write the measured latency to FrameworkStatsLog. - */ - public static void logActionDeprecated( - @Action int action, int duration, boolean writeToStatsLog) { - Log.i(TAG, getNameOfAction(STATSD_ACTION[action]) + " latency=" + duration); EventLog.writeEvent(EventLogTags.SYSUI_LATENCY, action, duration); - - if (writeToStatsLog) { - FrameworkStatsLog.write( - FrameworkStatsLog.UI_ACTION_LATENCY_REPORTED, STATSD_ACTION[action], duration); + if (shouldTriggerPerfettoTrace) { + onTriggerPerfetto(getTraceTriggerNameForAction(action)); + } + if (shouldSample) { + onLogToFrameworkStats( + new FrameworkStatsLogEvent(action, FrameworkStatsLog.UI_ACTION_LATENCY_REPORTED, + STATSD_ACTION[action], duration) + ); } } @@ -611,23 +624,27 @@ public class LatencyTracker { void begin(@NonNull Runnable timeoutAction) { mStartRtc = SystemClock.elapsedRealtime(); - Trace.asyncTraceBegin(TRACE_TAG_APP, traceName(), 0); + Trace.asyncTraceForTrackBegin(TRACE_TAG_APP, traceName(), traceName(), 0); // start counting timeout. - mTimeoutRunnable = timeoutAction; + mTimeoutRunnable = () -> { + Trace.instantForTrack(TRACE_TAG_APP, traceName(), "timeout"); + timeoutAction.run(); + }; BackgroundThread.getHandler() .postDelayed(mTimeoutRunnable, TimeUnit.SECONDS.toMillis(15)); } void end() { mEndRtc = SystemClock.elapsedRealtime(); - Trace.asyncTraceEnd(TRACE_TAG_APP, traceName(), 0); + Trace.asyncTraceForTrackEnd(TRACE_TAG_APP, traceName(), 0); BackgroundThread.getHandler().removeCallbacks(mTimeoutRunnable); mTimeoutRunnable = null; } void cancel() { - Trace.asyncTraceEnd(TRACE_TAG_APP, traceName(), 0); + Trace.instantForTrack(TRACE_TAG_APP, traceName(), "cancel"); + Trace.asyncTraceForTrackEnd(TRACE_TAG_APP, traceName(), 0); BackgroundThread.getHandler().removeCallbacks(mTimeoutRunnable); mTimeoutRunnable = null; } @@ -638,10 +655,10 @@ public class LatencyTracker { } @VisibleForTesting - static class ActionProperties { + public static class ActionProperties { static final String ENABLE_SUFFIX = "_enable"; static final String SAMPLE_INTERVAL_SUFFIX = "_sample_interval"; - // TODO: migrate all usages of the legacy trace theshold property + // TODO: migrate all usages of the legacy trace threshold property static final String LEGACY_TRACE_THRESHOLD_SUFFIX = ""; static final String TRACE_THRESHOLD_SUFFIX = "_trace_threshold"; @@ -651,7 +668,8 @@ public class LatencyTracker { private final int mSamplingInterval; private final int mTraceThreshold; - ActionProperties( + @VisibleForTesting + public ActionProperties( @Action int action, boolean enabled, int samplingInterval, @@ -664,20 +682,24 @@ public class LatencyTracker { this.mTraceThreshold = traceThreshold; } + @VisibleForTesting @Action - int getAction() { + public int getAction() { return mAction; } - boolean isEnabled() { + @VisibleForTesting + public boolean isEnabled() { return mEnabled; } - int getSamplingInterval() { + @VisibleForTesting + public int getSamplingInterval() { return mSamplingInterval; } - int getTraceThreshold() { + @VisibleForTesting + public int getTraceThreshold() { return mTraceThreshold; } @@ -690,5 +712,103 @@ public class LatencyTracker { + ", mTraceThreshold=" + mTraceThreshold + "}"; } + + @Override + public boolean equals(@Nullable Object o) { + if (this == o) { + return true; + } + if (o == null) { + return false; + } + if (!(o instanceof ActionProperties)) { + return false; + } + ActionProperties that = (ActionProperties) o; + return mAction == that.mAction + && mEnabled == that.mEnabled + && mSamplingInterval == that.mSamplingInterval + && mTraceThreshold == that.mTraceThreshold; + } + + @Override + public int hashCode() { + int _hash = 1; + _hash = 31 * _hash + mAction; + _hash = 31 * _hash + Boolean.hashCode(mEnabled); + _hash = 31 * _hash + mSamplingInterval; + _hash = 31 * _hash + mTraceThreshold; + return _hash; + } + } + + /** + * Testing method intended to be overridden to determine when the LatencyTracker's device + * properties are updated. + */ + @VisibleForTesting + public void onDeviceConfigPropertiesUpdated(SparseArray<ActionProperties> actionProperties) { + if (DEBUG) { + Log.d(TAG, "onDeviceConfigPropertiesUpdated: " + actionProperties); + } + } + + /** + * Testing class intended to be overridden to determine when LatencyTracker triggers perfetto. + */ + @VisibleForTesting + public void onTriggerPerfetto(String triggerName) { + if (DEBUG) { + Log.i(TAG, "onTriggerPerfetto: triggerName=" + triggerName); + } + PerfettoTrigger.trigger(triggerName); + } + + /** + * Testing method intended to be overridden to determine when LatencyTracker writes to + * FrameworkStatsLog. + */ + @VisibleForTesting + public void onLogToFrameworkStats(FrameworkStatsLogEvent event) { + if (DEBUG) { + Log.i(TAG, "onLogToFrameworkStats: event=" + event); + } + FrameworkStatsLog.write(event.logCode, event.statsdAction, event.durationMillis); + } + + /** + * Testing class intended to reject what should be written to the {@link FrameworkStatsLog} + * + * <p>This class is used in {@link #onLogToFrameworkStats(FrameworkStatsLogEvent)} for test code + * to observer when and what information is being logged by {@link LatencyTracker} + */ + @VisibleForTesting + public static class FrameworkStatsLogEvent { + + @VisibleForTesting + public final int action; + @VisibleForTesting + public final int logCode; + @VisibleForTesting + public final int statsdAction; + @VisibleForTesting + public final int durationMillis; + + private FrameworkStatsLogEvent(int action, int logCode, int statsdAction, + int durationMillis) { + this.action = action; + this.logCode = logCode; + this.statsdAction = statsdAction; + this.durationMillis = durationMillis; + } + + @Override + public String toString() { + return "FrameworkStatsLogEvent{" + + " logCode=" + logCode + + ", statsdAction=" + statsdAction + + ", durationMillis=" + durationMillis + + "}"; + } } } diff --git a/core/java/com/android/internal/util/OWNERS b/core/java/com/android/internal/util/OWNERS index 1808bd56b562..9be8ea7aadc4 100644 --- a/core/java/com/android/internal/util/OWNERS +++ b/core/java/com/android/internal/util/OWNERS @@ -6,3 +6,4 @@ per-file Protocol* = etancohen@google.com, lorenzo@google.com per-file State* = jchalard@google.com, lorenzo@google.com, satk@google.com per-file *Dump* = file:/core/java/com/android/internal/util/dump/OWNERS per-file *Screenshot* = file:/packages/SystemUI/src/com/android/systemui/screenshot/OWNERS +per-file *LatencyTracker* = file:/core/java/com/android/internal/util/LATENCY_TRACKER_OWNERS diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 092f6e50aea1..0f1e558c98e1 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -4482,6 +4482,12 @@ <permission android:name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE" android:protectionLevel="signature|privileged" /> + <!-- Allows specifying candidate credential providers to be queried in Credential Manager + get flows, or to be preferred as a default in the Credential Manager create flows. + <p>Protection level: normal --> + <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS" + android:protectionLevel="normal" /> + <!-- Allows a browser to invoke credential manager APIs on behalf of another RP. <p>Protection level: normal --> <permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN" diff --git a/core/res/TEST_MAPPING b/core/res/TEST_MAPPING index 9185bae4e992..4d09076779a3 100644 --- a/core/res/TEST_MAPPING +++ b/core/res/TEST_MAPPING @@ -1,13 +1,13 @@ { "presubmit": [ { - "name": "CtsPermission2TestCases", + "name": "CtsPermissionPolicyTestCases", "options": [ { - "include-filter": "android.permission2.cts.PermissionPolicyTest#platformPermissionPolicyIsUnaltered" + "include-filter": "android.permissionpolicy.cts.PermissionPolicyTest#platformPermissionPolicyIsUnaltered" }, { - "include-filter": "android.permission2.cts.RuntimePermissionProperties" + "include-filter": "android.permissionpolicy.cts.RuntimePermissionProperties" } ] } diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml index f78844ffcbe9..262fb6f00367 100644 --- a/core/res/res/values-af/strings.xml +++ b/core/res/res/values-af/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi-oproepe"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Af"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Bel oor Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Bel oor mobiele netwerk"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Kies invoermetode"</string> <string name="show_ime" msgid="6406112007347443383">"Hou dit op die skerm terwyl fisieke sleutelbord aktief is"</string> <string name="hardware" msgid="1800597768237606953">"Wys virtuele sleutelbord"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Stel <xliff:g id="DEVICE_NAME">%s</xliff:g> op"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Stel fisieke sleutelborde op"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tik om taal en uitleg te kies"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Gehoortoestelle"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Het volumesleutels ingehou. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aangeskakel."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Het volumesleutels ingehou. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> is afgeskakel"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Los die volumesleutels. Druk en hou albei volumesleutels weer 3 sekondes lank in om <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aan te skakel."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Kies \'n kenmerk om te gebruik wanneer jy op die toeganklikheidknoppie tik:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Kies \'n kenmerk om te gebruik saam met die toeganklikheidgebaar (swiep met twee vingers op van die onderkant van die skerm af):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Kies \'n kenmerk om te gebruik saam met die toeganklikheidgebaar (swiep met drie vingers op van die onderkant van die skerm af):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> gebruik tans albei skerms om inhoud te wys"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Toestel is te warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dubbelskerm is nie beskikbaar nie omdat jou foon tans te warm word"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Skakel af"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Skakel af"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> is opgestel"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Sleutelborduitleg is gestel op <xliff:g id="LAYOUT_1">%s</xliff:g>. Tik om te verander."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Sleutelborduitleg is gestel op <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tik om te verander."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Sleutelborduitleg is gestel op <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tik om te verander."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Sleutelborduitleg is gestel op <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> … Tik om dit te verander."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fisieke sleutelborde is opgestel"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tik om sleutelborde te bekyk"</string> </resources> diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml index 12c25eb58082..aa01323b4c6c 100644 --- a/core/res/res/values-am/strings.xml +++ b/core/res/res/values-am/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"የWi-Fi ጥሪ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ጠፍቷል"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"በ Wi-Fi በኩል ደውል"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ከተንቀሳቃሽ ስልክ አውታረ መረብ በኩል ደውል"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"የግቤት ስልት ምረጥ"</string> <string name="show_ime" msgid="6406112007347443383">"አካላዊ የቁልፍ ሰሌዳ ገቢር ሆኖ ሳለ በማያ ገጽ ላይ አቆየው"</string> <string name="hardware" msgid="1800597768237606953">"ምናባዊ የቁልፍ ሰሌዳን አሳይ"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g>ን ያዋቅሩ"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"አካላዊ የቁልፍ ሰሌዳዎችን ያዋቅሩ"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ቋንቋ እና አቀማመጥን ለመምረጥ መታ ያድርጉ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"የመስሚያ መሣሪያዎች"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"የድምፅ ቁልፎችን ይዟል። <xliff:g id="SERVICE_NAME">%1$s</xliff:g> በርቷል።"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"የድምፅ ቁልፎችን ይዟል። <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ጠፍተዋል።"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"የድምጽ መጠን ቁልፎቹን ይልቀቁ። <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ን ለማብራት ሁለቱንም የድምጽ መጠን ቁልፎች በድጋሚ ለ3 ሰከንዶች ተጭነው ይያዙ።"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"የተደራሽነት አዝራርን መታ በሚያደርጉበት ጊዜ ጥቅም ላይ የሚውለውን ባሕሪ ይምረጡ፦"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ከተደራሽነት ጣት ምልክት ጋር የሚጠቀሙበት ባሕሪ ይምረጡ (በሁለት ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ)፦"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ከተደራሽነት ጣት ምልክት ጋር አብረው የሚጠቀሙበት ባሕሪ ይምረጡ (በሦስት ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ)፦"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> ይዘትን ለማሳየት ሁለቱንም ማሳያዎች እየተጠቀመ ነው"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"መሣሪያ በጣም ሞቋል"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ስልክዎ በጣም እየሞቀ ስለሆነ ባለሁለት ማያ ገጽ አይገኝም"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"አጥፋ"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"አጥፋ"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ተዋቅሯል"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"የቁልፍ ሰሌዳ ወደ <xliff:g id="LAYOUT_1">%s</xliff:g> ተቀናብሯል። ለመለወጥ መታ ያድርጉ።"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"የቁልፍ ሰሌዳ አቀማመጥ ወደ <xliff:g id="LAYOUT_1">%1$s</xliff:g>፣ <xliff:g id="LAYOUT_2">%2$s</xliff:g> ተቀናብሯል። ለመለወጥ መታ ያድርጉ።"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"የቁልፍ ሰሌዳ አቀማመጥ ወደ <xliff:g id="LAYOUT_1">%1$s</xliff:g>፣ <xliff:g id="LAYOUT_2">%2$s</xliff:g>፣ <xliff:g id="LAYOUT_3">%3$s</xliff:g> ተቀናብሯል። ለመለወጥ መታ ያድርጉ።"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"የቁልፍ ሰሌዳ አቀማመጥ ወደ <xliff:g id="LAYOUT_1">%1$s</xliff:g>፣ <xliff:g id="LAYOUT_2">%2$s</xliff:g>፣ <xliff:g id="LAYOUT_3">%3$s</xliff:g> ተቀናብሯል… ለመቀጠል መታ ያድርጉ።"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"የተዋቀሩ አካላዊ የቁልፍ ሰሌዳዎች"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"የቁልፍ ሰሌዳዎችን ለማየት መታ ያድርጉ"</string> </resources> diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml index 644340166e62..ce47a3e922ba 100644 --- a/core/res/res/values-ar/strings.xml +++ b/core/res/res/values-ar/strings.xml @@ -144,6 +144,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"الاتصال عبر WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"غير مفعّل"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"الاتصال عبر Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"الاتصال عبر شبكة الجوّال"</string> @@ -1397,10 +1399,8 @@ <string name="select_input_method" msgid="3971267998568587025">"اختيار أسلوب الإدخال"</string> <string name="show_ime" msgid="6406112007347443383">"استمرار عرضها على الشاشة أثناء نشاط لوحة المفاتيح الفعلية"</string> <string name="hardware" msgid="1800597768237606953">"إظهار لوحة المفاتيح الافتراضية"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"إعداد <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"إعداد لوحات المفاتيح الخارجية"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"انقر لاختيار لغة وتنسيق"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789 أ ب ت ث ج ح خ د ذ ر ز س ش ص ض ط ظ ع غ ف ق ك ل م ن ه و ي"</string> @@ -1725,8 +1725,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"سماعات الأذن الطبية"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"تم الضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت. تم تفعيل <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"تم الضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت. تم إيقاف <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ارفع إصبعَيك عن مفتاحَي مستوى الصوت. لتفعيل خدمة \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\"، اضغط مع الاستمرار على كلا مفتاحَي مستوى الصوت مجددًا لمدة 3 ثوانٍ."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"يمكنك اختيار إحدى الميزات لاستخدامها عند النقر على زر أدوات تمكين الوصول:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"يمكنك اختيار إحدى الميزات لاستخدامها مع إيماءة أدوات تمكين الوصول (مرّر سريعًا إلى الأعلى من أسفل الشاشة باستخدام إصبعين):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"يمكنك اختيار إحدى الميزات التالية لاستخدامها مع إيماءة أدوات تمكين الوصول (مرّر سريعًا إلى الأعلى من أسفل الشاشة باستخدام ثلاثة أصابع):"</string> @@ -2330,19 +2329,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"يستخدم \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" كلتا الشاشتين لعرض المحتوى."</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"الجهاز ساخن للغاية"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ميزة \"استخدام الشاشتين\" غير متاحة لأن هاتفك ساخن للغاية."</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"إيقاف"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"إيقاف"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"تم ضبط \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\""</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"تم ضبط تنسيق لوحة المفاتيح على <xliff:g id="LAYOUT_1">%s</xliff:g>. انقر لتغيير الإعدادات."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"تم ضبط تنسيق لوحة المفاتيح على <xliff:g id="LAYOUT_1">%1$s</xliff:g> و<xliff:g id="LAYOUT_2">%2$s</xliff:g>. انقر لتغيير الإعدادات."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"تم ضبط تنسيق لوحة المفاتيح على <xliff:g id="LAYOUT_1">%1$s</xliff:g> و<xliff:g id="LAYOUT_2">%2$s</xliff:g> و<xliff:g id="LAYOUT_3">%3$s</xliff:g>. انقر لتغيير الإعدادات."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"تم ضبط تنسيق لوحة المفاتيح على <xliff:g id="LAYOUT_1">%1$s</xliff:g> و<xliff:g id="LAYOUT_2">%2$s</xliff:g> و<xliff:g id="LAYOUT_3">%3$s</xliff:g>… انقر لتغييره."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"تم إعداد لوحات المفاتيح الخارجية"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"انقر لعرض لوحات المفاتيح."</string> </resources> diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml index 3d1a7b324993..07a578b050bd 100644 --- a/core/res/res/values-as/strings.xml +++ b/core/res/res/values-as/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"ৱাই-ফাই"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ৱাই-ফাই কলিং"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"অফ হৈ আছে"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ৱাই-ফাইৰ জৰিয়তে কল কৰক"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ম’বাইল নেটৱৰ্কৰ জৰিয়তে কল কৰক"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ইনপুট পদ্ধতি বাছনি কৰক"</string> <string name="show_ime" msgid="6406112007347443383">"কায়িক কীব’ৰ্ড সক্ৰিয় হৈ থাকোঁতে ইয়াক স্ক্ৰীনত ৰাখক"</string> <string name="hardware" msgid="1800597768237606953">"ভাৰ্শ্বুৱল কীব\'ৰ্ড দেখুৱাওক"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> কনফিগাৰ কৰক"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ভৌতিক কীব’ৰ্ড কনফিগাৰ কৰক"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ভাষা আৰু চানেকি বাছনি কৰিবলৈ ইয়াত টিপক"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"শুনাৰ ডিভাইচ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ভলিউম কীসমূহ ধৰি ৰাখক। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> অন কৰা হ\'ল।"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ভলিউম কী ধৰি ৰাখিছিল। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> অফ কৰা হ\'ল।"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ভলিউম কী এৰি দিয়ক। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> অন কৰিবলৈ, দুয়োটা ভলিউম কী পুনৰ ৩ ছেকেণ্ডৰ বাবে টিপি হেঁচি ৰাখক।"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"আপুনি সাধ্য-সুবিধাৰ বুটামটো টিপিলে ব্যৱহাৰ কৰিবলৈ এটা সুবিধা বাছনি কৰক:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"সাধ্য-সুবিধাৰ নির্দেশৰ জৰিয়তে ব্যৱহাৰ কৰিবলৈ এটা সুবিধা বাছনি কৰক (দুটা আঙুলিৰে স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ ছোৱাইপ কৰক):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"সাধ্য-সুবিধাৰ নির্দেশৰ জৰিয়তে ব্যৱহাৰ কৰিবলৈ এটা সুবিধা বাছনি কৰক (তিনিটা আঙুলিৰে স্ক্রীনখনৰ একেবাৰে তলিৰ পৰা ওপৰলৈ ছোৱাইপ কৰক):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ সমল দেখুৱাবলৈ দুয়োখন ডিছপ্লে’ ব্যৱহাৰ কৰি আছে"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ডিভাইচটো অতি বেছি গৰম হৈছে"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"আপোনাৰ ফ’নটো অতি বেছি গৰম হোৱাৰ বাবে ডুৱেল স্ক্ৰীন উপলব্ধ নহয়"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"অফ কৰক"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"অফ কৰক"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> কনফিগাৰ কৰা হৈছে"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"কীব’ৰ্ডৰ লে’আউট <xliff:g id="LAYOUT_1">%s</xliff:g> হিচাপে ছেট কৰা হৈছে। সলনি কৰিবলৈ টিপক।"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"কীব’ৰ্ডৰ লে’আউট <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> হিচাপে ছেট কৰা হৈছে। সলনি কৰিবলৈ টিপক।"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"কীব’ৰ্ডৰ লে’আউট <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> হিচাপে ছেট কৰা হৈছে। সলনি কৰিবলৈ টিপক।"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"কীব’ৰ্ডৰ লে’আউট <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> হিচাপে ছেট কৰা হৈছে… সলনি কৰিবলৈ টিপক।"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ভৌতিক কীব’ৰ্ড কনফিগাৰ কৰা হৈছে"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"কীব’ৰ্ড চাবলৈ টিপক"</string> </resources> diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml index c8443b9468f2..a843c7ce40c1 100644 --- a/core/res/res/values-az/strings.xml +++ b/core/res/res/values-az/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi Zəngi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Deaktiv"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi ilə zəng edin"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Mobil şəbəkə ilə zəng edin"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Daxiletmə metodunu seçin"</string> <string name="show_ime" msgid="6406112007347443383">"Fiziki klaviatura aktiv olanda görünsün"</string> <string name="hardware" msgid="1800597768237606953">"Virtual klaviaturanı göstərin"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> cihazını konfiqurasiya edin"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Fiziki klaviaturaları konfiqurasiya edin"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dil və tərtibatı seçmək üçün tıklayın"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCÇDEƏFGĞHXIİJKQLMNOÖPRSŞTUÜVYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCÇDEƏFGĞHİIJKLMNOÖPQRSŞTUÜVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Eşitmə cihazları"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Səs səviyyəsi düymələrinə basıb saxlayın. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aktiv edildi."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Səs səviyyəsi düymələrinə basılaraq saxlanıb. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> deaktiv edilib."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Səs düymələrini buraxın. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> xidmətini aktiv etmək üçün hər iki səs düyməsinə yenidən 3 saniyə basıb saxlayın."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Xüsusi imkanlar düyməsinə toxunanda istədiyiniz funksiyanı seçin:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Əlçatımlılıq jesti (iki barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün) ilə istifadə edəcəyiniz funksiyanı seçin:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Əlçatımlılıq jesti (üç barmağınızla ekranın aşağısından yuxarı doğru sürüşdürün) ilə istifadə edəcəyiniz funksiyanı seçin:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> məzmunu göstərmək üçün hər iki displeydən istifadə edir"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Cihaz çox isinib"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Telefonunuz çox isindiyi üçün İkili Ekran əlçatan deyil"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Deaktiv edin"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Deaktiv edin"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> konfiqurasiya edilib"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Klaviatura düzəni <xliff:g id="LAYOUT_1">%s</xliff:g> kimi ayarlanıb. Dəyişmək üçün toxunun."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Klaviatura düzəni <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> kimi ayarlanıb. Dəyişmək üçün toxunun."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Klaviatura düzəni <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> kimi ayarlanıb. Dəyişmək üçün toxunun."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Klaviatura düzəni <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> kimi ayarlanıb… Dəyişmək üçün toxunun."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fiziki klaviaturalar konfiqurasiya edilib"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Klaviaturalara baxmaq üçün toxunun"</string> </resources> diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml index a5575e608e5f..7b99842e3fd3 100644 --- a/core/res/res/values-b+sr+Latn/strings.xml +++ b/core/res/res/values-b+sr+Latn/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"WiFi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Pozivanje preko WiFi-a"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Isključeno"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Pozivanje preko WiFi-a"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Poziv preko mobilne mreže"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Izbor metoda unosa"</string> <string name="show_ime" msgid="6406112007347443383">"Zadržava se na ekranu dok je fizička tastatura aktivna"</string> <string name="hardware" msgid="1800597768237606953">"Prikaži virtuelnu tastaturu"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurišite uređaj <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurišite fizičke tastature"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dodirnite da biste izabrali jezik i raspored"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni aparati"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Držali ste tastere za jačinu zvuka. Usluga <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je uključena."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Držali ste tastere za jačinu zvuka. Usluga <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je isključena."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Pustite tastere za jačinu zvuka. Da biste uključili <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, ponovo pritisnite i zadržite oba tastera za jačinu zvuka 3 sekunde."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Izaberite funkciju koja će se koristiti kada dodirnete dugme Pristupačnost:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Odaberite funkciju koja će se koristiti pomoću pokreta za pristupačnost (pomoću dva prsta prevucite nagore od dna ekrana):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Odaberite funkciju koja će se koristiti pomoću pokreta za pristupačnost (pomoću tri prsta prevucite nagore od dna ekrana):"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> koristi oba ekrana za prikazivanje sadržaja"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Uređaj je previše zagrejan"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dvojni ekran je nedostupan jer je telefon previše zagrejan"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Isključi"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Isključi"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Uređaj <xliff:g id="DEVICE_NAME">%s</xliff:g> je konfigurisan"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Raspored tastature je podešen na <xliff:g id="LAYOUT_1">%s</xliff:g>. Dodirnite da biste to promenili."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Raspored tastature je podešen na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Dodirnite da biste to promenili."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Raspored tastature je podešen na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Dodirnite da biste to promenili."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Raspored tastature je podešen na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Dodirnite da biste promenili."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fizičke tastature su konfigurisane"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Dodirnite da biste videli tastature"</string> </resources> diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml index 9c17d06b2df1..080bf2c3359d 100644 --- a/core/res/res/values-be/strings.xml +++ b/core/res/res/values-be/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi-тэлефанія"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWi-Fi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Выкл."</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Выклікаць праз Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Выклікаць праз мабільную сетку"</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Выберыце метад уводу"</string> <string name="show_ime" msgid="6406112007347443383">"Захоўваць яе на экране ў той час, калі фізічная клавіятура актыўная"</string> <string name="hardware" msgid="1800597768237606953">"Паказаць віртуальную клавіятуру"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Наладзьце прыладу \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\""</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Наладзьце фізічныя клавіятуры"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Дакраніцеся, каб выбраць мову і раскладку"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" АБВГДЕЁЖЗІЙКЛМНОПРСТУЎФХЦЧШ\'ЫЬЭЮЯ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слыхавыя апараты"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Клавішы гучнасці ўтрымліваліся націснутымі. Уключана служба \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\"."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Клавішы гучнасці ўтрымліваліся націснутымі. Служба \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\" выключана."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Адпусціце клавішы гучнасці. Каб уключыць сэрвіс \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\", націсніце абедзве клавішы гучнасці яшчэ раз і ўтрымлівайце іх на працягу 3 секунд."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Выберыце функцыю, якую будзеце выкарыстоўваць пры націску кнопкі спецыяльных магчымасцей:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Выберыце функцыю, якую будзеце выкарыстоўваць з жэстам спецыяльных магчымасцей (правесці двума пальцамі па экране знізу ўверх):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Выберыце функцыю, якую будзеце выкарыстоўваць з жэстам спецыяльных магчымасцей (правесці трыма пальцамі па экране знізу ўверх):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" выкарыстоўвае абодва экраны для паказу змесціва"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Прылада моцна нагрэлася"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Функцыя \"Двайны экран\" недаступная, бо тэлефон моцна награваецца"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Выключыць"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Выключыць"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Прылада \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\" наладжана"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Раскладка клавіятуры наладжана для мовы \"<xliff:g id="LAYOUT_1">%s</xliff:g>\". Націсніце, каб змяніць."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Раскладка клавіятуры наладжана для наступных моў: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Націсніце, каб змяніць."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Раскладка клавіятуры наладжана для наступных моў: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Націсніце, каб змяніць."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Раскладка клавіятуры наладжана для наступных моў: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Націсніце, каб змяніць."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Фізічныя клавіятуры наладжаны"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Націсніце, каб праглядзець клавіятуры"</string> </resources> diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml index a07e04eb6e91..b2abe40c8be6 100644 --- a/core/res/res/values-bg/strings.xml +++ b/core/res/res/values-bg/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Обаждания през Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Изключено"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Обаждане през Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Обаждане през мобилна мрежа"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Избор на метод на въвеждане"</string> <string name="show_ime" msgid="6406112007347443383">"Показване на екрана, докато физическата клавиатура е активна"</string> <string name="hardware" msgid="1800597768237606953">"Показване на вирт. клавиатура"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Конфигуриране на <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Конфигуриране на физически клавиатури"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Докоснете, за да изберете език и подредба"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слухови апарати"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Задържахте бутоните за силата на звука. Услугата <xliff:g id="SERVICE_NAME">%1$s</xliff:g> е включена."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Задържахте бутоните за силата на звука. Услугата <xliff:g id="SERVICE_NAME">%1$s</xliff:g> е изключена."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Освободете бутоните за силата на звука. За да включите <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, отново натиснете двата бутона за силата на звука и задръжте за 3 секунди."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Изберете функция, която да използвате, когато докоснете бутона за достъпност:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Изберете коя функция да се използва с жеста за достъпност (прекарване на два пръста нагоре от долната част на екрана):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Изберете коя функция да се използва с жеста за достъпност (прекарване на три пръста нагоре от долната част на екрана):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Приложението <xliff:g id="APP_NAME">%1$s</xliff:g> използва и двата екрана, за да показва съдържание"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Устройството е твърде топло"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Функцията за двоен екран не е налице, защото телефонът ви е твърде топъл"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Изключване"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Изключване"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Устройството <xliff:g id="DEVICE_NAME">%s</xliff:g> е конфигурирано"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"За клавиатурната подредба е зададен <xliff:g id="LAYOUT_1">%s</xliff:g>. Докоснете за промяна."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"За клавиатурната подредба са зададени <xliff:g id="LAYOUT_1">%1$s</xliff:g> и <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Докоснете за промяна."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"За клавиатурната подредба са зададени <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> и <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Докоснете за промяна."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"За клавиатурната подредба са зададени <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> и <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Докоснете за промяна."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физическите клавиатури са конфигурирани"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Докоснете за преглед на клавиатурите"</string> </resources> diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml index d6af1851ef48..64448fd0e454 100644 --- a/core/res/res/values-bn/strings.xml +++ b/core/res/res/values-bn/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"ওয়াই-ফাই"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ওয়াই-ফাই কলিং"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"ওয়াই ফাই কল"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"বন্ধ আছে"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ওয়াই-ফাইয়ের মাধ্যমে কল করুন"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"মোবাইল নেটওয়ার্কের মাধ্যমে কল করুন"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ইনপুট পদ্ধতি বেছে নিন"</string> <string name="show_ime" msgid="6406112007347443383">"ফিজিক্যাল কীবোর্ড সক্রিয় থাকার সময় এটিকে স্ক্রীনে রাখুন"</string> <string name="hardware" msgid="1800597768237606953">"ভার্চুয়াল কীবোর্ড দেখুন"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> কনফিগার করুন"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ফিজিক্যাল কীবোর্ড কনফিগার করুন"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ভাষা এবং লেআউট বেছে নিন আলতো চাপ দিন"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"হিয়ারিং ডিভাইস"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ভলিউম কী ধরে ছিলেন। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> চালু করা হয়েছে।"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ভলিউম কী ধরে ছিলেন। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> বন্ধ করা হয়েছে।"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ভলিউম \'কী\' রিলিজ করুন। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> চালু করুন, দু\'টি ভলিউম \'কী\' আবার প্রেস করে ৩ সেকেন্ড ধরে রাখুন।"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"অ্যাক্সেসিবিলিটি বোতামে ট্যাপ করে আপনি যে ফিচার ব্যবহার করতে চান সেটি বেছে নিন:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"অ্যাক্সেসিবিলিটি জেসচারের (দুটি আঙ্গুল দিয়ে স্ক্রিনের নিচে থেকে উপরের দিকে সোয়াইপ করুন) সাহায্যে আপনি যে ফিচার ব্যবহার করতে চান সেটি বেছে নিন:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"অ্যাক্সেসিবিলিটি জেসচারের (তিনটি আঙ্গুল দিয়ে স্ক্রিনের নিচে থেকে উপরের দিকে সোয়াইপ করুন) সাহায্যে আপনি যে ফিচার ব্যবহার করতে চান সেটি বেছে নিন:"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"কন্টেন্ট দেখানোর জন্য <xliff:g id="APP_NAME">%1$s</xliff:g> দুটি ডিসপ্লে ব্যবহার করছে"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ডিভাইস খুব গরম হয়ে গেছে"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"আপনার ফোন খুব বেশি গরম হয়ে যাচ্ছে বলে \'ডুয়াল স্ক্রিন\' উপলভ্য নেই"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"বন্ধ করুন"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"বন্ধ করুন"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> কনফিগার করা হয়েছে"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"কীবোর্ড লেআউট <xliff:g id="LAYOUT_1">%s</xliff:g>-এ সেট করা আছে। পরিবর্তন করতে ট্যাপ করুন।"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"কীবোর্ড লেআউট <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>-এ সেট করা আছে। পরিবর্তন করতে ট্যাপ করুন।"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"কীবোর্ড লেআউট <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>-এ সেট করা আছে। পরিবর্তন করতে ট্যাপ করুন।"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"কীবোর্ড লেআউট <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>-এ সেট করা আছে… পরিবর্তন করতে ট্যাপ করুন।"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ফিজিক্যাল কীবোর্ড কনফিগার করা হয়েছে"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"কীবোর্ড দেখতে ট্যাপ করুন"</string> </resources> diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml index 8aaa6ae0417a..1a702aad1d07 100644 --- a/core/res/res/values-bs/strings.xml +++ b/core/res/res/values-bs/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"WiFi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Pozivanje putem WIFi-ja"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi poziv"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Isključeno"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Poziv putem WiFi-ja"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Poziv putem mobilne mreže"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Odaberite način unosa"</string> <string name="show_ime" msgid="6406112007347443383">"Prikaži na ekranu dok je fizička tastatura aktivna"</string> <string name="hardware" msgid="1800597768237606953">"Prikaz virtuelne tastature"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurirajte uređaj <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurirajte fizičke tastature"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dodirnite za odabir jezika i rasporeda"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni aparati"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Držali ste tipke za jačinu zvuka. Usluga <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je uključena."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Držali ste tipke za jačinu zvuka. Usluga <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je isključena."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Pustite tipke za jačinu zvuka. Da uključite uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, ponovo pritisnite i zadržite obje tipke za jačinu zvuka 3 sekunde."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Odaberite funkciju koja će se koristiti kada dodirnete dugme Pristupačnost:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Odaberite funkciju koju ćete koristiti kada izvedete pokret za pristupačnost (s dva prsta prevucite prema gore s dna ekrana):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Odaberite funkciju koju ćete koristiti kada izvedete pokret za pristupačnost (s tri prsta prevucite prema gore s dna ekrana):"</string> @@ -2327,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> koristi oba ekrana za prikazivanje sadržaja"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Uređaj je previše zagrijan"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dupli ekran nije dostupan je se telefon previše zagrijava"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Isključi"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Isključi"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Uređaj <xliff:g id="DEVICE_NAME">%s</xliff:g> je konfiguriran"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Raspored tastature je postavljen na <xliff:g id="LAYOUT_1">%s</xliff:g>. Dodirnite da promijenite."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Raspored tastature je postavljen na <xliff:g id="LAYOUT_1">%1$s</xliff:g> i <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Dodirnite da promijenite."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Raspored tastature je postavljen na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> i <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Dodirnite da promijenite."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Raspored tastature je postavljen na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Dodirnite da promijenite."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fizičke tastature su konfigurirane"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Dodirnite da pregledate tastature"</string> </resources> diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml index 5145cbb65193..1fe8f61e2a92 100644 --- a/core/res/res/values-ca/strings.xml +++ b/core/res/res/values-ca/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi‑Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Trucades per Wi‑Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desactivat"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Trucades per Wi‑Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Trucades per la xarxa mòbil"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Selecciona un mètode d\'introducció"</string> <string name="show_ime" msgid="6406112007347443383">"Mantén-lo en pantalla mentre el teclat físic està actiu"</string> <string name="hardware" msgid="1800597768237606953">"Mostra el teclat virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configura <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configura els teclats físics"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toca per seleccionar l\'idioma i la disposició"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1517,7 +1517,7 @@ <string name="next_button_label" msgid="6040209156399907780">"Següent"</string> <string name="skip_button_label" msgid="3566599811326688389">"Omet"</string> <string name="no_matches" msgid="6472699895759164599">"No s\'ha trobat cap coincidència"</string> - <string name="find_on_page" msgid="5400537367077438198">"Troba-ho a la pàgina"</string> + <string name="find_on_page" msgid="5400537367077438198">"Cerca a la pàgina"</string> <string name="matches_found" msgid="2296462299979507689">"{count,plural, =1{# coincidència}many{# de {total}}other{# de {total}}}"</string> <string name="action_mode_done" msgid="2536182504764803222">"Fet"</string> <string name="progress_erasing" msgid="6891435992721028004">"S\'està esborrant l\'emmagatzematge compartit…"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Audiòfons"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"S\'han mantingut premudes les tecles de volum. S\'ha activat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"S\'han mantingut premudes les tecles de volum. S\'ha desactivat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Deixa anar les tecles de volum. Per activar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, torna a mantenir premudes totes dues tecles de volum durant 3 segons."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Tria la funció que vols utilitzar quan toquis el botó d\'accessibilitat:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Tria la funció que vols utilitzar amb el gest d\'accessibilitat (llisca cap amunt amb dos dits des de la part inferior de la pantalla):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Tria la funció que vols utilitzar amb el gest d\'accessibilitat (fes lliscar tres dits cap amunt des de la part inferior de la pantalla):"</string> @@ -1923,7 +1922,7 @@ <string name="usb_midi_peripheral_manufacturer_name" msgid="7557148557088787741">"Android"</string> <string name="usb_midi_peripheral_product_name" msgid="2836276258480904434">"Port perifèric USB"</string> <string name="floating_toolbar_open_overflow_description" msgid="2260297653578167367">"Més opcions"</string> - <string name="floating_toolbar_close_overflow_description" msgid="3949818077708138098">"Tanca el menú addicional"</string> + <string name="floating_toolbar_close_overflow_description" msgid="3949818077708138098">"Tanca el menú de desbordament"</string> <string name="maximize_button_text" msgid="4258922519914732645">"Maximitza"</string> <string name="close_button_text" msgid="10603510034455258">"Tanca"</string> <string name="notification_messaging_title_template" msgid="772857526770251989">"<xliff:g id="CONVERSATION_TITLE">%1$s</xliff:g>: <xliff:g id="SENDER_NAME">%2$s</xliff:g>"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> està utilitzant les dues pantalles per mostrar contingut"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"El dispositiu està massa calent"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"La pantalla dual no està disponible perquè el telèfon està massa calent"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactiva"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactiva"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configurat"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Disseny del teclat definit en <xliff:g id="LAYOUT_1">%s</xliff:g>. Toca per canviar-ho."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Disseny del teclat definit en <xliff:g id="LAYOUT_1">%1$s</xliff:g> i <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Toca per canviar-ho."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Disseny del teclat definit en <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> i <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Toca per canviar-ho."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Disseny del teclat definit en <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toca per canviar-ho."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclats físic configurats"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toca per veure els teclats"</string> </resources> diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml index 4aa119237b8d..0ed1dd8472b1 100644 --- a/core/res/res/values-cs/strings.xml +++ b/core/res/res/values-cs/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Volání přes WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Vypnuto"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Volání přes Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Volání přes mobilní síť"</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Vybrat metodu zadávání"</string> <string name="show_ime" msgid="6406112007347443383">"Ponechat na obrazovce, když je aktivní fyzická klávesnice"</string> <string name="hardware" msgid="1800597768237606953">"Zobrazit virtuální klávesnici"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Nakonfigurujte zařízení <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Nakonfigurujte fyzické klávesnice"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Klepnutím vyberte jazyk a rozvržení"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789AÁBCČDĎEÉĚFGHCHIÍJKLMNŇOÓPQRŘSŠTŤUÚVWXYÝZŽ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Naslouchátka"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Byla podržena tlačítka hlasitosti. Služba <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je zapnutá."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Byla podržena tlačítka hlasitosti. Služba <xliff:g id="SERVICE_NAME">%1$s</xliff:g> byla vypnuta."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Uvolněte tlačítka hlasitosti. Pokud chcete zapnout službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, znovu tři sekundy podržte obě tlačítka hlasitosti."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Určete, jakou funkci aktivujete klepnutím na tlačítko přístupnosti:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Určete, jakou funkci aktivujete pomocí gesta přístupnosti (přejetí dvěma prsty ze spodní části obrazovky nahoru):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Určete, jakou funkci aktivujete pomocí gesta přístupnosti (přejetí třemi prsty ze spodní části obrazovky nahoru):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> používá k zobrazení obsahu oba displeje"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Zařízení je příliš horké"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dvojitá obrazovka není k dispozici, protože se telefon příliš zahřívá"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Vypnout"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Vypnout"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Zařízení <xliff:g id="DEVICE_NAME">%s</xliff:g> je nakonfigurováno"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Rozložení klávesnice je nastaveno na <xliff:g id="LAYOUT_1">%s</xliff:g>. Klepnutím jej změníte."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Rozložení klávesnice je nastaveno na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Klepnutím jej změníte."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Rozložení klávesnice je nastaveno na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Klepnutím jej změníte."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Rozložení klávesnice je nastaveno na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Klepnutím jej změníte."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fyzické klávesnice byly nakonfigurovány"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Klepnutím zobrazíte klávesnice"</string> </resources> diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml index 44abefbebb22..3bb53d49e0a3 100644 --- a/core/res/res/values-da/strings.xml +++ b/core/res/res/values-da/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi-opkald"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Fra"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Ring via Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Ring via mobilnetværk"</string> @@ -1151,7 +1153,7 @@ <string name="selectTextMode" msgid="3225108910999318778">"Markér tekst"</string> <string name="undo" msgid="3175318090002654673">"Fortryd"</string> <string name="redo" msgid="7231448494008532233">"Annuller fortryd"</string> - <string name="autofill" msgid="511224882647795296">"AutoFyld"</string> + <string name="autofill" msgid="511224882647795296">"Autofyld"</string> <string name="textSelectionCABTitle" msgid="5151441579532476940">"Tekstmarkering"</string> <string name="addToDictionary" msgid="8041821113480950096">"Føj til ordbog"</string> <string name="deleteText" msgid="4200807474529938112">"Slet"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Vælg inputmetode"</string> <string name="show_ime" msgid="6406112007347443383">"Behold den på skærmen, mens det fysiske tastatur er aktivt"</string> <string name="hardware" msgid="1800597768237606953">"Vis virtuelt tastatur"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurer <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurer fysiske tastaturer"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tryk for at vælge sprog og layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Høreapparater"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Lydstyrkeknapperne blev holdt nede. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> er aktiveret."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Lydstyrkeknapperne blev holdt nede. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> er deaktiveret."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Slip lydstyrkeknapperne. Du kan aktivere <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ved at holde begge lydstyrkeknapper nede igen i 3 sekunder."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Vælg, hvilken funktion du vil bruge, når du trykker på knappen til hjælpefunktioner:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Vælg, hvilken funktion du vil bruge, når du laver bevægelsen for hjælpefunktioner (stryger opad fra bunden af skærmen med to fingre):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Vælg, hvilken funktion du vil bruge, når du laver bevægelsen for hjælpefunktioner (stryger opad fra bunden af skærmen med tre fingre):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> bruger begge skærme til at vise indhold"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Enheden er for varm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dobbeltskærm er ikke tilgængelig, fordi din telefon er for varm"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Deaktiver"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Deaktiver"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> er konfigureret"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Tastaturlayoutet er angivet som <xliff:g id="LAYOUT_1">%s</xliff:g>. Tryk for at ændre dette."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Tastaturlayoutet er angivet som <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tryk for at ændre dette."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Tastaturlayoutet er angivet som <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tryk for at ændre dette."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Tastaturlayoutet er angivet som <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Tryk for at ændre dette."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fysiske tastaturer er konfigureret"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tryk for at se tastaturer"</string> </resources> diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml index 2f485bb250ab..8530755a666b 100644 --- a/core/res/res/values-de/strings.xml +++ b/core/res/res/values-de/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"WLAN"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WLAN-Telefonie"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Aus"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Anruf über WLAN"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Über Mobilfunknetz anrufen"</string> @@ -1255,7 +1257,7 @@ <string name="android_upgrading_starting_apps" msgid="6206161195076057075">"Apps werden gestartet..."</string> <string name="android_upgrading_complete" msgid="409800058018374746">"Start wird abgeschlossen..."</string> <string name="fp_power_button_enrollment_message" msgid="5648173517663246140">"Du hast die Ein-/Aus-Taste gedrückt — damit wird der Bildschirm ausgeschaltet.\n\nTippe die Taste leicht an, um deinen Fingerabdruck einzurichten."</string> - <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Zum Beenden der Einrichtung Bildschirm deaktivieren"</string> + <string name="fp_power_button_enrollment_title" msgid="6976841690455338563">"Zum Beenden Bildschirm deaktivieren"</string> <string name="fp_power_button_enrollment_button_text" msgid="3199783266386029200">"Deaktivieren"</string> <string name="fp_power_button_bp_title" msgid="5585506104526820067">"Mit der Fingerabdruckprüfung fortfahren?"</string> <string name="fp_power_button_bp_message" msgid="2983163038168903393">"Du hast die Ein-/Aus-Taste gedrückt — damit wird der Bildschirm ausgeschaltet.\n\nTippe die Taste leicht an, um mit deinem Fingerabdruck deine Identität zu bestätigen."</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Eingabemethode wählen"</string> <string name="show_ime" msgid="6406112007347443383">"Bildschirmtastatur auch dann anzeigen, wenn physische Tastatur aktiv ist"</string> <string name="hardware" msgid="1800597768237606953">"Virtuelle Tastatur einblenden"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> konfigurieren"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Physische Tastaturen konfigurieren"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Zum Auswählen von Sprache und Layout tippen"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hörgeräte"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Lautstärketasten wurden gedrückt gehalten. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ist aktiviert."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Lautstärketasten wurden gedrückt gehalten. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ist deaktiviert."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Lass die Lautstärketasten los. Halte zum Aktivieren von <xliff:g id="SERVICE_NAME">%1$s</xliff:g> beide Lautstärketasten noch einmal 3 Sekunden lang gedrückt."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Wähle eine Funktion aus, die verwendet wird, wenn du auf die Schaltfläche \"Bedienungshilfen\" tippst:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Wähle die Funktion aus, die mit der Touch-Geste für die Bedienungshilfen verwendet werden soll (mit zwei Fingern vom unteren Bildschirmrand nach oben wischen):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Wähle eine Funktion aus, die mit der Touch-Geste für die Bedienungshilfen verwendet werden soll (mit drei Fingern vom unteren Bildschirmrand nach oben wischen):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> nutzt zum Anzeigen von Inhalten beide Displays"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Gerät ist zu warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dual Screen ist nicht verfügbar, weil dein Smartphone zu warm ist"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Deaktivieren"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Deaktivieren"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> konfiguriert"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Tastaturlayout festgelegt auf <xliff:g id="LAYOUT_1">%s</xliff:g>. Zum Ändern tippen."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Tastaturlayout festgelegt auf <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Zum Ändern tippen."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Tastaturlayout festgelegt auf <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Zum Ändern tippen."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Tastaturlayout festgelegt auf <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Zum Ändern tippen."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Physische Tastaturen konfiguriert"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Zum Ansehen der Tastaturen tippen"</string> </resources> diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml index 34d718804095..28b269bd089e 100644 --- a/core/res/res/values-el/strings.xml +++ b/core/res/res/values-el/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Κλήση Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Κλήση μέσω Wi-Fi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Ανενεργό"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Κλήση μέσω Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Κλήση μέσω δικτύου κινητής τηλεφωνίας"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Επιλογή μεθόδου εισόδου"</string> <string name="show_ime" msgid="6406112007347443383">"Να παραμένει στην οθόνη όταν είναι ενεργό το κανονικό πληκτρολόγιο"</string> <string name="hardware" msgid="1800597768237606953">"Εμφάνιση εικονικού πληκτρολ."</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Διαμόρφωση <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Διαμόρφωση φυσικών πληκτρολογίων"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Πατήστε για να επιλέξετε γλώσσα και διάταξη"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Συσκευές ακοής"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Τα πλήκτρα έντασης είναι πατημένα. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ενεργοποιήθηκε."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Τα πλήκτρα έντασης είναι πατημένα. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>: απενεργοποιημένο"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Αφήστε τα κουμπιά έντασης ήχου. Για να ενεργοποιήσετε την υπηρεσία <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, πατήστε ξανά παρατεταμένα και τα δύο κουμπιά έντασης ήχου για τρία δευτερόλεπτα."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Επιλέξτε μια λειτουργία που θα χρησιμοποιείται κατά το πάτημα του κουμπιού προσβασιμότητας:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Επιλέξτε μια λειτουργία που θα χρησιμοποιείται με την κίνηση προσβασιμότητας (σύρετε με δύο δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Επιλέξτε μια λειτουργία που θα χρησιμοποιείται με την κίνηση προσβασιμότητας (σύρετε με τρία δάχτυλα προς τα επάνω από το κάτω μέρος της οθόνης):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> χρησιμοποιεί και τις δύο οθόνες για να εμφανίζει περιεχόμενο"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Η θερμοκρασία της συσκευής είναι πολύ υψηλή"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Η λειτουργία διπλής οθόνης δεν είναι διαθέσιμη επειδή η θερμοκρασία του τηλεφώνου αυξάνεται υπερβολικά"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Απενεργοποίηση"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Απενεργοποίηση"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Η συσκευή <xliff:g id="DEVICE_NAME">%s</xliff:g> διαμορφώθηκε"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Η διάταξη πληκτρολογίου ορίστηκε σε <xliff:g id="LAYOUT_1">%s</xliff:g>. Πατήστε για αλλαγή."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Η διάταξη πληκτρολογίου ορίστηκε σε <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Πατήστε για αλλαγή."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Η διάταξη πληκτρολογίου ορίστηκε σε <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Πατήστε για αλλαγή."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Η διάταξη πληκτρολογίου ορίστηκε σε <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Πατήστε για αλλαγή."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Τα φυσικά πληκτρολόγια διαμορφώθηκαν"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Πατήστε για να δείτε πληκτρολόγια"</string> </resources> diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml index c83e2a75f75b..4996e4f904f4 100644 --- a/core/res/res/values-en-rAU/strings.xml +++ b/core/res/res/values-en-rAU/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi Calling"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi Call"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Call over Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Call over mobile network"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Choose input method"</string> <string name="show_ime" msgid="6406112007347443383">"Keep it on screen while physical keyboard is active"</string> <string name="hardware" msgid="1800597768237606953">"Show virtual keyboard"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configure <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configure physical keyboards"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tap to select language and layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Held volume keys. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> turned on."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Held volume keys. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> turned off."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Release the volume keys. To turn on <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, press and hold both volume keys again for three seconds."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Choose a feature to use when you tap the Accessibility button:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Choose a feature to use with the accessibility gesture (swipe up from the bottom of the screen with two fingers):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Choose a feature to use with the accessibility gesture (swipe up from the bottom of the screen with three fingers):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> is using both displays to show content"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Device is too warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dual Screen is unavailable because your phone is getting too warm"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configured"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Keyboard layout set to <xliff:g id="LAYOUT_1">%s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Tap to change."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Physical keyboards configured"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tap to view keyboards"</string> </resources> diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml index ff34dcad7fdb..597569c39754 100644 --- a/core/res/res/values-en-rCA/strings.xml +++ b/core/res/res/values-en-rCA/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi Calling"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"WiFi Call"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Call over Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Call over mobile network"</string> @@ -2323,6 +2324,12 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> is using both displays to show content"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Device is too warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dual Screen is unavailable because your phone is getting too warm"</string> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> + <skip /> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> + <skip /> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> + <skip /> <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configured"</string> <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Keyboard layout set to <xliff:g id="LAYOUT_1">%s</xliff:g>. Tap to change."</string> diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml index 3fc454022614..76fdcef80a34 100644 --- a/core/res/res/values-en-rGB/strings.xml +++ b/core/res/res/values-en-rGB/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi Calling"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi Call"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Call over Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Call over mobile network"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Choose input method"</string> <string name="show_ime" msgid="6406112007347443383">"Keep it on screen while physical keyboard is active"</string> <string name="hardware" msgid="1800597768237606953">"Show virtual keyboard"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configure <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configure physical keyboards"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tap to select language and layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Held volume keys. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> turned on."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Held volume keys. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> turned off."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Release the volume keys. To turn on <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, press and hold both volume keys again for three seconds."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Choose a feature to use when you tap the Accessibility button:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Choose a feature to use with the accessibility gesture (swipe up from the bottom of the screen with two fingers):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Choose a feature to use with the accessibility gesture (swipe up from the bottom of the screen with three fingers):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> is using both displays to show content"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Device is too warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dual Screen is unavailable because your phone is getting too warm"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configured"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Keyboard layout set to <xliff:g id="LAYOUT_1">%s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Tap to change."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Physical keyboards configured"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tap to view keyboards"</string> </resources> diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml index 93d45c765cd5..45afefcdd487 100644 --- a/core/res/res/values-en-rIN/strings.xml +++ b/core/res/res/values-en-rIN/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi Calling"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi Call"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Call over Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Call over mobile network"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Choose input method"</string> <string name="show_ime" msgid="6406112007347443383">"Keep it on screen while physical keyboard is active"</string> <string name="hardware" msgid="1800597768237606953">"Show virtual keyboard"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configure <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configure physical keyboards"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tap to select language and layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hearing devices"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Held volume keys. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> turned on."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Held volume keys. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> turned off."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Release the volume keys. To turn on <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, press and hold both volume keys again for three seconds."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Choose a feature to use when you tap the Accessibility button:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Choose a feature to use with the accessibility gesture (swipe up from the bottom of the screen with two fingers):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Choose a feature to use with the accessibility gesture (swipe up from the bottom of the screen with three fingers):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> is using both displays to show content"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Device is too warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dual Screen is unavailable because your phone is getting too warm"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configured"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Keyboard layout set to <xliff:g id="LAYOUT_1">%s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tap to change."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Keyboard layout set to <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Tap to change."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Physical keyboards configured"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tap to view keyboards"</string> </resources> diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml index d55ee1668b48..6c57327cfa20 100644 --- a/core/res/res/values-en-rXC/strings.xml +++ b/core/res/res/values-en-rXC/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi Calling"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"WiFi Call"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Call over Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Call over mobile network"</string> @@ -2323,6 +2324,12 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> is using both displays to show content"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Device is too warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dual Screen is unavailable because your phone is getting too warm"</string> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> + <skip /> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> + <skip /> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> + <skip /> <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Turn off"</string> <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configured"</string> <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Keyboard layout set to <xliff:g id="LAYOUT_1">%s</xliff:g>. Tap to change."</string> diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml index f32279a6ebdf..d2c12e4f386d 100644 --- a/core/res/res/values-es-rUS/strings.xml +++ b/core/res/res/values-es-rUS/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Llamada por Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Llamada por Wi-Fi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desactivada"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Llamar mediante Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Llamar mediante red móvil"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Selecciona el método de entrada"</string> <string name="show_ime" msgid="6406112007347443383">"Mientras el teclado físico está activo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configura <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configura teclados físicos"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Presiona para seleccionar el idioma y el diseño"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dispositivos auditivos"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Como mantuviste presionadas las teclas de volumen, se activó <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Se presionaron las teclas de volumen. Se desactivó <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Suelta las teclas de volumen. Para activar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, vuelve a mantener presionadas las teclas de volumen durante 3 segundos."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Elige una función para usar cuando pulses el botón accesibilidad:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Elige la función que se usará cuando realices el gesto de accesibilidad (deslizar dos dedos hacia arriba desde la parte inferior de la pantalla):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Elige la función que se usará cuando realices el gesto de accesibilidad (deslizar tres dedos hacia arriba desde la parte inferior de la pantalla):"</string> @@ -2327,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> está usando ambas pantallas para mostrar contenido"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"El dispositivo está muy caliente"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"La Pantalla dual no está disponible porque el teléfono se está calentando demasiado"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactivar"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactivar"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Se configuró <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Diseño de teclado establecido en <xliff:g id="LAYOUT_1">%s</xliff:g>. Presiona para cambiar esta opción."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Diseño de teclado establecido en <xliff:g id="LAYOUT_1">%1$s</xliff:g> y <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Presiona para cambiar esta opción."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Diseño de teclado establecido en <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> y <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Presiona para cambiar esta opción."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Diseño de teclado establecido en <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> y <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Presiona para cambiar esta opción."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Presiona para ver los teclados"</string> </resources> diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml index ffc018f2b4c2..b221b9e5c20e 100644 --- a/core/res/res/values-es/strings.xml +++ b/core/res/res/values-es/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi‑Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Llamada por Wi‑Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWiFi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desactivado"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Llamar a través de la red Wi‑Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Llamar a través de la red móvil"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Selecciona un método de entrada"</string> <string name="show_ime" msgid="6406112007347443383">"Mientras el teclado físico está activo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configura <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configura teclados físicos"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toca para seleccionar el idioma y el diseño"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dispositivos auditivos"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Al mantener pulsadas las teclas de volumen, se ha activado <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Se han mantenido pulsadas las teclas de volumen. Se ha desactivado <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Suelta las teclas de volumen. Para activar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, mantén pulsadas las dos teclas de volumen de nuevo durante 3 segundos."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Selecciona la función que se utilizará cuando toques el botón de accesibilidad:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Elige la función que se utilizará con el gesto de accesibilidad (deslizar dos dedos hacia arriba desde la parte inferior de la pantalla):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Elige la función que se utilizará con el gesto de accesibilidad (deslizar tres dedos hacia arriba desde la parte inferior de la pantalla):"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> está usando ambas pantallas para mostrar contenido"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"El dispositivo está demasiado caliente"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Cámara Dual no está disponible porque el teléfono se está calentando demasiado"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactivar"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactivar"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Se ha configurado <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Diseño del teclado definido como <xliff:g id="LAYOUT_1">%s</xliff:g>. Toca para cambiarlo."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Diseño del teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g> y <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Toca para cambiarlo."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Diseño del teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> y <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Toca para cambiarlo."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Diseño del teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toca para cambiarlo."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toca para ver los teclados"</string> </resources> diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml index d84db732d6ce..f4f3c4ddafd2 100644 --- a/core/res/res/values-et/strings.xml +++ b/core/res/res/values-et/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"WiFi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi-kõned"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Väljas"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Helista WiFi kaudu"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Helista mobiilsidevõrgu kaudu"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Valige sisestusmeetod"</string> <string name="show_ime" msgid="6406112007347443383">"Hoia seda ekraanil, kui füüsiline klaviatuur on aktiivne"</string> <string name="hardware" msgid="1800597768237606953">"Virtuaalse klaviatuuri kuvam."</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Seadistage <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Seadistage füüsilised klaviatuurid"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Puudutage keele ja paigutuse valimiseks"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSŠZŽTUVWÕÄÖÜXY"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Kuuldeseadmed"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Helitugevuse klahve hoiti all. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> lülitati sisse."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Helitugevuse klahve hoiti all. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> lülitati välja."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Vabastage helitugevuse klahvid. Teenuse <xliff:g id="SERVICE_NAME">%1$s</xliff:g> sisselülitamiseks vajutage uuesti mõlemat helitugevuse klahvi ja hoidke neid 3 sekundit all."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Valige, millist funktsiooni kasutada, kui vajutate juurdepääsetavuse nuppu:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Valige, millist funktsiooni juurdepääsetavuse liigutusega (kahe sõrmega ekraanikuval alt üles pühkimine) kasutada:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Valige, millist funktsiooni juurdepääsetavuse liigutusega (kolme sõrmega ekraanikuval alt üles pühkimine) kasutada:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> kasutab sisu kuvamiseks mõlemat ekraani"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Seade on liiga kuum"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Kahe ekraani režiim pole saadaval, kuna teie telefon läheb liiga kuumaks"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Lülita välja"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Lülita välja"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> on seadistatud"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Klaviatuuripaigutuseks on määratud <xliff:g id="LAYOUT_1">%s</xliff:g>. Puudutage muutmiseks."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Klaviatuuripaigutuseks on määratud <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Puudutage muutmiseks."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Klaviatuuripaigutuseks on määratud <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Puudutage muutmiseks."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Klaviatuuripaigutuseks on määratud <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> … puudutage muutmiseks."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Füüsilised klaviatuurid on seadistatud"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Puudutage klaviatuuride vaatamiseks"</string> </resources> diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml index e7aabd8fdd6e..3ca55e2e3cf2 100644 --- a/core/res/res/values-eu/strings.xml +++ b/core/res/res/values-eu/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wifia"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi bidezko deiak"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desaktibatuta"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Deitu wifi bidez"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Deitu sare mugikorraren bidez"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Aukeratu idazketa-metodoa"</string> <string name="show_ime" msgid="6406112007347443383">"Erakutsi pantailan teklatu fisikoa aktibo dagoen bitartean"</string> <string name="hardware" msgid="1800597768237606953">"Erakutsi teklatu birtuala"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfiguratu <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfiguratu teklatu fisikoak"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Hizkuntza eta diseinua hautatzeko, sakatu hau"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Audifonoak"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Bolumen-botoiak sakatuta eduki direnez, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aktibatu egin da."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Bolumen-botoiak sakatuta eduki direnez, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desaktibatu egin da."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Askatu bolumen-botoiak. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> aktibatzeko, eduki sakatuta berriro bi bolumen-botoiak hiru segundoz."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Aukeratu zein eginbide erabili nahi duzun Erabilerraztasuna botoia sakatzean:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Aukeratu zein eginbide erabili nahi duzun erabilerraztasun-keinuarekin (hau da, bi hatz pantailaren behealdetik gora pasatzean):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Aukeratu zein eginbide erabili nahi duzun erabilerraztasun-keinuarekin (hau da, hiru hatz pantailaren behealdetik gora pasatzean):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> bi pantailak erabiltzen ari da edukia erakusteko"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Gailua beroegi dago"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Bi pantailako modua ez dago erabilgarri telefonoa berotzen ari delako"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desaktibatu"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desaktibatu"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Konfiguratu da <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Ezarri da <xliff:g id="LAYOUT_1">%s</xliff:g> gisa teklatuaren diseinua. Diseinu hori aldatzeko, sakatu hau."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Ezarri da <xliff:g id="LAYOUT_1">%1$s</xliff:g> eta <xliff:g id="LAYOUT_2">%2$s</xliff:g> gisa teklatuaren diseinua. Diseinu hori aldatzeko, sakatu hau."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Ezarri da <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> eta <xliff:g id="LAYOUT_3">%3$s</xliff:g> gisa teklatuaren diseinua. Diseinu hori aldatzeko, sakatu hau."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Ezarri da <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> eta <xliff:g id="LAYOUT_3">%3$s</xliff:g> gisa teklatuaren diseinua… Diseinu hori aldatzeko, sakatu hau."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Konfiguratu dira teklatu fisikoak"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Sakatu hau teklatuak ikusteko"</string> </resources> diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml index 4b9819419699..5473cec93daa 100644 --- a/core/res/res/values-fa/strings.xml +++ b/core/res/res/values-fa/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"تماس ازطریق WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"خاموش"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"تماس ازطریق Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"تماس ازطریق شبکه تلفن همراه"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"انتخاب روش ورودی"</string> <string name="show_ime" msgid="6406112007347443383">"وقتی صفحهکلید فیزیکی فعال است این ویرایشگر را روی صفحه نگهمیدارد"</string> <string name="hardware" msgid="1800597768237606953">"نمایش صفحهکلید مجازی"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"پیکربندی <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"پیکربندی صفحهکلیدهای فیزیکی"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"برای انتخاب زبان و چیدمان ضربه بزنید"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"دستگاههای کمکشنوایی"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"کلیدهای میزان صدا پایین نگه داشته شد. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> روشن شد."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"کلیدهای میزان صدا پایین نگه داشته شد. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> خاموش شد."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"کلیدهای میزان صدا را رها کنید. برای روشن کردن <xliff:g id="SERVICE_NAME">%1$s</xliff:g>، هر دو کلید میزان صدا را مجدداً بهمدت ۳ ثانیه فشار دهید و نگه دارید."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ویژگی را انتخاب کنید که هنگام ضربه زدن روی دکمه دسترسپذیری استفاده میشود:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ویژگی را برای استفاده با اشاره دسترسپذیری انتخاب کنید (با دو انگشت صفحه را از پایین تند بهبالا بکشید):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ویزگی را برای استفاده با اشاره دسترسپذیری انتخاب کنید (با سه انگشت صفحه را از پایین تند بهبالا بکشید):"</string> @@ -2058,7 +2057,7 @@ <string name="mmcc_imsi_unknown_in_hlr_msim_template" msgid="3688508325248599657">"سیمکارت <xliff:g id="SIMNUMBER">%d</xliff:g> مجوز لازم را ندارد"</string> <string name="mmcc_illegal_ms_msim_template" msgid="832644375774599327">"سیمکارت <xliff:g id="SIMNUMBER">%d</xliff:g> مجاز نیست"</string> <string name="mmcc_illegal_me_msim_template" msgid="4802735138861422802">"سیمکارت <xliff:g id="SIMNUMBER">%d</xliff:g> مجاز نیست"</string> - <string name="popup_window_default_title" msgid="6907717596694826919">"پنجره بازشو"</string> + <string name="popup_window_default_title" msgid="6907717596694826919">"پنجره بالاپر"</string> <string name="slice_more_content" msgid="3377367737876888459">"+ <xliff:g id="NUMBER">%1$d</xliff:g>"</string> <string name="shortcut_restored_on_lower_version" msgid="9206301954024286063">"نسخه برنامه تنزل داده شده است یا با این میانبر سازگار نیست"</string> <string name="shortcut_restore_not_supported" msgid="4763198938588468400">"نمیتوان میانبر را بازیابی کرد زیرا برنامه از پشتیبانگیری و بازیابی پشتیبانی نمیکند"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> از هر دو نمایشگر برای نمایش محتوا استفاده میکند"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"دستگاه بیشازحد گرم شده است"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"«صفحه دوتایی» دردسترس نیست زیرا تلفن بیشازحد گرم شده است"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"خاموش کردن"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"خاموش کردن"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> پیکربندی شد"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"طرحبندی صفحهکلید روی <xliff:g id="LAYOUT_1">%s</xliff:g> تنظیم شد. برای تغییر دادن، ضربه بزنید."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"طرحبندی صفحهکلید روی <xliff:g id="LAYOUT_1">%1$s</xliff:g>، <xliff:g id="LAYOUT_2">%2$s</xliff:g> تنظیم شد. برای تغییر دادن، ضربه بزنید."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"طرحبندی صفحهکلید روی <xliff:g id="LAYOUT_1">%1$s</xliff:g>، <xliff:g id="LAYOUT_2">%2$s</xliff:g>، <xliff:g id="LAYOUT_3">%3$s</xliff:g> تنظیم شد. برای تغییر دادن، ضربه بزنید."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"صفحهکلید روی این طرحبندیها تنظیم شد: <xliff:g id="LAYOUT_1">%1$s</xliff:g>، <xliff:g id="LAYOUT_2">%2$s</xliff:g>، <xliff:g id="LAYOUT_3">%3$s</xliff:g>… برای تغییر ضربه بزنید"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"صفحهکلیدهای فیزیکی پیکربندی شدند"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"برای مشاهده صفحهکلیدها ضربه بزنید"</string> </resources> diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml index 487082d4d8a8..9ec3fbaf0adf 100644 --- a/core/res/res/values-fi/strings.xml +++ b/core/res/res/values-fi/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi-puhelut"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Ei päällä"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Soita Wi-Fin kautta"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Soita mobiiliverkon kautta"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Valitse syöttötapa"</string> <string name="show_ime" msgid="6406112007347443383">"Pidä näytöllä, kun fyysinen näppäimistö on aktiivinen"</string> <string name="hardware" msgid="1800597768237606953">"Näytä virtuaalinen näppäimistö"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Määritä <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Määritä fyysiset näppäimistöt"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Valitse kieli ja asettelu koskettamalla."</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Kuulolaitteet"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Äänenvoimakkuuspainikkeita painettiin pitkään. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> laitettiin päälle."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Äänenvoimakkuuspainikkeita painettiin pitkään. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> laitettiin pois päältä."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Vapauta äänenvoimakkuuspainikkeet. Laita <xliff:g id="SERVICE_NAME">%1$s</xliff:g> päälle painamalla äänenvoimakkuuspainikkeita uudelleen kolmen sekunnin ajan."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Valitse ominaisuus, jonka esteettömyyspainike aktivoi:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Valitse ominaisuus, jota käytetään esteettömyyseleellä (pyyhkäise näytön alalaidasta ylös kahdella sormella):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Valitse ominaisuus, jota käytetään esteettömyyseleellä (pyyhkäise näytön alalaidasta ylös kolmella sormella):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> käyttää molempia näyttöjä sisällön näyttämiseen"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Laite on liian lämmin"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Kaksoisnäyttö ei ole käytettävissä, koska puhelin on liian lämmin"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Laita pois päältä"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Laita pois päältä"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> määritetty"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Näppäimistöasetteluksi valittu <xliff:g id="LAYOUT_1">%s</xliff:g>. Muuta asetuksia napauttamalla."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Näppäimistöasetteluksi valittu <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Muuta asetuksia napauttamalla."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Näppäimistöasetteluksi valittu <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Muuta asetuksia napauttamalla."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Näppäimistöasetteluksi valittu <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Muuta asetuksia napauttamalla."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fyysiset näppäimistöt määritetty"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Katso näppäimistöt napauttamalla"</string> </resources> diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml index f0d55289bd9b..04597fa0d644 100644 --- a/core/res/res/values-fr-rCA/strings.xml +++ b/core/res/res/values-fr-rCA/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Appels Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"Voix par Wi-Fi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Désactivé"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Appels par Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Appels sur réseau cellulaire"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Sélectionnez le mode de saisie"</string> <string name="show_ime" msgid="6406112007347443383">"Afficher lorsque le clavier physique est activé"</string> <string name="hardware" msgid="1800597768237606953">"Afficher le clavier virtuel"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configurer <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configurer les claviers physiques"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Touchez pour sélectionner la langue et la configuration du clavier"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Appareils auditifs"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Touches de volume maintenues enfoncées. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> activé."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Touches de volume maintenues enfoncées. Service <xliff:g id="SERVICE_NAME">%1$s</xliff:g> désactivé."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Relâchez les touches de volume. Pour activer <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, maintenez les deux touches de volume enfoncées pendant 3 secondes."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Choisissez une fonctionnalité à utiliser lorsque vous touchez le bouton d\'accessibilité :"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Choisissez une fonctionnalité à utiliser lorsque vous utilisez le geste d\'accessibilité (balayer l\'écran de bas en haut avec deux doigts) :"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Choisissez une fonctionnalité à utiliser lorsque vous utilisez le geste d\'accessibilité (balayer l\'écran de bas en haut avec trois doigts) :"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> utilise les deux écrans pour afficher le contenu"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"L\'appareil est trop chaud"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Le double écran n\'est pas accessible, car votre téléphone est trop chaud"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Désactiver"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Désactiver"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> est configuré"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Disposition du clavier définie à <xliff:g id="LAYOUT_1">%s</xliff:g>. Touchez pour modifier."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Disposition du clavier définie à <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Touchez pour modifier."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Disposition du clavier définie à <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Touchez pour modifier."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Disposition du clavier définie à <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Touchez pour modifier."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Claviers physiques configurés"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Touchez pour afficher les claviers"</string> </resources> diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml index 60c61fb1c90f..ff74083bba45 100644 --- a/core/res/res/values-fr/strings.xml +++ b/core/res/res/values-fr/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Appels Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWiFi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Désactivé"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Appel via le Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Appel via le réseau mobile"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Sélectionnez le mode de saisie"</string> <string name="show_ime" msgid="6406112007347443383">"Afficher le clavier virtuel même lorsque le clavier physique est actif"</string> <string name="hardware" msgid="1800597768237606953">"Afficher le clavier virtuel"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configurer <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configurez les claviers physiques"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Appuyer pour sélectionner la langue et la disposition"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Prothèses auditives"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Touches de volume appuyées de manière prolongée. Service <xliff:g id="SERVICE_NAME">%1$s</xliff:g> activé."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Touches de volume appuyées de manière prolongée. Service <xliff:g id="SERVICE_NAME">%1$s</xliff:g> désactivé."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Relâchez les boutons de volume. Pour activer <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, appuyez de nouveau sur les deux boutons de volume pendant trois secondes."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Choisissez une fonctionnalité à utiliser lorsque vous appuyez sur le bouton Accessibilité :"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Choisissez une fonctionnalité à utiliser avec le geste d\'accessibilité (balayez l\'écran de bas en haut avec deux doigts) :"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Choisissez une fonctionnalité à utiliser avec le geste d\'accessibilité (balayer l\'écran de bas en haut avec trois doigts) :"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> utilise les deux écrans pour afficher du contenu"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"L\'appareil est trop chaud"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Double écran n\'est pas disponible, car votre téléphone surchauffe"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Désactiver"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Désactiver"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> configuré"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Disposition du clavier définie sur <xliff:g id="LAYOUT_1">%s</xliff:g>. Appuyez pour la modifier."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Disposition du clavier définie sur <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Appuyez pour la modifier."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Disposition du clavier définie sur <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Appuyez pour la modifier."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Disposition du clavier définie sur <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Appuyez pour la modifier."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Claviers physiques configurés"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Appuyez pour voir les claviers"</string> </resources> diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml index 8d1aac3a59fd..1f86aa5923b5 100644 --- a/core/res/res/values-gl/strings.xml +++ b/core/res/res/values-gl/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wifi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Chamadas por wifi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desactivado"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Chama por wifi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Chama pola rede de telefonía móbil"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Escoller método de introdución de texto"</string> <string name="show_ime" msgid="6406112007347443383">"Móstrase na pantalla mentres o teclado físico estea activo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configura o teclado (<xliff:g id="DEVICE_NAME">%s</xliff:g>)"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configura os teclados físicos"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toca para seleccionar o idioma e o deseño"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dispositivos auditivos"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Teclas de volume premidas. Activouse o servizo <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Teclas de volume premidas. Desactivouse <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Solta as teclas de volume. Para activar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, mantenas premidas de novo durante 3 segundos."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Escolle a función que queres utilizar cando toques o botón Accesibilidade:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Escolle a función que queres usar co xesto de accesibilidade (pasa dous dedos cara arriba desde a parte inferior da pantalla):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Escolle a función que queres usar co xesto de accesibilidade (pasa tres dedos cara arriba desde a parte inferior da pantalla):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"A aplicación <xliff:g id="APP_NAME">%1$s</xliff:g> está usando ambas as pantallas para mostrar contido"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"O dispositivo está demasiado quente"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"A pantalla dual non está dispoñible porque o teléfono está quentando demasiado"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactivar"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desactivar"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Configurouse o teclado (<xliff:g id="DEVICE_NAME">%s</xliff:g>)"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"O deseño do teclado estableceuse en <xliff:g id="LAYOUT_1">%s</xliff:g>. Toca para cambialo."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"O deseño do teclado estableceuse en <xliff:g id="LAYOUT_1">%1$s</xliff:g> e <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Toca para cambialo."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"O deseño do teclado estableceuse en <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> e <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Toca para cambialo."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"O deseño do teclado estableceuse en <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toca para cambialo."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Configuráronse varios teclados físicos"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toca para ver os teclados"</string> </resources> diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml index 687ad2f4688a..1122ce74650e 100644 --- a/core/res/res/values-gu/strings.xml +++ b/core/res/res/values-gu/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"વાઇ-ફાઇ"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"વાઇ-ફાઇ કૉલિંગ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"બંધ"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"વાઇ-ફાઇ પરથી કૉલ કરો"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"મોબાઇલ નેટવર્ક પરથી કૉલ કરો"</string> @@ -1356,7 +1358,7 @@ <string name="no_permissions" msgid="5729199278862516390">"કોઈ પરવાનગીઓ જરૂરી નથી"</string> <string name="perm_costs_money" msgid="749054595022779685">"આનાથી તમારા પૈસા ખર્ચ થઈ શકે છે"</string> <string name="dlg_ok" msgid="5103447663504839312">"ઓકે"</string> - <string name="usb_charging_notification_title" msgid="1674124518282666955">"આ ડિવાઇસને USB મારફતે ચાર્જ કરી રહ્યાં છીએ"</string> + <string name="usb_charging_notification_title" msgid="1674124518282666955">"આ ડિવાઇસને USB મારફતે ચાર્જ કરી રહ્યાં છીએ."</string> <string name="usb_supplying_notification_title" msgid="5378546632408101811">"કનેક્ટેડ ઉપકરણને USB મારફતે ચાર્જ કરી રહ્યાં છીએ"</string> <string name="usb_mtp_notification_title" msgid="1065989144124499810">"USB ફાઇલ ટ્રાન્સફર ચાલુ છે"</string> <string name="usb_ptp_notification_title" msgid="5043437571863443281">"USB મારફતે PTP ચાલુ કર્યું"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ઇનપુટ પદ્ધતિ પસંદ કરો"</string> <string name="show_ime" msgid="6406112007347443383">"જ્યારે ભૌતિક કીબોર્ડ સક્રિય હોય ત્યારે તેને સ્ક્રીન પર રાખો"</string> <string name="hardware" msgid="1800597768237606953">"વર્ચ્યુઅલ કીબોર્ડ બતાવો"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g>ની ગોઠવણી કરો"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ભૌતિક કીબોર્ડની ગોઠવણી કરો"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ભાષા અને લેઆઉટ પસંદ કરવા માટે ટૅપ કરો"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"સાંભળવામાં સહાય કરતા ડિવાઇસ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"વૉલ્યૂમ કી દબાવી રાખો. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ચાલુ કરી."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"વૉલ્યૂમ કી દબાવી રાખો. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> બંધ કરી."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"વૉલ્યૂમ કી છોડી દો. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ને ચાલુ કરવા માટે, 3 સેકન્ડ માટે બન્ને વૉલ્યૂમ કીને ફરીથી દબાવી રાખો."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"જ્યારે તમે ઍક્સેસિબિલિટી બટન પર ટૅપ કરો, ત્યારે ઉપયોગ કરવાની સુવિધા પસંદ કરો:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ઍક્સેસિબિલિટી સંકેત સાથે ઉપયોગ કરવાની સુવિધા પસંદ કરો (બે આંગળીઓ વડે સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરવા માટે):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ઍક્સેસિબિલિટી સંકેત સાથે ઉપયોગ કરવાની સુવિધા પસંદ કરો (ત્રણ આંગળીઓ વડે સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરવા માટે):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"કન્ટેન્ટ બતાવવા માટે <xliff:g id="APP_NAME">%1$s</xliff:g> બન્ને ડિસ્પ્લેનો ઉપયોગ કરી રહી છે"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ડિવાઇસ ખૂબ જ ગરમ છે"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ડ્યૂઅલ સ્ક્રીન અનુપલબ્ધ છે કારણ કે તમારો ફોન ખૂબ જ ગરમ થઈ રહ્યો છે"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"બંધ કરો"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"બંધ કરો"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g>ની ગોઠવણી કરવામાં આવી છે"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"કીબોર્ડનું લેઆઉટ <xliff:g id="LAYOUT_1">%s</xliff:g> પર સેટ કરવામાં આવ્યું છે. બદલવા માટે ટૅપ કરો."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"કીબોર્ડનું લેઆઉટ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> પર સેટ કરવામાં આવ્યું છે. બદલવા માટે ટૅપ કરો."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"કીબોર્ડનું લેઆઉટ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> પર સેટ કરવામાં આવ્યું છે. બદલવા માટે ટૅપ કરો."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"કીબોર્ડનું લેઆઉટ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> પર સેટ કરવામાં આવ્યું છે… બદલવા માટે ટૅપ કરો."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ભૌતિક કીબોર્ડની ગોઠવણી કરવામાં આવી છે"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"કીબોર્ડ જોવા માટે ટૅપ કરો"</string> </resources> diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml index c0df6ca85178..2fe9a2954e9b 100644 --- a/core/res/res/values-hi/strings.xml +++ b/core/res/res/values-hi/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"वाई-फ़ाई"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"वाई-फ़ाई कॉलिंग"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"बंद"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"वाई-फ़ाई के ज़रिए कॉल करें"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"मोबाइल नेटवर्क के ज़रिए कॉल"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"इनपुट का तरीका चुनें"</string> <string name="show_ime" msgid="6406112007347443383">"सामान्य कीबोर्ड के सक्रिय होने के दौरान इसे स्क्रीन पर बनाए रखें"</string> <string name="hardware" msgid="1800597768237606953">"वर्चुअल कीबोर्ड दिखाएं"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> को कॉन्फ़िगर करें"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"फ़िज़िकल कीबोर्ड को कॉन्फ़िगर करें"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"भाषा और लेआउट चुनने के लिए टैप करें"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"सुनने में मदद करने वाले डिवाइस"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"आवाज़ कम-ज़्यादा करने वाले दोनों बटन दबाकर रखें. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> को चालू कर दिया गया."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"आवाज़ कम-ज़्यादा करने वाले दोनों बटन दबाकर रखें. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> को बंद कर दिया गया."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"आवाज़ बटन को छोड़ें. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> की सुविधा चालू करने के लिए, आवाज़ वाले दोनों बटन तीन सेकंड तक दबाकर रखें."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"सुलभता बटन पर टैप करके, इस्तेमाल करने के लिए सुविधा चुनें:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"सुलभता वाले हाथ के जेस्चर (हाव-भाव) के साथ इस्तेमाल करने के लिए सुविधा चुनें (दो उंगलियों से स्क्रीन पर सबसे नीचे से ऊपर की ओर स्वाइप करें):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"सुलभता वाले हाथ के जेस्चर (हाव-भाव) के साथ इस्तेमाल करने के लिए सुविधा चुनें (तीन उंगलियों से स्क्रीन पर सबसे नीचे से ऊपर की ओर स्वाइप करें):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>, कॉन्टेंट दिखाने के लिए दोनों डिसप्ले का इस्तेमाल कर रहा है"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"आपका फ़ोन बहुत गर्म हो गया है"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ड्यूअल स्क्रीन की सुविधा अभी उपलब्ध नहीं है, क्योंकि आपका फ़ोन बहुत गर्म हो रहा है"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"बंद करें"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"बंद करें"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> कॉन्फ़िगर किया गया"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"कीबोर्ड का लेआउट <xliff:g id="LAYOUT_1">%s</xliff:g> पर सेट कर दिया गया है. बदलने के लिए टैप करें."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"कीबोर्ड का लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> पर सेट कर दिया गया है. बदलने के लिए टैप करें."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"कीबोर्ड का लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> पर सेट कर दिया गया है. बदलने के लिए टैप करें."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"कीबोर्ड का लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… पर सेट कर दिया गया है. इसे बदलने के लिए टैप करें."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"फ़िज़िकल कीबोर्ड कॉन्फ़िगर किए गए"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"कीबोर्ड देखने के लिए टैप करें"</string> </resources> diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml index 56220ce6ffcc..5bdbd1edabf3 100644 --- a/core/res/res/values-hr/strings.xml +++ b/core/res/res/values-hr/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi pozivi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi poziv"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Isključeno"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Pozivi putem Wi-Fija"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Pozivi putem mobilne mreže"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Odabir načina unosa"</string> <string name="show_ime" msgid="6406112007347443383">"Zadrži na zaslonu dok je fizička tipkovnica aktivna"</string> <string name="hardware" msgid="1800597768237606953">"Prikaži virtualnu tipkovnicu"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurirajte uređaj <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurirajte fizičke tipkovnice"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dodirnite da biste odabrali jezik i raspored"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni uređaji"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Držali ste tipke za glasnoću. Uključila se usluga <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Držali ste tipke za glasnoću. Isključila se usluga <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Pustite tipke za glasnoću. Da biste uključili uslugu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, ponovo pritisnite i zadržite obje tipke za glasnoću tri sekunde."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Odaberite značajku koju ćete upotrebljavati kada dodirnete gumb za Pristupačnost:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Odaberite za koju će se značajku upotrebljavati pokret pristupačnosti (prelazak s dva prsta prema gore od dna zaslona):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Odaberite za koju će se značajku upotrebljavati pokret pristupačnosti (prelazak s tri prsta prema gore od dna zaslona):"</string> @@ -2327,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> upotrebljava oba zaslona za prikazivanje sadržaja"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Uređaj se pregrijao"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dvostruki zaslon nije podržan jer se vaš telefon pregrijao"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Isključi"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Isključi"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Konfiguriran je uređaj <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Raspored tipkovnice postavljen je na <xliff:g id="LAYOUT_1">%s</xliff:g>. Dodirnite da biste ga promijenili."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Raspored tipkovnice postavljen je na <xliff:g id="LAYOUT_1">%1$s</xliff:g> i <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Dodirnite da biste ga promijenili."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Raspored tipkovnice postavljen je na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> i <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Dodirnite da biste ga promijenili."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Raspored tipkovnice postavljen je na <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Dodirnite da biste ga promijenili."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fizičke su tipkovnice konfigurirane"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Dodirnite da bi se prikazale tipkovnice"</string> </resources> diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml index 4d781d910592..6f996e52328d 100644 --- a/core/res/res/values-hu/strings.xml +++ b/core/res/res/values-hu/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi-hívás"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Ki"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Hívás Wi-Fi-hálózaton"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Hívás mobilhálózaton"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Beviteli mód kiválasztása"</string> <string name="show_ime" msgid="6406112007347443383">"Maradjon a képernyőn, amíg a billentyűzet aktív"</string> <string name="hardware" msgid="1800597768237606953">"Virtuális billentyűzet"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"A(z) <xliff:g id="DEVICE_NAME">%s</xliff:g> beállítása"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Fizikai billentyűzetek beállítása"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Koppintson a nyelv és a billentyűzetkiosztás kiválasztásához"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hallásjavító eszközök"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Nyomva tartotta a hangerőgombokat. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> bekapcsolva."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Nyomva tartotta a hangerőgombokat. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> kikapcsolva."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Engedje fel a hangerőszabályzó gombokat. A(z) <xliff:g id="SERVICE_NAME">%1$s</xliff:g> bekapcsolásához tartsa újra lenyomva a hangerőszabályzó gombokat három másodpercig."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Válassza ki a Kisegítő lehetőségek gombra koppintáskor használni kívánt funkciót:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Válassza ki a kisegítő kézmozdulattal (felfelé csúsztatás két ujjal a képernyő aljáról) használni kívánt funkciót:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Válassza ki a kisegítő kézmozdulattal (felfelé csúsztatás három ujjal a képernyő aljáról) használni kívánt funkciót:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> mindkét kijelzőt használja a tartalmak megjelenítésére"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Az eszköz túl meleg"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"A Két képernyő funkció nem áll rendelkezésre, mert a telefon melegedni kezdett"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Kikapcsolás"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Kikapcsolás"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> beállítva"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"A billentyűzetkiosztás a következőre van beállítva: <xliff:g id="LAYOUT_1">%s</xliff:g>. A módosításhoz koppintson."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"A billentyűzetkiosztás a következőkre van beállítva: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. A módosításhoz koppintson."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"A billentyűzetkiosztás a következőkre van beállítva: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. A módosításhoz koppintson."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"A billentyűzetkiosztás a következőkre van beállítva: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… A módosításhoz koppintson."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fizikai billentyűzetek beállítva"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Koppintson a billentyűzetek megtekintéséhez"</string> </resources> diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml index fdad595c8227..f1004de11679 100644 --- a/core/res/res/values-hy/strings.xml +++ b/core/res/res/values-hy/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Զանգեր Wi-Fi-ի միջոցով"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Անջատված է"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Զանգ Wi-Fi-ի միջոցով"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Զանգ բջջային ցանցի միջոցով"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Ընտրեք ներածման եղանակը"</string> <string name="show_ime" msgid="6406112007347443383">"Պահել էկրանին, երբ ֆիզիկական ստեղնաշարն ակտիվ է"</string> <string name="hardware" msgid="1800597768237606953">"Ցույց տալ վիրտուալ ստեղնաշարը"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Կարգավորեք <xliff:g id="DEVICE_NAME">%s</xliff:g> սարքը"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Կարգավորեք ֆիզիկական ստեղնաշարերը"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Հպեք՝ լեզուն և դասավորությունն ընտրելու համար"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ԱԲԳԴԵԶԷԸԹԺԻԼԽԾԿՀՁՂՃՄՅՆՇՈՉՊՋՌՍՎՏՐՑՈՒՓՔԵւՕՖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Լսողական սարքեր"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Ձայնի կարգավորման կոճակները սեղմվեցին։ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունը միացավ։"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Ձայնի կարգավորման կոճակները սեղմվեցին։ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունն անջատվեց։"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Բաց թողեք ձայնի ուժգնության կոճակները։ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ծառայությունը միացնելու համար սեղմեք և 3 վայրկյան պահեք ձայնի ուժգնության երկու կոճակը։"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Ընտրեք գործառույթը, որը կգործարկվի «Հատուկ գործառույթներ» կոճակին հպելու դեպքում՝"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Ընտրեք գործառույթը, որը կգործարկվի հատուկ գործառույթների ժեստը (երկու մատը էկրանի ներքևից սահեցրեք վերև) անելու դեպքում՝"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Ընտրեք գործառույթը, որը կգործարկվի հատուկ գործառույթների ժեստը (երեք մատը էկրանի ներքևից սահեցրեք վերև) անելու դեպքում՝"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը երկու էկրաններն էլ օգտագործում է բովանդակություն ցուցադրելու համար"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Սարքը գերտաքացել է"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Կրկնակի էկրանն անհասանելի է, քանի որ ձեր հեռախոսը գերտաքանում է"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Անջատել"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Անջատել"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> սարքը կարգավորված է"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Ստեղնաշարի համար կարգավորված է <xliff:g id="LAYOUT_1">%s</xliff:g> դասավորությունը։ Հպեք փոփոխելու համար։"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Ստեղնաշարի համար կարգավորված են <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> դասավորությունները։ Հպեք փոփոխելու համար։"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Ստեղնաշարի համար կարգավորված են <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> դասավորությունները։ Հպեք փոփոխելու համար։"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Ստեղնաշարի համար կարգավորված են <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> դասավորությունները։ Հպեք փոխելու համար։"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Ֆիզիկական ստեղնաշարերը կարգավորված են"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Հպեք՝ ստեղնաշարերը դիտելու համար"</string> </resources> diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml index 577e9a28f754..150629f5bfe4 100644 --- a/core/res/res/values-in/strings.xml +++ b/core/res/res/values-in/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Panggilan WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Nonaktif"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Panggilan telepon melalui Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Panggilan telepon melalui jaringan seluler"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Pilih metode masukan"</string> <string name="show_ime" msgid="6406112007347443383">"Biarkan di layar meski keyboard fisik aktif"</string> <string name="hardware" msgid="1800597768237606953">"Tampilkan keyboard virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurasi <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurasi keyboard fisik"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Ketuk untuk memilih bahasa dan tata letak"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Alat bantu dengar"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Tombol volume ditahan. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> diaktifkan."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Tombol volume ditahan. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> dinonaktifkan."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Lepaskan tombol volume. Untuk mengaktifkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, tekan dan tahan kedua tombol volume lagi selama 3 detik."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Pilih fitur yang akan digunakan saat mengetuk tombol aksesibilitas:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Pilih fitur yang akan digunakan dengan gestur aksesibilitas (geser ke atas dari bawah layar dengan dua jari):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Pilih fitur yang akan digunakan dengan gestur aksesibilitas (geser ke atas dari bawah layar dengan tiga jari):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> menggunakan kedua layar untuk menampilkan konten"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Suhu perangkat terlalu panas"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Layar ganda tidak tersedia karena suhu ponsel terlalu panas"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Nonaktifkan"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Nonaktifkan"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> telah dikonfigurasi"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Tata letak keyboard disetel ke <xliff:g id="LAYOUT_1">%s</xliff:g>. Ketuk untuk mengubah."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Tata letak keyboard disetel ke <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Ketuk untuk mengubah."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Tata letak keyboard di setel ke <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Ketuk untuk mengubah."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Tata letak keyboard disetel ke <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Ketuk untuk mengubah."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Keyboard fisik telah dikonfigurasi"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Ketuk untuk melihat keyboard"</string> </resources> diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml index bbccc75b6e35..10b754910768 100644 --- a/core/res/res/values-is/strings.xml +++ b/core/res/res/values-is/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi símtöl"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Slökkt"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Hringja í gegnum Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Hringja í gegnum farsímakerfi"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Veldu innsláttaraðferð"</string> <string name="show_ime" msgid="6406112007347443383">"Halda því á skjánum meðan vélbúnaðarlyklaborðið er virkt"</string> <string name="hardware" msgid="1800597768237606953">"Sýna sýndarlyklaborð"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Stilla <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Stilla vélbúnaðarlyklaborð"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Ýttu til að velja tungumál og útlit"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789AÁBCDÐEÉFGHIÍJKLMNOÓPQRSTUÚVWXYÝZÞÆÖ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Heyrnartæki"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Hljóðstyrkstökkum haldið inni. Kveikt á <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Hljóðstyrkstökkum haldið inni. Slökkt á <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Slepptu hljóðstyrkstökkunum. Til að kveikja á <xliff:g id="SERVICE_NAME">%1$s</xliff:g> skaltu halda báðum hljóðstyrkstökkunum aftur inni í 3 sekúndur."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Veldu eiginleika sem á að nota þegar ýtt er á aðgengishnappinn:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Veldu eiginleika sem á að nota með aðgengisbendingunni (strjúka upp frá neðri hluta skjásins með tveimur fingrum):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Veldu eiginleika sem á að nota með aðgengisbendingunni (strjúka upp frá neðri hluta skjásins með þremur fingrum):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> er að nota báða skjái til að sýna efni"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Tækið er of heitt"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Tveir skjáir eru ekki í boði vegna þess að síminn er of heitur"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Slökkva"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Slökkva"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> er stillt"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Lyklaskipan er stillt á <xliff:g id="LAYOUT_1">%s</xliff:g>. Ýttu til að breyta."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Lyklaskipan er stillt á <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Ýttu til að breyta."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Lyklaskipan er stillt á <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Ýttu til að breyta."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Lyklaskipan er stillt á <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Ýttu til að breyta."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Vélbúnaðarlyklaborð eru stillt"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Ýttu til að sjá lyklaborð"</string> </resources> diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml index d97254d63c63..8cae14deb0eb 100644 --- a/core/res/res/values-it/strings.xml +++ b/core/res/res/values-it/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Chiamate Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Chiamata WiFi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Chiamata tramite Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Chiamata su rete mobile"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Scegli il metodo di immissione"</string> <string name="show_ime" msgid="6406112007347443383">"Tieni sullo schermo quando è attiva la tastiera fisica"</string> <string name="hardware" msgid="1800597768237606953">"Mostra tastiera virtuale"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configura <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configura le tastiere fisiche"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tocca per selezionare la lingua e il layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Apparecchi acustici"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Tieni premuti i tasti del volume. Servizio <xliff:g id="SERVICE_NAME">%1$s</xliff:g> attivato."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Tieni premuti i tasti del volume. Servizio <xliff:g id="SERVICE_NAME">%1$s</xliff:g> disattivato."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Rilascia i tasti del volume. Per attivare <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, tieni di nuovo premuti entrambi i tasti del volume per 3 secondi."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Scegli una funzionalità da usare quando tocchi il pulsante Accessibilità:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Scegli una funzionalità da usare con il gesto di accessibilità (scorrimento verso l\'alto dalla parte inferiore dello schermo con due dita):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Scegli una funzionalità da usare con il gesto di accessibilità (scorrimento verso l\'alto dalla parte inferiore dello schermo con tre dita):"</string> @@ -1996,7 +1994,7 @@ <string name="app_info" msgid="6113278084877079851">"Informazioni app"</string> <string name="negative_duration" msgid="1938335096972945232">"−<xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="demo_starting_message" msgid="6577581216125805905">"Avvio della demo…"</string> - <string name="demo_restarting_message" msgid="1160053183701746766">"Ripristino del dispositivo…"</string> + <string name="demo_restarting_message" msgid="1160053183701746766">"Reset del dispositivo…"</string> <string name="suspended_widget_accessibility" msgid="6331451091851326101">"Widget <xliff:g id="LABEL">%1$s</xliff:g> disattivato"</string> <string name="conference_call" msgid="5731633152336490471">"Audioconferenza"</string> <string name="tooltip_popup_title" msgid="7863719020269945722">"Descrizione comando"</string> @@ -2327,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> sta usando entrambi i display per mostrare contenuti"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Il dispositivo è troppo caldo"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Il doppio schermo non è disponibile perché il telefono si sta surriscaldando"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Disattiva"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Disattiva"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g> configurato"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Layout tastiera impostato su <xliff:g id="LAYOUT_1">%s</xliff:g>. Tocca per cambiare l\'impostazione."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Layout tastiera impostato su <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tocca per cambiare l\'impostazione."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Layout tastiera impostato su <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tocca per cambiare l\'impostazione."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Layout tastiera impostato su <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Tocca per cambiare l\'impostazione."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Tastiere fisiche configurate"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tocca per visualizzare le tastiere"</string> </resources> diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml index c8ce531b0539..aa81d6af2624 100644 --- a/core/res/res/values-iw/strings.xml +++ b/core/res/res/values-iw/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"שיחות Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"כבוי"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"שיחה בחיבור Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"שיחה ברשת סלולרית"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"בחירה של שיטת הזנה"</string> <string name="show_ime" msgid="6406112007347443383">"להשאיר במסך בזמן שהמקלדת הפיזית פעילה"</string> <string name="hardware" msgid="1800597768237606953">"הצגת מקלדת וירטואלית"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"הגדרה של <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"הגדרת מקלדות פיזיות"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"יש להקיש כדי לבחור שפה ופריסה"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"מכשירי שמיעה"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"לחצני עוצמת הקול נלחצו בלחיצה ארוכה. שירות <xliff:g id="SERVICE_NAME">%1$s</xliff:g> הופעל."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"לחצני עוצמת הקול נלחצו בלחיצה ארוכה. שירות <xliff:g id="SERVICE_NAME">%1$s</xliff:g> הושבת."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"אפשר לשחרר את מקש עוצמת הקול. כדי להפעיל את השירות <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, צריך ללחוץ לחיצה ארוכה על שני המקשים של עוצמת הקול שוב במשך 3 שניות."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"צריך לבחור תכונה שתופעל כשלוחצים על לחצן הנגישות:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"יש לבחור תכונה שתופעל באמצעות תנועת הנגישות (החלקה למעלה מתחתית המסך בעזרת שתי אצבעות):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"יש לבחור תכונה שתופעל באמצעות תנועת הנגישות (החלקה למעלה מתחתית המסך בעזרת שלוש אצבעות):"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> משתמשת בשני המסכים כדי להציג תוכן"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"המכשיר חם מדי"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"מצב שני מסכים לא זמין כי הטלפון נהיה חם מדי"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"השבתה"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"השבתה"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"המקלדת <xliff:g id="DEVICE_NAME">%s</xliff:g> הוגדרה"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"פריסת המקלדת מוגדרת ל<xliff:g id="LAYOUT_1">%s</xliff:g>. אפשר להקיש כדי לשנות את ההגדרה הזו."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"פריסת המקלדת מוגדרת ל<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. אפשר להקיש כדי לשנות את ההגדרה הזו."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"פריסת המקלדת מוגדרת ל<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. אפשר להקיש כדי לשנות את ההגדרה הזו."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"פריסת המקלדת מוגדרת ל<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… אפשר להקיש כדי לשנות את ההגדרה הזו."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"הוגדרו מקלדות פיזיות"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"יש להקיש כדי להציג את המקלדות"</string> </resources> diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml index 44ba18ebee01..7d2b2a5179f7 100644 --- a/core/res/res/values-ja/strings.xml +++ b/core/res/res/values-ja/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi 通話"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi 通話"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"OFF"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi 経由で通話"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"モバイル ネットワーク経由で通話"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"入力方法の選択"</string> <string name="show_ime" msgid="6406112007347443383">"物理キーボードが有効になっていても画面に表示させます"</string> <string name="hardware" msgid="1800597768237606953">"仮想キーボードの表示"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g>の設定"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"物理キーボードの設定"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"タップして言語とレイアウトを選択してください"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"補聴器"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"音量ボタンを長押ししました。<xliff:g id="SERVICE_NAME">%1$s</xliff:g> が ON になりました。"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"音量ボタンを長押ししました。<xliff:g id="SERVICE_NAME">%1$s</xliff:g> が OFF になりました。"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"音量ボタンを離してください。<xliff:g id="SERVICE_NAME">%1$s</xliff:g> を有効にするには音量大と音量小の両方のボタンを 3 秒ほど長押ししてください。"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ユーザー補助機能ボタンをタップした場合に使用する機能を選択してください。"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ユーザー補助操作(2 本の指で画面の下から上にスワイプ)で使用する機能を選択してください。"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ユーザー補助操作(3 本の指で画面の下から上にスワイプ)で使用する機能を選択してください。"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>は 2 画面でコンテンツを表示しています"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"デバイスが熱くなりすぎています"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"スマートフォンが熱くなりすぎているため、デュアル スクリーンを使用できません"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"オフにする"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"オフにする"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g>の設定完了"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"キーボードのレイアウトは<xliff:g id="LAYOUT_1">%s</xliff:g>に設定されています。タップすると変更できます。"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"キーボードのレイアウトは<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>に設定されています。タップすると変更できます。"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"キーボードのレイアウトは<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>に設定されています。タップすると変更できます。"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"キーボードのレイアウトは<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>に設定されています。タップすると変更できます。"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"物理キーボードの設定完了"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"タップするとキーボードを表示できます"</string> </resources> diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml index e472973f2024..7fdb8d91a3be 100644 --- a/core/res/res/values-ka/strings.xml +++ b/core/res/res/values-ka/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi დარეკვა"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi-ს გამოყენებით დარეკვა"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"გამორთული"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"დარეკვა Wi-Fi-ის მეშვეობით"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"დარეკვა მობილური ქსელის მეშვეობით"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"აირჩიეთ შეყვანის მეთოდი"</string> <string name="show_ime" msgid="6406112007347443383">"აქტიური ფიზიკური კლავიატურისას ეკრანზე შენარჩუნება"</string> <string name="hardware" msgid="1800597768237606953">"ვირტუალური კლავიატურის ჩვენება"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"მოახდინეთ <xliff:g id="DEVICE_NAME">%s</xliff:g>-ის კონფიგურირება"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"მოახდინეთ ფიზიკური კლავიატურების კონფიგურირება"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"შეეხეთ ენისა და განლაგების ასარჩევად"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"სმენის აპარატები"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ჩართულია."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> გამორთულია."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ხელი აუშვით ხმის ღილაკებს. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>-ის ჩასართველად, ხელმეორედ ხანგრძლივად დააჭირეთ ორივე ხმის ღილაკს 3 წამის განმავლობაში."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"აირჩიეთ მარტივი წვდომის ღილაკზე შეხებისას გამოსაყენებელი ფუნქცია:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"აირჩიეთ მარტივი წვდომის ჟესტთან (ორი თითით გადაფურცვლა ეკრანის ქვედა კიდიდან ზემოთ) გამოსაყენებელი ფუნქცია:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"აირჩიეთ მარტივი წვდომის ჟესტთან (სამი თითით გადაფურცვლა ეკრანის ქვედა კიდიდან ზემოთ) გამოსაყენებელი ფუნქცია:"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> იყენებს ორივე ეკრანს შინაარსის საჩვენებლად"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"მოწყობილობა ძალიან თბილია"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ორმაგი ეკრანი მიუწვდომელია, რადგან თქვენი ტელეფონი ძალიან თბება"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"გამორთვა"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"გამორთვა"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> კონფიგურირებულია"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"დაყენდა კლავიატურის განლაგება: <xliff:g id="LAYOUT_1">%s</xliff:g>. შეეხეთ შესაცვლელად."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"დაყენდა კლავიატურის განლაგება: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. შეეხეთ შესაცვლელად."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"დაყენდა კლავიატურის განლაგება: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. შეეხეთ შესაცვლელად."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"დაყენდა კლავიატურის განლაგება: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… შეეხეთ შესაცვლელად."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ფიზიკური კლავიატურები კონფიგურირებულია"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"შეეხეთ კლავიატურების სანახავად"</string> </resources> diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml index 2959b251519a..32e3f592f1f0 100644 --- a/core/res/res/values-kk/strings.xml +++ b/core/res/res/values-kk/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi қоңыраулары"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Өшірулі"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi арқылы қоңырау шалу"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Мобильдік желі арқылы қоңырау шалу"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Енгізу әдісін таңдау"</string> <string name="show_ime" msgid="6406112007347443383">"Физикалық пернетақта қосулы кезде оны экранға шығару"</string> <string name="hardware" msgid="1800597768237606953">"Виртуалдық пернетақтаны көрсету"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> конфигурациялау"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Физикалық пернетақталарды конфигурациялау"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Тіл мен пернетақта схемасын таңдау үшін түртіңіз"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Есту аппараттары"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Пайдаланушы дыбыс деңгейі пернелерін басып ұстап тұрды. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> қосулы."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Дыбыс деңгейі пернелерін басып тұрған соң, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> өшірілді."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Дыбыс деңгейі пернелерін жіберіңіз. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> қызметін қосу үшін дыбыс деңгейі пернесінің екеуін де қайтадан 3 секундқа басып тұрыңыз."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"\"Арнайы мүмкіндіктер\" түймесін түрткенде пайдаланатын функцияны таңдаңыз:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Арнайы мүмкіндіктер қимылымен (екі саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз) пайдаланатын функцияны таңдаңыз:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Арнайы мүмкіндіктер қимылымен (үш саусақпен экранның төменгі жағынан жоғары қарай сырғытыңыз) пайдаланатын функцияны таңдаңыз:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасы контентті көрсету үшін екі дисплейді де пайдаланады."</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Құрылғы қатты қызып кетті."</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Қос экран функциясы істемейді, себебі телефон қатты қызып кетеді."</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Өшіру"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Өшіру"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> конфигурацияланды"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Пернетақта форматы <xliff:g id="LAYOUT_1">%s</xliff:g> деп орнатылды. Өзгерту үшін түртіңіз."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Пернетақта форматы <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> деп орнатылды. Өзгерту үшін түртіңіз."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Пернетақта форматы <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> деп орнатылды. Өзгерту үшін түртіңіз."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Пернетақта форматы <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> деп орнатылды… Өзгерту үшін түртіңіз."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физикалық пернетақталар конфигурацияланды"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Пернетақталарды көру үшін түртіңіз."</string> </resources> diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml index abe321370015..1f72495b066d 100644 --- a/core/res/res/values-km/strings.xml +++ b/core/res/res/values-km/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ការហៅតាម Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"បិទ"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ហៅទូរសព្ទតាមរយៈ Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ហៅទូរសព្ទតាមរយៈបណ្តាញទូរសព្ទចល័ត"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ជ្រើសវិធីសាស្ត្របញ្ចូល"</string> <string name="show_ime" msgid="6406112007347443383">"ទុកវានៅលើអេក្រង់ខណៈពេលក្តារចុចពិតប្រាកដកំពុងសកម្ម"</string> <string name="hardware" msgid="1800597768237606953">"បង្ហាញក្ដារចុចនិម្មិត"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"កំណត់រចនាសម្ព័ន្ធ <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"កំណត់រចនាសម្ព័ន្ធក្ដារចុចរូបវន្ត"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ប៉ះដើម្បីជ្រើសភាសា និងប្លង់"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ឧបករណ៍ស្តាប់"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"បានសង្កត់គ្រាប់ចុចកម្រិតសំឡេងជាប់។ បានបើក <xliff:g id="SERVICE_NAME">%1$s</xliff:g>។"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"បានសង្កត់គ្រាប់ចុចកម្រិតសំឡេងជាប់។ បានបិទ <xliff:g id="SERVICE_NAME">%1$s</xliff:g>។"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"លែងគ្រាប់ចុចកម្រិតសំឡេង។ ដើម្បីបើក <xliff:g id="SERVICE_NAME">%1$s</xliff:g> សូមចុចគ្រាប់ចុចកម្រិតសំឡេងទាំងពីរឱ្យជាប់ម្ដងទៀតរយៈពេល 3 វិនាទី។"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ជ្រើសរើសមុខងារដែលត្រូវប្រើ នៅពេលដែលអ្នកចុចប៊ូតុងភាពងាយស្រួល៖"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ជ្រើសរើសមុខងារ ដើម្បីប្រើជាមួយចលនាភាពងាយស្រួល (អូសឡើងលើពីផ្នែកខាងក្រោមនៃអេក្រង់ដោយប្រើម្រាមដៃពីរ)៖"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ជ្រើសរើសមុខងារ ដើម្បីប្រើជាមួយចលនាភាពងាយស្រួល (អូសឡើងលើពីផ្នែកខាងក្រោមនៃអេក្រង់ដោយប្រើម្រាមដៃបី)៖"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> កំពុងប្រើផ្ទាំងអេក្រង់ទាំងពីរដើម្បីបង្ហាញខ្លឹមសារ"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ឧបករណ៍ក្តៅពេក"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"អេក្រង់ពីរមិនអាចប្រើបានទេ ដោយសារទូរសព្ទរបស់អ្នកឡើងក្តៅពេក"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"បិទ"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"បិទ"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"បានកំណត់រចនាសម្ព័ន្ធ <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"បានកំណត់ប្លង់ក្ដារចុចទៅ <xliff:g id="LAYOUT_1">%s</xliff:g>។ សូមចុចដើម្បីប្ដូរ។"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"បានកំណត់ប្លង់ក្ដារចុចទៅ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>។ សូមចុចដើម្បីប្ដូរ។"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"បានកំណត់ប្លង់ក្ដារចុចទៅ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>។ សូមចុចដើម្បីប្ដូរ។"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"បានកំណត់ប្លង់ក្ដារចុចទៅ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… សូមចុចដើម្បីប្ដូរ។"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"បានកំណត់រចនាសម្ព័ន្ធក្ដារចុចរូបវន្ត"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"ចុចដើម្បីមើលក្ដារចុច"</string> </resources> diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml index 1f24e7d41525..062cc67800c5 100644 --- a/core/res/res/values-kn/strings.xml +++ b/core/res/res/values-kn/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"ವೈ-ಫೈ"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ವೈಫೈ ಕರೆ ಮಾಡುವಿಕೆ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ಆಫ್"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ವೈ-ಫೈ ಬಳಸಿ ಕರೆ ಮಾಡಿ"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ಮೊಬೈಲ್ ನೆಟ್ವರ್ಕ್ ಬಳಸಿ ಕರೆ ಮಾಡಿ"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ಇನ್ಪುಟ್ ವಿಧಾನವನ್ನು ಆರಿಸಿ"</string> <string name="show_ime" msgid="6406112007347443383">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಸಕ್ರಿಯವಾಗಿರುವಾಗ ಅದನ್ನು ಪರದೆಯ ಮೇಲಿರಿಸಿ"</string> <string name="hardware" msgid="1800597768237606953">"ವರ್ಚುವಲ್ ಕೀಬೋರ್ಡ್ ತೋರಿಸಿ"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ಭಾಷೆ ಮತ್ತು ವಿನ್ಯಾಸವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ಶ್ರವಣ ಸಾಧನಗಳು"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ಅನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಲಾಗಿದೆ. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, ಆಫ್ ಮಾಡಲಾಗಿದೆ."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿ. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ಅನ್ನು ಆನ್ ಮಾಡಲು, ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಮತ್ತೊಮ್ಮೆ 3 ಸೆಕೆಂಡ್ಗಳ ಕಾಲ ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ನೀವು ಪ್ರವೇಶಿಸುವಿಕೆ ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿದಾಗ ಬಳಸುವುದಕ್ಕಾಗಿ ವೈಶಿಷ್ಟ್ಯವೊಂದನ್ನು ಆರಿಸಿ:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ಪ್ರವೇಶಿಸುವಿಕೆ ಗೆಸ್ಚರ್ನೊಂದಿಗೆ ಬಳಸಲು ವೈಶಿಷ್ಟ್ಯವೊಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ (ಎರಡು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ಪ್ರವೇಶಿಸುವಿಕೆ ಗೆಸ್ಚರ್ನೊಂದಿಗೆ ಬಳಸಲು ವೈಶಿಷ್ಟ್ಯವೊಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ (ಮೂರು ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಪರದೆಯ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"ವಿಷಯವನ್ನು ತೋರಿಸಲು <xliff:g id="APP_NAME">%1$s</xliff:g> ಎರಡೂ ಡಿಸ್ಪ್ಲೇಗಳನ್ನು ಬಳಸುತ್ತದೆ"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ಸಾಧನವು ತುಂಬಾ ಬಿಸಿಯಾಗಿದೆ"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ನಿಮ್ಮ ಫೋನ್ ತುಂಬಾ ಬಿಸಿಯಾಗುವುದರಿಂದ ಡ್ಯೂಯಲ್ ಸ್ಕ್ರೀನ್ ಲಭ್ಯವಿಲ್ಲ"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ಆಫ್ ಮಾಡಿ"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ಆಫ್ ಮಾಡಿ"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"ಕೀಬೋರ್ಡ್ ಲೇಔಟ್ ಅನ್ನು <xliff:g id="LAYOUT_1">%s</xliff:g> ಗೆ ಸೆಟ್ ಮಾಡಲಾಗಿದೆ. ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"ಕೀಬೋರ್ಡ್ ಲೇಔಟ್ ಅನ್ನು <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> ಗೆ ಸೆಟ್ ಮಾಡಲಾಗಿದೆ. ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"ಕೀಬೋರ್ಡ್ ಲೇಔಟ್ ಅನ್ನು <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> ಗೆ ಸೆಟ್ ಮಾಡಲಾಗಿದೆ. ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"ಕೀಬೋರ್ಡ್ ಲೇಔಟ್ ಅನ್ನು <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> ಗೆ ಸೆಟ್ ಮಾಡಲಾಗಿದೆ… ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"ಕೀಬೋರ್ಡ್ಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string> </resources> diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml index 02b797c87385..5a982e575243 100644 --- a/core/res/res/values-ko/strings.xml +++ b/core/res/res/values-ko/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi 통화"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"꺼짐"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi를 통해 통화"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"모바일 네트워크를 통해 통화"</string> @@ -1356,7 +1358,7 @@ <string name="no_permissions" msgid="5729199278862516390">"권한 필요 없음"</string> <string name="perm_costs_money" msgid="749054595022779685">"비용이 부과될 수 있습니다."</string> <string name="dlg_ok" msgid="5103447663504839312">"확인"</string> - <string name="usb_charging_notification_title" msgid="1674124518282666955">"이 기기를 USB로 충전 중"</string> + <string name="usb_charging_notification_title" msgid="1674124518282666955">"이 기기를 USB로 충전 중."</string> <string name="usb_supplying_notification_title" msgid="5378546632408101811">"USB를 통해 연결된 기기 충전"</string> <string name="usb_mtp_notification_title" msgid="1065989144124499810">"USB 파일 전송 사용 설정됨"</string> <string name="usb_ptp_notification_title" msgid="5043437571863443281">"USB를 통해 PTP 사용 설정됨"</string> @@ -1368,7 +1370,7 @@ <string name="usb_power_notification_message" msgid="7284765627437897702">"연결된 기기를 충전합니다. 옵션을 더 보려면 탭하세요."</string> <string name="usb_unsupported_audio_accessory_title" msgid="2335775548086533065">"아날로그 오디오 액세서리가 감지됨"</string> <string name="usb_unsupported_audio_accessory_message" msgid="1300168007129796621">"연결된 기기가 이 휴대전화와 호환되지 않습니다. 자세히 알아보려면 탭하세요."</string> - <string name="adb_active_notification_title" msgid="408390247354560331">"USB 디버깅 연결됨"</string> + <string name="adb_active_notification_title" msgid="408390247354560331">"USB 디버깅 연결됨."</string> <string name="adb_active_notification_message" msgid="5617264033476778211">"USB 디버깅을 사용 중지하려면 탭하세요."</string> <string name="adb_active_notification_message" product="tv" msgid="6624498401272780855">"USB 디버깅을 사용하지 않으려면 선택합니다."</string> <string name="adbwifi_active_notification_title" msgid="6147343659168302473">"무선 디버깅 연결됨"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"입력 방법 선택"</string> <string name="show_ime" msgid="6406112007347443383">"물리적 키보드가 활성 상태인 경우 화면에 켜 둠"</string> <string name="hardware" msgid="1800597768237606953">"가상 키보드 표시"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> 설정"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"실제 키보드 설정"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"탭하여 언어와 레이아웃을 선택하세요."</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"보청기"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"볼륨 키를 길게 눌렀습니다. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>이(가) 사용 설정되었습니다."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"볼륨 키를 길게 눌렀습니다. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>이(가) 사용 중지되었습니다."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"볼륨 키에서 손을 뗍니다. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>을 켜려면 볼륨 키 2개를 3초 동안 길게 누르세요."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"접근성 버튼을 탭할 때 사용할 기능을 선택하세요."</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"접근성 동작(두 손가락을 사용하여 화면 하단에서 위로 스와이프)으로 실행할 기능을 선택하세요."</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"접근성 동작(세 손가락을 사용하여 화면 하단에서 위로 스와이프)으로 실행할 기능을 선택하세요."</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 두 화면을 모두 사용하여 콘텐츠를 표시합니다."</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"기기 온도가 너무 높음"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"휴대전화 온도가 너무 높아지고 있으므로 듀얼 스크린을 사용할 수 없습니다."</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"사용 중지"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"사용 중지"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g>에 설정 완료됨"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"키보드 레이아웃이 <xliff:g id="LAYOUT_1">%s</xliff:g>(으)로 설정됩니다. 변경하려면 탭하세요."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"키보드 레이아웃이 <xliff:g id="LAYOUT_1">%1$s</xliff:g> 및 <xliff:g id="LAYOUT_2">%2$s</xliff:g>(으)로 설정됩니다. 변경하려면 탭하세요."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"키보드 레이아웃이 <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>(으)로 설정됩니다. 변경하려면 탭하세요."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"키보드 레이아웃이 <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>(으)로 설정됩니다. 변경하려면 탭하세요."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"실제 키보드에 구성됨"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"키보드를 보려면 탭하세요."</string> </resources> diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml index f87be7c06b49..48c2c7b0dfd2 100644 --- a/core/res/res/values-ky/strings.xml +++ b/core/res/res/values-ky/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi‑Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi аркылуу чалынууда"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Өчүк"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi аркылуу чалуу"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Мобилдик тармак аркылуу чалуу"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Дайын киргизүү ыкмасын тандаңыз"</string> <string name="show_ime" msgid="6406112007347443383">"Баскычтоп иштетилгенде экранда көрүнүп турат"</string> <string name="hardware" msgid="1800597768237606953">"Виртуалдык баскычтоп"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> түзмөгүн конфигурациялоо"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Физикалык баскычтопторду конфигурациялоо"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Тил жана калып тандоо үчүн таптап коюңуз"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Угуу түзмөктөрү"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Үндү катуулатуу/акырындатуу баскычтары басылып, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> күйгүзүлдү."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Үндү катуулатуу/акырындатуу баскычтары басылып, <xliff:g id="SERVICE_NAME">%1$s</xliff:g> өчүрүлдү."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Үн баскычтарын коё бериңиз. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> кызматын күйгүзүү үчүн үн баскычтарын кайра 3 секунд коё бербей басып туруңуз."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Атайын мүмкүнчүлүктөр баскычын таптаганыңызда иштей турган функцияны тандаңыз:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Атайын мүмкүнчүлүктөр жаңсоосу үчүн функцияны тандаңыз (эки манжаңыз менен экранды ылдыйдан өйдө сүрүңүз):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Атайын мүмкүнчүлүктөр жаңсоосу аркылуу иштетиле турган функцияны тандаңыз (үч манжаңыз менен экранды ылдыйдан өйдө сүрүңүз):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> контентти эки түзмөктө тең көрсөтүүдө"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Түзмөк ысып кетти"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Телефонуңуз ысып кеткендиктен, Кош экран функциясы жеткиликсиз"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Өчүрүү"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Өчүрүү"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> конфигурацияланды"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Баскычтоп калыбы төмөнкүгө коюлду: <xliff:g id="LAYOUT_1">%s</xliff:g>. Өзгөртүү үчүн басыңыз."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Баскычтоп калыбы төмөнкүгө коюлду: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Өзгөртүү үчүн басыңыз."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Баскычтоп калыбы төмөнкүгө коюлду: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Өзгөртүү үчүн басыңыз."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Баскычтоп калыбы төмөнкүгө коюлду: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Өзгөртүү үчүн басыңыз."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физикалык баскычтоптор конфигурацияланды"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Баскычтопторду көрүү үчүн басыңыз"</string> </resources> diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml index 9366586fdd7d..5b6781469fd9 100644 --- a/core/res/res/values-lo/strings.xml +++ b/core/res/res/values-lo/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ການໂທ Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ປິດ"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ໂທຜ່ານ Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ໂທຜ່ານເຄືອຂ່າຍມືຖື"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ເລືອກຮູບແບບການປ້ອນ"</string> <string name="show_ime" msgid="6406112007347443383">"ເປີດໃຊ້ໃຫ້ມັນຢູ່ໃນໜ້າຈໍໃນຂະນະທີ່ໃຊ້ແປ້ນພິມພາຍນອກຢູ່"</string> <string name="hardware" msgid="1800597768237606953">"ສະແດງແປ້ນພິມສະເໝືອນ"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"ຕັ້ງຄ່າ <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ຕັ້ງຄ່າແປ້ນພິມແທ້"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ແຕະເພື່ອເລືອກພາສາ ແລະ ໂຄງແປ້ນພິມ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ອຸປະກອນຊ່ວຍຟັງ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້. ເປີດໃຊ້ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ແລ້ວ."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້. ປິດ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ໄວ້ແລ້ວ."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ປ່ອຍປຸ່ມລະດັບສຽງ. ເພື່ອເປີດ <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, ໃຫ້ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້ 3 ວິນາທີ."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ເລືອກຄຸນສົມບັດທີ່ຈະໃຊ້ເມື່ອທ່ານແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງ:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ເລືອກຄຸນສົມບັດເພື່ອໃຊ້ກັບທ່າທາງການຊ່ວຍເຂົ້າເຖິງ (ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສອງນິ້ວ):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ເລືອກຄຸນສົມບັດເພື່ອໃຊ້ກັບທ່າທາງການຊ່ວຍເຂົ້າເຖິງ (ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍສາມນິ້ວ):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> ກຳລັງໃຊ້ຈໍສະແດງຜົນທັງສອງເພື່ອສະແດງເນື້ອຫາ"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ອຸປະກອນຮ້ອນເກີນໄປ"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ໜ້າຈໍຄູ່ບໍ່ພ້ອມໃຫ້ນຳໃຊ້ເນື່ອງຈາກໂທລະສັບຂອງທ່ານຮ້ອນເກີນໄປ"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ປິດໄວ້"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ປິດໄວ້"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"ຕັ້ງຄ່າ <xliff:g id="DEVICE_NAME">%s</xliff:g> ແລ້ວ"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"ຕັ້ງຄ່າໂຄງຮ່າງແປ້ນພິມເປັນ <xliff:g id="LAYOUT_1">%s</xliff:g>. ແຕະເພື່ອປ່ຽນ."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"ຕັ້ງໂຄງຮ່າງແປ້ນພິມເປັນ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. ແຕະເພື່ອປ່ຽນ."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"ຕັ້ງໂຄງຮ່າງແປ້ນພິມເປັນ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. ແຕະເພື່ອປ່ຽນ."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"ຕັ້ງໂຄງຮ່າງແປ້ນພິມເປັນ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… ແຕະເພື່ອປ່ຽນແປງ."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ຕັ້ງຄ່າແປ້ນພິມແທ້ແລ້ວ"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"ແຕະເພື່ອເບິ່ງແປ້ນພິມ"</string> </resources> diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml index 35a2715930ca..6793454a9d22 100644 --- a/core/res/res/values-lt/strings.xml +++ b/core/res/res/values-lt/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"„Wi-Fi“ skambinimas"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Išjungta"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Skambinimas naudojant „Wi-Fi“"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Skambinimas naudojant mobiliojo ryšio tinklą"</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Pasirinkite įvesties metodą"</string> <string name="show_ime" msgid="6406112007347443383">"Palikti ekrane, kol fizinė klaviatūra aktyvi"</string> <string name="hardware" msgid="1800597768237606953">"Rodyti virtualiąją klaviatūrą"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"„<xliff:g id="DEVICE_NAME">%s</xliff:g>“ konfigūravimas"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Fizinių klaviatūrų konfigūravimas"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Palieskite, kad pasirinktumėte kalbą ir išdėstymą"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789AĄBCČDEĘĖFGHIĮYJKLMNOPRSŠTUŲŪVZŽ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Klausos įrenginiai"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Laikomi garsumo klavišai. „<xliff:g id="SERVICE_NAME">%1$s</xliff:g>“ įjungta."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Laikomi garsumo klavišai. „<xliff:g id="SERVICE_NAME">%1$s</xliff:g>“ išjungta."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Atleiskite garsumo klavišus. Kad įjungtumėte „<xliff:g id="SERVICE_NAME">%1$s</xliff:g>“, paspauskite ir 3 sekundes palaikykite garsumo klavišus."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Pasirinkite funkciją, kuri bus naudojama, kai paliesite pritaikomumo mygtuką:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Pasirinkite funkciją, kuri bus naudojama su pritaikomumo gestu (perbraukimas aukštyn dviem pirštais iš ekrano apačios):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Pasirinkite funkciją, kuri bus naudojama su pritaikomumo gestu (perbraukimas aukštyn trimis pirštais iš ekrano apačios):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ naudoja abu ekranus turiniui rodyti"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Įrenginys per daug kaista"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dvigubas ekranas nepasiekiamas, nes telefonas per daug kaista"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Išjungti"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Išjungti"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Įrenginys „<xliff:g id="DEVICE_NAME">%s</xliff:g>“ sukonfigūruotas"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Klaviatūros išdėstymas nustatytas į <xliff:g id="LAYOUT_1">%s</xliff:g>. Palieskite, kad pakeistumėte."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Klaviatūros išdėstymas nustatytas į <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Palieskite, kad pakeistumėte."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Klaviatūros išdėstymas nustatytas į <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Palieskite, kad pakeistumėte."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Klaviatūros išdėstymas nustatytas į <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Palieskite, kad pakeistumėte."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Sukonfigūruotos fizinės klaviatūros"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Palieskite, kad peržiūrėtumėte klaviatūras"</string> </resources> diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml index b27c3d32a59e..56f22417e888 100644 --- a/core/res/res/values-lv/strings.xml +++ b/core/res/res/values-lv/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi zvani"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Izslēgts"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Zvani Wi-Fi tīklā"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Zvani mobilajā tīklā"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Ievades metodes izvēle"</string> <string name="show_ime" msgid="6406112007347443383">"Paturēt ekrānā, kamēr ir aktīva fiziskā tastatūra"</string> <string name="hardware" msgid="1800597768237606953">"Virtuālās tastatūras rādīšana"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Jākonfigurē <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurējiet fiziskās tastatūras"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Pieskarieties, lai atlasītu valodu un izkārtojumu"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789AĀBCČDEĒFGĢHIĪJKĶLĻMNŅOPRSŠTUŪVZŽ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Dzirdes aparāti"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Turējāt nospiestas skaļuma pogas. Pakalpojums <xliff:g id="SERVICE_NAME">%1$s</xliff:g> tika ieslēgts."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Turējāt nospiestas skaļuma pogas. Pakalpojums <xliff:g id="SERVICE_NAME">%1$s</xliff:g> tika izslēgts."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Atlaidiet skaļuma pogas. Lai ieslēgtu pakalpojumu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, vēlreiz nospiediet un trīs sekundes turiet nospiestas abas skaļuma pogas."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Izvēlieties funkciju, ko izmantot, kad pieskaraties pieejamības pogai."</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Izvēlieties funkciju, ko izmantot ar pieejamības žestu (vilkšana ar diviem pirkstiem augšup no ekrāna apakšdaļas)."</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Izvēlieties funkciju, ko izmantot ar pieejamības žestu (vilkšana ar trīs pirkstiem augšup no ekrāna apakšdaļas)."</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> satura rādīšanai izmanto abus displejus."</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Ierīce ir pārāk sakarsusi"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Divu ekrānu režīms nav pieejams, jo tālrunis sāk pārāk sakarst."</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Izslēgt"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Izslēgt"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ir konfigurēta"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Ir iestatīts šāds tastatūras izkārtojums: <xliff:g id="LAYOUT_1">%s</xliff:g>. Lai to mainītu, pieskarieties."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Ir iestatīti šādi tastatūras izkārtojumi: <xliff:g id="LAYOUT_1">%1$s</xliff:g> un <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Lai to mainītu, pieskarieties."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Ir iestatīti šādi tastatūras izkārtojumi: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> un <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Lai to mainītu, pieskarieties."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Ir iestatīti šādi tastatūras izkārtojumi: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Lai to mainītu, pieskarieties."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fiziskās tastatūras ir konfigurētas"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Lai skatītu tastatūras, pieskarieties"</string> </resources> diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml index 217989534b47..1002bdfa8ed1 100644 --- a/core/res/res/values-mk/strings.xml +++ b/core/res/res/values-mk/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Повикување преку Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"Глас преку Wi-Fi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Исклучено"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Повикувај преку Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Повикувај преку мобилна мрежа"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Одбери метод на внес"</string> <string name="show_ime" msgid="6406112007347443383">"Прикажувај ја на екранот додека е активна физичката тастатура"</string> <string name="hardware" msgid="1800597768237606953">"Прикажи виртуелна тастатура"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Конфигурирање на <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Конфигурирање физички тастатури"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Допрете за избирање јазик и распоред"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слушни помагала"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Ги задржавте копчињата за јачина на звук. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> е вклучена."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Ги задржавте копчињата за јачина на звук. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> е исклучена."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Ослободете ги копчињата за јачина на звукот. Притиснете ги и задржете ги двете копчиња за јачина на звукот во траење од 3 секунди за да вклучите <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Изберете функција за користење кога ќе го допрете копчето за пристапност:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Изберете ја функцијата што ќе ја користите со движењето за пристапност (повлекување нагоре од дното на екранот со два прста):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Изберете ја функцијата што ќе ја користите со движењето за пристапност (повлекување нагоре од дното на екранот со три прста):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> ги користи двата екрани за да прикажува содржини"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Уредот е претопол"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Двојниот екран е недостапен бидејќи вашиот телефон станува претопол"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Исклучи"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Исклучи"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> е конфигуриран"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Распоредот на тастатурата е поставен на <xliff:g id="LAYOUT_1">%s</xliff:g>. Допрете за да промените."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Распоредот на тастатурата е поставен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Допрете за да промените."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Распоредот на тастатурата е поставен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Допрете за да промените."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Распоредот на тастатурата е поставен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Допрете за да промените."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физичките тастатури се конфигурирани"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Допрете за да ги видите тастатурите"</string> </resources> diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml index d568bb8df638..7e08328a5a61 100644 --- a/core/res/res/values-ml/strings.xml +++ b/core/res/res/values-ml/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"വൈഫൈ"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"വൈഫൈ കോളിംഗ്"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"Voവൈഫൈ"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ഓഫ്"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"വൈഫൈ മുഖേനയുള്ള കോൾ"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"മൊബൈൽ നെറ്റ്വർക്ക് മുഖേനയുള്ള കോൾ"</string> @@ -1176,7 +1178,7 @@ <string name="not_checked" msgid="7972320087569023342">"പരിശോധിക്കാത്തത്"</string> <string name="selected" msgid="6614607926197755875">"തിരഞ്ഞെടുത്തു"</string> <string name="not_selected" msgid="410652016565864475">"തിരഞ്ഞെടുത്തിട്ടില്ല"</string> - <string name="rating_label" msgid="1837085249662154601">"{rating,plural, =1{{max}-ൽ ഒരു നക്ഷത്ര ചിഹ്നം}other{{max}-ൽ # നക്ഷത്ര ചിഹ്നം}}"</string> + <string name="rating_label" msgid="1837085249662154601">"{rating,plural, =1{{max}-ൽ ഒരു സ്റ്റാർ}other{{max}-ൽ # സ്റ്റാർ}}"</string> <string name="in_progress" msgid="2149208189184319441">"പുരോഗതിയിലാണ്"</string> <string name="whichApplication" msgid="5432266899591255759">"പൂർണ്ണമായ പ്രവർത്തനം ഉപയോഗിക്കുന്നു"</string> <string name="whichApplicationNamed" msgid="6969946041713975681">"%1$s ഉപയോഗിച്ച് പ്രവർത്തനം പൂർത്തിയാക്കുക"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ഇൻപുട്ട് രീതി തിരഞ്ഞെടുക്കുക"</string> <string name="show_ime" msgid="6406112007347443383">"ഫിസിക്കൽ കീബോർഡ് സജീവമായിരിക്കുമ്പോൾ സ്ക്രീനിൽ നിലനിർത്തുക"</string> <string name="hardware" msgid="1800597768237606953">"വെർച്വൽ കീബോർഡ് കാണിക്കുക"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> കോൺഫിഗർ ചെയ്യുക"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"യഥാർത്ഥ കീബോർഡുകൾ കോൺഫിഗർ ചെയ്യുക"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ഭാഷയും ലേഔട്ടും തിരഞ്ഞെടുക്കുന്നതിന് ടാപ്പ് ചെയ്യുക"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ശ്രവണ ഉപകരണങ്ങൾ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"വോളിയം കീകൾ പിടിച്ചു. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ഓണാക്കി."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"വോളിയം കീകൾ അമർത്തിപ്പിടിച്ചു. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ഓഫാക്കി."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"വോളിയം കീകൾ വിടുക. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ഓണാക്കാൻ, രണ്ട് വോളിയം കീകളും വീണ്ടും മൂന്ന് സെക്കൻഡ് അമർത്തിപ്പിടിക്കുക."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"നിങ്ങൾ ഉപയോഗസഹായി ബട്ടൺ ടാപ്പ് ചെയ്യുമ്പോൾ ഉപയോഗിക്കുന്നതിന് ഒരു ഫീച്ചർ തിരഞ്ഞെടുക്കുക:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ഉപയോഗസഹായി വിരൽചലനത്തോടൊപ്പം ഉപയോഗിക്കാൻ ഒരു ഫീച്ചർ തിരഞ്ഞെടുക്കുക (രണ്ട് വിരലുകളുപയോഗിച്ച് സ്ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലോട്ട് സ്വൈപ്പ് ചെയ്യുക):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ഉപയോഗസഹായി വിരൽചലനത്തോടൊപ്പം ഉപയോഗിക്കാൻ ഒരു ഫീച്ചർ തിരഞ്ഞെടുക്കുക (മൂന്ന് വിരലുകളുപയോഗിച്ച് സ്ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലോട്ട് സ്വൈപ്പ് ചെയ്യുക):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"ഉള്ളടക്കം കാണിക്കാൻ <xliff:g id="APP_NAME">%1$s</xliff:g> രണ്ട് ഡിസ്പ്ലേകളും ഉപയോഗിക്കുന്നു"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ഉപകരണത്തിന് ചൂട് കൂടുതലാണ്"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"നിങ്ങളുടെ ഫോൺ വളരെയധികം ചൂടാകുന്നതിനാൽ ഡ്യുവൽ സ്ക്രീൻ ലഭ്യമല്ല"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ഓഫാക്കുക"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ഓഫാക്കുക"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> കോൺഫിഗർ ചെയ്തു"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"കീബോർഡ് ലേഔട്ട് ആയി <xliff:g id="LAYOUT_1">%s</xliff:g> സജ്ജീകരിച്ചു. മാറ്റാൻ ടാപ്പ് ചെയ്യുക."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"കീബോർഡ് ലേഔട്ട് ആയി <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> എന്നിവ സജ്ജീകരിച്ചു. മാറ്റാൻ ടാപ്പ് ചെയ്യുക."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"കീബോർഡ് ലേഔട്ട് ആയി <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> എന്നിവ സജ്ജീകരിച്ചു. മാറ്റാൻ ടാപ്പ് ചെയ്യുക."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"കീബോർഡ് ലേഔട്ട് ആയി ഇനിപ്പറയുന്നവ സജ്ജീകരിച്ചു: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… മാറ്റാൻ ടാപ്പ് ചെയ്യുക."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"യഥാർത്ഥ കീബോർഡുകൾ കോൺഫിഗർ ചെയ്തു"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"കീബോർഡുകൾ കാണാൻ ടാപ്പ് ചെയ്യുക"</string> </resources> diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml index f924dd74f895..b83f9fdea50a 100644 --- a/core/res/res/values-mn/strings.xml +++ b/core/res/res/values-mn/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi дуудлага"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Идэвхгүй"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi-р залгах"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Мобайл сүлжээгээр дуудлага хийх"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Оруулах аргыг сонгоно уу"</string> <string name="show_ime" msgid="6406112007347443383">"Биет гар идэвхтэй үед үүнийг дэлгэцэд харуулна уу"</string> <string name="hardware" msgid="1800597768237606953">"Хийсвэр гарыг харуулах"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g>-г тохируулна уу"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Биет гарыг тохируулна уу"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Хэл болон бүдүүвчийг сонгохын тулд дарна уу"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Сонсголын төхөөрөмжүүд"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Дууны түвшний түлхүүрийг удаан дарсан. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>-г асаалаа."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Дууны түвшний түлхүүрийг удаан дарсан. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>-г унтраалаа."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Дууны түвшний товчнуудыг суллана уу. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>-г асаахын тулд дууны түвшний 2 товчийг зэрэг 3 секундийн турш удаан дарна уу."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Хандалтын товчлуурыг товшихдоо ашиглах онцлогийг сонгоно уу:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Хандалтын зангаагаар ашиглах үйлчилгээг сонгоно уу (хоёр хуруугаараа дэлгэцийн доороос дээш хоёр хуруугаар шударна уу):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Хандалтын зангаагаар ашиглах онцлогийг сонгоно уу (гурван хуруугаар дэлгэцийн доороос дээш шударна уу):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> контент харуулахын тулд хоёр дэлгэцийг хоёуланг нь ашиглаж байна"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Төхөөрөмж хэт халуун байна"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Таны утас хэт халж байгаа тул Хоёр дэлгэц боломжгүй байна"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Унтраах"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Унтраах"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g>-г тохируулсан"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Гарын бүдүүвчийг <xliff:g id="LAYOUT_1">%s</xliff:g> болгож тохируулсан. Өөрчлөхийн тулд товшино уу."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Гарын бүдүүвчийг <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> болгож тохируулсан. Өөрчлөхийн тулд товшино уу."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Гарын бүдүүвчийг <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> болгож тохируулсан. Өөрчлөхийн тулд товшино уу."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Гарын бүдүүвчийг <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> болгож тохируулсан… Өөрчлөхийн тулд товшино уу."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Биет гарыг тохируулсан"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Гарыг харахын тулд товшино уу"</string> </resources> diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml index 48df544c4541..4da7c71ce400 100644 --- a/core/res/res/values-mr/strings.xml +++ b/core/res/res/values-mr/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"वाय-फाय"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"वायफाय कॉलिंग"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"वायफाय कॉल"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"बंद"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"वाय-फायवरून कॉल करा"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"मोबाइल नेटवर्कवरून कॉल करा"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"इनपुट पद्धत निवडा"</string> <string name="show_ime" msgid="6406112007347443383">"भौतिक कीबोर्ड सक्रिय असताना त्यास स्क्रीनवर ठेवा"</string> <string name="hardware" msgid="1800597768237606953">"व्हर्च्युअल कीबोर्ड दर्शवा"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> कॉंफिगर करा"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"वास्तविक कीबोर्ड कॉंफिगर करा"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"भाषा आणि लेआउट निवडण्यासाठी टॅप करा"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"श्रवणयंत्र डिव्हाइस"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"धरून ठेवलेल्या व्हॉल्यूम की. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> सुरू केला आहे."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"धरून ठेवलेल्या व्हॉल्यूम की. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> बंद केले आहे."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"व्हॉल्यूम की रिलीझ करा. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> सुरू करण्यासाठी, दोन्ही व्हॉल्यूम की पुन्हा प्रेस करा आणि तीन सेकंदांसाठी धरून ठेवा."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"तुम्ही अॅक्सेसिबिलिटी बटणावर टॅप केल्यास वापरण्यासाठी एक वैशिष्ट्य निवडा:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"अॅक्सेसिबिलिटी जेश्चरसोबत वापराचे असलेले वैशिष्ट्य निवडा (दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"अॅक्सेसिबिलिटी जेश्चरसोबत वापराचे असलेले वैशिष्ट्य निवडा (तीनन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"आशय दाखवण्यासाठी <xliff:g id="APP_NAME">%1$s</xliff:g> दोन्ही डिस्प्ले वापरत आहे"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"डिव्हाइस खूप गरम आहे"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"तुमचा फोन खूप गरम होत असल्यामुळे ड्युअल स्क्रीन उपलब्ध नाही"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"बंद करा"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"बंद करा"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> कॉंफिगर केले आहे"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"कीबोर्ड लेआउट <xliff:g id="LAYOUT_1">%s</xliff:g> वर सेट केला. बदलण्यासाठी टॅप करा."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"कीबोर्ड लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> वर सेट केला. बदलण्यासाठी टॅप करा."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"कीबोर्ड लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> वर सेट केला. बदलण्यासाठी टॅप करा."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"कीबोर्ड लेआउट <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> वर सेट करा… बदलण्यासाठी टॅप करा."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"वास्तविक कीबोर्ड कॉंफिगर केला"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"कीबोर्ड पाहण्यासाठी टॅप करा"</string> </resources> diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml index cc41127f6ef8..d780cbaad3a3 100644 --- a/core/res/res/values-ms/strings.xml +++ b/core/res/res/values-ms/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Panggilan Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Mati"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Panggil melalui Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Panggil melalui rangkaian mudah alih"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Pilih kaedah input"</string> <string name="show_ime" msgid="6406112007347443383">"Pastikannya pada skrin, semasa papan kekunci fizikal aktif"</string> <string name="hardware" msgid="1800597768237606953">"Tunjukkan papan kekunci maya"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurasikan <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurasikan papan kekunci fizikal"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Ketik untuk memilih bahasa dan susun atur"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Peranti pendengaran"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Kekunci kelantangan ditahan. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> dihidupkan."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Kekunci kelantangan ditahan. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> dimatikan."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Lepaskan kekunci kelantangan. Untuk menghidupkan <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, sila tekan dan tahan kedua-dua kekunci kelantangan sekali lagi selama 3 saat."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Pilih ciri yang hendak digunakan apabila anda mengetik butang kebolehaksesan:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Pilih ciri untuk digunakan dengan gerak isyarat kebolehaksesan (leret ke atas dari bahagian bawah skrin menggunakan dua jari):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Pilih ciri untuk digunakan dengan gerak isyarat kebolehaksesan (leret ke atas dari bahagian bawah skrin menggunakan tiga jari):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> menggunakan kedua-dua paparan untuk menunjukkan kandungan"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Peranti terlalu panas"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dwiskrin tidak tersedia kerana telefon anda terlalu panas"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Matikan"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Matikan"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> dikonfigurasikan"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Reka letak papan kekunci ditetapkan kepada <xliff:g id="LAYOUT_1">%s</xliff:g>. Ketik untuk menukar reka letak."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Reka letak papan kekunci ditetapkan kepada <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Ketik untuk menukar reka letak."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Reka letak papan kekunci ditetapkan kepada <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Ketik untuk menukar reka letak."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Reka letak papan kekunci ditetapkan kepada <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Ketik untuk menukar reka letak."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Papan kekunci fizikal dikonfigurasikan"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Ketik untuk melihat papan kekunci"</string> </resources> diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml index 9a37e10e7d55..9a726790beb0 100644 --- a/core/res/res/values-my/strings.xml +++ b/core/res/res/values-my/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi ခေါ်ဆိုမှု"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ပိတ်"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi သုံး၍ ခေါ်ဆိုသည်"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"မိုဘိုင်းကွန်ရက်သုံး၍ ခေါ်ဆိုသည်"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ထည့်သွင်းရေး နည်းကို ရွေးရန်"</string> <string name="show_ime" msgid="6406112007347443383">"စက်၏ကီးဘုတ် ဖွင့်ထားစဉ်တွင် ၎င်းကို ဖန်သားပြင်ပေါ်တွင် ဆက်ထားပါ"</string> <string name="hardware" msgid="1800597768237606953">"ပကတိအသွင်ကီးဘုတ်ပြရန်"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ကို စီစဉ်သတ်မှတ်ရန်"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ပကတိကီးဘုတ်များကို စီစဉ်သတ်မှတ်ရန်"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ဘာသာစကားနှင့် အသွင်အပြင်ရွေးချယ်ရန် တို့ပါ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"နားကြားကိရိယာ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"အသံခလုတ်များကို ဖိထားသည်။ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ဖွင့်လိုက်သည်။"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"အသံခလုတ်များကို ဖိထားသည်။ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ပိတ်လိုက်သည်။"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"အသံထိန်းခလုတ်များကို လွှတ်လိုက်ပါ။ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ဖွင့်ရန် အသံထိန်းခလုတ်နှစ်ခုစလုံးကို ၃ စက္ကန့်ကြာအောင် ထပ်နှိပ်ပါ။"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"သုံးနိုင်မှုခလုတ်ကို တို့ပြီးလျှင် ဝန်ဆောင်မှုတစ်ခု ရွေးပါ−"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"သုံးနိုင်မှုလက်ဟန်ဖြင့် အသုံးပြုရန် ဝန်ဆောင်မှုတစ်ခုကို ရွေးပါ (ဖန်သားပြင်အောက်ခြေမှနေ၍ လက်နှစ်ချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ)-"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"သုံးနိုင်မှုလက်ဟန်ဖြင့် အသုံးပြုရန် ဝန်ဆောင်မှုတစ်ခုကို ရွေးပါ (ဖန်သားပြင်အောက်ခြေမှနေ၍ လက်သုံးချောင်းဖြင့် အပေါ်သို့ ပွတ်ဆွဲပါ)-"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် အကြောင်းအရာကို ဖန်သားပြင်နှစ်ခုစလုံးတွင် ပြနေသည်"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"စက်ပစ္စည်း အလွန်ပူနေသည်"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"သင့်ဖုန်း အလွန်ပူနေသဖြင့် ‘စခရင်နှစ်ခု’ သုံး၍မရပါ"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ပိတ်ရန်"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ပိတ်ရန်"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> စီစဉ်သတ်မှတ်ထားသည်"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"ကီးဘုတ်အပြင်အဆင်ကို <xliff:g id="LAYOUT_1">%s</xliff:g> ဟု သတ်မှတ်ထားသည်။ ပြောင်းရန်တို့ပါ။"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"ကီးဘုတ်အပြင်အဆင်ကို <xliff:g id="LAYOUT_1">%1$s</xliff:g>၊ <xliff:g id="LAYOUT_2">%2$s</xliff:g> ဟု သတ်မှတ်ထားသည်။ ပြောင်းရန်တို့ပါ။"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"ကီးဘုတ်အပြင်အဆင်ကို <xliff:g id="LAYOUT_1">%1$s</xliff:g>၊ <xliff:g id="LAYOUT_2">%2$s</xliff:g>၊ <xliff:g id="LAYOUT_3">%3$s</xliff:g> ဟု သတ်မှတ်ထားသည်။ ပြောင်းရန်တို့ပါ။"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"ကီးဘုတ်အပြင်အဆင်ကို <xliff:g id="LAYOUT_1">%1$s</xliff:g>၊ <xliff:g id="LAYOUT_2">%2$s</xliff:g>၊ <xliff:g id="LAYOUT_3">%3$s</xliff:g> သို့ သတ်မှတ်လိုက်သည်… ပြောင်းရန် တို့ပါ။"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ပကတိကီးဘုတ်များကို စီစဉ်သတ်မှတ်ထားသည်"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"ကီးဘုတ်များကြည့်ရန် တို့ပါ"</string> </resources> diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml index 826ff4904c8f..979d4647964f 100644 --- a/core/res/res/values-nb/strings.xml +++ b/core/res/res/values-nb/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wifi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wifi-anrop"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Av"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Ring via Wifi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Ring over mobilnettverk"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Velg inndatametode"</string> <string name="show_ime" msgid="6406112007347443383">"Ha den på skjermen mens det fysiske tastaturet er aktivt"</string> <string name="hardware" msgid="1800597768237606953">"Vis det virtuelle tastaturet"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurer <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurer de fysiske tastaturene"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Trykk for å velge språk og layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Høreapparater"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Volumtastene holdes inne. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> er slått på."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Volumtastene holdes inne. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> er slått av."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Slipp opp volumtastene. For å slå på <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, trykk og hold på begge volumtastene igjen i 3 sekunder."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Velg en funksjon du vil bruke når du trykker på Tilgjengelighet-knappen:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Velg en funksjon du vil bruke med tilgjengelighetsbevegelsen (sveip opp fra bunnen av skjermen med to fingre):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Velg en funksjon du vil bruke med tilgjengelighetsbevegelsen (sveip opp fra bunnen av skjermen med tre fingre):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> bruker begge skjermene til å vise innhold"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Enheten er for varm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dobbel skjerm er ikke tilgjengelig fordi telefonen begynner å bli for varm"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Slå av"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Slå av"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> er konfigurert"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Tastaturoppsettet er satt til <xliff:g id="LAYOUT_1">%s</xliff:g>. Trykk for å endre det."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Tastaturoppsettet er satt til <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Trykk for å endre det."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Tastaturoppsettet er satt til <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Trykk for å endre det."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Tastaturoppsettet er satt til <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> … Trykk for å endre det."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"De fysiske tastaturene er konfigurert"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Trykk for å se tastaturene"</string> </resources> diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml index 2624a39bb9c1..886b27ceec34 100644 --- a/core/res/res/values-ne/strings.xml +++ b/core/res/res/values-ne/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WiFi कलिङ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"अफ"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi मार्फत कल गर्नुहोस्"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"मोबाइल नेटवर्कमार्फत कल गर्नुहोस्"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"निवेश विधि छान्नुहोस्"</string> <string name="show_ime" msgid="6406112007347443383">"फिजिकल किबोर्ड सक्रिय हुँदा यसलाई स्क्रिनमा राखियोस्"</string> <string name="hardware" msgid="1800597768237606953">"भर्चुअल किबोर्ड देखाउनुहोस्"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> कन्फिगर गर्नुहोस्"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"भौतिक किबोर्डहरू कन्फिगर गर्नुहोस्"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"भाषा र लेआउट चयन गर्न ट्याप गर्नुहोस्"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"हियरिङ डिभाइसहरू"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"तपाईंले भोल्युम बटनहरू थिचिराख्नुभयो। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> अन भयो।"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"तपाईंले भोल्युम बटनहरू थिचिराख्नुभयो। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> अफ भयो।"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"भोल्युम बटनहरू थिच्न छाड्नुहोस्। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> अन गर्न दुवै भोल्युम बटन फेरि ३ सेकेन्डसम्म थिचिराख्नुहोस्।"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"तपाईंले एक्सेसिबिलिटी बटन ट्याप गर्दा प्रयोग गर्न चाहनुभएको सुविधा छनौट गर्नुहोस्:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"तपाईंले पहुँचको इसारामार्फत प्रयोग गर्न चाहनुभएको सुविधा छनौट गर्नुहोस् (दुईवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"तपाईंले पहुँचको इसारामार्फत प्रयोग गर्न चाहनुभएको सुविधा छनौट गर्नुहोस् (तीनवटा औँलाले स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> ले सामग्री देखाउन दुई वटै डिस्प्ले प्रयोग गरिरहेको छ"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"डिभाइस ज्यादै तातेको छ"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"तपाईंको फोन ज्यादै तातिरहेको हुनाले डुअल स्क्रिन उपलब्ध छैन"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"अफ गर्नुहोस्"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"अफ गर्नुहोस्"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> कन्फिगर गरिएको छ"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"किबोर्ड लेआउट सेट गरी <xliff:g id="LAYOUT_1">%s</xliff:g> बनाइएको छ। परिवर्तन गर्न ट्याप गर्नुहोस्।"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"किबोर्ड लेआउट सेट गरी <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> बनाइएको छ। परिवर्तन गर्न ट्याप गर्नुहोस्।"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"किबोर्ड लेआउट सेट गरी <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> बनाइएको छ। परिवर्तन गर्न ट्याप गर्नुहोस्।"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"किबोर्ड लेआउट सेट गरी <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> बनाइएको छ… परिवर्तन गर्न ट्याप गर्नुहोस्।"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"भौतिक किबोर्डहरू कन्फिगर गरिएका छन्"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"किबोर्डहरू हेर्न ट्याप गर्नुहोस्"</string> </resources> diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml index b56efb5b5c89..97d277d2732e 100644 --- a/core/res/res/values-nl/strings.xml +++ b/core/res/res/values-nl/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wifi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Bellen via wifi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Uit"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Bellen via wifi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Bellen via mobiel netwerk"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Invoermethode selecteren"</string> <string name="show_ime" msgid="6406112007347443383">"Toon op het scherm terwijl het fysieke toetsenbord actief is"</string> <string name="hardware" msgid="1800597768237606953">"Virtueel toetsenbord tonen"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> instellen"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Fysieke toetsenborden instellen"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tik om een taal en indeling te selecteren"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hoortoestellen"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Volumetoetsen ingedrukt gehouden. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> staat aan."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Volumetoetsen ingedrukt gehouden. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> staat uit."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Laat de volumeknoppen los. Als je <xliff:g id="SERVICE_NAME">%1$s</xliff:g> wilt aanzetten, houd je beide volumeknoppen weer 3 seconden ingedrukt."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Kies een functie om te gebruiken als je op de knop Toegankelijkheid tikt:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Kies een functie om te gebruiken met het toegankelijkheidsgebaar (met twee vingers omhoog swipen vanaf de onderkant van het scherm):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Kies een functie om te gebruiken met het toegankelijkheidsgebaar (met drie vingers omhoog swipen vanaf de onderkant van het scherm):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> gebruikt beide schermen om content te tonen"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Het apparaat is te warm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dubbel scherm is niet beschikbaar, omdat je telefoon te warm wordt"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Uitzetten"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Uitzetten"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> is ingesteld"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Toetsenbordindeling ingesteld op <xliff:g id="LAYOUT_1">%s</xliff:g>. Tik om te wijzigen."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Toetsenbordindeling is ingesteld op <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tik om te wijzigen."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Toetsenbordindeling is ingesteld op <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tik om te wijzigen."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Toetsenbordindeling ingesteld op <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Tik om te wijzigen."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fysieke toetsenborden zijn ingesteld"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tik om toetsenborden te bekijken"</string> </resources> diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml index 15fb22a5b4ed..bc28604afbfa 100644 --- a/core/res/res/values-or/strings.xml +++ b/core/res/res/values-or/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"ୱାଇ-ଫାଇ"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ୱାଇଫାଇ କଲିଂ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ବନ୍ଦ ଅଛି"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ୱାଇ-ଫାଇ ମାଧ୍ୟମରେ କଲ୍ କରନ୍ତୁ"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ମୋବାଇଲ ନେଟ୍ୱର୍କ ମାଧ୍ୟମରେ କଲ୍ କରନ୍ତୁ"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ଇନପୁଟ୍ ପଦ୍ଧତି ବାଛନ୍ତୁ"</string> <string name="show_ime" msgid="6406112007347443383">"ଫିଜିକାଲ୍ କୀବୋର୍ଡ ସକ୍ରିୟ ଥିବାବେଳେ ଏହାକୁ ସ୍କ୍ରିନ୍ ଉପରେ ରଖନ୍ତୁ"</string> <string name="hardware" msgid="1800597768237606953">"ଭର୍ଚୁଆଲ୍ କୀ’ବୋର୍ଡ ଦେଖାନ୍ତୁ"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g>କୁ କନଫିଗର କରନ୍ତୁ"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ଫିଜିକାଲ କୀବୋର୍ଡଗୁଡ଼ିକୁ କନଫିଗର କରନ୍ତୁ"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ଭାଷା ଓ ଲେଆଉଟ୍ ଚୟନ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ହିଅରିଂ ଡିଭାଇସଗୁଡ଼ିକ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖାଯାଇଛି। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ଚାଲୁ ହୋଇଛି।"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖାଯାଇଛି। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ବନ୍ଦ ହୋଇଛି।"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ଭଲ୍ୟୁମ କୀ\'ଗୁଡ଼ିକୁ ରିଲିଜ କରନ୍ତୁ। <xliff:g id="SERVICE_NAME">%1$s</xliff:g>କୁ ଚାଲୁ କରିବା ପାଇଁ ଉଭୟ ଭଲ୍ୟୁମ କୀ\'କୁ ପୁଣି 3 ସେକେଣ୍ଡ ପାଇଁ ଦବାଇ ଧରି ରଖନ୍ତୁ।"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ଆପଣ ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଟାପ୍ କରିବା ବେଳେ ଏକ ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ ବାଛନ୍ତୁ:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ ସହିତ ବ୍ୟବହାର କରିବାକୁ ଏକ ଫିଚର୍ ବାଛନ୍ତୁ (ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍ ସହିତ ବ୍ୟବହାର କରିବାକୁ ଏକ ଫିଚର୍ ବାଛନ୍ତୁ (ତିନୋଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"ବିଷୟବସ୍ତୁ ଦେଖାଇବା ପାଇଁ <xliff:g id="APP_NAME">%1$s</xliff:g> ଉଭୟ ଡିସପ୍ଲେକୁ ବ୍ୟବହାର କରୁଛି"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ଡିଭାଇସ ବହୁତ ଗରମ ଅଛି"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ଆପଣଙ୍କ ଫୋନ ବହୁତ ଗରମ ହେଉଥିବା ଯୋଗୁଁ ଡୁଆଲ ସ୍କ୍ରିନ ଉପଲବ୍ଧ ନାହିଁ"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ବନ୍ଦ କରନ୍ତୁ"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ବନ୍ଦ କରନ୍ତୁ"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g>କୁ କନଫିଗର କରାଯାଇଛି"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"କୀବୋର୍ଡ ଲେଆଉଟକୁ <xliff:g id="LAYOUT_1">%s</xliff:g>ରେ ସେଟ କରାଯାଇଛି। ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ କରନ୍ତୁ।"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"କୀବୋର୍ଡ ଲେଆଉଟକୁ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>ରେ ସେଟ କରାଯାଇଛି। ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ କରନ୍ତୁ।"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"କୀବୋର୍ଡ ଲେଆଉଟକୁ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>ରେ ସେଟ କରାଯାଇଛି। ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ କରନ୍ତୁ।"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"କୀବୋର୍ଡ ଲେଆଉଟକୁ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>ରେ ସେଟ କରାଯାଇଛି… ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ କରନ୍ତୁ।"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ଫିଜିକାଲ କୀବୋର୍ଡଗୁଡ଼ିକୁ କନଫିଗର କରାଯାଇଛି"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"କୀବୋର୍ଡଗୁଡ଼ିକୁ ଦେଖିବା ପାଇଁ ଟାପ କରନ୍ତୁ"</string> </resources> diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml index f0c05218f2a1..e188a0dcbced 100644 --- a/core/res/res/values-pa/strings.xml +++ b/core/res/res/values-pa/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"ਵਾਈ-ਫਾਈ"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ਬੰਦ"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"ਵਾਈ-ਫਾਈ \'ਤੇ ਕਾਲ ਕਰੋ"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਤੋਂ ਕਾਲ ਕਰੋ"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ਇਨਪੁਟ ਵਿਧੀ ਚੁਣੋ"</string> <string name="show_ime" msgid="6406112007347443383">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਸਰਗਰਮ ਹੋਣ ਦੌਰਾਨ ਇਸ ਨੂੰ ਸਕ੍ਰੀਨ \'ਤੇ ਬਣਾਈ ਰੱਖੋ"</string> <string name="hardware" msgid="1800597768237606953">"ਆਭਾਸੀ ਕੀ-ਬੋਰਡ ਦਿਖਾਓ"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡਾਂ ਦਾ ਸੰਰੂਪਣ ਕਰੋ"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"ਭਾਸ਼ਾ ਅਤੇ ਖਾਕਾ ਚੁਣਨ ਲਈ ਟੈਪ ਕਰੋ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ਸੁਣਨ ਵਾਲੇ ਡੀਵਾਈਸ"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ਅਵਾਜ਼ੀ ਕੁੰਜੀਆਂ ਦਬਾ ਕੇ ਰੱਖੀਆਂ ਗਈਆਂ। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਗਿਆ।"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ਅਵਾਜ਼ੀ ਕੁੰਜੀਆਂ ਦਬਾ ਕੇ ਰੱਖੀਆਂ ਗਈਆਂ। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕੀਤਾ ਗਿਆ।"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਛੱਡੋ। <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ, ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ 3 ਸਕਿੰਟਾਂ ਲਈ ਦੁਬਾਰਾ ਦਬਾਈ ਰੱਖੋ।"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਨੂੰ ਟੈਪ ਕੀਤੇ ਜਾਣ \'ਤੇ ਵਰਤਣ ਲਈ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣੋ:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤ ਨਾਲ ਵਰਤਣ ਲਈ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣੋ (ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਕੇਤ ਨਾਲ ਵਰਤਣ ਲਈ ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣੋ (ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਸਮੱਗਰੀ ਨੂੰ ਦਿਖਾਉਣ ਲਈ ਦੋਵੇਂ ਡਿਸਪਲੇਆਂ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀ ਹੈ"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"ਡੀਵਾਈਸ ਬਹੁਤ ਗਰਮ ਹੈ"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ਦੋਹਰੀ ਸਕ੍ਰੀਨ ਵਿਸ਼ੇਸ਼ਤਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਡਾ ਫ਼ੋਨ ਬਹੁਤ ਗਰਮ ਹੋ ਰਿਹਾ ਹੈ"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ਬੰਦ ਕਰੋ"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ਬੰਦ ਕਰੋ"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ਦਾ ਸੰਰੂਪਣ ਕੀਤਾ ਗਿਆ"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"ਕੀ-ਬੋਰਡ ਦਾ ਖਾਕਾ <xliff:g id="LAYOUT_1">%s</xliff:g> \'ਤੇ ਸੈੱਟ ਹੈ। ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"ਕੀ-ਬੋਰਡ ਦਾ ਖਾਕਾ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> \'ਤੇ ਸੈੱਟ ਹੈ। ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"ਕੀ-ਬੋਰਡ ਦਾ ਖਾਕਾ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>\'ਤੇ ਸੈੱਟ ਹੈ। ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"ਕੀ-ਬੋਰਡ ਦਾ ਖਾਕਾ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> \'ਤੇ ਸੈੱਟ ਹੈ… ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ।"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡਾਂ ਦਾ ਸੰਰੂਪਣ ਕੀਤਾ ਗਿਆ"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"ਕੀ-ਬੋਰਡਾਂ ਨੂੰ ਦੇਖਣ ਲਈ ਟੈਪ ਕਰੋ"</string> </resources> diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml index 2f5aa5a259e3..031d576df1f0 100644 --- a/core/res/res/values-pl/strings.xml +++ b/core/res/res/values-pl/strings.xml @@ -142,6 +142,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Połączenia przez Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Połączenie przez Wi-Fi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Wył."</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Rozmowa przez Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Połączenia przez sieć komórkową"</string> @@ -1395,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Wybierz metodę wprowadzania"</string> <string name="show_ime" msgid="6406112007347443383">"Pozostaw na ekranie, gdy aktywna jest klawiatura fizyczna"</string> <string name="hardware" msgid="1800597768237606953">"Pokaż klawiaturę wirtualną"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Skonfiguruj urządzenie <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Skonfiguruj klawiatury fizyczne"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Kliknij, by wybrać język i układ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" AĄBCĆDEĘFGHIJKLŁMNŃOÓPQRSŚTUVWXYZŹŻ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1723,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Urządzenia słuchowe"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Przytrzymano klawisze głośności. Usługa <xliff:g id="SERVICE_NAME">%1$s</xliff:g> została włączona."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Przytrzymano klawisze głośności. Usługa <xliff:g id="SERVICE_NAME">%1$s</xliff:g> została wyłączona."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Zwolnij przyciski głośności. Aby włączyć usługę <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, naciśnij i przytrzymaj oba przyciski głośności przez 3 sekundy."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Wybierz funkcję używaną po kliknięciu przycisku ułatwień dostępu:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Wybierz funkcję, której chcesz używać w przypadku gestu ułatwień dostępu (przesunięcie dwoma palcami w górę od dołu ekranu):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Wybierz funkcję, której chcesz używać w przypadku gestu ułatwień dostępu (przesunięcie trzema palcami w górę od dołu ekranu):"</string> @@ -2328,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> korzysta z obu wyświetlaczy, aby pokazać treści"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Urządzenie jest za ciepłe"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Podwójny ekran jest niedostępny, ponieważ telefon za bardzo się nagrzewa"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Wyłącz"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Wyłącz"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Skonfigurowano urządzenie <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Ustawiono układ klawiatury <xliff:g id="LAYOUT_1">%s</xliff:g>. Kliknij, aby to zmienić."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Ustawiono układ klawiatury <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Kliknij, aby to zmienić."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Ustawiono układ klawiatury <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Kliknij, aby to zmienić."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Ustawiono układ klawiatury <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Kliknij, aby to zmienić."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Skonfigurowano klawiatury fizyczne"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Kliknij, aby wyświetlić klawiatury"</string> </resources> diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml index 5eb7a4656a1d..a315bb1990b5 100644 --- a/core/res/res/values-pt-rBR/strings.xml +++ b/core/res/res/values-pt-rBR/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Chamada no Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Ligação pelo Wi-Fi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desativado"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Chamar via Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Chamar via rede móvel"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Selecione o método de entrada"</string> <string name="show_ime" msgid="6406112007347443383">"Mantém o teclado virtual na tela enquanto o teclado físico está ativo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configure o dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configure teclados físicos"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toque para selecionar o idioma e o layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Aparelhos auditivos"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Teclas de volume pressionadas. Serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ativado."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Teclas de volume pressionadas. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desativado."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Solte as teclas de volume. Para ativar o serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, toque e pressione as duas teclas de volume por três segundos."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Escolha um recurso a ser usado quando você toca no botão de acessibilidade:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Escolha um recurso para usar com o gesto de acessibilidade (deslizar de baixo para cima na tela com dois dedos):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Escolha um recurso para usar com o gesto de acessibilidade (deslizar de baixo para cima na tela com três dedos):"</string> @@ -2327,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> está usando as duas telas para mostrar conteúdo"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"O dispositivo está muito quente"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"A tela dupla está indisponível porque o smartphone está ficando muito quente"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desativar"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desativar"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g> configurado"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%s</xliff:g>. Toque para mudar."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g> e <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Toque para mudar."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> e <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Toque para mudar."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toque para mudar."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toque para conferir os teclados"</string> </resources> diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml index 18df66ea6b9b..5a68166447a7 100644 --- a/core/res/res/values-pt-rPT/strings.xml +++ b/core/res/res/values-pt-rPT/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Chamadas Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Chamada Wi-Fi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desativado"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Chamada por Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Chamada por rede móvel"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Escolher o método de entrada"</string> <string name="show_ime" msgid="6406112007347443383">"Manter no ecrã enquanto o teclado físico estiver ativo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar o teclado virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configure o dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configure teclados físicos"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toque para selecionar o idioma e o esquema"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"A app <xliff:g id="APP_NAME">%1$s</xliff:g> está a usar ambos os ecrãs para mostrar conteúdo"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"O dispositivo está a ficar demasiado quente"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"A funcionalidade Dois ecrãs está indisponível porque o seu telemóvel está a ficar demasiado quente"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desativar"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desativar"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g> configurado"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Esquema do teclado definido como <xliff:g id="LAYOUT_1">%s</xliff:g>. Toque para o alterar."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Esquema do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g> e <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Toque para o alterar."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Esquema do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> e <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Toque para o alterar."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Esquema do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toque para o alterar."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toque para ver os teclados"</string> </resources> diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml index 5eb7a4656a1d..a315bb1990b5 100644 --- a/core/res/res/values-pt/strings.xml +++ b/core/res/res/values-pt/strings.xml @@ -141,6 +141,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Chamada no Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Ligação pelo Wi-Fi"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Desativado"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Chamar via Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Chamar via rede móvel"</string> @@ -1394,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Selecione o método de entrada"</string> <string name="show_ime" msgid="6406112007347443383">"Mantém o teclado virtual na tela enquanto o teclado físico está ativo"</string> <string name="hardware" msgid="1800597768237606953">"Mostrar teclado virtual"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configure o dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configure teclados físicos"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Toque para selecionar o idioma e o layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Aparelhos auditivos"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Teclas de volume pressionadas. Serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ativado."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Teclas de volume pressionadas. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> desativado."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Solte as teclas de volume. Para ativar o serviço <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, toque e pressione as duas teclas de volume por três segundos."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Escolha um recurso a ser usado quando você toca no botão de acessibilidade:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Escolha um recurso para usar com o gesto de acessibilidade (deslizar de baixo para cima na tela com dois dedos):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Escolha um recurso para usar com o gesto de acessibilidade (deslizar de baixo para cima na tela com três dedos):"</string> @@ -2327,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> está usando as duas telas para mostrar conteúdo"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"O dispositivo está muito quente"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"A tela dupla está indisponível porque o smartphone está ficando muito quente"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desativar"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Desativar"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Dispositivo <xliff:g id="DEVICE_NAME">%s</xliff:g> configurado"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%s</xliff:g>. Toque para mudar."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g> e <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Toque para mudar."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> e <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Toque para mudar."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Layout do teclado definido como <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Toque para mudar."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Teclados físicos configurados"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Toque para conferir os teclados"</string> </resources> diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml index f4770491625d..14570f7fa659 100644 --- a/core/res/res/values-ro/strings.xml +++ b/core/res/res/values-ro/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Apelare prin Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Dezactivată"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Apelează prin Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Sună prin rețeaua mobilă"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Alege metoda de introducere de text"</string> <string name="show_ime" msgid="6406112007347443383">"Se păstrează pe ecran cât timp este activată tastatura fizică"</string> <string name="hardware" msgid="1800597768237606953">"Afișează tastatura virtuală"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Configurează <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Configurează tastaturi fizice"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Atinge pentru a selecta limba și aspectul"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Aparate auditive"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"S-au apăsat lung tastele de volum. S-a activat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"S-au apăsat lung tastele de volum. S-a dezactivat <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Eliberează butoanele de volum. Pentru a activa <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, apasă lung pe ambele butoane de volum timp de trei secunde încă o dată."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Alege o funcție pe care să o folosești când atingi butonul de accesibilitate:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Alege o funcție pe care să o folosești cu gestul de accesibilitate (glisează în sus cu două degete din partea de jos a ecranului):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Alege o funcție pe care să o folosești cu gestul de accesibilitate (glisează în sus cu trei degete din partea de jos a ecranului):"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> folosește ambele ecrane pentru a afișa conținut"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Dispozitivul este prea cald"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Funcția Dual Screen este indisponibilă, deoarece telefonul s-a încălzit prea tare"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Dezactivează"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Dezactivează"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"S-a configurat <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Aspectul tastaturii este setat la <xliff:g id="LAYOUT_1">%s</xliff:g>. Atinge pentru a-l schimba."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Aspectul tastaturii este setat la <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Atinge pentru a-l schimba."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Aspectul tastaturii este setat la <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Atinge pentru a-l schimba."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Aspectul tastaturii este setat la <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Atinge pentru a-l schimba."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Tastaturile fizice au fost configurate"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Atinge pentru a vedea tastaturile"</string> </resources> diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml index 70cc882948d5..3dffa92c7736 100644 --- a/core/res/res/values-ru/strings.xml +++ b/core/res/res/values-ru/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Звонки по Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Отключено"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Звонить по Wi‑Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Звонить по мобильной сети"</string> @@ -1358,7 +1360,7 @@ <string name="no_permissions" msgid="5729199278862516390">"Не требуется разрешений"</string> <string name="perm_costs_money" msgid="749054595022779685">"это может стоить вам денег!"</string> <string name="dlg_ok" msgid="5103447663504839312">"ОК"</string> - <string name="usb_charging_notification_title" msgid="1674124518282666955">"Зарядка устройства через USB…"</string> + <string name="usb_charging_notification_title" msgid="1674124518282666955">"Зарядка устройства через USB"</string> <string name="usb_supplying_notification_title" msgid="5378546632408101811">"Зарядка устройства через USB…"</string> <string name="usb_mtp_notification_title" msgid="1065989144124499810">"Передача файлов через USB включена"</string> <string name="usb_ptp_notification_title" msgid="5043437571863443281">"Режим PTP включен"</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Выберите способ ввода"</string> <string name="show_ime" msgid="6406112007347443383">"Не скрывать экранную клавиатуру, когда включена физическая"</string> <string name="hardware" msgid="1800597768237606953">"Виртуальная клавиатура"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Настройте устройство \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\""</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Настройте физические клавиатуры"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Нажмите, чтобы выбрать язык и раскладку"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слуховые аппараты"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Использован жест с кнопками регулировки громкости. Функция \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\" включена."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Использован жест с кнопками регулировки громкости. Функция \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\" отключена."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Отпустите кнопки громкости. Чтобы включить <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, нажмите и удерживайте обе кнопки регулировки громкости в течение трех секунд."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Выберите функцию, которая будет запускаться при нажатии кнопки специальных возможностей:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Выберите функцию, которая будет запускаться с помощью жеста (провести по экрану снизу вверх двумя пальцами):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Выберите функцию, которая будет запускаться с помощью жеста (провести по экрану снизу вверх тремя пальцами):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> показывает контент на обоих экранах."</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Устройство перегрелось"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Двойной экран недоступен из-за перегрева телефона."</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Отключить"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Отключить"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Устройство \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\" настроено"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Для клавиатуры настроена раскладка <xliff:g id="LAYOUT_1">%s</xliff:g>. Нажмите, чтобы изменить."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Для клавиатуры настроены раскладки <xliff:g id="LAYOUT_1">%1$s</xliff:g> и <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Нажмите, чтобы изменить."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Для клавиатуры настроены раскладки <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> и <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Нажмите, чтобы изменить."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Для клавиатуры настроено несколько раскладок: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> и другие. Нажмите, чтобы изменить."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физические клавиатуры настроены"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Нажмите, чтобы посмотреть подключенные клавиатуры."</string> </resources> diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml index 7f9a6cb05c9b..93302ffec9f0 100644 --- a/core/res/res/values-si/strings.xml +++ b/core/res/res/values-si/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi ඇමතීම"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ක්රියාවිරහිතයි"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi ඔස්සේ ඇමතුම"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"ජංගම ජාලය ඔස්සේ ඇමතුම"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ආදාන ක්රමයක් තෝරන්න"</string> <string name="show_ime" msgid="6406112007347443383">"භෞතික යතුරු පුවරුව සක්රිය අතරතුර එය තිරය මත තබා ගන්න"</string> <string name="hardware" msgid="1800597768237606953">"අතථ්ය යතුරු පුවරුව පෙන්වන්න"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> වින්යාස කරන්න"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"භෞතික යතුරුපුවරුව වින්යාස කරන්න"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"භාෂාව හා පිරිසැලසුම තේරීමට තට්ටු කරන්න"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"ශ්රවණ උපාංග"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"හඬ පරිමා යතුරු අල්ලා ගන්න <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ක්රියාත්මකයි."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"හඬ පරිමා යතුරු අල්ලා ගන්න <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ක්රියාවිරහිතයි."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"හඬ පරිමා යතුරු මුදා හරින්න. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> සක්රීය කිරීමට, හඬ පරිමා යතුරු දෙකම නැවත තත්පර 3ක් ඔබා අල්ලා සිටින්න."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ඔබ ප්රවේශ්යතා බොත්තම තට්ටු කරන විට භාවිත කිරීමට විශේෂාංගයක් තෝරා ගන්න:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ප්රවේශ්යතා ඉංගිතය සමඟ භාවිතයට විශේෂාංගයක් තෝරා ගන්න (ඇඟිලි දෙකකින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ප්රවේශ්යතා ඉංගිතය සමඟ භාවිතයට විශේෂාංගයක් තෝරා ගන්න (ඇඟිලි තුනකින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"අන්තර්ගතය පෙන්වීමට <xliff:g id="APP_NAME">%1$s</xliff:g> සංදර්ශන දෙකම භාවිත කරයි"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"උපාංගය ඉතා උණුසුම් වේ"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"ඔබේ දුරකථනය ඉතා උණුසුම් නිසා ද්විත්ව තිරය ලබා ගත නොහැක"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"අක්රිය කරන්න"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"අක්රිය කරන්න"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> වින්යාස කෙරිණි"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"යතුරු පුවරු පිරිසැලසුම <xliff:g id="LAYOUT_1">%s</xliff:g> ලෙස සැකසිණි. වෙනස් කිරීමට තට්ටු කරන්න."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"යතුරු පුවරු පිරිසැලසුම <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> ලෙස සැකසිණි. වෙනස් කිරීමට තට්ටු කරන්න."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"යතුරු පුවරුව <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> ලෙස සැකසිණි. වෙනස් කිරීමට තට්ටු කරන්න."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"යතුරු පුවරුව <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> ලෙස සකසා ඇත… වෙනස් කිරීමට තට්ටු කරන්න."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"භෞතික යතුරු පුවරුව වින්යාස කෙරිණි"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"යතුරු පුවරු බැලීමට තට්ටු කරන්න"</string> </resources> diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml index 9c481a957184..3ab9547f09ce 100644 --- a/core/res/res/values-sk/strings.xml +++ b/core/res/res/values-sk/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Volanie cez Wi‑Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Vypnuté"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Volanie cez Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Volanie cez mobilnú sieť"</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Zvoliť metódu vstupu"</string> <string name="show_ime" msgid="6406112007347443383">"Ponechať na obrazovke, keď je aktívna fyzická klávesnica"</string> <string name="hardware" msgid="1800597768237606953">"Zobraziť virtuálnu klávesnicu"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Nakonfigurujte <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Nakonfigurujte fyzické klávesnice"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Klepnutím vyberte jazyk a rozloženie"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" AÁÄBCČDĎDZDŽEÉFGHCHIÍJKLĽMNŇOÓÔPRŔSŠTŤUÚVWXYÝZŽ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Načúvacie zariadenia"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Pridržali ste tlačidlá hlasitosti. Služba <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je zapnutá."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Pridržali ste tlačidlá hlasitosti. Služba <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je vypnutá."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Uvoľnite tlačidlá hlasitosti. Ak chcete zapnúť službu <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, znova pridržte tri sekundy obe tlačidlá hlasitosti."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Klepnutím na tlačidlo dostupnosti vyberte požadovanú funkciu:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Vyberte funkciu, ktorú chcete používať s daným gestom dostupnosti (potiahnutím dvoma prstami z dolnej časti obrazovky nahor):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Vyberte funkciu aktivovanú daným gestom dostupnosti (potiahnutím troma prstami z dolnej časti obrazovky nahor):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> zobrazuje obsah na oboch obrazovkách"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Zariadenie je príliš horúce"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dvojitá obrazovka nie je k dispozícii, pretože telefón sa prehrieva"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Vypnúť"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Vypnúť"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Klávesnica <xliff:g id="DEVICE_NAME">%s</xliff:g> je nakonfigurovaná"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Rozloženie klávesnice je nastavené na jazyk <xliff:g id="LAYOUT_1">%s</xliff:g>. Môžete to zmeniť klepnutím."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Rozloženie klávesnice je nastavené na jazyky <xliff:g id="LAYOUT_1">%1$s</xliff:g> a <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Môžete to zmeniť klepnutím."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Rozloženie klávesnice je nastavené na jazyky <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> a <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Môžete to zmeniť klepnutím."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Rozloženie klávesnice je nastavené na jazyky <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> a <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Môžete to zmeniť klepnutím."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fyzické klávesnice sú nakonfigurované"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Klávesnice si zobrazíte klepnutím"</string> </resources> diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml index 39a722d57835..cdac3339b154 100644 --- a/core/res/res/values-sl/strings.xml +++ b/core/res/res/values-sl/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Klicanje prek Wi-Fi-ja"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"Govor prek Wi-Fi-ja"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Izklopljeno"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Klic prek omrežja Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Klic prek mobilnega omrežja"</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Izberite način vnosa"</string> <string name="show_ime" msgid="6406112007347443383">"Ohrani na zaslonu, dokler je aktivna fizična tipkovnica"</string> <string name="hardware" msgid="1800597768237606953">"Pokaži navidezno tipkovnico"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfiguriranje naprave <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfiguriranje fizičnih tipkovnic"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dotaknite se, če želite izbrati jezik in postavitev."</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Slušni aparati"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Tipki za glasnost sta pridržani. Storitev <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je vklopljena."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Tipki za glasnost sta pridržani. Storitev <xliff:g id="SERVICE_NAME">%1$s</xliff:g> je izklopljena."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Spustite gumba za glasnost. Če želite vklopiti storitev <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, znova pritisnite in 3 sekunde pridržite oba gumba za glasnost."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Izberite funkcijo, ki jo želite uporabljati, ko se dotaknete gumba za funkcije za ljudi s posebnimi potrebami:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Izberite funkcijo, ki jo želite zagnati s potezo za ljudi s posebnimi potrebami (vlečenje z dvema prstoma z dna zaslona navzgor):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Izberite funkcijo, ki jo želite zagnati s potezo za ljudi s posebnimi potrebami (vlečenje s tremi prsti z dna zaslona navzgor):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> uporablja oba zaslona za prikaz vsebine."</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Naprava se pregreva"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dvojni zaslon ni na voljo, ker se telefon pregreva."</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Izklopi"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Izklopi"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Naprava <xliff:g id="DEVICE_NAME">%s</xliff:g> je konfigurirana"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Razporeditev tipkovnice je nastavljena na »<xliff:g id="LAYOUT_1">%s</xliff:g>«. Za spremembo se dotaknite."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Razporeditev tipkovnice je nastavljena na »<xliff:g id="LAYOUT_1">%1$s</xliff:g>«, »<xliff:g id="LAYOUT_2">%2$s</xliff:g>«. Za spremembo se dotaknite."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Razporeditev tipkovnice je nastavljena na »<xliff:g id="LAYOUT_1">%1$s</xliff:g>«, »<xliff:g id="LAYOUT_2">%2$s</xliff:g>«, »<xliff:g id="LAYOUT_3">%3$s</xliff:g>«. Za spremembo se dotaknite."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Razporeditev tipkovnice je nastavljena na »<xliff:g id="LAYOUT_1">%1$s</xliff:g>«, »<xliff:g id="LAYOUT_2">%2$s</xliff:g>«, »<xliff:g id="LAYOUT_3">%3$s</xliff:g>« … Za spremembo se dotaknite."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fizične tipkovnice so konfigurirane"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Dotaknite se za ogled tipkovnic"</string> </resources> diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml index d8494b40e33a..436a00df3a57 100644 --- a/core/res/res/values-sq/strings.xml +++ b/core/res/res/values-sq/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Telefonatë me WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Çaktivizuar"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Telefono nëpërmjet Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Telefono nëpërmjet rrjetit celular"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Zgjidh metodën e hyrjes"</string> <string name="show_ime" msgid="6406112007347443383">"Mbaje në ekran ndërsa tastiera fizike është aktive"</string> <string name="hardware" msgid="1800597768237606953">"Shfaq tastierën virtuale"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfiguro <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfiguro tastierat fizike"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Trokit për të zgjedhur gjuhën dhe strukturën"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Pajisjet e dëgjimit"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Tastet e volumit të mbajtura shtypur. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> i aktivizuar."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Tastet e volumit të mbajtura shtypur. U çaktivizua \"<xliff:g id="SERVICE_NAME">%1$s</xliff:g>\"."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Lësho tastet e volumit. Për të aktivizuar <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, shtyp dhe mbaj shtypur të dy tastet e volumit sërish për 3 sekonda."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Zgjidh një funksion për ta përdorur kur troket butonin e qasshmërisë:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Zgjidh një veçori për ta përdorur me gjestin e qasshmërisë (rrëshqit shpejt lart nga fundi i ekranit me dy gishta):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Zgjidh një veçori për ta përdorur me gjestin e qasshmërisë (rrëshqit shpejt lart nga fundi i ekranit me tre gishta):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> po i përdor të dyja ekranet për të shfaqur përmbajtje"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Pajisja është shumë e nxehtë"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"\"Ekrani i dyfishtë\" nuk ofrohet sepse telefoni yt po nxehet shumë"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Çaktivizoje"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Çaktivizoje"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> u konfigurua"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Struktura e tastierës u caktua në: <xliff:g id="LAYOUT_1">%s</xliff:g>. Trokit për ta ndryshuar."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Struktura e tastierës u caktua në: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Trokit për ta ndryshuar."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Struktura e tastierës u caktua në: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Trokit për ta ndryshuar."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Struktura e tastierës u caktua në: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Trokit për ta ndryshuar."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Tastierat fizike u konfiguruan"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Trokit për të parë tastierat"</string> </resources> diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml index 2e4c4ea18b01..6187a69262ab 100644 --- a/core/res/res/values-sr/strings.xml +++ b/core/res/res/values-sr/strings.xml @@ -141,6 +141,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"WiFi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Позивање преко WiFi-а"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Искључено"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Позивање преко WiFi-а"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Позив преко мобилне мреже"</string> @@ -1394,10 +1396,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Избор метода уноса"</string> <string name="show_ime" msgid="6406112007347443383">"Задржава се на екрану док је физичка тастатура активна"</string> <string name="hardware" msgid="1800597768237606953">"Прикажи виртуелну тастатуру"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Конфигуришите уређај <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Конфигуришите физичке тастатуре"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Додирните да бисте изабрали језик и распоред"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1722,8 +1722,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слушни апарати"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Држали сте тастере за јачину звука. Услуга <xliff:g id="SERVICE_NAME">%1$s</xliff:g> је укључена."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Држали сте тастере за јачину звука. Услуга <xliff:g id="SERVICE_NAME">%1$s</xliff:g> је искључена."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Пустите тастере за јачину звука. Да бисте укључили <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, поново притисните и задржите оба тастера за јачину звука 3 секунде."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Изаберите функцију која ће се користити када додирнете дугме Приступачност:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Одаберите функцију која ће се користити помоћу покрета за приступачност (помоћу два прста превуците нагоре од дна екрана):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Одаберите функцију која ће се користити помоћу покрета за приступачност (помоћу три прста превуците нагоре од дна екрана):"</string> @@ -2327,19 +2326,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> користи оба екрана за приказивање садржаја"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Уређај је превише загрејан"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Двојни екран је недоступан јер је телефон превише загрејан"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Искључи"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Искључи"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Уређај <xliff:g id="DEVICE_NAME">%s</xliff:g> је конфигурисан"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Распоред тастатуре је подешен на <xliff:g id="LAYOUT_1">%s</xliff:g>. Додирните да бисте то променили."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Распоред тастатуре је подешен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Додирните да бисте то променили."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Распоред тастатуре је подешен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Додирните да бисте то променили."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Распоред тастатуре је подешен на <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Додирните да бисте променили."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Физичке тастатуре су конфигурисане"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Додирните да бисте видели тастатуре"</string> </resources> diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml index 098b32f7b537..5278939277f2 100644 --- a/core/res/res/values-sv/strings.xml +++ b/core/res/res/values-sv/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wifi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"wifi-samtal"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Av"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Ring via wifi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Ring via mobilnätverk"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Välj inmatningsmetod"</string> <string name="show_ime" msgid="6406112007347443383">"Ha kvar det på skärmen när det fysiska tangentbordet används"</string> <string name="hardware" msgid="1800597768237606953">"Visa virtuellt tangentbord"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Konfigurera <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Konfigurera fysiska tangentbord"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Tryck om du vill välja språk och layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Hörapparater"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Volymknapparna har tryckts ned. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> har aktiverats."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Volymknapparna har tryckts ned. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> har inaktiverats."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Släpp volymknapparna. Du kan aktivera <xliff:g id="SERVICE_NAME">%1$s</xliff:g> genom att hålla båda volymknapparna nedtryckta i tre sekunder igen."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Välj en funktion som ska användas när du trycker på tillgänglighetsknappen:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Välj en funktion som ska användas med tillgänglighetsrörelsen (svepa uppåt med två fingrar från skärmens nederkant):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Välj en funktion som ska användas med tillgänglighetsrörelsen (svepa uppåt med tre fingrar från skärmens nederkant):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> använder båda skärmarna för att visa innehåll"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Enheten är för varm"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Dubbel skärm kan inte användas eftersom telefonen börjar bli för varm"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Stäng av"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Stäng av"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> har konfigurerats"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Tangentbordslayouten har ställts in på <xliff:g id="LAYOUT_1">%s</xliff:g>. Tryck om du vill ändra."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Tangentbordslayouten har ställts in på <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Tryck om du vill ändra."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Tangentbordslayouten har ställts in på <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Tryck om du vill ändra."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Tangentbordslayouten är inställd på <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> … Tryck om du vill ändra."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fysiska tangentbord har konfigurerats"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Tryck för att visa tangentbord"</string> </resources> diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml index 0d7b9dacffb8..139827137f71 100644 --- a/core/res/res/values-sw/strings.xml +++ b/core/res/res/values-sw/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Kupiga simu kupitia WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Imezimwa"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Piga simu ukitumia WI-FI"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Piga ukitumia mtandao wa simu"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Chagua njia ya ingizo"</string> <string name="show_ime" msgid="6406112007347443383">"Ionyeshe kwenye skrini wakati kibodi halisi inatumika"</string> <string name="hardware" msgid="1800597768237606953">"Onyesha kibodi pepe"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Wekea mipangilio <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Wekea kibodi halisi mipangilio"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Gusa ili uchague lugha na muundo"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Vifaa vya kusaidia kusikia"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Vitufe vya sauti vilivyoshikiliwa. Umewasha <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Vitufe vya sauti vimeshikiliwa. Umezima <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Achilia vitufe vya sauti. Ili uwashe <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, bonyeza na ushikilie tena vitufe vyote vya sauti kwa sekunde 3."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Chagua kipengele utakachotumia ukigusa kitufe cha ufikivu:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Chagua kipengele cha kutumia pamoja na ishara ya ufikivu (telezesha vidole viwili kutoka chini kwenda juu kwenye skrini):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Chagua kipengele cha kutumia pamoja na ishara ya ufikivu (telezesha vidole vitatu kutoka chini kwenda juu kwenye skrini):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> inatumia skrini zote kuonyesha maudhui"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Kifaa kina joto sana"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Kipengele cha Hali ya Skrini Mbili hakipatikani kwa sababu simu yako inapata joto sana"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Zima"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Zima"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> imewekewa mipangilio"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Muundo wa kibodi umewekwa kuwa <xliff:g id="LAYOUT_1">%s</xliff:g>. Gusa ili ubadilishe."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Muundo wa kibodi umewekwa kuwa <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Gusa ili ubadilishe."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Muundo wa kibodi umewekwa kuwa <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Gusa ili ubadilishe."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Muundo wa kibodi umewekwa kuwa <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Gusa ili ubadilishe."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Mipangilio ya kibodi halisi imewekwa"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Gusa ili uangalie kibodi"</string> </resources> diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml index e1f709e6c2bd..a7eb123767ad 100644 --- a/core/res/res/values-ta/strings.xml +++ b/core/res/res/values-ta/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"வைஃபை"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"வைஃபை அழைப்பு"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ஆஃப்"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"வைஃபை மூலம் அழை"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"மொபைல் நெட்வொர்க் மூலமாக அழை"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"உள்ளீட்டு முறையைத் தேர்வுசெய்க"</string> <string name="show_ime" msgid="6406112007347443383">"கைமுறை கீபோர்டு இயக்கத்தில் இருக்கும் போது IMEஐ திரையில் வைத்திரு"</string> <string name="hardware" msgid="1800597768237606953">"விர்ச்சுவல் கீபோர்டை காட்டு"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> சாதனத்தை உள்ளமைத்தல்"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"கீபோர்டுகளை உள்ளமைத்தல்"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"மொழியையும் தளவமைப்பையும் தேர்ந்தெடுக்க, தட்டவும்"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"செவித்துணைக் கருவிகள்"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"ஒலியளவுக்கான விசைகளைப் பிடித்திருந்தீர்கள். <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ஆன் செய்யப்பட்டது."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"ஒலியளவுக்கான விசைகளைப் பிடித்திருந்தீர்கள். <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ஆஃப் செய்யப்பட்டது."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ஒலியளவு பட்டன்களை அழுத்துவதை நிறுத்துங்கள். <xliff:g id="SERVICE_NAME">%1$s</xliff:g> சேவையை இயக்க, ஒலியளவு பட்டன்கள் இரண்டையும் 3 வினாடிகளுக்கு மீண்டும் அழுத்திப் பிடிக்கவும்."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"அணுகல்தன்மை பட்டனைத் தட்டுவதன் மூலம் பயன்படுத்த விரும்பும் அம்சத்தைத் தேர்ந்தெடுக்கவும்:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"அணுகல்தன்மை சைகைக்கான அம்சத்தைத் தேர்வுசெய்யவும் (இரண்டு விரல்களால் திரையின் கீழிருந்து மேல் நோக்கி ஸ்வைப் செய்யவும்):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"அணுகல்தன்மை சைகைக்கான அம்சத்தைத் தேர்வுசெய்யவும் (மூன்று விரல்களால் திரையின் கீழிருந்து மேல் நோக்கி ஸ்வைப் செய்யவும்):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"உள்ளடக்கத்தைக் காட்டுவதற்கு இரண்டு டிஸ்ப்ளேக்களையும் <xliff:g id="APP_NAME">%1$s</xliff:g> பயன்படுத்துகிறது"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"சாதனம் மிகவும் சூடாக உள்ளது"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"உங்கள் மொபைல் மிகவும் சூடாக இருப்பதால் இரட்டைத் திரை அம்சத்தைப் பயன்படுத்த முடியாது"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"முடக்கு"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"முடக்கு"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> சாதனம் உள்ளமைக்கப்பட்டது"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"கீபோர்டு தளவமைப்பு <xliff:g id="LAYOUT_1">%s</xliff:g> மொழியில் அமைக்கப்பட்டது. மாற்ற தட்டவும்."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> ஆகிய மொழிகளில் கீபோர்டு தளவமைப்பு அமைக்கப்பட்டது. மாற்ற தட்டவும்."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> ஆகிய மொழிகளில் கீபோர்டு தளவமைப்பு அமைக்கப்பட்டது. மாற்ற தட்டவும்."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"கீபோர்டு தளவமைப்பு <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… ஆகிய மொழிகளில் அமைக்கப்பட்டது, மாற்ற தட்டவும்."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"கீபோர்டுகள் உள்ளமைக்கப்பட்டன"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"கீபோர்டுகளைப் பார்க்க தட்டவும்"</string> </resources> diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml index 4d66751792ac..530c2e6aa59d 100644 --- a/core/res/res/values-te/strings.xml +++ b/core/res/res/values-te/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi కాలింగ్"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ఆఫ్లో ఉంది"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi ద్వారా కాల్"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"మొబైల్ నెట్వర్క్ ద్వారా కాల్"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ఇన్పుట్ పద్ధతిని ఎంచుకోండి"</string> <string name="show_ime" msgid="6406112007347443383">"దీన్ని భౌతిక కీబోర్డ్ యాక్టివ్గా ఉన్నప్పుడు స్క్రీన్పై ఉంచుతుంది"</string> <string name="hardware" msgid="1800597768237606953">"వర్చువల్ కీబోర్డ్ను చూపు"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g>ను కాన్ఫిగర్ చేయండి"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"ఫిజికల్ కీబోర్డ్లను కాన్ఫిగర్ చేయండి"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"భాష మరియు లేఅవుట్ను ఎంచుకోవడానికి నొక్కండి"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"వినికిడి పరికరం"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"వాల్యూమ్ కీలు నొక్కి ఉంచబడ్డాయి. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ఆన్ చేయబడింది"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"వాల్యూమ్ కీలు నొక్కి ఉంచబడ్డాయి. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ఆఫ్ చేయబడింది"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"వాల్యూమ్ కీలను రిలీజ్ చేయండి. <xliff:g id="SERVICE_NAME">%1$s</xliff:g>ను ఆన్ చేయడానికి, రెండు వాల్యూమ్ కీలను మళ్లీ 3 సెకన్ల పాటు నొక్కి పట్టుకోండి."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"యాక్సెస్ సామర్థ్య బటన్ను మీరు నొక్కినప్పుడు ఉపయోగించాల్సిన ఒక ఫీచర్ను ఎంచుకోండి:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"యాక్సెసిబిలిటీ సంజ్ఞతో ఉపయోగించడానికి ఒక ఫీచర్ని ఎంచుకోండి (రెండు వేళ్లతో స్క్రీన్ను కింద నుండి పైకి స్వైప్ చేయండి):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"యాక్సెసిబిలిటీ సంజ్ఞతో ఉపయోగించడానికి ఒక ఫీచర్ను ఎంచుకోండి (మూడు చేతి వేళ్లతో స్క్రీన్ను కింద నుండి పైకి స్వైప్ చేయండి):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"కంటెంట్ను చూపడం కోసం <xliff:g id="APP_NAME">%1$s</xliff:g> రెండు డిస్ప్లేలనూ ఉపయోగిస్తుంది"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"పరికరం చాలా వేడిగా ఉంది"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"మీ ఫోన్ చాలా వేడిగా అవుతున్నందున, డ్యూయల్ స్క్రీన్ అందుబాటులో లేదు"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ఆఫ్ చేయండి"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ఆఫ్ చేయండి"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> కాన్ఫిగర్ చేయబడింది"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"కీబోర్డ్ లేఅవుట్ <xliff:g id="LAYOUT_1">%s</xliff:g>కు సెట్ చేయబడింది. మార్చడానికి ట్యాప్ చేయండి."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"కీబోర్డ్ లేఅవుట్ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>కు సెట్ చేయబడింది. మార్చడానికి ట్యాప్ చేయండి."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"కీబోర్డ్ లేఅవుట్ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>కు సెట్ చేయబడింది. మార్చడానికి ట్యాప్ చేయండి."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"కీబోర్డ్ లేఅవుట్ <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>కు సెట్ చేయబడింది… మార్చడానికి ట్యాప్ చేయండి."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"ఫిజికల్ కీబోర్డ్లు కాన్ఫిగర్ చేయబడ్డాయి"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"కీబోర్డ్లను చూడటానికి ట్యాప్ చేయండి"</string> </resources> diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml index 2d00d89f4f34..0b481f3455df 100644 --- a/core/res/res/values-th/strings.xml +++ b/core/res/res/values-th/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"การโทรผ่าน Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"ปิด"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"โทรผ่าน Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"โทรผ่านเครือข่ายมือถือ"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"เลือกวิธีการป้อนข้อมูล"</string> <string name="show_ime" msgid="6406112007347443383">"เปิดทิ้งไว้บนหน้าจอในระหว่างใช้งานแป้นพิมพ์จริง"</string> <string name="hardware" msgid="1800597768237606953">"แสดงแป้นพิมพ์เสมือน"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"กำหนดค่า <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"กำหนดค่าแป้นพิมพ์จริง"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"แตะเพื่อเลือกภาษาและรูปแบบ"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"เครื่องช่วยฟัง"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"กดปุ่มปรับระดับเสียงค้างไว้แล้ว เปิด <xliff:g id="SERVICE_NAME">%1$s</xliff:g> แล้ว"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"กดปุ่มปรับระดับเสียงค้างไว้แล้ว ปิด <xliff:g id="SERVICE_NAME">%1$s</xliff:g> แล้ว"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"ปล่อยปุ่มปรับระดับเสียง หากต้องการเปิด <xliff:g id="SERVICE_NAME">%1$s</xliff:g> ให้กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้อีกครั้งเป็นเวลา 3 วินาที"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"เลือกฟีเจอร์ที่จะใช้เมื่อคุณแตะปุ่มการช่วยเหลือพิเศษดังต่อไปนี้"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"เลือกฟีเจอร์ที่จะใช้กับท่าทางสัมผัสการช่วยเหลือพิเศษ (ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ) ดังต่อไปนี้"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"เลือกฟีเจอร์ที่จะใช้กับท่าทางสัมผัสการช่วยเหลือพิเศษ (ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ) ดังต่อไปนี้"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> กำลังใช้จอแสดงผลทั้งสองจอเพื่อแสดงเนื้อหา"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"อุปกรณ์ร้อนเกินไป"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"หน้าจอคู่ไม่พร้อมให้ใช้งานเนื่องจากโทรศัพท์ของคุณร้อนเกินไป"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ปิด"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"ปิด"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"กำหนดค่า <xliff:g id="DEVICE_NAME">%s</xliff:g> แล้ว"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"ตั้งค่ารูปแบบแป้นพิมพ์เป็นภาษา<xliff:g id="LAYOUT_1">%s</xliff:g> แตะเพื่อเปลี่ยน"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"ตั้งค่ารูปแบบแป้นพิมพ์เป็นภาษา<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> แตะเพื่อเปลี่ยน"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"ตั้งค่ารูปแบบแป้นพิมพ์เป็นภาษา<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> แตะเพื่อเปลี่ยน"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"ตั้งค่ารูปแบบแป้นพิมพ์เป็นภาษา<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… แตะเพื่อเปลี่ยน"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"กำหนดค่าแป้นพิมพ์จริงแล้ว"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"แตะเพื่อดูแป้นพิมพ์"</string> </resources> diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml index 238cbfb3fe30..e7005db25cd9 100644 --- a/core/res/res/values-tl/strings.xml +++ b/core/res/res/values-tl/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Pagtawag Gamit ang WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Naka-off"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Tumawag gamit ang Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Tumawag gamit ang mobile network"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Pumili ng pamamaraan ng pag-input"</string> <string name="show_ime" msgid="6406112007347443383">"Panatilihin ito sa screen habang aktibo ang pisikal na keyboard"</string> <string name="hardware" msgid="1800597768237606953">"Ipakita ang virtual keyboard"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"I-configure ang <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"I-configure ang mga pisikal na keyboard"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"I-tap upang pumili ng wika at layout"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Mga hearing device"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Pinindot nang matagal ang volume keys. Na-on ang <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Pinindot nang matagal ang volume keys. Na-off ang <xliff:g id="SERVICE_NAME">%1$s</xliff:g>."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Bitawan ang mga volume key. Para i-on ang <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, muling pindutin nang matagal ang dalawang volume key sa loob ng 3 segundo."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Pumili ng feature na gagana sa pamamagitan ng pag-tap mo sa button ng accessibility:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Pumili ng feature na gagana sa pamamagitan ng galaw ng accessibility (pag-swipe pataas mula sa ibaba ng screen gamit ang dalawang daliri):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Pumili ng feature na gagana sa pamamagitan ng galaw ng accessibility (pag-swipe pataas mula sa ibaba ng screen gamit ang tatlong daliri):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Ginagamit ng <xliff:g id="APP_NAME">%1$s</xliff:g> ang parehong display para magpakita ng content"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Masyadong mainit ang device"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Hindi available ang Dual Screen dahil masyado nang umiinit ang telepono mo"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"I-off"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"I-off"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Na-configure ang <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Naitakda ang layout ng keyboard sa <xliff:g id="LAYOUT_1">%s</xliff:g>. I-tap para baguhin."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Naitakda ang layout ng keyboard sa <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. I-tap para baguhin."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Naitakda ang layout ng keyboard sa <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. I-tap para baguhin."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Naitakda ang layout ng keyboard sa <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… I-tap para baguhin."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Na-configure ang mga pisikal na keyboard"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"I-tap para tingnan ang mga keyboard"</string> </resources> diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml index 834bd477bfc7..998b2fa22b65 100644 --- a/core/res/res/values-tr/strings.xml +++ b/core/res/res/values-tr/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Kablosuz"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Kablosuz Çağrı"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Kapalı"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Kablosuz ağ üzerinden arama"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Mobil ağ üzerinden arama"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Giriş yöntemini seçin"</string> <string name="show_ime" msgid="6406112007347443383">"Fiziksel klavye etkin durumdayken ekranda tut"</string> <string name="hardware" msgid="1800597768237606953">"Sanal klavyeyi göster"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> ayarlarını yapılandır"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Fiziksel klavyeleri yapılandırın"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Dili ve düzeni seçmek için dokunun"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"İşitme cihazları"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Ses tuşlarını basılı tuttunuz. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> açıldı."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Ses tuşlarını basılı tuttunuz. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> kapatıldı."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Ses seviyesi tuşlarını bırakın. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> hizmetini etkinleştirmek için her iki ses seviyesi tuşuna yeniden basıp 3 saniye boyunca basılı tutun."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Erişilebilirlik düğmesine dokunduğunuzda kullanmak için bir özellik seçin:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Erişilebilirlik hareketiyle (iki parmakla ekranın altından yukarı kaydırma) kullanılacak bir özellik seçin:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Erişilebilirlik hareketiyle (üç parmakla ekranın altından yukarı kaydırma) kullanılacak bir özellik seçin:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>, içeriği göstermek için her iki ekranı da kullanıyor"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Cihaz çok ısındı"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Telefonunuz çok ısındığı için Çift Ekran kullanılamıyor"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Kapat"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Kapat"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> yapılandırıldı"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Klavye düzeni <xliff:g id="LAYOUT_1">%s</xliff:g> olarak ayarlandı. Değiştirmek için dokunun."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Klavye düzeni <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g> olarak ayarlandı. Değiştirmek için dokunun."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Klavye düzeni <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> olarak ayarlandı. Değiştirmek için dokunun."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Klavye düzeni <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g> olarak ayarlandı… Değiştirmek için dokunun."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Fiziksel klavyeler yapılandırıldı"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Klavyeleri görüntülemek için dokunun"</string> </resources> diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml index d9eef0dd407f..be4b2a2e5ae8 100644 --- a/core/res/res/values-uk/strings.xml +++ b/core/res/res/values-uk/strings.xml @@ -142,6 +142,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Дзвінки через Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"Передавання голосу через Wi-Fi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Вимкнено"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Телефонувати через Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Телефонувати через мобільну мережу"</string> @@ -227,9 +229,9 @@ <string name="reboot_to_update_title" msgid="2125818841916373708">"Оновлення системи Android"</string> <string name="reboot_to_update_prepare" msgid="6978842143587422365">"Підготовка до оновлення…"</string> <string name="reboot_to_update_package" msgid="4644104795527534811">"Обробка пакета оновлення…"</string> - <string name="reboot_to_update_reboot" msgid="4474726009984452312">"Перезавантаження…"</string> + <string name="reboot_to_update_reboot" msgid="4474726009984452312">"Перезапуск…"</string> <string name="reboot_to_reset_title" msgid="2226229680017882787">"Скидання налаштувань"</string> - <string name="reboot_to_reset_message" msgid="3347690497972074356">"Перезавантаження…"</string> + <string name="reboot_to_reset_message" msgid="3347690497972074356">"Перезапуск…"</string> <string name="shutdown_progress" msgid="5017145516412657345">"Вимкнення..."</string> <string name="shutdown_confirm" product="tablet" msgid="2872769463279602432">"Ваш пристрій буде вимкнено."</string> <string name="shutdown_confirm" product="tv" msgid="7975942887313518330">"Пристрій Android TV буде вимкнено."</string> @@ -1395,10 +1397,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Вибрати метод введення"</string> <string name="show_ime" msgid="6406112007347443383">"Утримуйте на екрані, коли активна фізична клавіатура"</string> <string name="hardware" msgid="1800597768237606953">"Показати віртуальну клавіатуру"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Налаштуйте клавіатуру \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\""</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Налаштуйте фізичні клавіатури"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Торкніться, щоб вибрати мову та розкладку"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789АБВГҐДЕЄЖЗИІЇЙКЛМНОПРСТУФХЦЧШЩЬЮЯ"</string> @@ -1723,8 +1723,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Слухові апарати"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Утримано клавіші гучності. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> увімкнено."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Утримано клавіші гучності. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> вимкнено."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Відпустіть клавіші гучності. Щоб увімкнути сервіс <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, натисніть і втримуйте обидві клавіші гучності протягом 3 секунд."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Виберіть функцію для кнопки спеціальних можливостей:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Виберіть функцію для жесту спеціальних можливостей (проведення двома пальцями знизу вгору):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Виберіть функцію для жесту спеціальних можливостей (проведення трьома пальцями знизу вгору):"</string> @@ -2328,19 +2327,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> використовує обидва екрани для показу контенту"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Пристрій сильно нагрівається"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Подвійний екран недоступний, оскільки телефон сильно нагрівається"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Вимкнути"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Вимкнути"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Клавіатуру \"<xliff:g id="DEVICE_NAME">%s</xliff:g>\" налаштовано"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Вибрано розкладку клавіатури \"<xliff:g id="LAYOUT_1">%s</xliff:g>\". Натисніть, щоб змінити."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Вибрано такі розкладки клавіатури: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Натисніть, щоб змінити."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Вибрано такі розкладки клавіатури: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Натисніть, щоб змінити."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Вибрано такі розкладки клавіатури: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Натисніть, щоб змінити."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Фізичні клавіатури налаштовано"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Натисніть, щоб переглянути клавіатури"</string> </resources> diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml index ac30a26fc9ac..977374e1d052 100644 --- a/core/res/res/values-ur/strings.xml +++ b/core/res/res/values-ur/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi کالنگ"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi کال"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"آف"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi پر کال کریں"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"موبائل نیٹ ورک پر کال کریں"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"ان پٹ کا طریقہ منتخب کریں"</string> <string name="show_ime" msgid="6406112007347443383">"جب فزیکل کی بورڈ فعال ہو تو IME کو اسکرین پر رکھیں"</string> <string name="hardware" msgid="1800597768237606953">"ورچوئل کی بورڈ دکھائیں"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"<xliff:g id="DEVICE_NAME">%s</xliff:g> کنفیگر کریں"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"فزیکل کی بورڈز کنفیگر کریں"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"زبان اور لے آؤٹ منتخب کرنے کیلئے تھپتھپائیں"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"سماعتی آلات"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"والیوم کی کلیدوں کو دبائے رکھا گیا۔ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> آن ہے۔"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"والیوم کی کلیدوں کو دبائے رکھا گیا۔ <xliff:g id="SERVICE_NAME">%1$s</xliff:g> آف ہے۔"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"والیوم کی کلیدوں کو ریلیز کریں <xliff:g id="SERVICE_NAME">%1$s</xliff:g> کو آن کرنے کے لیے، والیوم کی دونوں کلیدوں کو دوبارہ 3 سیکنڈ تک چھوئیں اور دبائے رکھیں۔"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"ایکسیسبیلٹی بٹن پر تھپتھپانے وقت استعمال کرنے کیلئے ایک خصوصیت منتخب کریں:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"ایکسیسبیلٹی اشارہ کے ساتھ استعمال کرنے کے لیے ایک خصوصیت چنیں (دو انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"ایکسیسبیلٹی اشارہ کے ساتھ استعمال کرنے کے لیے ایک خصوصیت چنیں (تین انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> مواد دکھانے کیلئے دونوں ڈسپلیز استعمال کر رہی ہے"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"آلہ بہت زیادہ گرم ہے"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"دوہری اسکرین دستیاب نہیں ہے کیونکہ آپ کا فون بہت زیادہ گرم ہو رہا ہے"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"آف کریں"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"آف کریں"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> میں کنفیگر کیا گیا"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"کی بورڈ لے آؤٹ <xliff:g id="LAYOUT_1">%s</xliff:g> پر سیٹ ہے۔ تبدیل کرنے کیلئے تھپتھپائیں۔"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"کی بورڈ لے آؤٹ <xliff:g id="LAYOUT_1">%1$s</xliff:g>، <xliff:g id="LAYOUT_2">%2$s</xliff:g> پر سیٹ ہے۔ تبدیل کرنے کیلئے تھپتھپائیں۔"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"کی بورڈ لے آؤٹ <xliff:g id="LAYOUT_1">%1$s</xliff:g>، <xliff:g id="LAYOUT_2">%2$s</xliff:g>، <xliff:g id="LAYOUT_3">%3$s</xliff:g> پر سیٹ ہے۔ تبدیل کرنے کیلئے تھپتھپائیں۔"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"کی بورڈ لے آؤٹ <xliff:g id="LAYOUT_1">%1$s</xliff:g>، <xliff:g id="LAYOUT_2">%2$s</xliff:g>، <xliff:g id="LAYOUT_3">%3$s</xliff:g> پر سیٹ ہے… تبدیل کرنے کے لیے تھپتھپائیں۔"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"فزیکل کی بورڈز کنفیگر کئے گئے"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"کی بورڈز دیکھنے کے لیے تھپتھپائیں"</string> </resources> diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml index 0f7a9efa55fa..08b44716e4d7 100644 --- a/core/res/res/values-uz/strings.xml +++ b/core/res/res/values-uz/strings.xml @@ -140,6 +140,7 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi chaqiruv"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWi-Fi"</string> + <string name="wfcSpnFormat_wifi_call" msgid="434016592539090004">"Wi-Fi chaqiruv"</string> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Yoqilmagan"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Wi-Fi orqali chaqiruv"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Mobil tarmoq orqali chaqiruv"</string> @@ -1393,10 +1394,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Matn kiritish usulini tanlang"</string> <string name="show_ime" msgid="6406112007347443383">"Tashqi klaviatura ulanganida ekranda chiqib turadi"</string> <string name="hardware" msgid="1800597768237606953">"Virtual klaviatura"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Sozlang: <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Tashqi klaviaturalarni sozlang"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Til va sxemani belgilash uchun bosing"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1720,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Eshitish qurilmalari"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Tovush tugmalari bosib turildi. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> yoqildi."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Tovush tugmalari bosib turildi. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> faolsizlantirildi."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Tovush tugmalarini qoʻyib yuboring. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> xizmatini yoqish uchun ikkala tovush tugmasini 3 soniya bosib turing."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Maxsus imkoniyatlar tugmasi bosilganda ishga tushadigan funksiyani tanlang:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Maxsus imkoniyatlar ishorasi bilan ishga tushadigan funksiyani tanlang (ikkita barmoq bilan ekranning pastidan tepaga surib tortilganda):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Maxsus imkoniyatlar ishorasi bilan ishga tushadigan funksiyani tanlang (uchta barmoq bilan ekranning pastidan tepaga surib tortilganda):"</string> @@ -2326,19 +2324,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> kontentni ikkala ekranda chiqarmoqda"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Qurilma qizib ketdi"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Telefon qizib ketgani uchun hozir ikki ekranli rejim ishlamaydi"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Faolsizlantirish"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Faolsizlantirish"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"<xliff:g id="DEVICE_NAME">%s</xliff:g> sozlandi"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Klaviatura terilmasi bunga sozlandi: <xliff:g id="LAYOUT_1">%s</xliff:g>. Oʻzgartirish uchun ustiga bosing."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Klaviatura terilmasi bunga sozlandi: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Oʻzgartirish uchun ustiga bosing."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Klaviatura terilmasi bunga sozlandi: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Oʻzgartirish uchun ustiga bosing."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Klaviatura terilmasi bunga sozlandi: <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Oʻzgartirish uchun ustiga bosing."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Tashqi klaviaturalar sozlandi"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Klaviaturalarni ochish uchun ustiga bosing"</string> </resources> diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml index 2bcadcc12ce2..29acdc08b913 100644 --- a/core/res/res/values-vi/strings.xml +++ b/core/res/res/values-vi/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Gọi qua Wi-Fi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Tắt"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Gọi qua Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Gọi qua mạng di động"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Chọn phương thức nhập"</string> <string name="show_ime" msgid="6406112007347443383">"Hiện bàn phím ảo trên màn hình trong khi bàn phím vật lý đang hoạt động"</string> <string name="hardware" msgid="1800597768237606953">"Hiện bàn phím ảo"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Định cấu hình <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Định cấu hình bàn phím vật lý"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Nhấn để chọn ngôn ngữ và bố cục"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Thiết bị trợ thính"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Bạn đã giữ các phím âm lượng. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> đã bật."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Bạn đã giữ các phím âm lượng. <xliff:g id="SERVICE_NAME">%1$s</xliff:g> đã tắt."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Thả phím âm lượng. Để bật <xliff:g id="SERVICE_NAME">%1$s</xliff:g>, hãy nhấn và giữ cả 2 phím âm lượng trong 3 giây một lần nữa."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Chọn một tính năng để dùng khi bạn nhấn nút hỗ trợ tiếp cận:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Chọn một tính năng để dùng với cử chỉ hỗ trợ tiếp cận (dùng 2 ngón tay vuốt lên từ cuối màn hình):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Chọn một tính năng để dùng với cử chỉ hỗ trợ tiếp cận (dùng 3 ngón tay vuốt lên từ cuối màn hình):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g> đang dùng cả hai màn hình để thể hiện nội dung"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Thiết bị quá nóng"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"Không bật được chế độ Màn hình đôi vì điện thoại của bạn quá nóng"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Tắt"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Tắt"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"Đã định cấu hình <xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Đã thiết lập bố cục bàn phím thành <xliff:g id="LAYOUT_1">%s</xliff:g>. Hãy nhấn để thay đổi."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Đã thiết lập bố cục bàn phím thành <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Hãy nhấn để thay đổi."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Đã thiết lập bố cục bàn phím thành <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Hãy nhấn để thay đổi."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Đã thiết lập bố cục bàn phím thành <xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Hãy nhấn để thay đổi."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Đã định cấu hình bàn phím vật lý"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Nhấn để xem bàn phím"</string> </resources> diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml index 2ca846ee0585..428531e3af52 100644 --- a/core/res/res/values-zh-rCN/strings.xml +++ b/core/res/res/values-zh-rCN/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"WLAN"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"WLAN 通话"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"已关闭"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"通过 WLAN 进行通话"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"通过移动网络进行通话"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"选择输入法"</string> <string name="show_ime" msgid="6406112007347443383">"开启后,连接到实体键盘时,它会一直显示在屏幕上"</string> <string name="hardware" msgid="1800597768237606953">"显示虚拟键盘"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"配置“<xliff:g id="DEVICE_NAME">%s</xliff:g>”"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"配置物理键盘"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"点按即可选择语言和布局"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"助听设备"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"已按住音量键。<xliff:g id="SERVICE_NAME">%1$s</xliff:g>已开启。"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"已按住音量键。<xliff:g id="SERVICE_NAME">%1$s</xliff:g>已关闭。"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"松开音量键。如要启用 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>,请再次同时按住两个音量键 3 秒。"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"选择点按“无障碍”按钮后要使用的功能:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"选择要搭配无障碍手势(用两根手指从屏幕底部向上滑动)使用的功能:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"选择要搭配无障碍手势(用三根手指从屏幕底部向上滑动)使用的功能:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"<xliff:g id="APP_NAME">%1$s</xliff:g>正在使用双屏幕显示内容"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"设备过热"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"手机过热,因此无法使用双屏幕功能"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"关闭"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"关闭"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"已配置“<xliff:g id="DEVICE_NAME">%s</xliff:g>”"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"键盘布局已设为<xliff:g id="LAYOUT_1">%s</xliff:g>。点按即可更改。"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"键盘布局已设为<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>。点按即可更改。"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"键盘布局已设为<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>。点按即可更改。"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"键盘布局已设为<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>…点按即可更改。"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"已配置物理键盘"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"点按即可查看键盘"</string> </resources> diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml index 080165c37ce5..0caf9578844e 100644 --- a/core/res/res/values-zh-rHK/strings.xml +++ b/core/res/res/values-zh-rHK/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi 通話"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"關閉"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"使用 Wi-Fi 通話"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"使用流動網絡通話"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"選擇輸入法"</string> <string name="show_ime" msgid="6406112007347443383">"在實體鍵盤處於連接狀態時保持顯示"</string> <string name="hardware" msgid="1800597768237606953">"顯示虛擬鍵盤"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"設定「<xliff:g id="DEVICE_NAME">%s</xliff:g>」"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"設定實體鍵盤"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"輕按即可選取語言和鍵盤配置"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"助聽器"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"已按住音量鍵。<xliff:g id="SERVICE_NAME">%1$s</xliff:g> 已開啟。"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"已按住音量鍵。<xliff:g id="SERVICE_NAME">%1$s</xliff:g> 已關閉。"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"鬆開音量鍵。如果要開 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>,請同時㩒住兩個音量鍵 3 秒。"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"請選擇輕按「無障礙功能」按鈕時使用的功能:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"請選擇要配搭無障礙手勢 (使用兩隻手指從螢幕底部向上滑動) 使用的功能:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"請選擇要配搭無障礙手勢 (使用三隻手指從螢幕底部向上滑動) 使用的功能:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在使用雙螢幕顯示內容"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"裝置過熱"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"由於手機過熱,雙螢幕功能無法使用"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"關閉"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"關閉"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"已設定「<xliff:g id="DEVICE_NAME">%s</xliff:g>」"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"鍵盤版面配置已設定為<xliff:g id="LAYOUT_1">%s</xliff:g>。輕按即可變更。"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"鍵盤版面配置已設定為<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>。輕按即可變更。"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"鍵盤版面配置已設定為<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>。輕按即可變更。"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"鍵盤版面配置已設定為<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>…輕按即可變更。"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"已設定實體鍵盤"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"輕按即可查看鍵盤"</string> </resources> diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml index 460bc7388fc3..90d7e21f9e81 100644 --- a/core/res/res/values-zh-rTW/strings.xml +++ b/core/res/res/values-zh-rTW/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Wi-Fi 通話"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"關閉"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"透過 Wi-Fi 進行通話"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"透過行動網路進行通話"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"選擇輸入法"</string> <string name="show_ime" msgid="6406112007347443383">"使用實體鍵盤時仍繼續顯示虛擬鍵盤"</string> <string name="hardware" msgid="1800597768237606953">"顯示虛擬鍵盤"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"設定「<xliff:g id="DEVICE_NAME">%s</xliff:g>」"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"設定實體鍵盤"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"輕觸即可選取語言和版面配置"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"助聽器"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"已按住音量鍵。「<xliff:g id="SERVICE_NAME">%1$s</xliff:g>」已開啟。"</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"已按住音量鍵。「<xliff:g id="SERVICE_NAME">%1$s</xliff:g>」已關閉。"</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"放開音量鍵。如要開啟 <xliff:g id="SERVICE_NAME">%1$s</xliff:g>,請同時按住音量調高鍵和調低鍵 3 秒。"</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"輕觸無障礙工具按鈕後,選擇你想使用的功能:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"選擇要搭配無障礙手勢 (用兩指從螢幕底部向上滑動) 使用的功能:"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"選擇要搭配無障礙手勢 (用三指從螢幕底部向上滑動) 使用的功能:"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在使用雙螢幕顯示內容"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"裝置過熱"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"手機過熱,因此無法使用雙螢幕功能"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"停用"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"停用"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"已設定「<xliff:g id="DEVICE_NAME">%s</xliff:g>」"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"鍵盤配置已設為<xliff:g id="LAYOUT_1">%s</xliff:g>。輕觸即可變更。"</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"鍵盤配置已設為<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>。輕觸即可變更。"</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"鍵盤配置已設為<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>。輕觸即可變更。"</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"鍵盤配置已設為<xliff:g id="LAYOUT_1">%1$s</xliff:g>、<xliff:g id="LAYOUT_2">%2$s</xliff:g>、<xliff:g id="LAYOUT_3">%3$s</xliff:g>…輕觸即可變更。"</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"已設定實體鍵盤"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"輕觸即可查看鍵盤"</string> </resources> diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml index 363660d6021a..967d9eafbf4f 100644 --- a/core/res/res/values-zu/strings.xml +++ b/core/res/res/values-zu/strings.xml @@ -140,6 +140,8 @@ <string name="wfcSpnFormat_wifi" msgid="1376356951297043426">"I-Wi-Fi"</string> <string name="wfcSpnFormat_wifi_calling_wo_hyphen" msgid="7178561009225028264">"Ukushaya kwe-WiFi"</string> <string name="wfcSpnFormat_vowifi" msgid="8371335230890725606">"VoWifi"</string> + <!-- no translation found for wfcSpnFormat_wifi_call (434016592539090004) --> + <skip /> <string name="wifi_calling_off_summary" msgid="5626710010766902560">"Valiwe"</string> <string name="wfc_mode_wifi_preferred_summary" msgid="1035175836270943089">"Ikholi esebenza nge-Wi-Fi"</string> <string name="wfc_mode_cellular_preferred_summary" msgid="4958965609212575619">"Shaya ngenethiwekhi yeselula"</string> @@ -1393,10 +1395,8 @@ <string name="select_input_method" msgid="3971267998568587025">"Khetha indlela yokufaka"</string> <string name="show_ime" msgid="6406112007347443383">"Yigcine kusikrini ngenkathi kusebenza ikhibhodi ephathekayo"</string> <string name="hardware" msgid="1800597768237606953">"Bonisa ikhibhodi ebonakalayo"</string> - <!-- no translation found for select_keyboard_layout_notification_title (5823199895322205589) --> - <skip /> - <!-- no translation found for select_multiple_keyboards_layout_notification_title (6999491025126641938) --> - <skip /> + <string name="select_keyboard_layout_notification_title" msgid="5823199895322205589">"Lungisa i-<xliff:g id="DEVICE_NAME">%s</xliff:g>"</string> + <string name="select_multiple_keyboards_layout_notification_title" msgid="6999491025126641938">"Lungiselela amakhibhodi aphathekayo"</string> <string name="select_keyboard_layout_notification_message" msgid="8835158247369158154">"Thepha ukuze ukhethe ulimi nesakhiwo"</string> <string name="fast_scroll_alphabet" msgid="8854435958703888376">" ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> <string name="fast_scroll_numeric_alphabet" msgid="2529539945421557329">" 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"</string> @@ -1721,8 +1721,7 @@ <string name="hearing_aids_feature_name" msgid="1125892105105852542">"Amadivayizi okuzwa"</string> <string name="accessibility_shortcut_enabling_service" msgid="5473495203759847687">"Ubambe okhiye bevolumu. I-<xliff:g id="SERVICE_NAME">%1$s</xliff:g> ivuliwe."</string> <string name="accessibility_shortcut_disabling_service" msgid="8675244165062700619">"Ubambe okhiye bevolumu. I-<xliff:g id="SERVICE_NAME">%1$s</xliff:g> ivaliwe."</string> - <!-- no translation found for accessibility_shortcut_spoken_feedback (3760999147597564314) --> - <skip /> + <string name="accessibility_shortcut_spoken_feedback" msgid="3760999147597564314">"Khipha okhiye bevolumu. Ukuze uvule i-<xliff:g id="SERVICE_NAME">%1$s</xliff:g>, cindezela bese ubamba bobabili okhiye bevolumu futhi imizuzwana emi-3."</string> <string name="accessibility_button_prompt_text" msgid="8343213623338605305">"Khetha isici ozosisebenzisa uma uthepha inkinobho yokufinyelela:"</string> <string name="accessibility_gesture_prompt_text" msgid="8742535972130563952">"Khetha isici ozosisebenzisa ngokuthinta kokufinyeleleka (swayiphela phezulu kusukela ngaphansi kwesikrini ngeminwe emibili):"</string> <string name="accessibility_gesture_3finger_prompt_text" msgid="5211827854510660203">"Khetha isici ozosisebenzisa ngokuthinta kokufinyeleleka (swayiphela phezulu kusukela phansi esikrinini ngeminwe emithathu):"</string> @@ -2326,19 +2325,18 @@ <string name="concurrent_display_notification_active_content" msgid="5889355473710601270">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> isebenzisa zombili izibonisi ukukhombisa okuqukethwe"</string> <string name="concurrent_display_notification_thermal_title" msgid="5921609404644739229">"Idivayisi ifudumele kakhulu"</string> <string name="concurrent_display_notification_thermal_content" msgid="2075484836527609319">"I-Dual Screen ayitholakali ngoba ifoni yakho iqala ukufudumala kakhulu"</string> - <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Vala"</string> - <!-- no translation found for keyboard_layout_notification_selected_title (1202560174252421219) --> + <!-- no translation found for concurrent_display_notification_power_save_title (1794569070730736281) --> <skip /> - <!-- no translation found for keyboard_layout_notification_one_selected_message (4314216053129257197) --> + <!-- no translation found for concurrent_display_notification_power_save_content (2198116070583851493) --> <skip /> - <!-- no translation found for keyboard_layout_notification_two_selected_message (1876349944065922950) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_three_selected_message (280734264593115419) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_more_than_three_selected_message (1581834181578206937) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_title (5242444914367024499) --> - <skip /> - <!-- no translation found for keyboard_layout_notification_multiple_selected_message (6576533454124419202) --> + <!-- no translation found for device_state_notification_settings_button (691937505741872749) --> <skip /> + <string name="device_state_notification_turn_off_button" msgid="6327161707661689232">"Vala"</string> + <string name="keyboard_layout_notification_selected_title" msgid="1202560174252421219">"I-<xliff:g id="DEVICE_NAME">%s</xliff:g> ilungiselelwe"</string> + <string name="keyboard_layout_notification_one_selected_message" msgid="4314216053129257197">"Isakhiwo sekhibhodi sisethelwe ku-<xliff:g id="LAYOUT_1">%s</xliff:g>. Thepha ukushintsha."</string> + <string name="keyboard_layout_notification_two_selected_message" msgid="1876349944065922950">"Uhlaka lwekhibhodi lusethelwe ku-<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>. Thepha ukushintsha."</string> + <string name="keyboard_layout_notification_three_selected_message" msgid="280734264593115419">"Uhlaka lwekhibhodi lusethelwe ku-<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>. Thepha ukushintsha."</string> + <string name="keyboard_layout_notification_more_than_three_selected_message" msgid="1581834181578206937">"Uhlaka lwekhibhodi lusethelwe ku-<xliff:g id="LAYOUT_1">%1$s</xliff:g>, <xliff:g id="LAYOUT_2">%2$s</xliff:g>, <xliff:g id="LAYOUT_3">%3$s</xliff:g>… Thepha ukuze ushintshe."</string> + <string name="keyboard_layout_notification_multiple_selected_title" msgid="5242444914367024499">"Amakhibhodi aphathekayo amisiwe"</string> + <string name="keyboard_layout_notification_multiple_selected_message" msgid="6576533454124419202">"Thepha ukuze ubuke amakhibhodi"</string> </resources> diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 41c8b4ab153b..b53502d2a666 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -10089,4 +10089,27 @@ <!-- Maximum width of height drawable. Drawables exceeding this size will be downsampled. --> <attr name="maxDrawableHeight" format="dimension"/> </declare-styleable> + + <!-- =============================== --> + <!-- Credential Manager attributes --> + <!-- =============================== --> + <eat-comment /> + + <!-- Contains Credential Provider related metadata. Since providers are exposed + as services these should live under the service. + --> + <declare-styleable name="CredentialProvider"> + <!-- A string that is displayed to the user in the Credential Manager settings + screen that can be used to provide more information about a provider. For + longer strings (40 char) it will be truncated. If multiple services + show the subtitle then the string will be joined together. --> + <attr name="settingsSubtitle" format="string" /> + </declare-styleable> + + <!-- A list of capabilities that indicates to the OS what kinds of credentials + this provider supports. This list is defined in CredentialProviderService. --> + <declare-styleable name="CredentialProvider_Capabilities" parent="CredentialProvider"> + <!-- An individual capability declared by the provider. --> + <attr name="capability" format="string" /> + </declare-styleable> </resources> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index a8da4c86b1dd..19fa7a3b0a2d 100644 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -3253,6 +3253,9 @@ <!-- Feature flag to store TaskSnapshot in 16 bit pixel format to save memory. --> <bool name="config_use16BitTaskSnapshotPixelFormat">false</bool> + <!-- The amount to scale fullscreen activity snapshot for predict-back animation. --> + <item name="config_resActivitySnapshotScale" format="float" type="dimen">0.6</item> + <!-- Determines whether recent tasks are provided to the user. Default device has recents property. If this is false, then the following recents config flags are ignored. --> <bool name="config_hasRecents">true</bool> @@ -6097,7 +6100,7 @@ <bool name="config_settingsHelpLinksEnabled">false</bool> <!-- Whether or not to enable the lock screen entry point for the QR code scanner. --> - <bool name="config_enableQrCodeScannerOnLockScreen">false</bool> + <bool name="config_enableQrCodeScannerOnLockScreen">true</bool> <!-- Default component for QR code scanner --> <string name="config_defaultQrCodeComponent"></string> diff --git a/core/res/res/values/public-staging.xml b/core/res/res/values/public-staging.xml index 696c0ed0530a..12a6c5262f05 100644 --- a/core/res/res/values/public-staging.xml +++ b/core/res/res/values/public-staging.xml @@ -130,6 +130,8 @@ <public name="focusedSearchResultHighlightColor" /> <public name="stylusHandwritingSettingsActivity" /> <public name="windowNoMoveAnimation" /> + <public name="settingsSubtitle" /> + <public name="capability" /> </staging-public-group> <staging-public-group type="id" first-id="0x01cd0000"> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 60795adb03ad..251db6d87850 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -362,6 +362,7 @@ <java-symbol type="bool" name="config_disableUsbPermissionDialogs"/> <java-symbol type="dimen" name="config_highResTaskSnapshotScale" /> <java-symbol type="dimen" name="config_lowResTaskSnapshotScale" /> + <java-symbol type="dimen" name="config_resActivitySnapshotScale" /> <java-symbol type="dimen" name="config_qsTileStrokeWidthInactive" /> <java-symbol type="dimen" name="config_qsTileStrokeWidthActive" /> <java-symbol type="bool" name="config_use16BitTaskSnapshotPixelFormat" /> diff --git a/core/tests/coretests/Android.bp b/core/tests/coretests/Android.bp index e811bb67fb99..3ea15924e96d 100644 --- a/core/tests/coretests/Android.bp +++ b/core/tests/coretests/Android.bp @@ -20,6 +20,7 @@ android_test { "BinderProxyCountingTestService/src/**/*.java", "BinderDeathRecipientHelperApp/src/**/*.java", "aidl/**/I*.aidl", + ":FrameworksCoreTestDoubles-sources", ], aidl: { diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java index 34d669bb5ebd..6debbfeae084 100644 --- a/core/tests/coretests/src/android/app/NotificationTest.java +++ b/core/tests/coretests/src/android/app/NotificationTest.java @@ -63,7 +63,6 @@ import static org.mockito.Mockito.spy; import static org.mockito.Mockito.when; import android.annotation.Nullable; -import android.app.Notification.CallStyle; import android.content.Context; import android.content.Intent; import android.content.LocusId; @@ -1039,6 +1038,69 @@ public class NotificationTest { } @Test + public void areIconsDifferent_sameSmallIcon_false() { + Notification n1 = new Notification.Builder(mContext, "test").setSmallIcon(1).build(); + Notification n2 = new Notification.Builder(mContext, "test").setSmallIcon(1).build(); + + assertThat(Notification.areIconsDifferent(n1, n2)).isFalse(); + } + + @Test + public void areIconsDifferent_differentSmallIcon_true() { + Notification n1 = new Notification.Builder(mContext, "test").setSmallIcon(1).build(); + Notification n2 = new Notification.Builder(mContext, "test").setSmallIcon(2).build(); + + assertThat(Notification.areIconsDifferent(n1, n2)).isTrue(); + } + + @Test + public void areIconsDifferent_sameLargeIcon_false() { + Icon icon1 = Icon.createWithContentUri("uri"); + Icon icon2 = Icon.createWithContentUri("uri"); + Notification n1 = new Notification.Builder(mContext, "test") + .setSmallIcon(1).setLargeIcon(icon1).build(); + Notification n2 = new Notification.Builder(mContext, "test") + .setSmallIcon(1).setLargeIcon(icon2).build(); + + // Note that this will almost certainly not happen for Icons created from Bitmaps, since + // their serialization/deserialization of Bitmaps (app -> system_process) results in a + // different getGenerationId() value. :( + assertThat(Notification.areIconsDifferent(n1, n2)).isFalse(); + } + + @Test + public void areIconsDifferent_differentLargeIcon_true() { + Icon icon1 = Icon.createWithContentUri("uri1"); + Icon icon2 = Icon.createWithContentUri("uri2"); + Notification n1 = new Notification.Builder(mContext, "test") + .setSmallIcon(1).setLargeIcon(icon1).build(); + Notification n2 = new Notification.Builder(mContext, "test") + .setSmallIcon(2).setLargeIcon(icon2).build(); + + assertThat(Notification.areIconsDifferent(n1, n2)).isTrue(); + } + + @Test + public void areIconsDifferent_addedLargeIcon_true() { + Icon icon = Icon.createWithContentUri("uri"); + Notification n1 = new Notification.Builder(mContext, "test").setSmallIcon(1).build(); + Notification n2 = new Notification.Builder(mContext, "test") + .setSmallIcon(2).setLargeIcon(icon).build(); + + assertThat(Notification.areIconsDifferent(n1, n2)).isTrue(); + } + + @Test + public void areIconsDifferent_removedLargeIcon_true() { + Icon icon = Icon.createWithContentUri("uri"); + Notification n1 = new Notification.Builder(mContext, "test") + .setSmallIcon(1).setLargeIcon(icon).build(); + Notification n2 = new Notification.Builder(mContext, "test").setSmallIcon(2).build(); + + assertThat(Notification.areIconsDifferent(n1, n2)).isTrue(); + } + + @Test public void testStyleChangeVisiblyDifferent_noStyles() { Notification.Builder n1 = new Notification.Builder(mContext, "test"); Notification.Builder n2 = new Notification.Builder(mContext, "test"); diff --git a/core/tests/coretests/src/android/hardware/display/VirtualDisplayConfigTest.java b/core/tests/coretests/src/android/hardware/display/VirtualDisplayConfigTest.java new file mode 100644 index 000000000000..4e5906427af4 --- /dev/null +++ b/core/tests/coretests/src/android/hardware/display/VirtualDisplayConfigTest.java @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.display; + +import static com.google.common.truth.Truth.assertThat; + +import android.graphics.SurfaceTexture; +import android.os.Binder; +import android.os.IBinder; +import android.os.Parcel; +import android.util.DisplayMetrics; +import android.view.ContentRecordingSession; +import android.view.Surface; + +import androidx.test.ext.junit.runners.AndroidJUnit4; +import androidx.test.filters.SmallTest; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.Set; + +/** + * Tests for non-public APIs in {@link VirtualDisplayConfig}. + * See also related CTS tests. + * + * Run with: + * atest FrameworksCoreTests:VirtualDisplayConfigTest + */ +@SmallTest +@RunWith(AndroidJUnit4.class) +public class VirtualDisplayConfigTest { + + private static final String NAME = "VirtualDisplayConfigTest"; + private static final int WIDTH = 720; + private static final int HEIGHT = 480; + private static final int DENSITY = DisplayMetrics.DENSITY_MEDIUM; + private static final float REQUESTED_REFRESH_RATE = 30.0f; + private static final int FLAGS = DisplayManager.VIRTUAL_DISPLAY_FLAG_PUBLIC + | DisplayManager.VIRTUAL_DISPLAY_FLAG_SECURE; + + // Values for hidden APIs. + private static final int DISPLAY_ID_TO_MIRROR = 10; + private static final IBinder WINDOW_TOKEN = new Binder("DisplayContentWindowToken"); + private static final ContentRecordingSession CONTENT_RECORDING_SESSION = + ContentRecordingSession.createTaskSession(WINDOW_TOKEN); + + private final Surface mSurface = new Surface(new SurfaceTexture(/*texName=*/1)); + + @Test + public void testParcelAndUnparcel_matches() { + final VirtualDisplayConfig originalConfig = buildGenericVirtualDisplay(NAME); + + validateConstantFields(originalConfig); + assertThat(originalConfig.getName()).isEqualTo(NAME); + + + final Parcel parcel = Parcel.obtain(); + originalConfig.writeToParcel(parcel, /* flags= */ 0); + parcel.setDataPosition(0); + final VirtualDisplayConfig recreatedConfig = + VirtualDisplayConfig.CREATOR.createFromParcel(parcel); + + validateConstantFields(recreatedConfig); + assertThat(recreatedConfig.getName()).isEqualTo(NAME); + } + + @Test + public void testEquals_matches() { + assertThat(buildGenericVirtualDisplay(NAME)).isEqualTo(buildGenericVirtualDisplay(NAME)); + } + + @Test + public void testEquals_different() { + assertThat(buildGenericVirtualDisplay(NAME + "2")).isNotEqualTo( + buildGenericVirtualDisplay(NAME)); + } + + private VirtualDisplayConfig buildGenericVirtualDisplay(String name) { + return new VirtualDisplayConfig.Builder(name, WIDTH, HEIGHT, DENSITY) + .setFlags(FLAGS) + .setSurface(mSurface) + .setDisplayCategories(Set.of("C1", "C2")) + .addDisplayCategory("C3") + .setRequestedRefreshRate(REQUESTED_REFRESH_RATE) + .setDisplayIdToMirror(DISPLAY_ID_TO_MIRROR) + .setWindowManagerMirroringEnabled(true) + .setContentRecordingSession(CONTENT_RECORDING_SESSION) + .build(); + } + + private void validateConstantFields(VirtualDisplayConfig config) { + assertThat(config.getWidth()).isEqualTo(WIDTH); + assertThat(config.getHeight()).isEqualTo(HEIGHT); + assertThat(config.getDensityDpi()).isEqualTo(DENSITY); + assertThat(config.getFlags()).isEqualTo(FLAGS); + assertThat(config.getSurface()).isNotNull(); + assertThat(config.getDisplayCategories()).containsExactly("C1", "C2", "C3"); + assertThat(config.getRequestedRefreshRate()).isEqualTo(REQUESTED_REFRESH_RATE); + assertThat(config.getDisplayIdToMirror()).isEqualTo(DISPLAY_ID_TO_MIRROR); + assertThat(config.isWindowManagerMirroringEnabled()).isTrue(); + assertThat(config.getContentRecordingSession()).isEqualTo(CONTENT_RECORDING_SESSION); + } +} diff --git a/core/tests/coretests/src/android/os/FileUtilsTest.java b/core/tests/coretests/src/android/os/FileUtilsTest.java index 91fbe0034133..394ff0ae9a2e 100644 --- a/core/tests/coretests/src/android/os/FileUtilsTest.java +++ b/core/tests/coretests/src/android/os/FileUtilsTest.java @@ -54,6 +54,7 @@ import static org.junit.Assert.fail; import android.content.Context; import android.os.FileUtils.MemoryPipe; import android.provider.DocumentsContract.Document; +import android.util.DataUnit; import androidx.test.InstrumentationRegistry; import androidx.test.runner.AndroidJUnit4; @@ -504,31 +505,45 @@ public class FileUtilsTest { @Test public void testRoundStorageSize() throws Exception { - final long M128 = 128000000L; - final long M256 = 256000000L; - final long M512 = 512000000L; - final long G1 = 1000000000L; - final long G2 = 2000000000L; - final long G16 = 16000000000L; - final long G32 = 32000000000L; - final long G64 = 64000000000L; - - assertEquals(M128, roundStorageSize(M128)); - assertEquals(M256, roundStorageSize(M128 + 1)); - assertEquals(M256, roundStorageSize(M256 - 1)); - assertEquals(M256, roundStorageSize(M256)); - assertEquals(M512, roundStorageSize(M256 + 1)); - assertEquals(M512, roundStorageSize(M512 - 1)); - assertEquals(M512, roundStorageSize(M512)); - assertEquals(G1, roundStorageSize(M512 + 1)); - assertEquals(G1, roundStorageSize(G1)); - assertEquals(G2, roundStorageSize(G1 + 1)); - - assertEquals(G16, roundStorageSize(G16)); - assertEquals(G32, roundStorageSize(G16 + 1)); - assertEquals(G32, roundStorageSize(G32 - 1)); - assertEquals(G32, roundStorageSize(G32)); - assertEquals(G64, roundStorageSize(G32 + 1)); + final long GB1 = DataUnit.GIGABYTES.toBytes(1); + final long GiB1 = DataUnit.GIBIBYTES.toBytes(1); + final long GB2 = DataUnit.GIGABYTES.toBytes(2); + final long GiB2 = DataUnit.GIBIBYTES.toBytes(2); + final long GiB128 = DataUnit.GIBIBYTES.toBytes(128); + final long GB256 = DataUnit.GIGABYTES.toBytes(256); + final long GiB256 = DataUnit.GIBIBYTES.toBytes(256); + final long GB512 = DataUnit.GIGABYTES.toBytes(512); + final long GiB512 = DataUnit.GIBIBYTES.toBytes(512); + final long TB1 = DataUnit.TERABYTES.toBytes(1); + final long TiB1 = DataUnit.TEBIBYTES.toBytes(1); + final long TB2 = DataUnit.TERABYTES.toBytes(2); + final long TiB2 = DataUnit.TEBIBYTES.toBytes(2); + final long TB4 = DataUnit.TERABYTES.toBytes(4); + final long TiB4 = DataUnit.TEBIBYTES.toBytes(4); + final long TB8 = DataUnit.TERABYTES.toBytes(8); + final long TiB8 = DataUnit.TEBIBYTES.toBytes(8); + + assertEquals(GB1, roundStorageSize(GB1 - 1)); + assertEquals(GB1, roundStorageSize(GB1)); + assertEquals(GB1, roundStorageSize(GB1 + 1)); + assertEquals(GB1, roundStorageSize(GiB1 - 1)); + assertEquals(GB1, roundStorageSize(GiB1)); + assertEquals(GB2, roundStorageSize(GiB1 + 1)); + assertEquals(GB2, roundStorageSize(GiB2)); + + assertEquals(GB256, roundStorageSize(GiB128 + 1)); + assertEquals(GB256, roundStorageSize(GiB256)); + assertEquals(GB512, roundStorageSize(GiB256 + 1)); + assertEquals(GB512, roundStorageSize(GiB512)); + assertEquals(TB1, roundStorageSize(GiB512 + 1)); + assertEquals(TB1, roundStorageSize(TiB1)); + assertEquals(TB2, roundStorageSize(TiB1 + 1)); + assertEquals(TB2, roundStorageSize(TiB2)); + assertEquals(TB4, roundStorageSize(TiB2 + 1)); + assertEquals(TB4, roundStorageSize(TiB4)); + assertEquals(TB8, roundStorageSize(TiB4 + 1)); + assertEquals(TB8, roundStorageSize(TiB8)); + assertEquals(TB1, roundStorageSize(1013077688320L)); // b/268571529 } @Test diff --git a/core/tests/coretests/src/android/util/DataUnitTest.java b/core/tests/coretests/src/android/util/DataUnitTest.java index ec296b76c374..034cbddc0144 100644 --- a/core/tests/coretests/src/android/util/DataUnitTest.java +++ b/core/tests/coretests/src/android/util/DataUnitTest.java @@ -26,11 +26,13 @@ public class DataUnitTest extends TestCase { assertEquals(12_000L, DataUnit.KILOBYTES.toBytes(12)); assertEquals(12_000_000L, DataUnit.MEGABYTES.toBytes(12)); assertEquals(12_000_000_000L, DataUnit.GIGABYTES.toBytes(12)); + assertEquals(12_000_000_000_000L, DataUnit.TERABYTES.toBytes(12)); } public void testIec() throws Exception { assertEquals(12_288L, DataUnit.KIBIBYTES.toBytes(12)); assertEquals(12_582_912L, DataUnit.MEBIBYTES.toBytes(12)); assertEquals(12_884_901_888L, DataUnit.GIBIBYTES.toBytes(12)); + assertEquals(13_194_139_533_312L, DataUnit.TEBIBYTES.toBytes(12)); } } diff --git a/core/tests/coretests/src/com/android/internal/util/FakeLatencyTrackerTest.java b/core/tests/coretests/src/com/android/internal/util/FakeLatencyTrackerTest.java new file mode 100644 index 000000000000..e6f10adacee3 --- /dev/null +++ b/core/tests/coretests/src/com/android/internal/util/FakeLatencyTrackerTest.java @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.util; + +import static com.android.internal.util.FrameworkStatsLog.UIACTION_LATENCY_REPORTED__ACTION__ACTION_SHOW_VOICE_INTERACTION; +import static com.android.internal.util.FrameworkStatsLog.UI_ACTION_LATENCY_REPORTED; +import static com.android.internal.util.LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + +import static com.google.common.truth.Truth.assertThat; + +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +import java.util.List; + +/** + * This test class verifies the additional methods which {@link FakeLatencyTracker} exposes. + * + * <p>The typical {@link LatencyTracker} behavior test coverage is present in + * {@link LatencyTrackerTest} + */ +@RunWith(AndroidJUnit4.class) +public class FakeLatencyTrackerTest { + + private FakeLatencyTracker mFakeLatencyTracker; + + @Before + public void setUp() throws Exception { + mFakeLatencyTracker = FakeLatencyTracker.create(); + } + + @Test + public void testForceEnabled() throws Exception { + mFakeLatencyTracker.logAction(ACTION_SHOW_VOICE_INTERACTION, 1234); + + assertThat(mFakeLatencyTracker.getEventsWrittenToFrameworkStats( + ACTION_SHOW_VOICE_INTERACTION)).isEmpty(); + + mFakeLatencyTracker.forceEnabled(ACTION_SHOW_VOICE_INTERACTION, 1000); + mFakeLatencyTracker.logAction(ACTION_SHOW_VOICE_INTERACTION, 1234); + List<LatencyTracker.FrameworkStatsLogEvent> events = + mFakeLatencyTracker.getEventsWrittenToFrameworkStats( + ACTION_SHOW_VOICE_INTERACTION); + assertThat(events).hasSize(1); + assertThat(events.get(0).logCode).isEqualTo(UI_ACTION_LATENCY_REPORTED); + assertThat(events.get(0).statsdAction).isEqualTo( + UIACTION_LATENCY_REPORTED__ACTION__ACTION_SHOW_VOICE_INTERACTION); + assertThat(events.get(0).durationMillis).isEqualTo(1234); + } +} diff --git a/core/tests/coretests/src/com/android/internal/util/LatencyTrackerTest.java b/core/tests/coretests/src/com/android/internal/util/LatencyTrackerTest.java index d1f0b5e1dd30..645324d57ea9 100644 --- a/core/tests/coretests/src/com/android/internal/util/LatencyTrackerTest.java +++ b/core/tests/coretests/src/com/android/internal/util/LatencyTrackerTest.java @@ -16,19 +16,22 @@ package com.android.internal.util; +import static android.provider.DeviceConfig.NAMESPACE_LATENCY_TRACKER; import static android.text.TextUtils.formatSimple; +import static com.android.internal.util.FrameworkStatsLog.UI_ACTION_LATENCY_REPORTED; import static com.android.internal.util.LatencyTracker.STATSD_ACTION; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; import android.provider.DeviceConfig; -import android.util.Log; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SmallTest; +import com.android.internal.util.LatencyTracker.ActionProperties; + import com.google.common.truth.Expect; import org.junit.Before; @@ -38,7 +41,6 @@ import org.junit.runner.RunWith; import java.lang.reflect.Field; import java.lang.reflect.Modifier; -import java.time.Duration; import java.util.Arrays; import java.util.HashMap; import java.util.HashSet; @@ -49,27 +51,23 @@ import java.util.stream.Collectors; @SmallTest @RunWith(AndroidJUnit4.class) public class LatencyTrackerTest { - private static final String TAG = LatencyTrackerTest.class.getSimpleName(); private static final String ENUM_NAME_PREFIX = "UIACTION_LATENCY_REPORTED__ACTION__"; - private static final String ACTION_ENABLE_SUFFIX = "_enable"; - private static final Duration TEST_TIMEOUT = Duration.ofMillis(500); @Rule public final Expect mExpect = Expect.create(); + // Fake is used because it tests the real logic of LatencyTracker, and it only fakes the + // outcomes (PerfettoTrigger and FrameworkStatsLog). + private FakeLatencyTracker mLatencyTracker; + @Before - public void setUp() { - DeviceConfig.deleteProperty(DeviceConfig.NAMESPACE_LATENCY_TRACKER, - LatencyTracker.SETTINGS_ENABLED_KEY); - getAllActions().forEach(action -> { - DeviceConfig.deleteProperty(DeviceConfig.NAMESPACE_LATENCY_TRACKER, - action.getName().toLowerCase() + ACTION_ENABLE_SUFFIX); - }); + public void setUp() throws Exception { + mLatencyTracker = FakeLatencyTracker.create(); } @Test public void testCujsMapToEnumsCorrectly() { - List<Field> actions = getAllActions(); + List<Field> actions = getAllActionFields(); Map<Integer, String> enumsMap = Arrays.stream(FrameworkStatsLog.class.getDeclaredFields()) .filter(f -> f.getName().startsWith(ENUM_NAME_PREFIX) && Modifier.isStatic(f.getModifiers()) @@ -101,7 +99,7 @@ public class LatencyTrackerTest { @Test public void testCujTypeEnumCorrectlyDefined() throws Exception { - List<Field> cujEnumFields = getAllActions(); + List<Field> cujEnumFields = getAllActionFields(); HashSet<Integer> allValues = new HashSet<>(); for (Field field : cujEnumFields) { int fieldValue = field.getInt(null); @@ -118,92 +116,242 @@ public class LatencyTrackerTest { } @Test - public void testIsEnabled_globalEnabled() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_LATENCY_TRACKER, + public void testIsEnabled_trueWhenGlobalEnabled() throws Exception { + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, LatencyTracker.SETTINGS_ENABLED_KEY, "true", false); - LatencyTracker latencyTracker = new LatencyTracker(); - waitForLatencyTrackerToUpdateProperties(latencyTracker); - assertThat(latencyTracker.isEnabled()).isTrue(); + mLatencyTracker.waitForGlobalEnabledState(true); + mLatencyTracker.waitForAllPropertiesEnableState(true); + + //noinspection deprecation + assertThat(mLatencyTracker.isEnabled()).isTrue(); } @Test - public void testIsEnabled_globalDisabled() { - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_LATENCY_TRACKER, + public void testIsEnabled_falseWhenGlobalDisabled() throws Exception { + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, LatencyTracker.SETTINGS_ENABLED_KEY, "false", false); - LatencyTracker latencyTracker = new LatencyTracker(); - waitForLatencyTrackerToUpdateProperties(latencyTracker); - assertThat(latencyTracker.isEnabled()).isFalse(); + mLatencyTracker.waitForGlobalEnabledState(false); + mLatencyTracker.waitForAllPropertiesEnableState(false); + + //noinspection deprecation + assertThat(mLatencyTracker.isEnabled()).isFalse(); } @Test - public void testIsEnabledAction_useGlobalValueWhenActionEnableIsNotSet() { - LatencyTracker latencyTracker = new LatencyTracker(); + public void testIsEnabledAction_useGlobalValueWhenActionEnableIsNotSet() + throws Exception { // using a single test action, but this applies to all actions int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; - Log.i(TAG, "setting property=" + LatencyTracker.SETTINGS_ENABLED_KEY + ", value=true"); - latencyTracker.mDeviceConfigPropertiesUpdated.close(); - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_LATENCY_TRACKER, + DeviceConfig.deleteProperty(NAMESPACE_LATENCY_TRACKER, + "action_show_voice_interaction_enable"); + mLatencyTracker.waitForAllPropertiesEnableState(false); + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, LatencyTracker.SETTINGS_ENABLED_KEY, "true", false); - waitForLatencyTrackerToUpdateProperties(latencyTracker); - assertThat( - latencyTracker.isEnabled(action)).isTrue(); - - Log.i(TAG, "setting property=" + LatencyTracker.SETTINGS_ENABLED_KEY - + ", value=false"); - latencyTracker.mDeviceConfigPropertiesUpdated.close(); - DeviceConfig.setProperty(DeviceConfig.NAMESPACE_LATENCY_TRACKER, - LatencyTracker.SETTINGS_ENABLED_KEY, "false", false); - waitForLatencyTrackerToUpdateProperties(latencyTracker); - assertThat(latencyTracker.isEnabled(action)).isFalse(); + mLatencyTracker.waitForGlobalEnabledState(true); + mLatencyTracker.waitForAllPropertiesEnableState(true); + + assertThat(mLatencyTracker.isEnabled(action)).isTrue(); } @Test public void testIsEnabledAction_actionPropertyOverridesGlobalProperty() - throws DeviceConfig.BadConfigException { - LatencyTracker latencyTracker = new LatencyTracker(); + throws Exception { // using a single test action, but this applies to all actions int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; - String actionEnableProperty = "action_show_voice_interaction" + ACTION_ENABLE_SUFFIX; - Log.i(TAG, "setting property=" + actionEnableProperty + ", value=true"); - - latencyTracker.mDeviceConfigPropertiesUpdated.close(); - Map<String, String> properties = new HashMap<String, String>() {{ - put(LatencyTracker.SETTINGS_ENABLED_KEY, "false"); - put(actionEnableProperty, "true"); - }}; + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, + LatencyTracker.SETTINGS_ENABLED_KEY, "false", false); + mLatencyTracker.waitForGlobalEnabledState(false); + + Map<String, String> deviceConfigProperties = new HashMap<>(); + deviceConfigProperties.put("action_show_voice_interaction_enable", "true"); + deviceConfigProperties.put("action_show_voice_interaction_sample_interval", "1"); + deviceConfigProperties.put("action_show_voice_interaction_trace_threshold", "-1"); DeviceConfig.setProperties( - new DeviceConfig.Properties(DeviceConfig.NAMESPACE_LATENCY_TRACKER, - properties)); - waitForLatencyTrackerToUpdateProperties(latencyTracker); - assertThat(latencyTracker.isEnabled(action)).isTrue(); - - latencyTracker.mDeviceConfigPropertiesUpdated.close(); - Log.i(TAG, "setting property=" + actionEnableProperty + ", value=false"); - properties.put(LatencyTracker.SETTINGS_ENABLED_KEY, "true"); - properties.put(actionEnableProperty, "false"); + new DeviceConfig.Properties(NAMESPACE_LATENCY_TRACKER, + deviceConfigProperties)); + + mLatencyTracker.waitForMatchingActionProperties( + new ActionProperties(action, true /* enabled */, 1 /* samplingInterval */, + -1 /* traceThreshold */)); + + assertThat(mLatencyTracker.isEnabled(action)).isTrue(); + } + + @Test + public void testLogsWhenEnabled() throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + Map<String, String> deviceConfigProperties = new HashMap<>(); + deviceConfigProperties.put("action_show_voice_interaction_enable", "true"); + deviceConfigProperties.put("action_show_voice_interaction_sample_interval", "1"); + deviceConfigProperties.put("action_show_voice_interaction_trace_threshold", "-1"); DeviceConfig.setProperties( - new DeviceConfig.Properties(DeviceConfig.NAMESPACE_LATENCY_TRACKER, - properties)); - waitForLatencyTrackerToUpdateProperties(latencyTracker); - assertThat(latencyTracker.isEnabled(action)).isFalse(); + new DeviceConfig.Properties(NAMESPACE_LATENCY_TRACKER, + deviceConfigProperties)); + mLatencyTracker.waitForMatchingActionProperties( + new ActionProperties(action, true /* enabled */, 1 /* samplingInterval */, + -1 /* traceThreshold */)); + + mLatencyTracker.logAction(action, 1234); + assertThat(mLatencyTracker.getEventsWrittenToFrameworkStats(action)).hasSize(1); + LatencyTracker.FrameworkStatsLogEvent frameworkStatsLog = + mLatencyTracker.getEventsWrittenToFrameworkStats(action).get(0); + assertThat(frameworkStatsLog.logCode).isEqualTo(UI_ACTION_LATENCY_REPORTED); + assertThat(frameworkStatsLog.statsdAction).isEqualTo(STATSD_ACTION[action]); + assertThat(frameworkStatsLog.durationMillis).isEqualTo(1234); + + mLatencyTracker.clearEvents(); + + mLatencyTracker.onActionStart(action); + mLatencyTracker.onActionEnd(action); + // assert that action was logged, but we cannot confirm duration logged + assertThat(mLatencyTracker.getEventsWrittenToFrameworkStats(action)).hasSize(1); + frameworkStatsLog = mLatencyTracker.getEventsWrittenToFrameworkStats(action).get(0); + assertThat(frameworkStatsLog.logCode).isEqualTo(UI_ACTION_LATENCY_REPORTED); + assertThat(frameworkStatsLog.statsdAction).isEqualTo(STATSD_ACTION[action]); } - private void waitForLatencyTrackerToUpdateProperties(LatencyTracker latencyTracker) { - try { - Thread.sleep(TEST_TIMEOUT.toMillis()); - } catch (InterruptedException e) { - e.printStackTrace(); - } - assertThat(latencyTracker.mDeviceConfigPropertiesUpdated.block( - TEST_TIMEOUT.toMillis())).isTrue(); + @Test + public void testDoesNotLogWhenDisabled() throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, "action_show_voice_interaction_enable", + "false", false); + mLatencyTracker.waitForActionEnabledState(action, false); + assertThat(mLatencyTracker.isEnabled(action)).isFalse(); + + mLatencyTracker.logAction(action, 1234); + assertThat(mLatencyTracker.getEventsWrittenToFrameworkStats(action)).isEmpty(); + + mLatencyTracker.onActionStart(action); + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getEventsWrittenToFrameworkStats(action)).isEmpty(); + } + + @Test + public void testOnActionEndDoesNotLogWithoutOnActionStart() + throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, "action_show_voice_interaction_enable", + "true", false); + mLatencyTracker.waitForActionEnabledState(action, true); + assertThat(mLatencyTracker.isEnabled(action)).isTrue(); + + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getEventsWrittenToFrameworkStats(action)).isEmpty(); + } + + @Test + public void testOnActionEndDoesNotLogWhenCanceled() + throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + DeviceConfig.setProperty(NAMESPACE_LATENCY_TRACKER, "action_show_voice_interaction_enable", + "true", false); + mLatencyTracker.waitForActionEnabledState(action, true); + assertThat(mLatencyTracker.isEnabled(action)).isTrue(); + + mLatencyTracker.onActionStart(action); + mLatencyTracker.onActionCancel(action); + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getEventsWrittenToFrameworkStats(action)).isEmpty(); + } + + @Test + public void testNeverTriggersPerfettoWhenThresholdNegative() + throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + Map<String, String> deviceConfigProperties = new HashMap<>(); + deviceConfigProperties.put("action_show_voice_interaction_enable", "true"); + deviceConfigProperties.put("action_show_voice_interaction_sample_interval", "1"); + deviceConfigProperties.put("action_show_voice_interaction_trace_threshold", "-1"); + DeviceConfig.setProperties( + new DeviceConfig.Properties(NAMESPACE_LATENCY_TRACKER, + deviceConfigProperties)); + mLatencyTracker.waitForMatchingActionProperties( + new ActionProperties(action, true /* enabled */, 1 /* samplingInterval */, + -1 /* traceThreshold */)); + + mLatencyTracker.onActionStart(action); + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getTriggeredPerfettoTraceNames()).isEmpty(); + } + + @Test + public void testNeverTriggersPerfettoWhenDisabled() + throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + Map<String, String> deviceConfigProperties = new HashMap<>(); + deviceConfigProperties.put("action_show_voice_interaction_enable", "false"); + deviceConfigProperties.put("action_show_voice_interaction_sample_interval", "1"); + deviceConfigProperties.put("action_show_voice_interaction_trace_threshold", "1"); + DeviceConfig.setProperties( + new DeviceConfig.Properties(NAMESPACE_LATENCY_TRACKER, + deviceConfigProperties)); + mLatencyTracker.waitForMatchingActionProperties( + new ActionProperties(action, false /* enabled */, 1 /* samplingInterval */, + 1 /* traceThreshold */)); + + mLatencyTracker.onActionStart(action); + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getTriggeredPerfettoTraceNames()).isEmpty(); + } + + @Test + public void testTriggersPerfettoWhenAboveThreshold() + throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + Map<String, String> deviceConfigProperties = new HashMap<>(); + deviceConfigProperties.put("action_show_voice_interaction_enable", "true"); + deviceConfigProperties.put("action_show_voice_interaction_sample_interval", "1"); + deviceConfigProperties.put("action_show_voice_interaction_trace_threshold", "1"); + DeviceConfig.setProperties( + new DeviceConfig.Properties(NAMESPACE_LATENCY_TRACKER, + deviceConfigProperties)); + mLatencyTracker.waitForMatchingActionProperties( + new ActionProperties(action, true /* enabled */, 1 /* samplingInterval */, + 1 /* traceThreshold */)); + + mLatencyTracker.onActionStart(action); + // We need to sleep here to ensure that the end call is past the set trace threshold (1ms) + Thread.sleep(5 /* millis */); + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getTriggeredPerfettoTraceNames()).hasSize(1); + assertThat(mLatencyTracker.getTriggeredPerfettoTraceNames().get(0)).isEqualTo( + "com.android.telemetry.latency-tracker-ACTION_SHOW_VOICE_INTERACTION"); + } + + @Test + public void testNeverTriggersPerfettoWhenBelowThreshold() + throws Exception { + // using a single test action, but this applies to all actions + int action = LatencyTracker.ACTION_SHOW_VOICE_INTERACTION; + Map<String, String> deviceConfigProperties = new HashMap<>(); + deviceConfigProperties.put("action_show_voice_interaction_enable", "true"); + deviceConfigProperties.put("action_show_voice_interaction_sample_interval", "1"); + deviceConfigProperties.put("action_show_voice_interaction_trace_threshold", "1000"); + DeviceConfig.setProperties( + new DeviceConfig.Properties(NAMESPACE_LATENCY_TRACKER, + deviceConfigProperties)); + mLatencyTracker.waitForMatchingActionProperties( + new ActionProperties(action, true /* enabled */, 1 /* samplingInterval */, + 1000 /* traceThreshold */)); + + mLatencyTracker.onActionStart(action); + // No sleep here to ensure that end call comes before 1000ms threshold + mLatencyTracker.onActionEnd(action); + assertThat(mLatencyTracker.getTriggeredPerfettoTraceNames()).isEmpty(); } - private List<Field> getAllActions() { - return Arrays.stream(LatencyTracker.class.getDeclaredFields()) - .filter(field -> field.getName().startsWith("ACTION_") - && Modifier.isStatic(field.getModifiers()) - && field.getType() == int.class) - .collect(Collectors.toList()); + private List<Field> getAllActionFields() { + return Arrays.stream(LatencyTracker.class.getDeclaredFields()).filter( + field -> field.getName().startsWith("ACTION_") && Modifier.isStatic( + field.getModifiers()) && field.getType() == int.class).collect( + Collectors.toList()); } private int getIntFieldChecked(Field field) { diff --git a/core/tests/coretests/src/com/android/internal/util/OWNERS b/core/tests/coretests/src/com/android/internal/util/OWNERS index d83274560315..dda11fb9a576 100644 --- a/core/tests/coretests/src/com/android/internal/util/OWNERS +++ b/core/tests/coretests/src/com/android/internal/util/OWNERS @@ -1,2 +1,3 @@ per-file *Notification* = file:/services/core/java/com/android/server/notification/OWNERS -per-file *ContrastColor* = file:/services/core/java/com/android/server/notification/OWNERS
\ No newline at end of file +per-file *ContrastColor* = file:/services/core/java/com/android/server/notification/OWNERS +per-file *LatencyTracker* = file:/core/java/com/android/internal/util/LATENCY_TRACKER_OWNERS diff --git a/core/tests/coretests/testdoubles/Android.bp b/core/tests/coretests/testdoubles/Android.bp new file mode 100644 index 000000000000..35f6911ce481 --- /dev/null +++ b/core/tests/coretests/testdoubles/Android.bp @@ -0,0 +1,19 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "frameworks_base_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + // SPDX-license-identifier-BSD + // legacy_unencumbered + default_applicable_licenses: ["frameworks_base_license"], +} + +filegroup { + name: "FrameworksCoreTestDoubles-sources", + srcs: ["src/**/*.java"], + visibility: [ + "//frameworks/base/core/tests/coretests", + "//frameworks/base/services/tests/voiceinteractiontests", + ], +} diff --git a/core/tests/coretests/testdoubles/OWNERS b/core/tests/coretests/testdoubles/OWNERS new file mode 100644 index 000000000000..baf92ec067c3 --- /dev/null +++ b/core/tests/coretests/testdoubles/OWNERS @@ -0,0 +1 @@ +per-file *LatencyTracker* = file:/core/java/com/android/internal/util/LATENCY_TRACKER_OWNERS diff --git a/core/tests/coretests/testdoubles/src/com/android/internal/util/FakeLatencyTracker.java b/core/tests/coretests/testdoubles/src/com/android/internal/util/FakeLatencyTracker.java new file mode 100644 index 000000000000..306ecdee9167 --- /dev/null +++ b/core/tests/coretests/testdoubles/src/com/android/internal/util/FakeLatencyTracker.java @@ -0,0 +1,285 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.internal.util; + +import static com.android.internal.util.LatencyTracker.ActionProperties.ENABLE_SUFFIX; +import static com.android.internal.util.LatencyTracker.ActionProperties.SAMPLE_INTERVAL_SUFFIX; +import static com.android.internal.util.LatencyTracker.ActionProperties.TRACE_THRESHOLD_SUFFIX; + +import static com.google.common.truth.Truth.assertThat; + +import android.os.ConditionVariable; +import android.provider.DeviceConfig; +import android.util.Log; +import android.util.SparseArray; + +import androidx.annotation.Nullable; + +import com.android.internal.annotations.GuardedBy; + +import com.google.common.collect.ImmutableMap; + +import java.time.Duration; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.atomic.AtomicReference; + +public final class FakeLatencyTracker extends LatencyTracker { + + private static final String TAG = "FakeLatencyTracker"; + private static final Duration FORCE_UPDATE_TIMEOUT = Duration.ofSeconds(1); + + private final Object mLock = new Object(); + @GuardedBy("mLock") + private final Map<Integer, List<FrameworkStatsLogEvent>> mLatenciesLogged; + @GuardedBy("mLock") + private final List<String> mPerfettoTraceNamesTriggered; + private final AtomicReference<SparseArray<ActionProperties>> mLastPropertiesUpdate = + new AtomicReference<>(); + @Nullable + @GuardedBy("mLock") + private Callable<Boolean> mShouldClosePropertiesUpdatedCallable = null; + private final ConditionVariable mDeviceConfigPropertiesUpdated = new ConditionVariable(); + + public static FakeLatencyTracker create() throws Exception { + Log.i(TAG, "create"); + disableForAllActions(); + FakeLatencyTracker fakeLatencyTracker = new FakeLatencyTracker(); + // always return the fake in the disabled state and let the client control the desired state + fakeLatencyTracker.waitForGlobalEnabledState(false); + fakeLatencyTracker.waitForAllPropertiesEnableState(false); + return fakeLatencyTracker; + } + + FakeLatencyTracker() { + super(); + mLatenciesLogged = new HashMap<>(); + mPerfettoTraceNamesTriggered = new ArrayList<>(); + } + + private static void disableForAllActions() throws DeviceConfig.BadConfigException { + Map<String, String> properties = new HashMap<>(); + properties.put(LatencyTracker.SETTINGS_ENABLED_KEY, "false"); + for (int action : STATSD_ACTION) { + Log.d(TAG, "disabling action=" + action + ", property=" + getNameOfAction( + action).toLowerCase(Locale.ROOT) + ENABLE_SUFFIX); + properties.put(getNameOfAction(action).toLowerCase(Locale.ROOT) + ENABLE_SUFFIX, + "false"); + } + + DeviceConfig.setProperties( + new DeviceConfig.Properties(DeviceConfig.NAMESPACE_LATENCY_TRACKER, properties)); + } + + public void forceEnabled(int action, int traceThresholdMillis) + throws Exception { + String actionName = getNameOfAction(STATSD_ACTION[action]).toLowerCase(Locale.ROOT); + String actionEnableProperty = actionName + ENABLE_SUFFIX; + String actionSampleProperty = actionName + SAMPLE_INTERVAL_SUFFIX; + String actionTraceProperty = actionName + TRACE_THRESHOLD_SUFFIX; + Log.i(TAG, "setting property=" + actionTraceProperty + ", value=" + traceThresholdMillis); + Log.i(TAG, "setting property=" + actionEnableProperty + ", value=true"); + + Map<String, String> properties = new HashMap<>(ImmutableMap.of( + actionEnableProperty, "true", + // Fake forces to sample every event + actionSampleProperty, String.valueOf(1), + actionTraceProperty, String.valueOf(traceThresholdMillis) + )); + DeviceConfig.setProperties( + new DeviceConfig.Properties(DeviceConfig.NAMESPACE_LATENCY_TRACKER, properties)); + waitForMatchingActionProperties( + new ActionProperties(action, true /* enabled */, 1 /* samplingInterval */, + traceThresholdMillis)); + } + + public List<FrameworkStatsLogEvent> getEventsWrittenToFrameworkStats(@Action int action) { + synchronized (mLock) { + Log.i(TAG, "getEventsWrittenToFrameworkStats: mLatenciesLogged=" + mLatenciesLogged); + return mLatenciesLogged.getOrDefault(action, Collections.emptyList()); + } + } + + public List<String> getTriggeredPerfettoTraceNames() { + synchronized (mLock) { + return mPerfettoTraceNamesTriggered; + } + } + + public void clearEvents() { + synchronized (mLock) { + mLatenciesLogged.clear(); + mPerfettoTraceNamesTriggered.clear(); + } + } + + @Override + public void onDeviceConfigPropertiesUpdated(SparseArray<ActionProperties> actionProperties) { + Log.d(TAG, "onDeviceConfigPropertiesUpdated: " + actionProperties); + mLastPropertiesUpdate.set(actionProperties); + synchronized (mLock) { + if (mShouldClosePropertiesUpdatedCallable != null) { + try { + boolean shouldClosePropertiesUpdated = + mShouldClosePropertiesUpdatedCallable.call(); + Log.i(TAG, "shouldClosePropertiesUpdatedCallable callable result=" + + shouldClosePropertiesUpdated); + if (shouldClosePropertiesUpdated) { + Log.i(TAG, "shouldClosePropertiesUpdatedCallable=true, opening condition"); + mShouldClosePropertiesUpdatedCallable = null; + mDeviceConfigPropertiesUpdated.open(); + } + } catch (Exception e) { + Log.e(TAG, "exception when calling callable", e); + throw new RuntimeException(e); + } + } else { + Log.i(TAG, "no conditional callable set, opening condition"); + mDeviceConfigPropertiesUpdated.open(); + } + } + } + + @Override + public void onTriggerPerfetto(String triggerName) { + synchronized (mLock) { + mPerfettoTraceNamesTriggered.add(triggerName); + } + } + + @Override + public void onLogToFrameworkStats(FrameworkStatsLogEvent event) { + synchronized (mLock) { + Log.i(TAG, "onLogToFrameworkStats: event=" + event); + List<FrameworkStatsLogEvent> eventList = mLatenciesLogged.getOrDefault(event.action, + new ArrayList<>()); + eventList.add(event); + mLatenciesLogged.put(event.action, eventList); + } + } + + public void waitForAllPropertiesEnableState(boolean enabledState) throws Exception { + Log.i(TAG, "waitForAllPropertiesEnableState: enabledState=" + enabledState); + synchronized (mLock) { + Log.i(TAG, "closing condition"); + mDeviceConfigPropertiesUpdated.close(); + // Update the callable to only close the properties updated condition when all the + // desired properties have been updated. The DeviceConfig callbacks may happen multiple + // times so testing the resulting updates is required. + mShouldClosePropertiesUpdatedCallable = () -> { + Log.i(TAG, "verifying if last properties update has all properties enable=" + + enabledState); + SparseArray<ActionProperties> newProperties = mLastPropertiesUpdate.get(); + if (newProperties != null) { + for (int i = 0; i < newProperties.size(); i++) { + if (newProperties.get(i).isEnabled() != enabledState) { + return false; + } + } + } + return true; + }; + if (mShouldClosePropertiesUpdatedCallable.call()) { + return; + } + } + Log.i(TAG, "waiting for condition"); + assertThat(mDeviceConfigPropertiesUpdated.block(FORCE_UPDATE_TIMEOUT.toMillis())).isTrue(); + } + + public void waitForMatchingActionProperties(ActionProperties actionProperties) + throws Exception { + Log.i(TAG, "waitForMatchingActionProperties: actionProperties=" + actionProperties); + synchronized (mLock) { + Log.i(TAG, "closing condition"); + mDeviceConfigPropertiesUpdated.close(); + // Update the callable to only close the properties updated condition when all the + // desired properties have been updated. The DeviceConfig callbacks may happen multiple + // times so testing the resulting updates is required. + mShouldClosePropertiesUpdatedCallable = () -> { + Log.i(TAG, "verifying if last properties update contains matching property =" + + actionProperties); + SparseArray<ActionProperties> newProperties = mLastPropertiesUpdate.get(); + if (newProperties != null) { + if (newProperties.size() > 0) { + return newProperties.get(actionProperties.getAction()).equals( + actionProperties); + } + } + return false; + }; + if (mShouldClosePropertiesUpdatedCallable.call()) { + return; + } + } + Log.i(TAG, "waiting for condition"); + assertThat(mDeviceConfigPropertiesUpdated.block(FORCE_UPDATE_TIMEOUT.toMillis())).isTrue(); + } + + public void waitForActionEnabledState(int action, boolean enabledState) throws Exception { + Log.i(TAG, "waitForActionEnabledState:" + + " action=" + action + ", enabledState=" + enabledState); + synchronized (mLock) { + Log.i(TAG, "closing condition"); + mDeviceConfigPropertiesUpdated.close(); + // Update the callable to only close the properties updated condition when all the + // desired properties have been updated. The DeviceConfig callbacks may happen multiple + // times so testing the resulting updates is required. + mShouldClosePropertiesUpdatedCallable = () -> { + Log.i(TAG, "verifying if last properties update contains action=" + action + + ", enabledState=" + enabledState); + SparseArray<ActionProperties> newProperties = mLastPropertiesUpdate.get(); + if (newProperties != null) { + if (newProperties.size() > 0) { + return newProperties.get(action).isEnabled() == enabledState; + } + } + return false; + }; + if (mShouldClosePropertiesUpdatedCallable.call()) { + return; + } + } + Log.i(TAG, "waiting for condition"); + assertThat(mDeviceConfigPropertiesUpdated.block(FORCE_UPDATE_TIMEOUT.toMillis())).isTrue(); + } + + public void waitForGlobalEnabledState(boolean enabledState) throws Exception { + Log.i(TAG, "waitForGlobalEnabledState: enabledState=" + enabledState); + synchronized (mLock) { + Log.i(TAG, "closing condition"); + mDeviceConfigPropertiesUpdated.close(); + // Update the callable to only close the properties updated condition when all the + // desired properties have been updated. The DeviceConfig callbacks may happen multiple + // times so testing the resulting updates is required. + mShouldClosePropertiesUpdatedCallable = () -> { + //noinspection deprecation + return isEnabled() == enabledState; + }; + if (mShouldClosePropertiesUpdatedCallable.call()) { + return; + } + } + Log.i(TAG, "waiting for condition"); + assertThat(mDeviceConfigPropertiesUpdated.block(FORCE_UPDATE_TIMEOUT.toMillis())).isTrue(); + } +} diff --git a/data/etc/TEST_MAPPING b/data/etc/TEST_MAPPING index 1a5db2f192cf..59277203ea71 100644 --- a/data/etc/TEST_MAPPING +++ b/data/etc/TEST_MAPPING @@ -2,10 +2,10 @@ "presubmit": [ { "file_patterns": ["(/|^)platform.xml"], - "name": "CtsPermission2TestCases", + "name": "CtsPermissionPolicyTestCases", "options": [ { - "include-filter": "android.permission2.cts.RuntimePermissionProperties" + "include-filter": "android.permissionpolicy.cts.RuntimePermissionProperties" } ] } diff --git a/keystore/java/android/security/keystore2/KeyStoreCryptoOperationUtils.java b/keystore/java/android/security/keystore2/KeyStoreCryptoOperationUtils.java index 6fa1a694eb67..372e4cb3d72e 100644 --- a/keystore/java/android/security/keystore2/KeyStoreCryptoOperationUtils.java +++ b/keystore/java/android/security/keystore2/KeyStoreCryptoOperationUtils.java @@ -40,7 +40,6 @@ import java.security.InvalidKeyException; import java.security.SecureRandom; import java.util.ArrayList; import java.util.List; -import java.util.Random; /** * Assorted utility methods for implementing crypto operations on top of KeyStore. @@ -50,7 +49,6 @@ import java.util.Random; abstract class KeyStoreCryptoOperationUtils { private static volatile SecureRandom sRng; - private static final Random sRandom = new Random(); private KeyStoreCryptoOperationUtils() {} @@ -213,7 +211,7 @@ abstract class KeyStoreCryptoOperationUtils { } else { // Keystore won't give us an operation challenge if the operation doesn't // need user authorization. So we make our own. - return sRandom.nextLong(); + return getRng().nextLong(); } } } diff --git a/libs/WindowManager/Shell/res/color/unfold_background.xml b/libs/WindowManager/Shell/res/color/unfold_background.xml new file mode 100644 index 000000000000..e33eb126012d --- /dev/null +++ b/libs/WindowManager/Shell/res/color/unfold_background.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:color="@android:color/system_neutral1_500" android:lStar="5" /> +</selector>
\ No newline at end of file diff --git a/libs/WindowManager/Shell/res/layout/letterbox_education_dialog_layout.xml b/libs/WindowManager/Shell/res/layout/letterbox_education_dialog_layout.xml index 413cfd78fd91..a993469aaccf 100644 --- a/libs/WindowManager/Shell/res/layout/letterbox_education_dialog_layout.xml +++ b/libs/WindowManager/Shell/res/layout/letterbox_education_dialog_layout.xml @@ -1,5 +1,5 @@ <!-- - ~ Copyright (C) 2022 The Android Open Source Project + ~ Copyright (C) 2023 The Android Open Source Project ~ ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may not use this file except in compliance with the License. @@ -13,7 +13,7 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> -<com.android.wm.shell.compatui.letterboxedu.LetterboxEduDialogLayout +<com.android.wm.shell.compatui.LetterboxEduDialogLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" style="@style/LetterboxDialog"> @@ -78,13 +78,13 @@ android:orientation="horizontal" android:paddingTop="48dp"> - <com.android.wm.shell.compatui.letterboxedu.LetterboxEduDialogActionLayout + <com.android.wm.shell.compatui.LetterboxEduDialogActionLayout android:layout_width="wrap_content" android:layout_height="wrap_content" app:icon="@drawable/letterbox_education_ic_reposition" app:text="@string/letterbox_education_reposition_text"/> - <com.android.wm.shell.compatui.letterboxedu.LetterboxEduDialogActionLayout + <com.android.wm.shell.compatui.LetterboxEduDialogActionLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart= @@ -118,4 +118,4 @@ </FrameLayout> -</com.android.wm.shell.compatui.letterboxedu.LetterboxEduDialogLayout> +</com.android.wm.shell.compatui.LetterboxEduDialogLayout> diff --git a/libs/WindowManager/Shell/res/values-af/strings.xml b/libs/WindowManager/Shell/res/values-af/strings.xml index 76e9fd538cf3..0897712e2037 100644 --- a/libs/WindowManager/Shell/res/values-af/strings.xml +++ b/libs/WindowManager/Shell/res/values-af/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Beweeg na regs onder"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>-instellings"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Maak borrel toe"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Moenie dat gesprek \'n borrel word nie"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Klets met borrels"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nuwe gesprekke verskyn as swerwende ikone, of borrels Tik op borrel om dit oop te maak. Sleep om dit te skuif."</string> diff --git a/libs/WindowManager/Shell/res/values-am/strings.xml b/libs/WindowManager/Shell/res/values-am/strings.xml index 969af096f571..bc58e202d80d 100644 --- a/libs/WindowManager/Shell/res/values-am/strings.xml +++ b/libs/WindowManager/Shell/res/values-am/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ታችኛውን ቀኝ ያንቀሳቅሱ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"የ<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ቅንብሮች"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"አረፋን አሰናብት"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"ውይይቶችን በአረፋ አታሳይ"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"አረፋዎችን በመጠቀም ይወያዩ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"አዲስ ውይይቶች እንደ ተንሳፋፊ አዶዎች ወይም አረፋዎች ሆነው ይታያሉ። አረፋን ለመክፈት መታ ያድርጉ። ለመውሰድ ይጎትቱት።"</string> diff --git a/libs/WindowManager/Shell/res/values-ar/strings.xml b/libs/WindowManager/Shell/res/values-ar/strings.xml index 94014bc106bc..8fe0fb909197 100644 --- a/libs/WindowManager/Shell/res/values-ar/strings.xml +++ b/libs/WindowManager/Shell/res/values-ar/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"نقل إلى أسفل اليسار"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"إعدادات <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"إغلاق فقاعة المحادثة"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"عدم عرض المحادثة كفقاعة محادثة"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"الدردشة باستخدام فقاعات المحادثات"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"تظهر المحادثات الجديدة كرموز عائمة أو كفقاعات. انقر لفتح فقاعة المحادثة، واسحبها لتحريكها."</string> diff --git a/libs/WindowManager/Shell/res/values-as/strings.xml b/libs/WindowManager/Shell/res/values-as/strings.xml index 519b5cd2e6cb..2aaf9245594d 100644 --- a/libs/WindowManager/Shell/res/values-as/strings.xml +++ b/libs/WindowManager/Shell/res/values-as/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"তলৰ সোঁফালে নিয়ক"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ছেটিং"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"বাবল অগ্ৰাহ্য কৰক"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"বাৰ্তালাপ বাবল নকৰিব"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Bubbles ব্যৱহাৰ কৰি চাট কৰক"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"নতুন বাৰ্তালাপ উপঙি থকা চিহ্নসমূহ অথবা bubbles হিচাপে প্ৰদর্শিত হয়। Bubbles খুলিবলৈ টিপক। এইটো স্থানান্তৰ কৰিবলৈ টানি নিয়ক।"</string> diff --git a/libs/WindowManager/Shell/res/values-az/strings.xml b/libs/WindowManager/Shell/res/values-az/strings.xml index 5f7db280b6f0..ad6e618c8a94 100644 --- a/libs/WindowManager/Shell/res/values-az/strings.xml +++ b/libs/WindowManager/Shell/res/values-az/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Aşağıya sağa köçürün"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ayarları"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Yumrucuğu ləğv edin"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Söhbəti yumrucuqda göstərmə"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Yumrucuqlardan istifadə edərək söhbət edin"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Yeni söhbətlər üzən nişanlar və ya yumrucuqlar kimi görünür. Yumrucuğu açmaq üçün toxunun. Hərəkət etdirmək üçün sürüşdürün."</string> diff --git a/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml b/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml index 0f54e86bc54c..1dd09f5986ae 100644 --- a/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml +++ b/libs/WindowManager/Shell/res/values-b+sr+Latn/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Premesti dole desno"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Podešavanja za <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Odbaci oblačić"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ne koristi oblačiće za konverzaciju"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Ćaskajte u oblačićima"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nove konverzacije se prikazuju kao plutajuće ikone ili oblačići. Dodirnite da biste otvorili oblačić. Prevucite da biste ga premestili."</string> diff --git a/libs/WindowManager/Shell/res/values-be/strings.xml b/libs/WindowManager/Shell/res/values-be/strings.xml index bf1113dcb066..cda6e39180fe 100644 --- a/libs/WindowManager/Shell/res/values-be/strings.xml +++ b/libs/WindowManager/Shell/res/values-be/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Перамясціць правей і ніжэй"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Налады \"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>\""</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Адхіліць апавяшчэнне"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Не паказваць размову ў выглядзе ўсплывальных апавяшчэнняў"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Усплывальныя апавяшчэнні"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Новыя размовы будуць паказвацца як рухомыя значкі ці ўсплывальныя апавяшчэнні. Націсніце, каб адкрыць усплывальнае апавяшчэнне. Перацягніце яго, каб перамясціць."</string> diff --git a/libs/WindowManager/Shell/res/values-bg/strings.xml b/libs/WindowManager/Shell/res/values-bg/strings.xml index 996280e41e53..b5d4eb195933 100644 --- a/libs/WindowManager/Shell/res/values-bg/strings.xml +++ b/libs/WindowManager/Shell/res/values-bg/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Преместване долу вдясно"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Настройки за <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Отхвърляне на балончетата"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Без балончета за разговора"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Чат с балончета"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Новите разговори се показват като плаващи икони, или балончета. Докоснете балонче, за да го отворите, или го плъзнете, за да го преместите."</string> diff --git a/libs/WindowManager/Shell/res/values-bn/strings.xml b/libs/WindowManager/Shell/res/values-bn/strings.xml index 582b9a749cbb..5c95f9e5ff23 100644 --- a/libs/WindowManager/Shell/res/values-bn/strings.xml +++ b/libs/WindowManager/Shell/res/values-bn/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"নিচে ডান দিকে সরান"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> সেটিংস"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"বাবল খারিজ করুন"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"কথোপকথন বাবল হিসেবে দেখাবে না"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"বাবল ব্যবহার করে চ্যাট করুন"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"নতুন কথোপকথন ভেসে থাকা আইকন বা বাবল হিসেবে দেখানো হয়। বাবল খুলতে ট্যাপ করুন। সেটি সরাতে ধরে টেনে আনুন।"</string> diff --git a/libs/WindowManager/Shell/res/values-bs/strings.xml b/libs/WindowManager/Shell/res/values-bs/strings.xml index 29d4ac4e88c6..f9ff29cd8a41 100644 --- a/libs/WindowManager/Shell/res/values-bs/strings.xml +++ b/libs/WindowManager/Shell/res/values-bs/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Pomjerite dolje desno"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Postavke aplikacije <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Odbaci oblačić"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nemoj prikazivati razgovor u oblačićima"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatajte koristeći oblačiće"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Novi razgovori se prikazuju kao plutajuće ikone ili oblačići. Dodirnite da otvorite oblačić. Prevucite da ga premjestite."</string> diff --git a/libs/WindowManager/Shell/res/values-ca/strings.xml b/libs/WindowManager/Shell/res/values-ca/strings.xml index a55d7b7446d2..b54e60d1d11a 100644 --- a/libs/WindowManager/Shell/res/values-ca/strings.xml +++ b/libs/WindowManager/Shell/res/values-ca/strings.xml @@ -58,7 +58,7 @@ <string name="accessibility_action_start_one_handed" msgid="5070337354072861426">"Inicia el mode d\'una mà"</string> <string name="accessibility_action_stop_one_handed" msgid="1369940261782179442">"Surt del mode d\'una mà"</string> <string name="bubbles_settings_button_description" msgid="1301286017420516912">"Configuració de les bombolles: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> - <string name="bubble_overflow_button_content_description" msgid="8160974472718594382">"Menú addicional"</string> + <string name="bubble_overflow_button_content_description" msgid="8160974472718594382">"Menú de desbordament"</string> <string name="bubble_accessibility_action_add_back" msgid="1830101076853540953">"Torna a afegir a la pila"</string> <string name="bubble_content_description_single" msgid="8495748092720065813">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> de: <xliff:g id="APP_NAME">%2$s</xliff:g>"</string> <string name="bubble_content_description_stack" msgid="8071515017164630429">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> (<xliff:g id="APP_NAME">%2$s</xliff:g>) i <xliff:g id="BUBBLE_COUNT">%3$d</xliff:g> més"</string> @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mou a baix a la dreta"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Configuració de l\'aplicació <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ignora la bombolla"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"No mostris la conversa com a bombolla"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Xateja amb bombolles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Les converses noves es mostren com a icones flotants o bombolles. Toca per obrir una bombolla. Arrossega-la per moure-la."</string> diff --git a/libs/WindowManager/Shell/res/values-cs/strings.xml b/libs/WindowManager/Shell/res/values-cs/strings.xml index 38f911dd1038..d6e4f9f973b5 100644 --- a/libs/WindowManager/Shell/res/values-cs/strings.xml +++ b/libs/WindowManager/Shell/res/values-cs/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Přesunout vpravo dolů"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Nastavení <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Zavřít bublinu"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nezobrazovat konverzaci v bublinách"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatujte pomocí bublin"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nové konverzace se zobrazují jako plovoucí ikony, neboli bubliny. Klepnutím bublinu otevřete. Přetažením ji posunete."</string> diff --git a/libs/WindowManager/Shell/res/values-da/strings.xml b/libs/WindowManager/Shell/res/values-da/strings.xml index ca151289a9d9..da8723f8742d 100644 --- a/libs/WindowManager/Shell/res/values-da/strings.xml +++ b/libs/WindowManager/Shell/res/values-da/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Flyt ned til højre"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Indstillinger for <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Afvis boble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Vis ikke samtaler i bobler"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat ved hjælp af bobler"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nye samtaler vises som svævende ikoner eller bobler. Tryk for at åbne boblen. Træk for at flytte den."</string> diff --git a/libs/WindowManager/Shell/res/values-de/strings.xml b/libs/WindowManager/Shell/res/values-de/strings.xml index 916fa85f74e7..11090e02a927 100644 --- a/libs/WindowManager/Shell/res/values-de/strings.xml +++ b/libs/WindowManager/Shell/res/values-de/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Nach unten rechts verschieben"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Einstellungen für <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Bubble schließen"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Unterhaltung nicht als Bubble anzeigen"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Bubbles zum Chatten verwenden"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Neue Unterhaltungen erscheinen als unverankerte Symbole, „Bubbles“ genannt. Wenn du eine Bubble öffnen möchtest, tippe sie an. Wenn du sie verschieben möchtest, zieh an ihr."</string> diff --git a/libs/WindowManager/Shell/res/values-el/strings.xml b/libs/WindowManager/Shell/res/values-el/strings.xml index 58d19f77c15e..1eca52ae7701 100644 --- a/libs/WindowManager/Shell/res/values-el/strings.xml +++ b/libs/WindowManager/Shell/res/values-el/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Μετακίνηση κάτω δεξιά"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Ρυθμίσεις <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Παράβλ. για συννεφ."</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Να μην γίνει προβολή της συζήτησης σε συννεφάκια."</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Συζητήστε χρησιμοποιώντας συννεφάκια."</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Οι νέες συζητήσεις εμφανίζονται ως κινούμενα εικονίδια ή συννεφάκια. Πατήστε για να ανοίξετε το συννεφάκι. Σύρετε για να το μετακινήσετε."</string> diff --git a/libs/WindowManager/Shell/res/values-en-rAU/strings.xml b/libs/WindowManager/Shell/res/values-en-rAU/strings.xml index d5da5c6b067d..8493434f87af 100644 --- a/libs/WindowManager/Shell/res/values-en-rAU/strings.xml +++ b/libs/WindowManager/Shell/res/values-en-rAU/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Move bottom right"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> settings"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dismiss bubble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Don’t bubble conversation"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat using bubbles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"New conversations appear as floating icons, or bubbles. Tap to open bubble. Drag to move it."</string> diff --git a/libs/WindowManager/Shell/res/values-en-rCA/strings.xml b/libs/WindowManager/Shell/res/values-en-rCA/strings.xml index c1f1549a7630..e9c78fc26f07 100644 --- a/libs/WindowManager/Shell/res/values-en-rCA/strings.xml +++ b/libs/WindowManager/Shell/res/values-en-rCA/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Move bottom right"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> settings"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dismiss bubble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Don’t bubble conversation"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat using bubbles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"New conversations appear as floating icons, or bubbles. Tap to open bubble. Drag to move it."</string> diff --git a/libs/WindowManager/Shell/res/values-en-rGB/strings.xml b/libs/WindowManager/Shell/res/values-en-rGB/strings.xml index d5da5c6b067d..8493434f87af 100644 --- a/libs/WindowManager/Shell/res/values-en-rGB/strings.xml +++ b/libs/WindowManager/Shell/res/values-en-rGB/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Move bottom right"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> settings"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dismiss bubble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Don’t bubble conversation"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat using bubbles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"New conversations appear as floating icons, or bubbles. Tap to open bubble. Drag to move it."</string> diff --git a/libs/WindowManager/Shell/res/values-en-rIN/strings.xml b/libs/WindowManager/Shell/res/values-en-rIN/strings.xml index d5da5c6b067d..8493434f87af 100644 --- a/libs/WindowManager/Shell/res/values-en-rIN/strings.xml +++ b/libs/WindowManager/Shell/res/values-en-rIN/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Move bottom right"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> settings"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dismiss bubble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Don’t bubble conversation"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat using bubbles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"New conversations appear as floating icons, or bubbles. Tap to open bubble. Drag to move it."</string> diff --git a/libs/WindowManager/Shell/res/values-en-rXC/strings.xml b/libs/WindowManager/Shell/res/values-en-rXC/strings.xml index 5968df5d9035..466a2bf885ba 100644 --- a/libs/WindowManager/Shell/res/values-en-rXC/strings.xml +++ b/libs/WindowManager/Shell/res/values-en-rXC/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Move bottom right"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> settings"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dismiss bubble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Don’t bubble conversation"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat using bubbles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"New conversations appear as floating icons, or bubbles. Tap to open bubble. Drag to move it."</string> diff --git a/libs/WindowManager/Shell/res/values-es-rUS/strings.xml b/libs/WindowManager/Shell/res/values-es-rUS/strings.xml index e9b052242ba6..b0175913a442 100644 --- a/libs/WindowManager/Shell/res/values-es-rUS/strings.xml +++ b/libs/WindowManager/Shell/res/values-es-rUS/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Ubicar abajo a la derecha"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Configuración de <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Descartar burbuja"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"No mostrar la conversación en burbuja"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat con burbujas"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Las conversaciones nuevas aparecen como elementos flotantes o burbujas. Presiona para abrir la burbuja. Arrástrala para moverla."</string> diff --git a/libs/WindowManager/Shell/res/values-es/strings.xml b/libs/WindowManager/Shell/res/values-es/strings.xml index 2c32e710e8ff..986a2c856cd1 100644 --- a/libs/WindowManager/Shell/res/values-es/strings.xml +++ b/libs/WindowManager/Shell/res/values-es/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mover abajo a la derecha"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Ajustes de <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Cerrar burbuja"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"No mostrar conversación en burbuja"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatea con burbujas"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Las conversaciones nuevas aparecen como iconos flotantes llamados \"burbujas\". Toca una burbuja para abrirla. Arrástrala para moverla."</string> diff --git a/libs/WindowManager/Shell/res/values-et/strings.xml b/libs/WindowManager/Shell/res/values-et/strings.xml index 6ba77c3ac0e2..b84c4f2ae8cb 100644 --- a/libs/WindowManager/Shell/res/values-et/strings.xml +++ b/libs/WindowManager/Shell/res/values-et/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Teisalda alla paremale"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Rakenduse <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> seaded"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Sule mull"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ära kuva vestlust mullina"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Vestelge mullide abil"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Uued vestlused kuvatakse hõljuvate ikoonidena ehk mullidena. Puudutage mulli avamiseks. Lohistage mulli, et seda liigutada."</string> diff --git a/libs/WindowManager/Shell/res/values-eu/strings.xml b/libs/WindowManager/Shell/res/values-eu/strings.xml index ef11e4703d3d..a2972193d5a3 100644 --- a/libs/WindowManager/Shell/res/values-eu/strings.xml +++ b/libs/WindowManager/Shell/res/values-eu/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Eraman behealdera, eskuinetara"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> aplikazioaren ezarpenak"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Baztertu burbuila"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ez erakutsi elkarrizketak burbuila gisa"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Txateatu burbuilen bidez"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Elkarrizketa berriak ikono gainerakor edo burbuila gisa agertzen dira. Sakatu burbuila irekitzeko. Arrasta ezazu mugitzeko."</string> diff --git a/libs/WindowManager/Shell/res/values-fa/strings.xml b/libs/WindowManager/Shell/res/values-fa/strings.xml index b0cfd32d2515..b379428861e3 100644 --- a/libs/WindowManager/Shell/res/values-fa/strings.xml +++ b/libs/WindowManager/Shell/res/values-fa/strings.xml @@ -58,7 +58,7 @@ <string name="accessibility_action_start_one_handed" msgid="5070337354072861426">"آغاز «حالت یکدستی»"</string> <string name="accessibility_action_stop_one_handed" msgid="1369940261782179442">"خروج از «حالت یکدستی»"</string> <string name="bubbles_settings_button_description" msgid="1301286017420516912">"تنظیمات برای حبابکهای <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> - <string name="bubble_overflow_button_content_description" msgid="8160974472718594382">"لبریزشده"</string> + <string name="bubble_overflow_button_content_description" msgid="8160974472718594382">"سرریز"</string> <string name="bubble_accessibility_action_add_back" msgid="1830101076853540953">"افزودن برگشت به پشته"</string> <string name="bubble_content_description_single" msgid="8495748092720065813">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> از <xliff:g id="APP_NAME">%2$s</xliff:g>"</string> <string name="bubble_content_description_stack" msgid="8071515017164630429">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> از <xliff:g id="APP_NAME">%2$s</xliff:g> و <xliff:g id="BUBBLE_COUNT">%3$d</xliff:g> مورد بیشتر"</string> @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"انتقال به پایین سمت چپ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"تنظیمات <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"رد کردن حبابک"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"مکالمه در حباب نشان داده نشود"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"گپ بااستفاده از حبابکها"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"مکالمههای جدید بهصورت نمادهای شناور یا حبابکها نشان داده میشوند. برای باز کردن حبابکها ضربه بزنید. برای جابهجایی، آن را بکشید."</string> diff --git a/libs/WindowManager/Shell/res/values-fi/strings.xml b/libs/WindowManager/Shell/res/values-fi/strings.xml index 90a196bcd46e..14b35566c938 100644 --- a/libs/WindowManager/Shell/res/values-fi/strings.xml +++ b/libs/WindowManager/Shell/res/values-fi/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Siirrä oikeaan alareunaan"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>: asetukset"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ohita kupla"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Älä näytä kuplia keskusteluista"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chattaile kuplien avulla"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Uudet keskustelut näkyvät kelluvina kuvakkeina tai kuplina. Avaa kupla napauttamalla. Siirrä sitä vetämällä."</string> diff --git a/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml b/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml index bc82f5123585..df3e345310f0 100644 --- a/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml +++ b/libs/WindowManager/Shell/res/values-fr-rCA/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Déplacer dans coin inf. droit"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Paramètres <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ignorer la bulle"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ne pas afficher les conversations dans des bulles"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Clavarder en utilisant des bulles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Les nouvelles conversations s\'affichent sous forme d\'icônes flottantes (de bulles). Touchez une bulle pour l\'ouvrir. Faites-la glisser pour la déplacer."</string> diff --git a/libs/WindowManager/Shell/res/values-fr/strings.xml b/libs/WindowManager/Shell/res/values-fr/strings.xml index 61b7fad839ab..7e3eae0fb41a 100644 --- a/libs/WindowManager/Shell/res/values-fr/strings.xml +++ b/libs/WindowManager/Shell/res/values-fr/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Déplacer en bas à droite"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Paramètres <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Fermer la bulle"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ne pas afficher la conversation dans une bulle"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatter en utilisant des bulles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Les nouvelles conversations s\'affichent sous forme d\'icônes flottantes ou de bulles. Appuyez sur la bulle pour l\'ouvrir. Faites-la glisser pour la déplacer."</string> diff --git a/libs/WindowManager/Shell/res/values-gl/strings.xml b/libs/WindowManager/Shell/res/values-gl/strings.xml index 482519897401..a63930d2f10b 100644 --- a/libs/WindowManager/Shell/res/values-gl/strings.xml +++ b/libs/WindowManager/Shell/res/values-gl/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mover á parte inferior dereita"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Configuración de <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ignorar burbulla"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Non mostrar a conversa como burbulla"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatear usando burbullas"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"As conversas novas aparecen como iconas flotantes ou burbullas. Toca para abrir a burbulla e arrastra para movela."</string> diff --git a/libs/WindowManager/Shell/res/values-gu/strings.xml b/libs/WindowManager/Shell/res/values-gu/strings.xml index c1eedf8dbf7d..f3a31620f696 100644 --- a/libs/WindowManager/Shell/res/values-gu/strings.xml +++ b/libs/WindowManager/Shell/res/values-gu/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"નીચે જમણે ખસેડો"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> સેટિંગ"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"બબલને છોડી દો"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"વાતચીતને બબલ કરશો નહીં"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"બબલનો ઉપયોગ કરીને ચૅટ કરો"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"નવી વાતચીત ફ્લોટિંગ આઇકન અથવા બબલ જેવી દેખાશે. બબલને ખોલવા માટે ટૅપ કરો. તેને ખસેડવા માટે ખેંચો."</string> diff --git a/libs/WindowManager/Shell/res/values-hi/strings.xml b/libs/WindowManager/Shell/res/values-hi/strings.xml index a12a779c78a1..134fb9712098 100644 --- a/libs/WindowManager/Shell/res/values-hi/strings.xml +++ b/libs/WindowManager/Shell/res/values-hi/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"सबसे नीचे दाईं ओर ले जाएं"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> की सेटिंग"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"बबल खारिज करें"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"बातचीत को बबल न करें"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"बबल्स का इस्तेमाल करके चैट करें"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"नई बातचीत फ़्लोटिंग आइकॉन या बबल्स की तरह दिखेंगी. बबल को खोलने के लिए टैप करें. इसे एक जगह से दूसरी जगह ले जाने के लिए खींचें और छोड़ें."</string> diff --git a/libs/WindowManager/Shell/res/values-hr/strings.xml b/libs/WindowManager/Shell/res/values-hr/strings.xml index 3ce055e0b879..f0a8deebccf4 100644 --- a/libs/WindowManager/Shell/res/values-hr/strings.xml +++ b/libs/WindowManager/Shell/res/values-hr/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Premjestite u donji desni kut"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Postavke za <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Odbaci oblačić"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Zaustavi razgovor u oblačićima"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Oblačići u chatu"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Novi razgovori pojavljuju se kao pomične ikone ili oblačići. Dodirnite za otvaranje oblačića. Povucite da biste ga premjestili."</string> diff --git a/libs/WindowManager/Shell/res/values-hu/strings.xml b/libs/WindowManager/Shell/res/values-hu/strings.xml index dc916610d3fc..ea43370d7581 100644 --- a/libs/WindowManager/Shell/res/values-hu/strings.xml +++ b/libs/WindowManager/Shell/res/values-hu/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Áthelyezés le és jobbra"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> beállításai"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Buborék elvetése"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ne jelenjen meg a beszélgetés buborékban"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Buborékokat használó csevegés"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Az új beszélgetések lebegő ikonként, vagyis buborékként jelennek meg. A buborék megnyitásához koppintson rá. Áthelyezéshez húzza a kívánt helyre."</string> diff --git a/libs/WindowManager/Shell/res/values-hy/strings.xml b/libs/WindowManager/Shell/res/values-hy/strings.xml index 5c58634181f5..4ea668c93f98 100644 --- a/libs/WindowManager/Shell/res/values-hy/strings.xml +++ b/libs/WindowManager/Shell/res/values-hy/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Տեղափոխել ներքև՝ աջ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> – կարգավորումներ"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Փակել ամպիկը"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Զրույցը չցուցադրել ամպիկի տեսքով"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Զրույցի ամպիկներ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Նոր զրույցները կհայտնվեն լողացող պատկերակների կամ ամպիկների տեսքով։ Հպեք՝ ամպիկը բացելու համար։ Քաշեք՝ այն տեղափոխելու համար։"</string> diff --git a/libs/WindowManager/Shell/res/values-in/strings.xml b/libs/WindowManager/Shell/res/values-in/strings.xml index c863c7099c29..df2f2df6df19 100644 --- a/libs/WindowManager/Shell/res/values-in/strings.xml +++ b/libs/WindowManager/Shell/res/values-in/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Pindahkan ke kanan bawah"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Setelan <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Tutup balon"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Jangan gunakan percakapan balon"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat dalam tampilan balon"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Percakapan baru muncul sebagai ikon mengambang, atau balon. Ketuk untuk membuka balon. Tarik untuk memindahkannya."</string> diff --git a/libs/WindowManager/Shell/res/values-is/strings.xml b/libs/WindowManager/Shell/res/values-is/strings.xml index 9f1936ccbd37..a6301b3ce0ed 100644 --- a/libs/WindowManager/Shell/res/values-is/strings.xml +++ b/libs/WindowManager/Shell/res/values-is/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Færðu neðst til hægri"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Stillingar <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Loka blöðru"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ekki setja samtal í blöðru"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Spjalla með blöðrum"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Ný samtöl birtast sem fljótandi tákn eða blöðrur. Ýttu til að opna blöðru. Dragðu hana til að færa."</string> diff --git a/libs/WindowManager/Shell/res/values-it/strings.xml b/libs/WindowManager/Shell/res/values-it/strings.xml index 2a955d58a76f..37551161f8d8 100644 --- a/libs/WindowManager/Shell/res/values-it/strings.xml +++ b/libs/WindowManager/Shell/res/values-it/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Sposta in basso a destra"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Impostazioni <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ignora bolla"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Non mettere la conversazione nella bolla"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatta utilizzando le bolle"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Le nuove conversazioni vengono mostrate come icone mobili o bolle. Tocca per aprire la bolla. Trascinala per spostarla."</string> diff --git a/libs/WindowManager/Shell/res/values-iw/strings.xml b/libs/WindowManager/Shell/res/values-iw/strings.xml index b1e71514bd60..b9259703daa5 100644 --- a/libs/WindowManager/Shell/res/values-iw/strings.xml +++ b/libs/WindowManager/Shell/res/values-iw/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"העברה לפינה הימנית התחתונה"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"הגדרות <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"סגירת בועה"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"אין להציג בועות לשיחה"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"לדבר בבועות"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"שיחות חדשות מופיעות כסמלים צפים, או בועות. יש להקיש כדי לפתוח בועה. יש לגרור כדי להזיז אותה."</string> diff --git a/libs/WindowManager/Shell/res/values-ja/strings.xml b/libs/WindowManager/Shell/res/values-ja/strings.xml index a765d8c28c6c..b7c30a387eed 100644 --- a/libs/WindowManager/Shell/res/values-ja/strings.xml +++ b/libs/WindowManager/Shell/res/values-ja/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"右下に移動"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> の設定"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"バブルを閉じる"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"会話をバブルで表示しない"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"チャットでバブルを使う"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"新しい会話はフローティング アイコン(バブル)として表示されます。タップするとバブルが開きます。ドラッグしてバブルを移動できます。"</string> diff --git a/libs/WindowManager/Shell/res/values-ka/strings.xml b/libs/WindowManager/Shell/res/values-ka/strings.xml index 51f05225dd53..e1d1de4aad99 100644 --- a/libs/WindowManager/Shell/res/values-ka/strings.xml +++ b/libs/WindowManager/Shell/res/values-ka/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"გადაანაცვ. ქვემოთ და მარჯვნივ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>-ის პარამეტრები"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ბუშტის დახურვა"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"აიკრძალოს საუბრის ბუშტები"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ჩეთი ბუშტების გამოყენებით"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"ახალი საუბრები გამოჩნდება როგორც მოტივტივე ხატულები ან ბუშტები. შეეხეთ ბუშტის გასახსნელად. გადაიტანეთ ჩავლებით."</string> diff --git a/libs/WindowManager/Shell/res/values-kk/strings.xml b/libs/WindowManager/Shell/res/values-kk/strings.xml index 4fe2604ca230..de952add248a 100644 --- a/libs/WindowManager/Shell/res/values-kk/strings.xml +++ b/libs/WindowManager/Shell/res/values-kk/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Төменгі оң жаққа жылжыту"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> параметрлері"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Қалқымалы хабарды жабу"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Әңгіменің қалқыма хабары көрсетілмесін"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Қалқыма хабарлар арқылы сөйлесу"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Жаңа әңгімелер қалқыма белгішелер немесе хабарлар түрінде көрсетіледі. Қалқыма хабарды ашу үшін түртіңіз. Жылжыту үшін сүйреңіз."</string> diff --git a/libs/WindowManager/Shell/res/values-km/strings.xml b/libs/WindowManager/Shell/res/values-km/strings.xml index f590055da0ad..762f3a84ad5b 100644 --- a/libs/WindowManager/Shell/res/values-km/strings.xml +++ b/libs/WindowManager/Shell/res/values-km/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ផ្លាស់ទីទៅផ្នែកខាងក្រោមខាងស្ដាំ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"ការកំណត់ <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ច្រានចោលពពុះ"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"កុំបង្ហាញការសន្ទនាជាពពុះ"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ជជែកដោយប្រើពពុះ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"ការសន្ទនាថ្មីៗបង្ហាញជាពពុះ ឬរូបអណ្ដែត។ ចុច ដើម្បីបើកពពុះ។ អូស ដើម្បីផ្លាស់ទីពពុះនេះ។"</string> diff --git a/libs/WindowManager/Shell/res/values-kn/strings.xml b/libs/WindowManager/Shell/res/values-kn/strings.xml index 22030eb3dab6..f9582ffbc39c 100644 --- a/libs/WindowManager/Shell/res/values-kn/strings.xml +++ b/libs/WindowManager/Shell/res/values-kn/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ಕೆಳಗಿನ ಬಲಭಾಗಕ್ಕೆ ಸರಿಸಿ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ಸೆಟ್ಟಿಂಗ್ಗಳು"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ಬಬಲ್ ವಜಾಗೊಳಿಸಿ"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"ಸಂಭಾಷಣೆಯನ್ನು ಬಬಲ್ ಮಾಡಬೇಡಿ"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ಬಬಲ್ಸ್ ಬಳಸಿ ಚಾಟ್ ಮಾಡಿ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"ಹೊಸ ಸಂಭಾಷಣೆಗಳು ತೇಲುವ ಐಕಾನ್ಗಳು ಅಥವಾ ಬಬಲ್ಸ್ ಆಗಿ ಗೋಚರಿಸುತ್ತವೆ. ಬಬಲ್ ತೆರೆಯಲು ಟ್ಯಾಪ್ ಮಾಡಿ. ಅದನ್ನು ಡ್ರ್ಯಾಗ್ ಮಾಡಲು ಎಳೆಯಿರಿ."</string> diff --git a/libs/WindowManager/Shell/res/values-ko/strings.xml b/libs/WindowManager/Shell/res/values-ko/strings.xml index 4f4d0c5f5edf..2b30aabab88f 100644 --- a/libs/WindowManager/Shell/res/values-ko/strings.xml +++ b/libs/WindowManager/Shell/res/values-ko/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"오른쪽 하단으로 이동"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> 설정"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"대화창 닫기"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"대화를 대화창으로 표시하지 않기"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"대화창으로 채팅하기"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"새로운 대화가 플로팅 아이콘인 대화창으로 표시됩니다. 대화창을 열려면 탭하세요. 드래그하여 이동할 수 있습니다."</string> diff --git a/libs/WindowManager/Shell/res/values-ky/strings.xml b/libs/WindowManager/Shell/res/values-ky/strings.xml index 4305e9051ebc..27b89b7e869f 100644 --- a/libs/WindowManager/Shell/res/values-ky/strings.xml +++ b/libs/WindowManager/Shell/res/values-ky/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Төмөнкү оң жакка жылдыруу"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> параметрлери"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Калкып чыкма билдирмени жабуу"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Жазышууда калкып чыкма билдирмелер көрүнбөсүн"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Калкып чыкма билдирмелер аркылуу маектешүү"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Жаңы жазышуулар калкыма сүрөтчөлөр же калкып чыкма билдирмелер түрүндө көрүнөт. Калкып чыкма билдирмелерди ачуу үчүн таптап коюңуз. Жылдыруу үчүн сүйрөңүз."</string> diff --git a/libs/WindowManager/Shell/res/values-lo/strings.xml b/libs/WindowManager/Shell/res/values-lo/strings.xml index 1926b33f9169..6aae84c3df2b 100644 --- a/libs/WindowManager/Shell/res/values-lo/strings.xml +++ b/libs/WindowManager/Shell/res/values-lo/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ຍ້າຍຂວາລຸ່ມ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"ການຕັ້ງຄ່າ <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ປິດຟອງໄວ້"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"ຢ່າໃຊ້ຟອງໃນການສົນທະນາ"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ສົນທະນາໂດຍໃຊ້ຟອງ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"ການສົນທະນາໃໝ່ຈະປາກົດເປັນໄອຄອນ ຫຼື ຟອງແບບລອຍ. ແຕະເພື່ອເປີດຟອງ. ລາກເພື່ອຍ້າຍມັນ."</string> diff --git a/libs/WindowManager/Shell/res/values-lt/strings.xml b/libs/WindowManager/Shell/res/values-lt/strings.xml index d3dc1b0cab41..3f2a17be4971 100644 --- a/libs/WindowManager/Shell/res/values-lt/strings.xml +++ b/libs/WindowManager/Shell/res/values-lt/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Perkelti į apačią dešinėje"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"„<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>“ nustatymai"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Atsisakyti burbulo"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nerodyti pokalbio burbule"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Pokalbis naudojant burbulus"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nauji pokalbiai rodomi kaip slankiosios piktogramos arba burbulai. Palieskite, kad atidarytumėte burbulą. Vilkite, kad perkeltumėte."</string> diff --git a/libs/WindowManager/Shell/res/values-lv/strings.xml b/libs/WindowManager/Shell/res/values-lv/strings.xml index 74ec371b481f..ae85c1f6b492 100644 --- a/libs/WindowManager/Shell/res/values-lv/strings.xml +++ b/libs/WindowManager/Shell/res/values-lv/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Pārvietot apakšpusē pa labi"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Lietotnes <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> iestatījumi"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Nerādīt burbuli"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nerādīt sarunu burbuļos"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Tērzēšana, izmantojot burbuļus"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Jaunas sarunas tiek rādītas kā peldošas ikonas vai burbuļi. Pieskarieties, lai atvērtu burbuli. Velciet, lai to pārvietotu."</string> diff --git a/libs/WindowManager/Shell/res/values-mk/strings.xml b/libs/WindowManager/Shell/res/values-mk/strings.xml index a809aa7d030f..133eedb16b64 100644 --- a/libs/WindowManager/Shell/res/values-mk/strings.xml +++ b/libs/WindowManager/Shell/res/values-mk/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Премести долу десно"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Поставки за <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Отфрли балонче"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Не прикажувај го разговорот во балончиња"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Разговор во балончиња"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Новите разговори ќе се појавуваат како лебдечки икони или балончиња. Допрете за отворање на балончето. Повлечете за да го преместите."</string> diff --git a/libs/WindowManager/Shell/res/values-ml/strings.xml b/libs/WindowManager/Shell/res/values-ml/strings.xml index ffa73b09f06e..c38609edaed8 100644 --- a/libs/WindowManager/Shell/res/values-ml/strings.xml +++ b/libs/WindowManager/Shell/res/values-ml/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ചുവടെ വലതുഭാഗത്തേക്ക് നീക്കുക"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ക്രമീകരണം"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ബബിൾ ഡിസ്മിസ് ചെയ്യൂ"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"സംഭാഷണം ബബിൾ ചെയ്യരുത്"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ബബിളുകൾ ഉപയോഗിച്ച് ചാറ്റ് ചെയ്യുക"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"പുതിയ സംഭാഷണങ്ങൾ ഫ്ലോട്ടിംഗ് ഐക്കണുകളോ ബബിളുകളോ ആയി ദൃശ്യമാവുന്നു. ബബിൾ തുറക്കാൻ ടാപ്പ് ചെയ്യൂ. ഇത് നീക്കാൻ വലിച്ചിടുക."</string> diff --git a/libs/WindowManager/Shell/res/values-mn/strings.xml b/libs/WindowManager/Shell/res/values-mn/strings.xml index 8b15bf90758c..e0b414100b9d 100644 --- a/libs/WindowManager/Shell/res/values-mn/strings.xml +++ b/libs/WindowManager/Shell/res/values-mn/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Баруун доош зөөх"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>-н тохиргоо"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Бөмбөлгийг хаах"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Харилцан яриаг бүү бөмбөлөг болго"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Бөмбөлөг ашиглан чатлаарай"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Шинэ харилцан яриа нь хөвөгч дүрс тэмдэг эсвэл бөмбөлөг хэлбэрээр харагддаг. Бөмбөлгийг нээхийн тулд товшино уу. Түүнийг зөөхийн тулд чирнэ үү."</string> diff --git a/libs/WindowManager/Shell/res/values-mr/strings.xml b/libs/WindowManager/Shell/res/values-mr/strings.xml index 3e30871a96fe..f85fe1b06328 100644 --- a/libs/WindowManager/Shell/res/values-mr/strings.xml +++ b/libs/WindowManager/Shell/res/values-mr/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"तळाशी उजवीकडे हलवा"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> सेटिंग्ज"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"बबल डिसमिस करा"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"संभाषणाला बबल करू नका"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"बबल वापरून चॅट करा"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"नवीन संभाषणे फ्लोटिंग आयकन किंवा बबल म्हणून दिसतात. बबल उघडण्यासाठी टॅप करा. हे हलवण्यासाठी ड्रॅग करा."</string> diff --git a/libs/WindowManager/Shell/res/values-ms/strings.xml b/libs/WindowManager/Shell/res/values-ms/strings.xml index 259930c6a3f6..6f225998a319 100644 --- a/libs/WindowManager/Shell/res/values-ms/strings.xml +++ b/libs/WindowManager/Shell/res/values-ms/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Alihkan ke bawah sebelah kanan"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Tetapan <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ketepikan gelembung"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Jangan jadikan perbualan dalam bentuk gelembung"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Bersembang menggunakan gelembung"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Perbualan baharu muncul sebagai ikon terapung atau gelembung. Ketik untuk membuka gelembung. Seret untuk mengalihkan gelembung tersebut."</string> diff --git a/libs/WindowManager/Shell/res/values-my/strings.xml b/libs/WindowManager/Shell/res/values-my/strings.xml index 5e5f79ab6b6c..5a88cd098489 100644 --- a/libs/WindowManager/Shell/res/values-my/strings.xml +++ b/libs/WindowManager/Shell/res/values-my/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ညာအောက်ခြေသို့ ရွှေ့ပါ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ဆက်တင်များ"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ပူဖောင်းကွက် ပယ်ရန်"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"စကားဝိုင်းကို ပူဖောင်းကွက် မပြုလုပ်ပါနှင့်"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ပူဖောင်းကွက် သုံး၍ ချတ်လုပ်ခြင်း"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"စကားဝိုင်းအသစ်များကို မျောနေသည့် သင်္ကေတများ သို့မဟုတ် ပူဖောင်းကွက်များအဖြစ် မြင်ရပါမည်။ ပူဖောင်းကွက်ကိုဖွင့်ရန် တို့ပါ။ ရွှေ့ရန် ၎င်းကို ဖိဆွဲပါ။"</string> diff --git a/libs/WindowManager/Shell/res/values-nb/strings.xml b/libs/WindowManager/Shell/res/values-nb/strings.xml index 2c53a7c59299..da5f4ca394b1 100644 --- a/libs/WindowManager/Shell/res/values-nb/strings.xml +++ b/libs/WindowManager/Shell/res/values-nb/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Flytt til nederst til høyre"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>-innstillinger"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Lukk boblen"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ikke vis samtaler i bobler"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat med bobler"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nye samtaler vises som flytende ikoner eller bobler. Trykk for å åpne en boble. Dra for å flytte den."</string> diff --git a/libs/WindowManager/Shell/res/values-ne/strings.xml b/libs/WindowManager/Shell/res/values-ne/strings.xml index 38dbd15cd3f2..6b164e96de78 100644 --- a/libs/WindowManager/Shell/res/values-ne/strings.xml +++ b/libs/WindowManager/Shell/res/values-ne/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"पुछारमा दायाँतिर सार्नुहोस्"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> का सेटिङहरू"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"बबल खारेज गर्नुहोस्"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"वार्तालाप बबलको रूपमा नदेखाइयोस्"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"बबलहरू प्रयोग गरी कुराकानी गर्नुहोस्"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"नयाँ वार्तालापहरू तैरने आइकन वा बबलका रूपमा देखिन्छन्। बबल खोल्न ट्याप गर्नुहोस्। बबल सार्न सो बबललाई ड्र्याग गर्नुहोस्।"</string> diff --git a/libs/WindowManager/Shell/res/values-nl/strings.xml b/libs/WindowManager/Shell/res/values-nl/strings.xml index 9cb7ddcf5284..2d02ed5f8f20 100644 --- a/libs/WindowManager/Shell/res/values-nl/strings.xml +++ b/libs/WindowManager/Shell/res/values-nl/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Naar rechtsonder verplaatsen"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Instellingen voor <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Bubbel sluiten"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Gesprekken niet in bubbels tonen"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatten met bubbels"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nieuwe gesprekken worden als zwevende iconen of bubbels getoond. Tik om een bubbel te openen. Sleep om een bubbel te verplaatsen."</string> diff --git a/libs/WindowManager/Shell/res/values-or/strings.xml b/libs/WindowManager/Shell/res/values-or/strings.xml index c3bed0a0535c..64002834b233 100644 --- a/libs/WindowManager/Shell/res/values-or/strings.xml +++ b/libs/WindowManager/Shell/res/values-or/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ତଳ ଡାହାଣକୁ ନିଅନ୍ତୁ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ସେଟିଂସ୍"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ବବଲ୍ ଖାରଜ କରନ୍ତୁ"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"ବାର୍ତ୍ତାଳାପକୁ ବବଲ୍ କରନ୍ତୁ ନାହିଁ"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ବବଲଗୁଡ଼ିକୁ ବ୍ୟବହାର କରି ଚାଟ୍ କରନ୍ତୁ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"ନୂଆ ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ଫ୍ଲୋଟିଂ ଆଇକନ୍ କିମ୍ବା ବବଲ୍ ଭାବେ ଦେଖାଯିବ। ବବଲ୍ ଖୋଲିବାକୁ ଟାପ୍ କରନ୍ତୁ। ଏହାକୁ ମୁଭ୍ କରିବାକୁ ଟାଣନ୍ତୁ।"</string> diff --git a/libs/WindowManager/Shell/res/values-pa/strings.xml b/libs/WindowManager/Shell/res/values-pa/strings.xml index 5a1611d830b4..d39fe95fdc50 100644 --- a/libs/WindowManager/Shell/res/values-pa/strings.xml +++ b/libs/WindowManager/Shell/res/values-pa/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ਹੇਠਾਂ ਵੱਲ ਸੱਜੇ ਲਿਜਾਓ"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ਸੈਟਿੰਗਾਂ"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ਬਬਲ ਨੂੰ ਖਾਰਜ ਕਰੋ"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"ਗੱਲਬਾਤ \'ਤੇ ਬਬਲ ਨਾ ਲਾਓ"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"ਬਬਲ ਵਰਤਦੇ ਹੋਏ ਚੈਟ ਕਰੋ"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"ਨਵੀਆਂ ਗੱਲਾਂਬਾਤਾਂ ਫਲੋਟਿੰਗ ਪ੍ਰਤੀਕਾਂ ਜਾਂ ਬਬਲ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿਸਦੀਆਂ ਹਨ। ਬਬਲ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਟੈਪ ਕਰੋ। ਇਸਨੂੰ ਲਿਜਾਣ ਲਈ ਘਸੀਟੋ।"</string> diff --git a/libs/WindowManager/Shell/res/values-pl/strings.xml b/libs/WindowManager/Shell/res/values-pl/strings.xml index 9f92538a5cb1..680bd5dd47f6 100644 --- a/libs/WindowManager/Shell/res/values-pl/strings.xml +++ b/libs/WindowManager/Shell/res/values-pl/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Przenieś w prawy dolny róg"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> – ustawienia"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Zamknij dymek"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nie wyświetlaj rozmowy jako dymka"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Czatuj, korzystając z dymków"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nowe rozmowy będą wyświetlane jako pływające ikony lub dymki. Kliknij, by otworzyć dymek. Przeciągnij, by go przenieść."</string> diff --git a/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml b/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml index a46493c829a9..c30b6f158bd2 100644 --- a/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml +++ b/libs/WindowManager/Shell/res/values-pt-rBR/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mover para canto inferior direito"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Configurações de <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dispensar balão"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Não criar balões de conversa"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Converse usando balões"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Novas conversas aparecerão como ícones flutuantes, ou balões. Toque para abrir o balão. Arraste para movê-lo."</string> diff --git a/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml b/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml index 7413a5b61d9a..00f4aa0d4b63 100644 --- a/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml +++ b/libs/WindowManager/Shell/res/values-pt-rPT/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mover parte inferior direita"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Definições de <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ignorar balão"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Não apresentar a conversa em balões"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Converse no chat através de balões"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"As novas conversas aparecem como ícones flutuantes ou balões. Toque para abrir o balão. Arraste para o mover."</string> diff --git a/libs/WindowManager/Shell/res/values-pt/strings.xml b/libs/WindowManager/Shell/res/values-pt/strings.xml index a46493c829a9..c30b6f158bd2 100644 --- a/libs/WindowManager/Shell/res/values-pt/strings.xml +++ b/libs/WindowManager/Shell/res/values-pt/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mover para canto inferior direito"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Configurações de <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Dispensar balão"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Não criar balões de conversa"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Converse usando balões"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Novas conversas aparecerão como ícones flutuantes, ou balões. Toque para abrir o balão. Arraste para movê-lo."</string> diff --git a/libs/WindowManager/Shell/res/values-ro/strings.xml b/libs/WindowManager/Shell/res/values-ro/strings.xml index 0d30257600a1..4cfb1fa953dd 100644 --- a/libs/WindowManager/Shell/res/values-ro/strings.xml +++ b/libs/WindowManager/Shell/res/values-ro/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Mută în dreapta jos"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Setări <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Închide balonul"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nu afișa conversația în balon"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chat cu baloane"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Conversațiile noi apar ca pictograme flotante sau baloane. Atinge pentru a deschide balonul. Trage pentru a-l muta."</string> diff --git a/libs/WindowManager/Shell/res/values-ru/strings.xml b/libs/WindowManager/Shell/res/values-ru/strings.xml index f632f03b19d9..741a5d141ccb 100644 --- a/libs/WindowManager/Shell/res/values-ru/strings.xml +++ b/libs/WindowManager/Shell/res/values-ru/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Перенести в правый нижний угол"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>: настройки"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Скрыть всплывающий чат"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Не показывать всплывающий чат для разговора"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Всплывающие чаты"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Новые разговоры будут появляться в виде плавающих значков, или всплывающих чатов. Чтобы открыть чат, нажмите на него, а чтобы переместить – перетащите."</string> diff --git a/libs/WindowManager/Shell/res/values-si/strings.xml b/libs/WindowManager/Shell/res/values-si/strings.xml index 7825432bbf40..680f1388247a 100644 --- a/libs/WindowManager/Shell/res/values-si/strings.xml +++ b/libs/WindowManager/Shell/res/values-si/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"පහළ දකුණට ගෙන යන්න"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> සැකසීම්"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"බුබුලු ඉවත ලන්න"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"සංවාදය බුබුලු නොදමන්න"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"බුබුලු භාවිතයෙන් කතාබහ කරන්න"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"නව සංවාද පාවෙන අයිකන හෝ බුබුලු ලෙස දිස් වේ. බුබුල විවෘත කිරීමට තට්ටු කරන්න. එය ගෙන යාමට අදින්න."</string> diff --git a/libs/WindowManager/Shell/res/values-sk/strings.xml b/libs/WindowManager/Shell/res/values-sk/strings.xml index 21641e57cfe0..4b89ab132780 100644 --- a/libs/WindowManager/Shell/res/values-sk/strings.xml +++ b/libs/WindowManager/Shell/res/values-sk/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Presunúť doprava nadol"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Nastavenia aplikácie <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Zavrieť bublinu"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Nezobrazovať konverzáciu ako bublinu"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Čet pomocou bublín"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nové konverzácie sa zobrazujú ako plávajúce ikony či bubliny. Bublinu otvoríte klepnutím. Premiestnite ju presunutím."</string> diff --git a/libs/WindowManager/Shell/res/values-sl/strings.xml b/libs/WindowManager/Shell/res/values-sl/strings.xml index 444a3c88b433..6eb83edc8116 100644 --- a/libs/WindowManager/Shell/res/values-sl/strings.xml +++ b/libs/WindowManager/Shell/res/values-sl/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Premakni spodaj desno"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Nastavitve za <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Opusti oblaček"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Pogovora ne prikaži v oblačku"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Klepet z oblački"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Novi pogovori so prikazani kot lebdeče ikone ali oblački. Če želite odpreti oblaček, se ga dotaknite. Če ga želite premakniti, ga povlecite."</string> diff --git a/libs/WindowManager/Shell/res/values-sq/strings.xml b/libs/WindowManager/Shell/res/values-sq/strings.xml index 07bc2a33ff5e..e804c523346b 100644 --- a/libs/WindowManager/Shell/res/values-sq/strings.xml +++ b/libs/WindowManager/Shell/res/values-sq/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Lëvize poshtë djathtas"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Cilësimet e <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Hiqe flluskën"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Mos e vendos bisedën në flluskë"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Bisedo duke përdorur flluskat"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Bisedat e reja shfaqen si ikona pluskuese ose flluska. Trokit për të hapur flluskën. Zvarrit për ta zhvendosur."</string> diff --git a/libs/WindowManager/Shell/res/values-sr/strings.xml b/libs/WindowManager/Shell/res/values-sr/strings.xml index 4d75626f99b8..9aafa8705a0b 100644 --- a/libs/WindowManager/Shell/res/values-sr/strings.xml +++ b/libs/WindowManager/Shell/res/values-sr/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Премести доле десно"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Подешавања за <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Одбаци облачић"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Не користи облачиће за конверзацију"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Ћаскајте у облачићима"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Нове конверзације се приказују као плутајуће иконе или облачићи. Додирните да бисте отворили облачић. Превуците да бисте га преместили."</string> diff --git a/libs/WindowManager/Shell/res/values-sv/strings.xml b/libs/WindowManager/Shell/res/values-sv/strings.xml index 9988e4777e2f..6316d52b57d0 100644 --- a/libs/WindowManager/Shell/res/values-sv/strings.xml +++ b/libs/WindowManager/Shell/res/values-sv/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Flytta längst ned till höger"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Inställningar för <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Stäng bubbla"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Visa inte konversationen i bubblor"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Chatta med bubblor"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Nya konversationer visas som flytande ikoner, så kallade bubblor. Tryck på bubblan om du vill öppna den. Dra den om du vill flytta den."</string> diff --git a/libs/WindowManager/Shell/res/values-sw/strings.xml b/libs/WindowManager/Shell/res/values-sw/strings.xml index 4937464a49fe..46bd638a9393 100644 --- a/libs/WindowManager/Shell/res/values-sw/strings.xml +++ b/libs/WindowManager/Shell/res/values-sw/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Sogeza chini kulia"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Mipangilio ya <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Ondoa kiputo"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Usiweke viputo kwenye mazungumzo"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Piga gumzo ukitumia viputo"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Mazungumzo mapya huonekena kama aikoni au viputo vinavyoelea. Gusa ili ufungue kiputo. Buruta ili ukisogeze."</string> diff --git a/libs/WindowManager/Shell/res/values-ta/strings.xml b/libs/WindowManager/Shell/res/values-ta/strings.xml index edadfb4916b3..10f040b0c682 100644 --- a/libs/WindowManager/Shell/res/values-ta/strings.xml +++ b/libs/WindowManager/Shell/res/values-ta/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"கீழே வலதுபுறமாக நகர்த்து"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> அமைப்புகள்"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"குமிழை அகற்று"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"உரையாடலைக் குமிழாக்காதே"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"குமிழ்களைப் பயன்படுத்தி அரட்டையடியுங்கள்"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"புதிய உரையாடல்கள் மிதக்கும் ஐகான்களாகவோ குமிழ்களாகவோ தோன்றும். குமிழைத் திறக்க தட்டவும். நகர்த்த இழுக்கவும்."</string> diff --git a/libs/WindowManager/Shell/res/values-te/strings.xml b/libs/WindowManager/Shell/res/values-te/strings.xml index 66b20518279c..512bd528dd65 100644 --- a/libs/WindowManager/Shell/res/values-te/strings.xml +++ b/libs/WindowManager/Shell/res/values-te/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"దిగవు కుడివైపునకు జరుపు"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> సెట్టింగ్లు"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"బబుల్ను విస్మరించు"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"సంభాషణను బబుల్ చేయవద్దు"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"బబుల్స్ను ఉపయోగించి చాట్ చేయండి"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"కొత్త సంభాషణలు తేలియాడే చిహ్నాలుగా లేదా బబుల్స్ లాగా కనిపిస్తాయి. బబుల్ని తెరవడానికి నొక్కండి. తరలించడానికి లాగండి."</string> diff --git a/libs/WindowManager/Shell/res/values-th/strings.xml b/libs/WindowManager/Shell/res/values-th/strings.xml index 67ae9b7c9105..e53386956785 100644 --- a/libs/WindowManager/Shell/res/values-th/strings.xml +++ b/libs/WindowManager/Shell/res/values-th/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"ย้ายไปด้านขาวล่าง"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"การตั้งค่า <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"ปิดบับเบิล"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"ไม่ต้องแสดงการสนทนาเป็นบับเบิล"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"แชทโดยใช้บับเบิล"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"การสนทนาใหม่ๆ จะปรากฏเป็นไอคอนแบบลอยหรือบับเบิล แตะเพื่อเปิดบับเบิล ลากเพื่อย้ายที่"</string> diff --git a/libs/WindowManager/Shell/res/values-tl/strings.xml b/libs/WindowManager/Shell/res/values-tl/strings.xml index 1275dd6095a2..426e83a560cd 100644 --- a/libs/WindowManager/Shell/res/values-tl/strings.xml +++ b/libs/WindowManager/Shell/res/values-tl/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Ilipat sa kanan sa ibaba"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Mga setting ng <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"I-dismiss ang bubble"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Huwag ipakita sa bubble ang mga pag-uusap"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Mag-chat gamit ang bubbles"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Lumalabas bilang mga nakalutang na icon o bubble ang mga bagong pag-uusap. I-tap para buksan ang bubble. I-drag para ilipat ito."</string> diff --git a/libs/WindowManager/Shell/res/values-tr/strings.xml b/libs/WindowManager/Shell/res/values-tr/strings.xml index 74a457f02e22..969e4030be22 100644 --- a/libs/WindowManager/Shell/res/values-tr/strings.xml +++ b/libs/WindowManager/Shell/res/values-tr/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Sağ alta taşı"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ayarları"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Baloncuğu kapat"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Görüşmeyi baloncuk olarak görüntüleme"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Baloncukları kullanarak sohbet edin"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Yeni görüşmeler kayan simgeler veya baloncuk olarak görünür. Açmak için baloncuğa dokunun. Baloncuğu taşımak için sürükleyin."</string> diff --git a/libs/WindowManager/Shell/res/values-uk/strings.xml b/libs/WindowManager/Shell/res/values-uk/strings.xml index b1e29f464b89..e265e2f0f54b 100644 --- a/libs/WindowManager/Shell/res/values-uk/strings.xml +++ b/libs/WindowManager/Shell/res/values-uk/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Перемістити праворуч униз"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Налаштування параметра \"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>\""</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Закрити підказку"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Не показувати спливаючі чати для розмов"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Спливаючий чат"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Нові повідомлення чату з\'являються у вигляді спливаючих значків. Щоб відкрити чат, натисніть його, а щоб перемістити – перетягніть."</string> diff --git a/libs/WindowManager/Shell/res/values-ur/strings.xml b/libs/WindowManager/Shell/res/values-ur/strings.xml index 88240cbc08d7..f4373e6fb634 100644 --- a/libs/WindowManager/Shell/res/values-ur/strings.xml +++ b/libs/WindowManager/Shell/res/values-ur/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"نیچے دائیں جانب لے جائیں"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> ترتیبات"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"بلبلہ برخاست کریں"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"گفتگو بلبلہ نہ کریں"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"بلبلے کے ذریعے چیٹ کریں"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"نئی گفتگوئیں فلوٹنگ آئیکن یا بلبلے کے طور پر ظاہر ہوں گی۔ بلبلہ کھولنے کے لیے تھپتھپائیں۔ اسے منتقل کرنے کے لیے گھسیٹیں۔"</string> diff --git a/libs/WindowManager/Shell/res/values-uz/strings.xml b/libs/WindowManager/Shell/res/values-uz/strings.xml index 38f3a0dd1091..8c07814042e2 100644 --- a/libs/WindowManager/Shell/res/values-uz/strings.xml +++ b/libs/WindowManager/Shell/res/values-uz/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Quyi oʻngga surish"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> sozlamalari"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Bulutchani yopish"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Suhbatlar bulutchalar shaklida chiqmasin"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Bulutchalar yordamida subhatlashish"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Yangi xabarlar qalqib chiquvchi belgilar yoki bulutchalar kabi chiqadi. Xabarni ochish uchun bildirishnoma ustiga bosing. Xabarni qayta joylash uchun bildirishnomani suring."</string> diff --git a/libs/WindowManager/Shell/res/values-vi/strings.xml b/libs/WindowManager/Shell/res/values-vi/strings.xml index 576bd5b12465..bbb363932d55 100644 --- a/libs/WindowManager/Shell/res/values-vi/strings.xml +++ b/libs/WindowManager/Shell/res/values-vi/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Chuyển tới dưới cùng bên phải"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"Cài đặt <xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Đóng bong bóng"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Dừng sử dụng bong bóng cho cuộc trò chuyện"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Trò chuyện bằng bong bóng trò chuyện"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Các cuộc trò chuyện mới sẽ xuất hiện dưới dạng biểu tượng nổi hoặc bong bóng trò chuyện. Nhấn để mở bong bóng trò chuyện. Kéo để di chuyển bong bóng trò chuyện."</string> diff --git a/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml b/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml index a6c6ac449bf2..caca25a1a76c 100644 --- a/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml +++ b/libs/WindowManager/Shell/res/values-zh-rCN/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"移至右下角"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>设置"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"关闭对话泡"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"不以对话泡形式显示对话"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"使用对话泡聊天"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"新对话会以浮动图标或对话泡形式显示。点按即可打开对话泡。拖动即可移动对话泡。"</string> diff --git a/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml b/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml index d6df8c1e342c..7a2d3485245c 100644 --- a/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml +++ b/libs/WindowManager/Shell/res/values-zh-rHK/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"移去右下角"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"「<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>」設定"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"關閉小視窗氣泡"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"不要透過小視窗顯示對話"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"使用小視窗進行即時通訊"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"新對話會以浮動圖示 (小視窗) 顯示。輕按即可開啟小視窗。拖曳即可移動小視窗。"</string> diff --git a/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml b/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml index 64980c036d0b..b0ccd8a82905 100644 --- a/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml +++ b/libs/WindowManager/Shell/res/values-zh-rTW/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"移至右下方"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"「<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g>」設定"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"關閉對話框"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"不要以對話框形式顯示對話"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"透過對話框來聊天"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"新的對話會以浮動圖示或對話框形式顯示。輕觸即可開啟對話框,拖曳則可移動對話框。"</string> diff --git a/libs/WindowManager/Shell/res/values-zu/strings.xml b/libs/WindowManager/Shell/res/values-zu/strings.xml index abbec335312c..7787e774763e 100644 --- a/libs/WindowManager/Shell/res/values-zu/strings.xml +++ b/libs/WindowManager/Shell/res/values-zu/strings.xml @@ -68,6 +68,8 @@ <string name="bubble_accessibility_action_move_bottom_right" msgid="2107626346109206352">"Hambisa inkinobho ngakwesokudla"</string> <string name="bubbles_app_settings" msgid="3617224938701566416">"<xliff:g id="NOTIFICATION_TITLE">%1$s</xliff:g> izilungiselelo"</string> <string name="bubble_dismiss_text" msgid="8816558050659478158">"Cashisa ibhamuza"</string> + <!-- no translation found for bubbles_dont_bubble (3216183855437329223) --> + <skip /> <string name="bubbles_dont_bubble_conversation" msgid="310000317885712693">"Ungayibhamuzi ingxoxo"</string> <string name="bubbles_user_education_title" msgid="2112319053732691899">"Xoxa usebenzisa amabhamuza"</string> <string name="bubbles_user_education_description" msgid="4215862563054175407">"Izingxoxo ezintsha zivela njengezithonjana ezintantayo, noma amabhamuza. Thepha ukuze uvule ibhamuza. Hudula ukuze ulihambise."</string> diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java index e24c2286013d..85a353f2d586 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubble.java @@ -206,12 +206,14 @@ public class Bubble implements BubbleViewProvider { public Bubble(Intent intent, UserHandle user, + @Nullable Icon icon, Executor mainExecutor) { mKey = KEY_APP_BUBBLE; mGroupKey = null; mLocusId = null; mFlags = 0; mUser = user; + mIcon = icon; mShowBubbleUpdateDot = false; mMainExecutor = mainExecutor; mTaskId = INVALID_TASK_ID; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java index 48fe65d3ce59..d2889e782aea 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java @@ -57,6 +57,7 @@ import android.content.pm.UserInfo; import android.content.res.Configuration; import android.graphics.PixelFormat; import android.graphics.Rect; +import android.graphics.drawable.Icon; import android.os.Binder; import android.os.Handler; import android.os.RemoteException; @@ -1034,8 +1035,9 @@ public class BubbleController implements ConfigurationChangeListener { * * @param intent the intent to display in the bubble expanded view. * @param user the {@link UserHandle} of the user to start this activity for. + * @param icon the {@link Icon} to use for the bubble view. */ - public void showOrHideAppBubble(Intent intent, UserHandle user) { + public void showOrHideAppBubble(Intent intent, UserHandle user, @Nullable Icon icon) { if (intent == null || intent.getPackage() == null) { Log.w(TAG, "App bubble failed to show, invalid intent: " + intent + ((intent != null) ? " with package: " + intent.getPackage() : " ")); @@ -1063,7 +1065,7 @@ public class BubbleController implements ConfigurationChangeListener { } } else { // App bubble does not exist, lets add and expand it - Bubble b = new Bubble(intent, user, mMainExecutor); + Bubble b = new Bubble(intent, user, icon, mMainExecutor); b.setShouldAutoExpand(true); inflateAndAdd(b, /* suppressFlyout= */ true, /* showInShade= */ false); } @@ -1871,9 +1873,9 @@ public class BubbleController implements ConfigurationChangeListener { } @Override - public void showOrHideAppBubble(Intent intent, UserHandle user) { + public void showOrHideAppBubble(Intent intent, UserHandle user, @Nullable Icon icon) { mMainExecutor.execute( - () -> BubbleController.this.showOrHideAppBubble(intent, user)); + () -> BubbleController.this.showOrHideAppBubble(intent, user, icon)); } @Override diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java index 5555bec6a28e..876a720f7722 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/Bubbles.java @@ -26,6 +26,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; import android.app.NotificationChannel; import android.content.Intent; import android.content.pm.UserInfo; +import android.graphics.drawable.Icon; import android.hardware.HardwareBuffer; import android.os.UserHandle; import android.service.notification.NotificationListenerService; @@ -135,8 +136,9 @@ public interface Bubbles { * * @param intent the intent to display in the bubble expanded view. * @param user the {@link UserHandle} of the user to start this activity for. + * @param icon the {@link Icon} to use for the bubble view. */ - void showOrHideAppBubble(Intent intent, UserHandle user); + void showOrHideAppBubble(Intent intent, UserHandle user, @Nullable Icon icon); /** @return true if the specified {@code taskId} corresponds to app bubble's taskId. */ boolean isAppBubbleTaskId(int taskId); diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java index 76d9152fdfbc..6950f24512b1 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIController.java @@ -42,7 +42,6 @@ import com.android.wm.shell.common.DockStateReader; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.compatui.CompatUIWindowManager.CompatUIHintsState; -import com.android.wm.shell.compatui.letterboxedu.LetterboxEduWindowManager; import com.android.wm.shell.sysui.KeyguardChangeListener; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIWindowManager.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIWindowManager.java index fe95d04bad3c..170c0ee91b40 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIWindowManager.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/CompatUIWindowManager.java @@ -38,7 +38,6 @@ import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayLayout; import com.android.wm.shell.common.SyncTransactionQueue; import com.android.wm.shell.compatui.CompatUIController.CompatUICallback; -import com.android.wm.shell.compatui.letterboxedu.LetterboxEduWindowManager; import java.util.function.Consumer; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduDialogActionLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/LetterboxEduDialogActionLayout.java index 02197f644a39..9974295123b7 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduDialogActionLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/LetterboxEduDialogActionLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.wm.shell.compatui.letterboxedu; +package com.android.wm.shell.compatui; import android.content.Context; import android.content.res.TypedArray; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduDialogLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/LetterboxEduDialogLayout.java index 9232f36cf939..df2f6ce24ebc 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduDialogLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/LetterboxEduDialogLayout.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.wm.shell.compatui.letterboxedu; +package com.android.wm.shell.compatui; import android.annotation.Nullable; import android.content.Context; @@ -26,7 +26,6 @@ import android.widget.TextView; import androidx.constraintlayout.widget.ConstraintLayout; import com.android.wm.shell.R; -import com.android.wm.shell.compatui.DialogContainerSupplier; /** * Container for Letterbox Education Dialog and background dim. diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduWindowManager.java b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/LetterboxEduWindowManager.java index c14c009721a1..bfdbfe3d6ea0 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduWindowManager.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/compatui/LetterboxEduWindowManager.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.wm.shell.compatui.letterboxedu; +package com.android.wm.shell.compatui; import static android.provider.Settings.Secure.LAUNCHER_TASKBAR_EDUCATION_SHOWING; @@ -36,8 +36,6 @@ import com.android.wm.shell.ShellTaskOrganizer; import com.android.wm.shell.common.DisplayLayout; import com.android.wm.shell.common.DockStateReader; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.compatui.CompatUIWindowManagerAbstract; -import com.android.wm.shell.compatui.DialogAnimationController; import com.android.wm.shell.transition.Transitions; /** diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java index 52f5a8cfd8e0..c19d54365309 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/PipTaskOrganizer.java @@ -16,6 +16,7 @@ package com.android.wm.shell.pip; +import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; @@ -536,6 +537,15 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, mPipTransitionController.startExitTransition(TRANSIT_EXIT_PIP, wct, destinationBounds); return; } + if (mSplitScreenOptional.isPresent()) { + // If pip activity will reparent to origin task case and if the origin task still under + // split root, just exit split screen here to ensure it could expand to fullscreen. + SplitScreenController split = mSplitScreenOptional.get(); + if (split.isTaskInSplitScreen(mTaskInfo.lastParentTaskIdBeforePip)) { + split.exitSplitScreen(INVALID_TASK_ID, + SplitScreenController.EXIT_REASON_APP_FINISHED); + } + } mSyncTransactionQueue.queue(wct); mSyncTransactionQueue.runInSync(t -> { // Make sure to grab the latest source hint rect as it could have been @@ -1479,9 +1489,13 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, applyFinishBoundsResize(wct, direction, false); } } else { - final boolean isPipTopLeft = - direction == TRANSITION_DIRECTION_LEAVE_PIP_TO_SPLIT_SCREEN && isPipToTopLeft(); - applyFinishBoundsResize(wct, direction, isPipTopLeft); + applyFinishBoundsResize(wct, direction, isPipToTopLeft()); + // Use sync transaction to apply finish transaction for enter split case. + if (direction == TRANSITION_DIRECTION_LEAVE_PIP_TO_SPLIT_SCREEN) { + mSyncTransactionQueue.runInSync(t -> { + t.merge(tx); + }); + } } finishResizeForMenu(destinationBounds); @@ -1518,7 +1532,10 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener, mSurfaceTransactionHelper.round(tx, mLeash, isInPip()); wct.setBounds(mToken, taskBounds); - wct.setBoundsChangeTransaction(mToken, tx); + // Pip to split should use sync transaction to sync split bounds change. + if (direction != TRANSITION_DIRECTION_LEAVE_PIP_TO_SPLIT_SCREEN) { + wct.setBoundsChangeTransaction(mToken, tx); + } } /** diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java index 9ee4b65b5836..748f4a190b00 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipController.java @@ -124,7 +124,7 @@ public class PipController implements PipTransitionController.PipTransitionCallb SystemProperties.getLong("persist.wm.debug.pip_keep_clear_areas_delay", 200); private boolean mEnablePipKeepClearAlgorithm = - SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", false); + SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", true); @VisibleForTesting void setEnablePipKeepClearAlgorithm(boolean value) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java index 979b7c7dc31f..167c0321d3ad 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipMenuView.java @@ -282,7 +282,8 @@ public class PipMenuView extends FrameLayout { public void onFocusTaskChanged(ActivityManager.RunningTaskInfo taskInfo) { final boolean isSplitScreen = mSplitScreenControllerOptional.isPresent() - && mSplitScreenControllerOptional.get().isTaskInSplitScreen(taskInfo.taskId); + && mSplitScreenControllerOptional.get().isTaskInSplitScreenForeground( + taskInfo.taskId); mFocusedTaskAllowSplitScreen = isSplitScreen || (taskInfo.getWindowingMode() == WINDOWING_MODE_FULLSCREEN && taskInfo.supportsMultiWindow diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java index 0e8d13d9979d..466da0e85358 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/pip/phone/PipTouchHandler.java @@ -71,8 +71,13 @@ public class PipTouchHandler { private static final String TAG = "PipTouchHandler"; private static final float DEFAULT_STASH_VELOCITY_THRESHOLD = 18000.f; - private static final boolean ENABLE_PIP_KEEP_CLEAR_ALGORITHM = - SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", false); + private boolean mEnablePipKeepClearAlgorithm = + SystemProperties.getBoolean("persist.wm.debug.enable_pip_keep_clear_algorithm", true); + + @VisibleForTesting + void setEnablePipKeepClearAlgorithm(boolean value) { + mEnablePipKeepClearAlgorithm = value; + } // Allow PIP to resize to a slightly bigger state upon touch private boolean mEnableResize; @@ -427,7 +432,7 @@ public class PipTouchHandler { if (mTouchState.isUserInteracting() && mTouchState.isDragging()) { // Defer the update of the current movement bounds until after the user finishes // touching the screen - } else if (ENABLE_PIP_KEEP_CLEAR_ALGORITHM) { + } else if (mEnablePipKeepClearAlgorithm) { // Ignore moving PiP if keep clear algorithm is enabled, since IME and shelf height // now are accounted for in the keep clear algorithm calculations } else { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java index da8c805eb038..2ec64b009b3b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentsTransitionHandler.java @@ -237,12 +237,14 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { } void cancel(boolean toHome) { - if (mFinishCB != null && mListener != null) { + if (mListener != null) { try { mListener.onAnimationCanceled(null, null); } catch (RemoteException e) { Slog.e(TAG, "Error canceling recents animation", e); } + } + if (mFinishCB != null) { finish(toHome, false /* userLeave */); } else { cleanUp(); @@ -324,10 +326,9 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { mRecentsTaskId = taskInfo.taskId; } } - if (mRecentsTask == null || !hasPausingTasks) { + if (mRecentsTask == null && !hasPausingTasks) { // Recents is already running apparently, so this is a no-op. - Slog.e(TAG, "Tried to start recents while it is already running. recents=" - + mRecentsTask); + Slog.e(TAG, "Tried to start recents while it is already running."); cleanUp(); return false; } @@ -418,7 +419,7 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { final ActivityManager.RunningTaskInfo taskInfo = change.getTaskInfo(); final boolean isLeafTask = leafTaskFilter.test(change); if (TransitionUtil.isOpeningType(change.getMode())) { - if (mRecentsTask.equals(change.getContainer())) { + if (mRecentsTask != null && mRecentsTask.equals(change.getContainer())) { recentsOpening = change; } else if (isLeafTask) { if (taskInfo.topActivityType == ACTIVITY_TYPE_HOME) { @@ -431,7 +432,7 @@ public class RecentsTransitionHandler implements Transitions.TransitionHandler { openingTasks.add(change); } } else if (TransitionUtil.isClosingType(change.getMode())) { - if (mRecentsTask.equals(change.getContainer())) { + if (mRecentsTask != null && mRecentsTask.equals(change.getContainer())) { foundRecentsClosing = true; } else if (isLeafTask) { if (closingTasks == null) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java index 94b9e907fa76..7d5ab8428a3e 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenController.java @@ -31,7 +31,6 @@ import static com.android.wm.shell.common.split.SplitScreenConstants.SPLIT_POSIT import static com.android.wm.shell.common.split.SplitScreenUtils.isValidToSplit; import static com.android.wm.shell.common.split.SplitScreenUtils.reverseSplitPosition; import static com.android.wm.shell.common.split.SplitScreenUtils.samePackage; -import static com.android.wm.shell.splitscreen.SplitScreen.STAGE_TYPE_SIDE; import static com.android.wm.shell.splitscreen.SplitScreen.STAGE_TYPE_UNDEFINED; import static com.android.wm.shell.sysui.ShellSharedConstants.KEY_EXTRA_SHELL_SPLIT_SCREEN; import static com.android.wm.shell.transition.Transitions.ENABLE_SHELL_TRANSITIONS; @@ -89,7 +88,6 @@ import com.android.wm.shell.draganddrop.DragAndDropController; import com.android.wm.shell.draganddrop.DragAndDropPolicy; import com.android.wm.shell.protolog.ShellProtoLogGroup; import com.android.wm.shell.recents.RecentTasksController; -import com.android.wm.shell.splitscreen.SplitScreen.StageType; import com.android.wm.shell.sysui.KeyguardChangeListener; import com.android.wm.shell.sysui.ShellCommandHandler; import com.android.wm.shell.sysui.ShellController; @@ -329,9 +327,14 @@ public class SplitScreenController implements DragAndDropPolicy.Starter, return mTaskOrganizer.getRunningTaskInfo(taskId); } + /** Check task is under split or not by taskId. */ public boolean isTaskInSplitScreen(int taskId) { - return isSplitScreenVisible() - && mStageCoordinator.getStageOfTask(taskId) != STAGE_TYPE_UNDEFINED; + return mStageCoordinator.getStageOfTask(taskId) != STAGE_TYPE_UNDEFINED; + } + + /** Check split is foreground and task is under split or not by taskId. */ + public boolean isTaskInSplitScreenForeground(int taskId) { + return isTaskInSplitScreen(taskId) && isSplitScreenVisible(); } public @SplitPosition int getSplitPosition(int taskId) { @@ -339,8 +342,7 @@ public class SplitScreenController implements DragAndDropPolicy.Starter, } public boolean moveToSideStage(int taskId, @SplitPosition int sideStagePosition) { - return moveToStage(taskId, STAGE_TYPE_SIDE, sideStagePosition, - new WindowContainerTransaction()); + return moveToStage(taskId, sideStagePosition, new WindowContainerTransaction()); } /** @@ -351,13 +353,13 @@ public class SplitScreenController implements DragAndDropPolicy.Starter, mStageCoordinator.updateSurfaces(transaction); } - private boolean moveToStage(int taskId, @StageType int stageType, - @SplitPosition int stagePosition, WindowContainerTransaction wct) { + private boolean moveToStage(int taskId, @SplitPosition int stagePosition, + WindowContainerTransaction wct) { final ActivityManager.RunningTaskInfo task = mTaskOrganizer.getRunningTaskInfo(taskId); if (task == null) { throw new IllegalArgumentException("Unknown taskId" + taskId); } - return mStageCoordinator.moveToStage(task, stageType, stagePosition, wct); + return mStageCoordinator.moveToStage(task, stagePosition, wct); } public boolean removeFromSideStage(int taskId) { @@ -382,10 +384,9 @@ public class SplitScreenController implements DragAndDropPolicy.Starter, } public void enterSplitScreen(int taskId, boolean leftOrTop, WindowContainerTransaction wct) { - final int stageType = isSplitScreenVisible() ? STAGE_TYPE_UNDEFINED : STAGE_TYPE_SIDE; final int stagePosition = leftOrTop ? SPLIT_POSITION_TOP_OR_LEFT : SPLIT_POSITION_BOTTOM_OR_RIGHT; - moveToStage(taskId, stageType, stagePosition, wct); + moveToStage(taskId, stagePosition, wct); } public void exitSplitScreen(int toTopTaskId, @ExitReason int exitReason) { diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java index a1eaf851da23..def945e53f9b 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java @@ -373,56 +373,43 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, return STAGE_TYPE_UNDEFINED; } - boolean moveToStage(ActivityManager.RunningTaskInfo task, @StageType int stageType, - @SplitPosition int stagePosition, WindowContainerTransaction wct) { + boolean moveToStage(ActivityManager.RunningTaskInfo task, @SplitPosition int stagePosition, + WindowContainerTransaction wct) { StageTaskListener targetStage; int sideStagePosition; - if (stageType == STAGE_TYPE_MAIN) { - targetStage = mMainStage; - sideStagePosition = reverseSplitPosition(stagePosition); - } else if (stageType == STAGE_TYPE_SIDE) { + if (isSplitScreenVisible()) { + // If the split screen is foreground, retrieves target stage based on position. + targetStage = stagePosition == mSideStagePosition ? mSideStage : mMainStage; + sideStagePosition = mSideStagePosition; + } else { targetStage = mSideStage; sideStagePosition = stagePosition; - } else { - if (isSplitScreenVisible()) { - // If the split screen is activated, retrieves target stage based on position. - targetStage = stagePosition == mSideStagePosition ? mSideStage : mMainStage; - sideStagePosition = mSideStagePosition; - } else { - // Exit split if it running background. - exitSplitScreen(null /* childrenToTop */, EXIT_REASON_RECREATE_SPLIT); - - targetStage = mSideStage; - sideStagePosition = stagePosition; - } } if (!isSplitActive()) { - // prevent the fling divider to center transitioni if split screen didn't active. - mIsDropEntering = true; - } - - setSideStagePosition(sideStagePosition, wct); - final WindowContainerTransaction evictWct = new WindowContainerTransaction(); - targetStage.evictAllChildren(evictWct); - - // Apply surface bounds before animation start. - SurfaceControl.Transaction startT = mTransactionPool.acquire(); - if (startT != null) { - updateSurfaceBounds(mSplitLayout, startT, false /* applyResizingOffset */); - startT.apply(); - mTransactionPool.release(startT); + mSplitLayout.init(); + prepareEnterSplitScreen(wct, task, stagePosition); + mSyncQueue.queue(wct); + mSyncQueue.runInSync(t -> { + updateSurfaceBounds(mSplitLayout, t, false /* applyResizingOffset */); + }); + } else { + setSideStagePosition(sideStagePosition, wct); + targetStage.addTask(task, wct); + targetStage.evictAllChildren(wct); + if (!isSplitScreenVisible()) { + final StageTaskListener anotherStage = targetStage == mMainStage + ? mSideStage : mMainStage; + anotherStage.reparentTopTask(wct); + anotherStage.evictAllChildren(wct); + wct.reorder(mRootTaskInfo.token, true); + } + setRootForceTranslucent(false, wct); + mSyncQueue.queue(wct); } - // reparent the task to an invisible split root will make the activity invisible. Reorder - // the root task to front to make the entering transition from pip to split smooth. - wct.reorder(mRootTaskInfo.token, true); - wct.reorder(targetStage.mRootTaskInfo.token, true); - targetStage.addTask(task, wct); - if (!evictWct.isEmpty()) { - wct.merge(evictWct, true /* transfer */); - } - mTaskOrganizer.applyTransaction(wct); + // Due to drag already pip task entering split by this method so need to reset flag here. + mIsDropEntering = false; return true; } diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java index aa1e6ed8bcf3..586cab07c508 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/DefaultMixedHandler.java @@ -303,13 +303,18 @@ public class DefaultMixedHandler implements Transitions.TransitionHandler, info.getChanges().remove(i); } } + Transitions.TransitionFinishCallback finishCB = (wct, wctCB) -> { + --mixed.mInFlightSubAnimations; + mixed.joinFinishArgs(wct, wctCB); + if (mixed.mInFlightSubAnimations > 0) return; + mActiveTransitions.remove(mixed); + finishCallback.onTransitionFinished(mixed.mFinishWCT, wctCB); + }; if (pipChange == null) { if (mixed.mLeftoversHandler != null) { + mixed.mInFlightSubAnimations = 1; if (mixed.mLeftoversHandler.startAnimation(mixed.mTransition, - info, startTransaction, finishTransaction, (wct, wctCB) -> { - mActiveTransitions.remove(mixed); - finishCallback.onTransitionFinished(wct, wctCB); - })) { + info, startTransaction, finishTransaction, finishCB)) { return true; } } @@ -318,13 +323,6 @@ public class DefaultMixedHandler implements Transitions.TransitionHandler, } ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, " Splitting PIP into a separate" + " animation because remote-animation likely doesn't support it"); - Transitions.TransitionFinishCallback finishCB = (wct, wctCB) -> { - --mixed.mInFlightSubAnimations; - mixed.joinFinishArgs(wct, wctCB); - if (mixed.mInFlightSubAnimations > 0) return; - mActiveTransitions.remove(mixed); - finishCallback.onTransitionFinished(mixed.mFinishWCT, wctCB); - }; // Split the transition into 2 parts: the pip part and the rest. mixed.mInFlightSubAnimations = 2; // make a new startTransaction because pip's startEnterAnimation "consumes" it so diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java index 039bde95815e..b8b6d5b96a93 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/transition/Transitions.java @@ -534,7 +534,7 @@ public class Transitions implements RemoteCallable<Transitions> { } if (info.getType() == TRANSIT_SLEEP) { - if (activeIdx > 0) { + if (activeIdx > 0 || !mActiveTransitions.isEmpty() || mReadyTransitions.size() > 1) { // Sleep starts a process of forcing all prior transitions to finish immediately finishForSleep(null /* forceFinish */); return; diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldBackgroundController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldBackgroundController.java index 86ca292399cb..fe0a3fb7b9dc 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldBackgroundController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/unfold/UnfoldBackgroundController.java @@ -79,7 +79,7 @@ public class UnfoldBackgroundController { } private float[] getBackgroundColor(Context context) { - int colorInt = context.getResources().getColor(R.color.taskbar_background); + int colorInt = context.getResources().getColor(R.color.unfold_background); return new float[]{ (float) red(colorInt) / 255.0F, (float) green(colorInt) / 255.0F, diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt index ffdb87f190d5..5b06c9c3897d 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromAllApps.kt @@ -79,7 +79,8 @@ class EnterSplitScreenByDragFromAllApps(flicker: FlickerTest) : SplitScreenBase( @IwTest(focusArea = "sysui") @Presubmit @Test - fun cujCompleted() = flicker.splitScreenEntered(primaryApp, secondaryApp, fromOtherApp = false) + fun cujCompleted() = flicker.splitScreenEntered(primaryApp, secondaryApp, fromOtherApp = false, + appExistAtStart = false) @Presubmit @Test diff --git a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt index 792e2b03522f..c8401831bdbc 100644 --- a/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt +++ b/libs/WindowManager/Shell/tests/flicker/src/com/android/wm/shell/flicker/splitscreen/EnterSplitScreenByDragFromNotification.kt @@ -82,7 +82,8 @@ class EnterSplitScreenByDragFromNotification(flicker: FlickerTest) : SplitScreen @IwTest(focusArea = "sysui") @Presubmit @Test - fun cujCompleted() = flicker.splitScreenEntered(primaryApp, secondaryApp, fromOtherApp = false) + fun cujCompleted() = flicker.splitScreenEntered(primaryApp, sendNotificationApp, + fromOtherApp = false) @Presubmit @Test diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java index 8b025cd7c246..919bf0665b5e 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubbleDataTest.java @@ -185,7 +185,8 @@ public class BubbleDataTest extends ShellTestCase { Intent appBubbleIntent = new Intent(mContext, BubblesTestActivity.class); appBubbleIntent.setPackage(mContext.getPackageName()); - mAppBubble = new Bubble(appBubbleIntent, new UserHandle(1), mMainExecutor); + mAppBubble = new Bubble(appBubbleIntent, new UserHandle(1), mock(Icon.class), + mMainExecutor); mPositioner = new TestableBubblePositioner(mContext, mock(WindowManager.class)); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java index bc0d93a6810a..a6501f05475f 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/CompatUIControllerTest.java @@ -54,7 +54,6 @@ import com.android.wm.shell.common.DisplayLayout; import com.android.wm.shell.common.DockStateReader; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.compatui.letterboxedu.LetterboxEduWindowManager; import com.android.wm.shell.sysui.ShellController; import com.android.wm.shell.sysui.ShellInit; import com.android.wm.shell.transition.Transitions; diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduDialogLayoutTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduDialogLayoutTest.java index a58620dfc6dc..172c263ab0f6 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduDialogLayoutTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduDialogLayoutTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.wm.shell.compatui.letterboxedu; +package com.android.wm.shell.compatui; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -58,9 +58,8 @@ public class LetterboxEduDialogLayoutTest extends ShellTestCase { public void setUp() { MockitoAnnotations.initMocks(this); - mLayout = (LetterboxEduDialogLayout) - LayoutInflater.from(mContext).inflate(R.layout.letterbox_education_dialog_layout, - null); + mLayout = (LetterboxEduDialogLayout) LayoutInflater.from(mContext) + .inflate(R.layout.letterbox_education_dialog_layout, null); mDismissButton = mLayout.findViewById(R.id.letterbox_education_dialog_dismiss_button); mDialogContainer = mLayout.findViewById(R.id.letterbox_education_dialog_container); mLayout.setDismissOnClickListener(mDismissCallback); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduWindowManagerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduWindowManagerTest.java index 14190f18929c..47c9e06e8681 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/letterboxedu/LetterboxEduWindowManagerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/compatui/LetterboxEduWindowManagerTest.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2022 The Android Open Source Project + * Copyright (C) 2023 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.wm.shell.compatui.letterboxedu; +package com.android.wm.shell.compatui; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; @@ -56,7 +56,6 @@ import com.android.wm.shell.ShellTestCase; import com.android.wm.shell.common.DisplayLayout; import com.android.wm.shell.common.DockStateReader; import com.android.wm.shell.common.SyncTransactionQueue; -import com.android.wm.shell.compatui.DialogAnimationController; import com.android.wm.shell.transition.Transitions; import org.junit.After; @@ -400,15 +399,16 @@ public class LetterboxEduWindowManagerTest extends ShellTestCase { false, isDocked); } - private LetterboxEduWindowManager createWindowManager(boolean eligible, - int userId, boolean isTaskbarEduShowing) { + private LetterboxEduWindowManager createWindowManager(boolean eligible, int userId, + boolean isTaskbarEduShowing) { return createWindowManager(eligible, userId, isTaskbarEduShowing, /* isDocked */false); } - private LetterboxEduWindowManager createWindowManager(boolean eligible, - int userId, boolean isTaskbarEduShowing, boolean isDocked) { + private LetterboxEduWindowManager createWindowManager(boolean eligible, int userId, + boolean isTaskbarEduShowing, boolean isDocked) { doReturn(isDocked).when(mDockStateReader).isDocked(); - LetterboxEduWindowManager windowManager = new LetterboxEduWindowManager(mContext, + LetterboxEduWindowManager + windowManager = new LetterboxEduWindowManager(mContext, createTaskInfo(eligible, userId), mSyncTransactionQueue, mTaskListener, createDisplayLayout(), mTransitions, mOnDismissCallback, mAnimationController, mDockStateReader); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java index 108e273d75a5..6995d10dd78d 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipControllerTest.java @@ -318,6 +318,7 @@ public class PipControllerTest extends ShellTestCase { @Test public void onKeepClearAreasChanged_featureDisabled_pipBoundsStateDoesntChange() { + mPipController.setEnablePipKeepClearAlgorithm(false); final int displayId = 1; final Rect keepClearArea = new Rect(0, 0, 10, 10); when(mMockPipDisplayLayoutState.getDisplayId()).thenReturn(displayId); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java index d36060fd165f..10b1ddf1b868 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/pip/phone/PipTouchHandlerTest.java @@ -175,6 +175,7 @@ public class PipTouchHandlerTest extends ShellTestCase { @Test public void updateMovementBounds_withImeAdjustment_movesPip() { + mPipTouchHandler.setEnablePipKeepClearAlgorithm(false); mFromImeAdjustment = true; mPipTouchHandler.onImeVisibilityChanged(true /* imeVisible */, mImeHeight); diff --git a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java index 2e2e49e40030..eda6fdc4dbd4 100644 --- a/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java +++ b/libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java @@ -145,39 +145,48 @@ public class StageCoordinatorTests extends ShellTestCase { } @Test - public void testMoveToStage() { + public void testMoveToStage_splitActiveBackground() { + when(mStageCoordinator.isSplitActive()).thenReturn(true); + + final ActivityManager.RunningTaskInfo task = new TestRunningTaskInfoBuilder().build(); + final WindowContainerTransaction wct = new WindowContainerTransaction(); + + mStageCoordinator.moveToStage(task, SPLIT_POSITION_BOTTOM_OR_RIGHT, wct); + verify(mSideStage).addTask(eq(task), eq(wct)); + assertEquals(SPLIT_POSITION_BOTTOM_OR_RIGHT, mStageCoordinator.getSideStagePosition()); + assertEquals(SPLIT_POSITION_TOP_OR_LEFT, mStageCoordinator.getMainStagePosition()); + } + + @Test + public void testMoveToStage_splitActiveForeground() { + when(mStageCoordinator.isSplitActive()).thenReturn(true); + when(mStageCoordinator.isSplitScreenVisible()).thenReturn(true); + // Assume current side stage is top or left. + mStageCoordinator.setSideStagePosition(SPLIT_POSITION_TOP_OR_LEFT, null); + final ActivityManager.RunningTaskInfo task = new TestRunningTaskInfoBuilder().build(); + final WindowContainerTransaction wct = new WindowContainerTransaction(); - mStageCoordinator.moveToStage(task, STAGE_TYPE_MAIN, SPLIT_POSITION_BOTTOM_OR_RIGHT, - new WindowContainerTransaction()); - verify(mMainStage).addTask(eq(task), any(WindowContainerTransaction.class)); + mStageCoordinator.moveToStage(task, SPLIT_POSITION_BOTTOM_OR_RIGHT, wct); + verify(mMainStage).addTask(eq(task), eq(wct)); assertEquals(SPLIT_POSITION_BOTTOM_OR_RIGHT, mStageCoordinator.getMainStagePosition()); + assertEquals(SPLIT_POSITION_TOP_OR_LEFT, mStageCoordinator.getSideStagePosition()); - mStageCoordinator.moveToStage(task, STAGE_TYPE_SIDE, SPLIT_POSITION_BOTTOM_OR_RIGHT, - new WindowContainerTransaction()); - verify(mSideStage).addTask(eq(task), any(WindowContainerTransaction.class)); - assertEquals(SPLIT_POSITION_BOTTOM_OR_RIGHT, mStageCoordinator.getSideStagePosition()); + mStageCoordinator.moveToStage(task, SPLIT_POSITION_TOP_OR_LEFT, wct); + verify(mSideStage).addTask(eq(task), eq(wct)); + assertEquals(SPLIT_POSITION_TOP_OR_LEFT, mStageCoordinator.getSideStagePosition()); + assertEquals(SPLIT_POSITION_BOTTOM_OR_RIGHT, mStageCoordinator.getMainStagePosition()); } @Test - public void testMoveToUndefinedStage() { + public void testMoveToStage_splitInctive() { final ActivityManager.RunningTaskInfo task = new TestRunningTaskInfoBuilder().build(); + final WindowContainerTransaction wct = new WindowContainerTransaction(); - // Verify move to undefined stage while split screen not activated moves task to side stage. - when(mStageCoordinator.isSplitScreenVisible()).thenReturn(false); - mStageCoordinator.setSideStagePosition(SPLIT_POSITION_TOP_OR_LEFT, null); - mStageCoordinator.moveToStage(task, STAGE_TYPE_UNDEFINED, SPLIT_POSITION_BOTTOM_OR_RIGHT, - new WindowContainerTransaction()); - verify(mSideStage).addTask(eq(task), any(WindowContainerTransaction.class)); + mStageCoordinator.moveToStage(task, SPLIT_POSITION_BOTTOM_OR_RIGHT, wct); + verify(mStageCoordinator).prepareEnterSplitScreen(eq(wct), eq(task), + eq(SPLIT_POSITION_BOTTOM_OR_RIGHT)); assertEquals(SPLIT_POSITION_BOTTOM_OR_RIGHT, mStageCoordinator.getSideStagePosition()); - - // Verify move to undefined stage after split screen activated moves task based on position. - when(mStageCoordinator.isSplitScreenVisible()).thenReturn(true); - assertEquals(SPLIT_POSITION_TOP_OR_LEFT, mStageCoordinator.getMainStagePosition()); - mStageCoordinator.moveToStage(task, STAGE_TYPE_UNDEFINED, SPLIT_POSITION_TOP_OR_LEFT, - new WindowContainerTransaction()); - verify(mMainStage).addTask(eq(task), any(WindowContainerTransaction.class)); - assertEquals(SPLIT_POSITION_TOP_OR_LEFT, mStageCoordinator.getMainStagePosition()); } @Test diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 8ab715965082..8efd180b6c93 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -6251,6 +6251,7 @@ public class AudioManager { * Volume behavior for an audio device where no software attenuation is applied, and * the volume is kept synchronized between the host and the device itself through a * device-specific protocol such as BT AVRCP. + * @see #setDeviceVolumeBehavior(AudioDeviceAttributes, int) */ @SystemApi public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; @@ -6261,6 +6262,7 @@ public class AudioManager { * device-specific protocol (such as for hearing aids), based on the audio mode (e.g. * normal vs in phone call). * @see #setMode(int) + * @see #setDeviceVolumeBehavior(AudioDeviceAttributes, int) */ @SystemApi public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; @@ -6270,11 +6272,6 @@ public class AudioManager { * A variant of {@link #DEVICE_VOLUME_BEHAVIOR_ABSOLUTE} where the host cannot reliably set * the volume percentage of the audio device. Specifically, {@link #setStreamVolume} will have * no effect, or an unreliable effect. - * - * {@link #DEVICE_VOLUME_BEHAVIOR_FULL} will be returned instead by - * {@link #getDeviceVolumeBehavior} for target SDK versions before U. - * - * @see #RETURN_DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY */ @SystemApi public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY = 5; @@ -6316,27 +6313,18 @@ public class AudioManager { public @interface AbsoluteDeviceVolumeBehavior {} /** - * Volume behaviors that can be set with {@link #setDeviceVolumeBehavior}. - * @hide - */ - @IntDef({ - DEVICE_VOLUME_BEHAVIOR_VARIABLE, - DEVICE_VOLUME_BEHAVIOR_FULL, - DEVICE_VOLUME_BEHAVIOR_FIXED, - }) - @Retention(RetentionPolicy.SOURCE) - public @interface SettableDeviceVolumeBehavior {} - - /** * @hide - * Throws IAE on a non-settable volume behavior value + * Throws IAE on an invalid volume behavior value * @param volumeBehavior behavior value to check */ - public static void enforceSettableVolumeBehavior(int volumeBehavior) { + public static void enforceValidVolumeBehavior(int volumeBehavior) { switch (volumeBehavior) { case DEVICE_VOLUME_BEHAVIOR_VARIABLE: case DEVICE_VOLUME_BEHAVIOR_FULL: case DEVICE_VOLUME_BEHAVIOR_FIXED: + case DEVICE_VOLUME_BEHAVIOR_ABSOLUTE: + case DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE: + case DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY: return; default: throw new IllegalArgumentException("Illegal volume behavior " + volumeBehavior); @@ -6346,8 +6334,11 @@ public class AudioManager { /** * @hide * Sets the volume behavior for an audio output device. - * - * @see SettableDeviceVolumeBehavior + * @see #DEVICE_VOLUME_BEHAVIOR_VARIABLE + * @see #DEVICE_VOLUME_BEHAVIOR_FULL + * @see #DEVICE_VOLUME_BEHAVIOR_FIXED + * @see #DEVICE_VOLUME_BEHAVIOR_ABSOLUTE + * @see #DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE * @param device the device to be affected * @param deviceVolumeBehavior one of the device behaviors */ @@ -6357,10 +6348,10 @@ public class AudioManager { Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED }) public void setDeviceVolumeBehavior(@NonNull AudioDeviceAttributes device, - @SettableDeviceVolumeBehavior int deviceVolumeBehavior) { + @DeviceVolumeBehavior int deviceVolumeBehavior) { // verify arguments (validity of device type is enforced in server) Objects.requireNonNull(device); - enforceSettableVolumeBehavior(deviceVolumeBehavior); + enforceValidVolumeBehavior(deviceVolumeBehavior); // communicate with service final IAudioService service = getService(); try { diff --git a/media/java/android/media/ThumbnailUtils.java b/media/java/android/media/ThumbnailUtils.java index 9b238e172247..6744359d12d7 100644 --- a/media/java/android/media/ThumbnailUtils.java +++ b/media/java/android/media/ThumbnailUtils.java @@ -49,6 +49,7 @@ import com.android.internal.util.ArrayUtils; import libcore.io.IoUtils; import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.util.Arrays; import java.util.Comparator; @@ -255,17 +256,19 @@ public class ThumbnailUtils { // get orientation if (MediaFile.isExifMimeType(mimeType)) { - exif = new ExifInterface(file); - switch (exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 0)) { - case ExifInterface.ORIENTATION_ROTATE_90: - orientation = 90; - break; - case ExifInterface.ORIENTATION_ROTATE_180: - orientation = 180; - break; - case ExifInterface.ORIENTATION_ROTATE_270: - orientation = 270; - break; + try (FileInputStream is = new FileInputStream(file)) { + exif = new ExifInterface(is.getFD()); + switch (exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 0)) { + case ExifInterface.ORIENTATION_ROTATE_90: + orientation = 90; + break; + case ExifInterface.ORIENTATION_ROTATE_180: + orientation = 180; + break; + case ExifInterface.ORIENTATION_ROTATE_270: + orientation = 270; + break; + } } } diff --git a/media/java/android/media/projection/MediaProjection.java b/media/java/android/media/projection/MediaProjection.java index 9d0662bfb52f..6ed8f090608e 100644 --- a/media/java/android/media/projection/MediaProjection.java +++ b/media/java/android/media/projection/MediaProjection.java @@ -180,6 +180,10 @@ public final class MediaProjection { * is registered. If the target SDK is less than * {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U}, no * exception is thrown. + * @throws SecurityException If attempting to create a new virtual display associated with this + * MediaProjection instance after it has been stopped by invoking + * {@link #stop()}. + * * @see VirtualDisplay * @see VirtualDisplay.Callback */ diff --git a/packages/CarrierDefaultApp/res/values-af/strings.xml b/packages/CarrierDefaultApp/res/values-af/strings.xml index d2e47d83aa2b..64cc776abc9c 100644 --- a/packages/CarrierDefaultApp/res/values-af/strings.xml +++ b/packages/CarrierDefaultApp/res/values-af/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Selfoondiensverskaffer"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobiele data is op"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Jou mobiele data is gedeaktiveer"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Byvoorbeeld, die aanmeldbladsy behoort dalk nie aan die organisasie wat gewys word nie."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Gaan in elk geval deur blaaier voort"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Prestasiehupstoot"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Verbeter jou appervaring"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tik om %s se webwerf te besoek en meer te wete te kom"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Nie nou nie"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Bestuur"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Koop ’n prestasiehupstoot."</string> diff --git a/packages/CarrierDefaultApp/res/values-am/strings.xml b/packages/CarrierDefaultApp/res/values-am/strings.xml index c27c94212da9..1bbc190ecb3f 100644 --- a/packages/CarrierDefaultApp/res/values-am/strings.xml +++ b/packages/CarrierDefaultApp/res/values-am/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"የተንቀሳቃሽ ስልክ አገልግሎት አቅራቢ"</string> <string name="portal_notification_id" msgid="5155057562457079297">"የተንቀሳቃሽ ስልክ ውሂብ አልቋል"</string> <string name="no_data_notification_id" msgid="668400731803969521">"የእርስዎ የተንቀሳቃሽ ስልክ ውሂብ ቦዝኗል"</string> @@ -15,8 +16,9 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ለምሳሌ፣ የመግቢያ ገጹ የሚታየው ድርጅት ላይሆን ይችላል።"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ለማንኛውም በአሳሽ በኩል ይቀጥሉ"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"የአፈጻጸም ጭማሪ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"የመተግበሪያ ተሞክሮዎን ያሻሽሉ"</string> - <!-- no translation found for performance_boost_notification_detail (907363829888387028) --> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"አሁን አይደለም"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"አስተዳድር"</string> diff --git a/packages/CarrierDefaultApp/res/values-ar/strings.xml b/packages/CarrierDefaultApp/res/values-ar/strings.xml index b11de161cbad..e8fa546d4a07 100644 --- a/packages/CarrierDefaultApp/res/values-ar/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ar/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"مُشغل شبكة الجوال"</string> <string name="portal_notification_id" msgid="5155057562457079297">"نفدت بيانات الجوّال"</string> <string name="no_data_notification_id" msgid="668400731803969521">"تم إيقاف بيانات الجوال"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"على سبيل المثال، قد لا تنتمي صفحة تسجيل الدخول إلى المؤسسة المعروضة."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"المتابعة على أي حال عبر المتصفح"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"تطبيق تعزيز الأداء"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"تحسين تجربة استخدامك للتطبيق"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"انقر لزيارة موقع \"%s\" الإلكتروني ومعرفة المزيد."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"لاحقًا"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"إدارة"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"شراء تطبيق تعزيز الأداء"</string> diff --git a/packages/CarrierDefaultApp/res/values-as/strings.xml b/packages/CarrierDefaultApp/res/values-as/strings.xml index 2144c0b1cb08..56e2da507616 100644 --- a/packages/CarrierDefaultApp/res/values-as/strings.xml +++ b/packages/CarrierDefaultApp/res/values-as/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ম’বাইল সেৱা প্ৰদান কৰা কোম্পানী"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ম’বাইল ডেটা শেষ হৈছে"</string> <string name="no_data_notification_id" msgid="668400731803969521">"আপোনাৰ ম’বাইল ডেটা সেৱা নিষ্ক্ৰিয় কৰা হৈছে"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"উদাহৰণস্বৰূপে, আপোনাক দেখুওৱা লগ ইনৰ পৃষ্ঠাটো প্ৰতিষ্ঠানটোৰ নিজা নহ\'বও পাৰে।"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"তথাপিও ব্ৰাউজাৰৰ জৰিয়তে অব্যাহত ৰাখক"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"কাৰ্যক্ষমতা পৰিৱৰ্ধন"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"আপোনাৰ এপৰ অভিজ্ঞতা উন্নত কৰক"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%sৰ ৱেবছাইটটো চাবলৈ আৰু অধিক জানিবলৈ টিপক"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"এতিয়া নহয়"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"পৰিচালনা কৰক"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"এটা কাৰ্যক্ষমতা পৰিৱৰ্ধন ক্ৰয় কৰক।"</string> diff --git a/packages/CarrierDefaultApp/res/values-az/strings.xml b/packages/CarrierDefaultApp/res/values-az/strings.xml index 6267b7ecf515..9677b62d3da0 100644 --- a/packages/CarrierDefaultApp/res/values-az/strings.xml +++ b/packages/CarrierDefaultApp/res/values-az/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobil Operator"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobil data bitib"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobil data deaktiv edilib"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Məsələn, giriş səhifəsi göstərilən təşkilata aid olmaya bilər."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Hər bir halda brazuer ilə davam edin"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performans artırması"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Tətbiq təcrübənizi yaxşılaşdırın"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s veb-saytına daxil olmaq üçün toxunun və ətraflı məlumat əldə edin"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"İndi yox"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"İdarə edin"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Performans artırması alın."</string> diff --git a/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml b/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml index 38fe6102ce1d..fc16b14742fa 100644 --- a/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-b+sr+Latn/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilni operater"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobilni podaci su potrošeni"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobilni podaci su deaktivirani"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Na primer, stranica za prijavljivanje možda ne pripada prikazanoj organizaciji."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Ipak nastavi preko pregledača"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Poboljšanje učinka"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Poboljšajte doživljaj aplikacije"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Dodirnite da biste posetili veb-sajt %s i saznali više"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ne sada"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Upravljaj"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kupite poboljšanje učinka."</string> diff --git a/packages/CarrierDefaultApp/res/values-be/strings.xml b/packages/CarrierDefaultApp/res/values-be/strings.xml index d92fd1b8d310..cd0974e03714 100644 --- a/packages/CarrierDefaultApp/res/values-be/strings.xml +++ b/packages/CarrierDefaultApp/res/values-be/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Аператар мабільнай сувязі"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мабільныя даныя скончыліся"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Перадача мабільных даных была дэактывавана"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Напрыклад, старонка ўваходу можа не належаць указанай арганізацыі."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Усё роўна працягнуць праз браўзер"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Павышэнне прадукцыйнасці"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Пашырце магчымасці вашай праграмы"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Націсніце, каб наведаць сайт %s\'s і даведацца больш"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Не цяпер"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Кіраваць"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Аплаціце павышэнне прадукцыйнасці."</string> diff --git a/packages/CarrierDefaultApp/res/values-bg/strings.xml b/packages/CarrierDefaultApp/res/values-bg/strings.xml index 1b574a5fecc8..966ec33da8ce 100644 --- a/packages/CarrierDefaultApp/res/values-bg/strings.xml +++ b/packages/CarrierDefaultApp/res/values-bg/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Мобилен оператор"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобилните данни са изразходвани"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобилните ви данни са деактивирани"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Например страницата за вход може да не принадлежи на показаната организация."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Продължаване през браузър въпреки това"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Увеличаване на ефективността"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Подобряване на практическата работа в приложението"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Докоснете, за да посетите уебсайта на %s и да научите повече"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Не сега"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Управление"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Купете пакет за увеличаване на ефективността."</string> diff --git a/packages/CarrierDefaultApp/res/values-bn/strings.xml b/packages/CarrierDefaultApp/res/values-bn/strings.xml index 890b3c27dde1..46eeb749f0d0 100644 --- a/packages/CarrierDefaultApp/res/values-bn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-bn/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"পরিষেবা প্রদানকারী"</string> <string name="portal_notification_id" msgid="5155057562457079297">"মোবাইল ডেটা ফুরিয়ে গেছে"</string> <string name="no_data_notification_id" msgid="668400731803969521">"আপনার মোবাইল ডেটা নিষ্ক্রিয় করা হয়েছে"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"যেমন, লগ-ইন পৃষ্ঠাটি যে প্রতিষ্ঠানের পৃষ্ঠা বলে দেখানো আছে, আসলে তা নাও হতে পারে৷"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"যাই হোক, ব্রাউজারের মাধ্যমে চালিয়ে যান"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"পারফর্ম্যান্স বুস্ট"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"আপনার অ্যাপ ব্যবহারের অভিজ্ঞতা উন্নত করুন"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s-এর ওয়েবসাইটে যেতে ট্যাপ করুন এবং আরও জানুন"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"এখন নয়"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"ম্যানেজ করুন"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"পারফর্ম্যান্স বুস্ট সংক্রান্ত ফিচার কিনুন।"</string> diff --git a/packages/CarrierDefaultApp/res/values-bs/strings.xml b/packages/CarrierDefaultApp/res/values-bs/strings.xml index 56ec344533c8..d41ad211314f 100644 --- a/packages/CarrierDefaultApp/res/values-bs/strings.xml +++ b/packages/CarrierDefaultApp/res/values-bs/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilni operater"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobilni internet je potrošen"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Prijenos podataka na mobilnoj mreži je deaktiviran"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Naprimjer, stranica za prijavljivanje možda ne pripada prikazanoj organizaciji."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Ipak nastavi preko preglednika"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Pojačavanje performansi"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Poboljšajte iskustvo u aplikaciji"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Dodirnite da posjetite web lokaciju %s i saznate više"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ne sada"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Upravljajte"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kupite pojačavanje performansi."</string> diff --git a/packages/CarrierDefaultApp/res/values-ca/strings.xml b/packages/CarrierDefaultApp/res/values-ca/strings.xml index 9a82acda247e..afde9193c9a9 100644 --- a/packages/CarrierDefaultApp/res/values-ca/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ca/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operador de telefonia mòbil"</string> <string name="portal_notification_id" msgid="5155057562457079297">"S\'han esgotat les dades mòbils"</string> <string name="no_data_notification_id" msgid="668400731803969521">"S\'han desactivat les dades mòbils"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Per exemple, la pàgina d\'inici de sessió podria no pertànyer a l\'organització que es mostra."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continua igualment mitjançant el navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Optimització de rendiment"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Millora l\'experiència a l\'aplicació"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Toca per visitar el lloc web de %s i obtenir més informació"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ara no"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gestiona"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Compra una optimització de rendiment."</string> diff --git a/packages/CarrierDefaultApp/res/values-cs/strings.xml b/packages/CarrierDefaultApp/res/values-cs/strings.xml index 31c84fe4c53d..8ede78a8a42a 100644 --- a/packages/CarrierDefaultApp/res/values-cs/strings.xml +++ b/packages/CarrierDefaultApp/res/values-cs/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilní operátor"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobilní data byla vyčerpána"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobilní data byla deaktivována"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Přihlašovací stránka například nemusí patřit zobrazované organizaci."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Přesto pokračovat prostřednictvím prohlížeče"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Zvýšení výkonu"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Vylepšete si zážitek z aplikace"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Klepnutím přejdete na web %s, kde zjistíte další informace"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Teď ne"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Spravovat"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kupte si zvýšení výkonu."</string> diff --git a/packages/CarrierDefaultApp/res/values-da/strings.xml b/packages/CarrierDefaultApp/res/values-da/strings.xml index a214db83d5a8..57f8b1a2bb62 100644 --- a/packages/CarrierDefaultApp/res/values-da/strings.xml +++ b/packages/CarrierDefaultApp/res/values-da/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilselskab"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Der er ikke mere mobildata"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobildata er blevet deaktiveret"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Det er f.eks. ikke sikkert, at loginsiden tilhører den anførte organisation."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Fortsæt alligevel via browseren"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Ydeevneboost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Få en bedre appoplevelse"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tryk for at gå til websitet for %s og få flere oplysninger"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ikke nu"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Administrer"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Køb et ydeevneboost."</string> diff --git a/packages/CarrierDefaultApp/res/values-de/strings.xml b/packages/CarrierDefaultApp/res/values-de/strings.xml index 7e9191f3f8db..65e2fd5aa44f 100644 --- a/packages/CarrierDefaultApp/res/values-de/strings.xml +++ b/packages/CarrierDefaultApp/res/values-de/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilfunkanbieter"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobile Daten sind aufgebraucht"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Deine mobilen Daten wurden deaktiviert"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Beispiel: Die Log-in-Seite gehört eventuell nicht zur angezeigten Organisation."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Trotzdem in einem Browser fortfahren"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Leistungs-Boost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"App-Nutzung verbessern"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tippe, um die Website von %s zu besuchen und mehr zu erfahren"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Nicht jetzt"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Verwalten"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Leistungs-Boost erwerben."</string> diff --git a/packages/CarrierDefaultApp/res/values-el/strings.xml b/packages/CarrierDefaultApp/res/values-el/strings.xml index 3bc890a10ea3..7a55d3a8c68e 100644 --- a/packages/CarrierDefaultApp/res/values-el/strings.xml +++ b/packages/CarrierDefaultApp/res/values-el/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Εταιρεία κινητής τηλεφωνίας"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Τα δεδομένα κινητής τηλεφωνίας εξαντλήθηκαν"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Τα δεδομένα κινητής τηλεφωνίας έχουν απενεργοποιηθεί"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Για παράδειγμα, η σελίδα σύνδεσης ενδέχεται να μην ανήκει στον οργανισμό που εμφανίζεται."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Συνέχεια ούτως ή άλλως μέσω του προγράμματος περιήγησης"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Ενίσχυση απόδοσης"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Βελτιώστε την εμπειρία της εφαρμογής"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Πατήστε για να επισκεφτείτε τον ιστότοπο %s και να μάθετε περισσότερα"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Όχι τώρα"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Διαχείριση"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Αγοράστε μια ενίσχυση απόδοσης."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml b/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml index 346a1d150f61..9d6b0132e6a5 100644 --- a/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rAU/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobile Operator"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobile data has run out"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"For example, the login page might not belong to the organisation shown."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continue anyway via browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performance boost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Improve your app experience"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tap to visit %s\'s website and learn more"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Not now"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Manage"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Purchase a performance boost."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rCA/strings.xml b/packages/CarrierDefaultApp/res/values-en-rCA/strings.xml index 2ae9f16f5ab6..00c03577c179 100644 --- a/packages/CarrierDefaultApp/res/values-en-rCA/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rCA/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobile Carrier"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobile data has run out"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"For example, the login page may not belong to the organization shown."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continue anyway via browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performance boost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Improve your app experience"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tap to visit %s\'s website and learn more"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Not now"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Manage"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Purchase a performance boost."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml b/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml index 346a1d150f61..9d6b0132e6a5 100644 --- a/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rGB/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobile Operator"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobile data has run out"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"For example, the login page might not belong to the organisation shown."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continue anyway via browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performance boost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Improve your app experience"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tap to visit %s\'s website and learn more"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Not now"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Manage"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Purchase a performance boost."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml b/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml index 346a1d150f61..9d6b0132e6a5 100644 --- a/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rIN/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobile Operator"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobile data has run out"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"For example, the login page might not belong to the organisation shown."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continue anyway via browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performance boost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Improve your app experience"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tap to visit %s\'s website and learn more"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Not now"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Manage"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Purchase a performance boost."</string> diff --git a/packages/CarrierDefaultApp/res/values-en-rXC/strings.xml b/packages/CarrierDefaultApp/res/values-en-rXC/strings.xml index 95af4d38d3a6..7f7456d10c63 100644 --- a/packages/CarrierDefaultApp/res/values-en-rXC/strings.xml +++ b/packages/CarrierDefaultApp/res/values-en-rXC/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobile Carrier"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobile data has run out"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Your mobile data has been deactivated"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"For example, the login page may not belong to the organization shown."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continue anyway via browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performance boost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Improve your app experience"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tap to visit %s\'s website and learn more"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Not now"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Manage"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Purchase a performance boost."</string> diff --git a/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml b/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml index 236a1dc5dcd0..85598235fe46 100644 --- a/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml +++ b/packages/CarrierDefaultApp/res/values-es-rUS/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Compañía de telefonía móvil"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Se agotó el servicio de datos móviles"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Se desactivaron los datos móviles"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Por ejemplo, es posible que la página de acceso no pertenezca a la organización que aparece."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuar de todos modos desde el navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Aumento de rendimiento"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Mejora tu experiencia en la app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Presiona para visitar el sitio web de %s y obtener más información"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ahora no"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Administrar"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Compra un aumento de rendimiento."</string> diff --git a/packages/CarrierDefaultApp/res/values-es/strings.xml b/packages/CarrierDefaultApp/res/values-es/strings.xml index 25505539e773..b9fa4c0d4c25 100644 --- a/packages/CarrierDefaultApp/res/values-es/strings.xml +++ b/packages/CarrierDefaultApp/res/values-es/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operador de telefonía móvil"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Se han agotado los datos móviles"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Se han desactivado los datos móviles"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Por ejemplo, es posible que la página de inicio de sesión no pertenezca a la organización mostrada."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuar de todos modos a través del navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Mejora de rendimiento"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Mejora tu experiencia en la aplicación"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Toca para visitar el sitio web de %s y obtener más información."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ahora no"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gestionar"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Comprar una mejora de rendimiento."</string> diff --git a/packages/CarrierDefaultApp/res/values-et/strings.xml b/packages/CarrierDefaultApp/res/values-et/strings.xml index e1e8cc0be5c0..e51b76c328a9 100644 --- a/packages/CarrierDefaultApp/res/values-et/strings.xml +++ b/packages/CarrierDefaultApp/res/values-et/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobiilioperaator"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobiilse andmeside limiit on täis"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Teie mobiilne andmeside on inaktiveeritud"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Näiteks ei pruugi sisselogimisleht kuuluda kuvatavale organisatsioonile."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Jätka siiski brauseris"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Jõudluse võimendus"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Aidake parandada rakenduse kasutuskogemust"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Puudutage, et külastada rakenduse %s veebisaiti ja hankida lisateavet"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Mitte praegu"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Haldamine"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Ostke jõudluse võimendus."</string> diff --git a/packages/CarrierDefaultApp/res/values-eu/strings.xml b/packages/CarrierDefaultApp/res/values-eu/strings.xml index ce6603b0cf87..36506351d9f5 100644 --- a/packages/CarrierDefaultApp/res/values-eu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-eu/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Telefonia mugikorreko operadorea"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Agortu egin da datu-konexioa"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Desaktibatu da datu-konexioa"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Adibidez, baliteke saioa hasteko orria adierazitako erakundearena ez izatea."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Jarraitu arakatzailearen bidez, halere"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Errendimendu-hobekuntza"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Hobetu aplikazioaren erabilera"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Sakatu hau %s aplikazioaren garatzailearen webgunera joateko eta informazio gehiago lortzeko"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Orain ez"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Kudeatu"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Erosi errendimendu-hobekuntza bat."</string> diff --git a/packages/CarrierDefaultApp/res/values-fa/strings.xml b/packages/CarrierDefaultApp/res/values-fa/strings.xml index 8ecc5dca6e23..0738cbfe57d5 100644 --- a/packages/CarrierDefaultApp/res/values-fa/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fa/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"شرکت مخابراتی دستگاه همراه"</string> <string name="portal_notification_id" msgid="5155057562457079297">"داده تلفن همراه تمام شده است"</string> <string name="no_data_notification_id" msgid="668400731803969521">"داده شبکه تلفن همراه شما غیرفعال شده است"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"به عنوان مثال، صفحه ورود به سیستم ممکن است متعلق به سازمان نشان داده شده نباشد."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"درهر صورت ازطریق مرورگر ادامه یابد"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"تقویتکننده عملکرد"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"تجربه برنامهتان را بهبود دهید"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"برای بازدید از وبسایت %s و کسب اطلاعات بیشتر، ضربه بزنید"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"اکنون نه"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"مدیریت"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"تقویتکننده عملکرد خریداری کنید."</string> diff --git a/packages/CarrierDefaultApp/res/values-fi/strings.xml b/packages/CarrierDefaultApp/res/values-fi/strings.xml index c283d68e055c..fc51611b978f 100644 --- a/packages/CarrierDefaultApp/res/values-fi/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fi/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobiilioperaattori"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobiilidata on loppunut."</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobiilidata poistettu käytöstä"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Kirjautumissivu ei välttämättä kuulu näytetylle organisaatiolle."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Jatka selaimen kautta"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Suorituskykyboosti"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Paranna sovelluskokemustasi"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Avaa sivusto (%s) napauttamalla, niin saat lisätietoja"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ei nyt"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Muuta"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Osta suorituskykyboosti."</string> diff --git a/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml b/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml index 8e5bf624d163..42dca42921f4 100644 --- a/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fr-rCA/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Fournisseur de services"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Vous avez épuisé votre forfait de données cellulaires"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Les données cellulaires ont été désactivées pour votre compte"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Par exemple, la page de connexion pourrait ne pas appartenir à l\'organisation représentée."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuer quand même dans un navigateur"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Optimiseur de performances"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Améliorer votre expérience de l\'application"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Touchez pour consulter le site Web de %s et en savoir plus"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Plus tard"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gérer"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Achetez un optimiseur de performances."</string> diff --git a/packages/CarrierDefaultApp/res/values-fr/strings.xml b/packages/CarrierDefaultApp/res/values-fr/strings.xml index ce769e3567ae..1d06a1d7cb7d 100644 --- a/packages/CarrierDefaultApp/res/values-fr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-fr/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Opérateur mobile"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Les données mobiles sont épuisées"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Les données mobiles ont été désactivées pour votre compte"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Par exemple, la page de connexion peut ne pas appartenir à l\'organisation représentée."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuer quand même dans le navigateur"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Boost de performances"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Améliorer votre expérience dans l\'appli"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Appuyez pour accéder au site Web de %s et en savoir plus"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Pas maintenant"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gérer"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Achetez un boost de performances."</string> diff --git a/packages/CarrierDefaultApp/res/values-gl/strings.xml b/packages/CarrierDefaultApp/res/values-gl/strings.xml index 648bca439e6f..ad2fdce9a9d6 100644 --- a/packages/CarrierDefaultApp/res/values-gl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-gl/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operador móbil"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Esgotáronse os datos móbiles"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Desactiváronse os datos móbiles"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Por exemplo, é posible que a páxina de inicio de sesión non pertenza á organización que se mostra."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuar igualmente co navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Mellora de rendemento"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Mellora a túa experiencia ao usar a aplicación"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Toca para consultar máis información no sitio web de %s"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Agora non"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Xestionar"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Comprar unha mellora de rendemento."</string> diff --git a/packages/CarrierDefaultApp/res/values-gu/strings.xml b/packages/CarrierDefaultApp/res/values-gu/strings.xml index cc4103fbaaf3..d003a44926cd 100644 --- a/packages/CarrierDefaultApp/res/values-gu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-gu/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"કૅરિઅર ડિફૉલ્ટ ઍપ્લિકેશન"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"મોબાઇલ કૅરિઅર"</string> <string name="portal_notification_id" msgid="5155057562457079297">"મોબાઇલ ડેટા પૂરો થઈ ગયો છે"</string> <string name="no_data_notification_id" msgid="668400731803969521">"તમારો મોબાઇલ ડેટા નિષ્ક્રિય કરવામાં આવ્યો છે"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ઉદાહરણ તરીકે, લોગિન પૃષ્ઠ બતાવવામાં આવેલી સંસ્થાનું ન પણ હોય."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"તો પણ બ્રાઉઝર મારફતે ચાલુ રાખો"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"પર્ફોર્મન્સ બૂસ્ટ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ઍપ વિશેનો તમારો અનુભવ બહેતર બનાવો"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%sની વેબસાઇટની મુલાકાત લેવા માટે ટૅપ કરો અને વધુ જાણો"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"હમણાં નહીં"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"મેનેજ કરો"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"પર્ફોર્મન્સ બૂસ્ટ ખરીદો."</string> diff --git a/packages/CarrierDefaultApp/res/values-hi/strings.xml b/packages/CarrierDefaultApp/res/values-hi/strings.xml index 2d832b93541b..6b3c5444d944 100644 --- a/packages/CarrierDefaultApp/res/values-hi/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hi/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"मोबाइल सेवा देने वाली कंपनी"</string> <string name="portal_notification_id" msgid="5155057562457079297">"मोबाइल डेटा खत्म हो गया है"</string> <string name="no_data_notification_id" msgid="668400731803969521">"आपका मोबाइल डेटा बंद कर दिया गया है"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"उदाहरण के लिए, हो सकता है कि लॉगिन पेज दिखाए गए संगठन का ना हो."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ब्राउज़र के ज़रिए किसी भी तरह जारी रखें"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"परफ़ॉर्मेंस बूस्ट"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ऐप्लिकेशन इस्तेमाल करने का अनुभव बेहतर बनाएं"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s की वेबसाइट पर जाने और ज़्यादा जानने के लिए टैप करें"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"अभी नहीं"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"मैनेज करें"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"कोई परफ़ॉर्मेंस बूस्ट खरीदें."</string> diff --git a/packages/CarrierDefaultApp/res/values-hr/strings.xml b/packages/CarrierDefaultApp/res/values-hr/strings.xml index f137d096c879..1a58080eaa86 100644 --- a/packages/CarrierDefaultApp/res/values-hr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hr/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"Zadana aplikacija mobilnog operatera"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilni operater"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobilni su podaci potrošeni"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobilni su podaci deaktivirani"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Na primjer, stranica za prijavu možda ne pripada prikazanoj organizaciji."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Ipak nastavi putem preglednika"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Poboljšanje izvedbe"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Poboljšajte svoj doživljaj aplikacije"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Dodirnite da biste posjetili web-lokaciju %s i saznali više"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ne sad"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Upravljajte"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kupite poboljšanje izvedbe."</string> diff --git a/packages/CarrierDefaultApp/res/values-hu/strings.xml b/packages/CarrierDefaultApp/res/values-hu/strings.xml index 45a7e813b7e8..6ed1efe7cebd 100644 --- a/packages/CarrierDefaultApp/res/values-hu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hu/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilszolgáltató"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Elérte a rendelkezésre álló mobiladat-mennyiséget"</string> <string name="no_data_notification_id" msgid="668400731803969521">"A rendszer deaktiválta a mobiladat-forgalmat"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Például lehetséges, hogy a bejelentkezési oldal nem a megjelenített szervezethez tartozik."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Folytatás ennek ellenére böngészőn keresztül"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Teljesítménynövelés"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Az alkalmazással kapcsolatos élmény javítása"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Koppintson a(z) %s webhelyének megnyitásához és a további információk megtekintéséhez."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Most nem"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Kezelés"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Vásároljon teljesítménynövelést."</string> diff --git a/packages/CarrierDefaultApp/res/values-hy/strings.xml b/packages/CarrierDefaultApp/res/values-hy/strings.xml index 23cc5579c772..bca95a30dd7e 100644 --- a/packages/CarrierDefaultApp/res/values-hy/strings.xml +++ b/packages/CarrierDefaultApp/res/values-hy/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Բջջային օպերատոր"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Բջջային ինտերնետի սահմանաչափը սպառվել է"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Ձեր բջջային ինտերնետն ապակտիվացված է"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Օրինակ՝ մուտքի էջը կարող է ցուցադրված կազմակերպության էջը չլինել:"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Շարունակել դիտարկիչի միջոցով"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Արտադրողականության բարձրացում"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Բարելավեք հավելվածի օգտագործման ձեր փորձառությունը"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Հպեք՝ %s-ի կայք անցնելու և ավելին իմանալու համար"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ոչ հիմա"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Կառավարել"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Բարձրացրեք ցանցի արտադրողականությունը վճարի դիմաց։"</string> diff --git a/packages/CarrierDefaultApp/res/values-in/strings.xml b/packages/CarrierDefaultApp/res/values-in/strings.xml index 1a6658483d71..cb0f35b0ef7d 100644 --- a/packages/CarrierDefaultApp/res/values-in/strings.xml +++ b/packages/CarrierDefaultApp/res/values-in/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"AplikasiDefaultOperator"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operator Seluler"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Data seluler telah habis"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Data seluler telah dinonaktifkan"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Misalnya, halaman login mungkin bukan milik organisasi yang ditampilkan."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Tetap lanjutkan melalui browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Penguat sinyal"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Tingkatkan pengalaman aplikasi Anda"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Ketuk untuk membuka situs %s dan mempelajari lebih lanjut"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Lain kali"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Kelola"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Beli penguat sinyal."</string> diff --git a/packages/CarrierDefaultApp/res/values-is/strings.xml b/packages/CarrierDefaultApp/res/values-is/strings.xml index 7e7ecde6b68c..1e5fa784f1c1 100644 --- a/packages/CarrierDefaultApp/res/values-is/strings.xml +++ b/packages/CarrierDefaultApp/res/values-is/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Símafyrirtæki"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Farsímagögn kláruðust"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Slökkt hefur verið á farsímagögnum"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Til dæmis getur verið að innskráningarsíðan tilheyri ekki fyrirtækinu sem birtist."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Halda samt áfram í vafra"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Afkastaaukning"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Bættu forritsupplifunina"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Ýttu til að opna vefsvæði %s og fá frekari upplýsingar"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ekki núna"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Stjórna"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kaupa afkastaaukningu."</string> diff --git a/packages/CarrierDefaultApp/res/values-it/strings.xml b/packages/CarrierDefaultApp/res/values-it/strings.xml index 11ef6bae942c..f608ae97f0fb 100644 --- a/packages/CarrierDefaultApp/res/values-it/strings.xml +++ b/packages/CarrierDefaultApp/res/values-it/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operatore di telefonia mobile"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Dati mobili esauriti"</string> <string name="no_data_notification_id" msgid="668400731803969521">"I dati mobili sono stati disattivati"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Ad esempio, la pagina di accesso potrebbe non appartenere all\'organizzazione indicata."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continua comunque dal browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Aumento di prestazioni"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Migliora l\'esperienza con la tua app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tocca per visitare il sito web di %s e scoprire di più"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Non ora"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gestisci"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Acquista un aumento di prestazioni."</string> diff --git a/packages/CarrierDefaultApp/res/values-iw/strings.xml b/packages/CarrierDefaultApp/res/values-iw/strings.xml index 4e67a423d5ee..3551acf22dc6 100644 --- a/packages/CarrierDefaultApp/res/values-iw/strings.xml +++ b/packages/CarrierDefaultApp/res/values-iw/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ספק שירות לנייד"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ניצלת את מכסת הנתונים הסלולריים"</string> <string name="no_data_notification_id" msgid="668400731803969521">"חבילת הגלישה שלך הושבתה"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"לדוגמה, ייתכן שדף ההתחברות אינו שייך לארגון המוצג."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"המשך בכל זאת באמצעות דפדפן"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"שיפור ביצועים"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"שיפור חוויית השימוש באפליקציה"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"ניתן להקיש כדי להיכנס אל האתר של %s ולקבל מידע נוסף"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"לא עכשיו"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"ניהול"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"רכישת שיפור ביצועים."</string> diff --git a/packages/CarrierDefaultApp/res/values-ja/strings.xml b/packages/CarrierDefaultApp/res/values-ja/strings.xml index 3115283feced..1fcbd7e5f834 100644 --- a/packages/CarrierDefaultApp/res/values-ja/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ja/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"携帯通信会社のデフォルト アプリ"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"携帯通信会社"</string> <string name="portal_notification_id" msgid="5155057562457079297">"モバイルデータの残量がありません"</string> <string name="no_data_notification_id" msgid="668400731803969521">"モバイルデータが無効になっています"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"たとえば、ログインページが表示されている組織に属していない可能性があります。"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ブラウザから続行"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"パフォーマンス ブースト"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"アプリ内エクスペリエンスの改善"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"タップして %s のウェブサイトにアクセスし、詳細をご覧ください"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"後で"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"管理"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"パフォーマンス ブーストを購入してください。"</string> diff --git a/packages/CarrierDefaultApp/res/values-ka/strings.xml b/packages/CarrierDefaultApp/res/values-ka/strings.xml index cae7aade7628..ee281d78a436 100644 --- a/packages/CarrierDefaultApp/res/values-ka/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ka/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"მობილური ოპერატორი"</string> <string name="portal_notification_id" msgid="5155057562457079297">"მობილური ინტერნეტის პაკეტი ამოიწურა"</string> <string name="no_data_notification_id" msgid="668400731803969521">"მობილური ინტერნეტი დეაქტივირებულია"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"მაგალითად, სისტემაში შესვლის გვერდი შეიძლება არ ეკუთვნოდეს ნაჩვენებ ორგანიზაციას."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"მაინც ბრაუზერში გაგრძელება"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"ეფექტურობის გაძლიერება"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"გააუმჯობესეთ თქვენი აპიდან მიღებული გამოცდილება"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"შეეხეთ, რომ ეწვიოთ %s-ის ვებსაიტს და შეიტყოთ მეტი"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ახლა არა"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"მართვა"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ეფექტურობის გაძლიერების შეძენა."</string> diff --git a/packages/CarrierDefaultApp/res/values-kk/strings.xml b/packages/CarrierDefaultApp/res/values-kk/strings.xml index 91a0c83cd6ed..b5f69504de62 100644 --- a/packages/CarrierDefaultApp/res/values-kk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-kk/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Мобильдік байланыс операторы"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобильдік интернет бітті"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобильдік интернет өшірілді"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Мысалы, кіру беті көрсетілген ұйымға тиесілі болмауы мүмкін."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Бәрібір браузер арқылы жалғастыру"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Өнімділікті арттыру"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Қолданба мүмкіндіктерін жақсартыңыз"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s веб-сайтына кіру және толық ақпарат алу үшін түртіңіз."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Қазір емес"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Басқару"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Өнімділікті арттыру құралын сатып алыңыз."</string> diff --git a/packages/CarrierDefaultApp/res/values-km/strings.xml b/packages/CarrierDefaultApp/res/values-km/strings.xml index d15883e8ed87..20199a7b06f4 100644 --- a/packages/CarrierDefaultApp/res/values-km/strings.xml +++ b/packages/CarrierDefaultApp/res/values-km/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ក្រុមហ៊ុនបម្រើសេវាទូរសព្ទចល័ត"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ទិន្នន័យចល័តបានអស់ហើយ"</string> <string name="no_data_notification_id" msgid="668400731803969521">"ទិន្នន័យចល័តរបស់អ្នកត្រូវបានបិទដំណើរការហើយ"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ឧទាហរណ៍៖ ទំព័រចូលនេះអាចនឹងមិនមែនជាកម្មសិទ្ធិរបស់ស្ថាប័នដែលបានបង្ហាញនេះទេ។"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"យ៉ាងណាក៏ដោយនៅតែបន្តតាមរយៈកម្មវិធីរុករកតាមអ៊ីនធឺណិត"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"ការបង្កើនប្រតិបត្តិការ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"កែលម្អបទពិសោធន៍ប្រើប្រាស់កម្មវិធីរបស់អ្នក"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"ចុចដើម្បីចូលទៅកាន់គេហទំព័ររបស់ %s និងស្វែងយល់បន្ថែម"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"កុំទាន់"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"គ្រប់គ្រង"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ទិញការបង្កើនប្រតិបត្តិការ។"</string> diff --git a/packages/CarrierDefaultApp/res/values-kn/strings.xml b/packages/CarrierDefaultApp/res/values-kn/strings.xml index 7c7e0377d57f..619b92a0dc5a 100644 --- a/packages/CarrierDefaultApp/res/values-kn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-kn/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ಮೊಬೈಲ್ ವಾಹಕ"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ಮೊಬೈಲ್ ಡೇಟಾ ಮುಗಿದುಹೋಗಿದೆ"</string> <string name="no_data_notification_id" msgid="668400731803969521">"ನಿಮ್ಮ ಮೊಬೈಲ್ ಡೇಟಾ ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ಉದಾಹರಣೆಗೆ, ಲಾಗಿನ್ ಪುಟವು ತೋರಿಸಲಾಗಿರುವ ಸಂಸ್ಥೆಗೆ ಸಂಬಂಧಿಸಿಲ್ಲದಿರಬಹುದು."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ಪರವಾಗಿಲ್ಲ, ಬ್ರೌಸರ್ ಮೂಲಕ ಮುಂದುವರಿಸಿ"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"ಕಾರ್ಯಕ್ಷಮತೆ ಬೂಸ್ಟ್"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ನಿಮ್ಮ ಆ್ಯಪ್ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಿ"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s ನ ವೆಬ್ಸೈಟ್ಗೆ ಭೇಟಿ ನೀಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಿ"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ಈಗ ಬೇಡ"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"ನಿರ್ವಹಿಸಿ"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ಕಾರ್ಯಕ್ಷಮತೆ ಬೂಸ್ಟ್ ಅನ್ನು ಖರೀದಿಸಿ."</string> diff --git a/packages/CarrierDefaultApp/res/values-ko/strings.xml b/packages/CarrierDefaultApp/res/values-ko/strings.xml index afc706887b0d..46e172da378e 100644 --- a/packages/CarrierDefaultApp/res/values-ko/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ko/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"이동통신사 기본 앱"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"이동통신사"</string> <string name="portal_notification_id" msgid="5155057562457079297">"모바일 데이터가 소진되었습니다."</string> <string name="no_data_notification_id" msgid="668400731803969521">"모바일 데이터가 비활성화되었습니다."</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"예를 들어 로그인 페이지가 표시된 조직에 속하지 않을 수 있습니다."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"브라우저를 통해 계속하기"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"성능 향상"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"앱 환경 개선"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s의 웹사이트를 방문하여 자세히 알아보려면 탭하세요."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"나중에"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"관리"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"성능 향상 구매"</string> diff --git a/packages/CarrierDefaultApp/res/values-ky/strings.xml b/packages/CarrierDefaultApp/res/values-ky/strings.xml index ddb457734141..f2a96bc8ef77 100644 --- a/packages/CarrierDefaultApp/res/values-ky/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ky/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Мобилдик байланыш оператору"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобилдик Интернетиңиздин трафиги түгөндү"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобилдик Интернет өчүрүлгөн"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Мисалы, аккаунтка кирүү баракчасы көрсөтүлгөн уюмга таандык эмес болушу мүмкүн."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Баары бир серепчи аркылуу улантуу"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Иштин майнаптуулугун жогорулатуу"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Колдонмону ыңгайлуу кылыңыз"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s вебсайтына баш багуу жана кеңири маалымат алуу үчүн таптаңыз"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Азыр эмес"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Тескөө"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Иштин майнаптуулугун жогорулатууну сатып алыңыз."</string> diff --git a/packages/CarrierDefaultApp/res/values-lo/strings.xml b/packages/CarrierDefaultApp/res/values-lo/strings.xml index 3e4580680e4f..28af8307bbee 100644 --- a/packages/CarrierDefaultApp/res/values-lo/strings.xml +++ b/packages/CarrierDefaultApp/res/values-lo/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ຜູ້ໃຫ້ບໍລິການມືຖື"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ອິນເຕີເນັດມືຖືໝົດແລ້ວ"</string> <string name="no_data_notification_id" msgid="668400731803969521">"ປິດການນຳໃຊ້ອິນເຕີເນັດມືຖືຂອງທ່ານແລ້ວ"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ຕົວຢ່າງ, ໜ້າເຂົ້າສູ່ລະບົບອາດຈະບໍ່ແມ່ນຂອງອົງກອນທີ່ປາກົດ."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ດຳເນີນການຕໍ່ຜ່ານໂປຣແກຣມທ່ອງເວັບ"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"ເລັ່ງປະສິດທິພາບ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ປັບປຸງປະສົບການແອັບຂອງທ່ານ"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"ແຕະເພື່ອເຂົ້າເບິ່ງເວັບໄຊຂອງ %s ແລະ ສຶກສາເພີ່ມເຕີມ"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ບໍ່ຟ້າວເທື່ອ"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"ຈັດການ"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ຊື້ການເລັ່ງປະສິດທິພາບ."</string> diff --git a/packages/CarrierDefaultApp/res/values-lt/strings.xml b/packages/CarrierDefaultApp/res/values-lt/strings.xml index 689d5f714550..b9be33303ba2 100644 --- a/packages/CarrierDefaultApp/res/values-lt/strings.xml +++ b/packages/CarrierDefaultApp/res/values-lt/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobiliojo ryšio operatorius"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobiliojo ryšio duomenys baigėsi"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobiliojo ryšio duomenys išaktyvinti"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Pavyzdžiui, prisijungimo puslapis gali nepriklausyti rodomai organizacijai."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Vis tiek tęsti naudojant naršyklę"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Našumo pagerinimas"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Pagerinkite savo programos naudojimo patirtį"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Palieskite, jei norite apsilankyti %s svetainėje ir sužinoti daugiau"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ne dabar"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Tvarkyti"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Įsigykite našumo pagerinimo paslaugą."</string> diff --git a/packages/CarrierDefaultApp/res/values-lv/strings.xml b/packages/CarrierDefaultApp/res/values-lv/strings.xml index 3485fe195a35..d539947925e7 100644 --- a/packages/CarrierDefaultApp/res/values-lv/strings.xml +++ b/packages/CarrierDefaultApp/res/values-lv/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilo sakaru operators"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Sasniegts mobilo datu ierobežojums."</string> <string name="no_data_notification_id" msgid="668400731803969521">"Jūsu mobilie dati ir deaktivizēti"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Piemēram, pieteikšanās lapa, iespējams, nepieder norādītajai organizācijai."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Tomēr turpināt, izmantojot pārlūkprogrammu"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Veiktspējas uzlabojums"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Uzlabojiet lietotnes darbību"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Pieskarieties, lai apmeklētu %s vietni un uzzinātu vairāk."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Vēlāk"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Pārvaldīt"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Iegādājieties veiktspējas uzlabojumu."</string> diff --git a/packages/CarrierDefaultApp/res/values-mk/strings.xml b/packages/CarrierDefaultApp/res/values-mk/strings.xml index d09bdfeaccca..4efecb05c2ea 100644 --- a/packages/CarrierDefaultApp/res/values-mk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-mk/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Мобилен оператор"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобилниот интернет е искористен"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобилниот интернет ви е деактивиран"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"На пример, страницата за најавување може да не припаѓа на прикажаната организација."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Сепак продолжи преку прелистувач"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Засилување на изведбата"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Подобрете го вашето доживување со апликацијата"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Допрете за да го посетите веб-сајтот на %s и да дознаете повеќе"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Не сега"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Управувајте"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Купете засилување на изведбата."</string> diff --git a/packages/CarrierDefaultApp/res/values-ml/strings.xml b/packages/CarrierDefaultApp/res/values-ml/strings.xml index 77b0f026bf8c..f4c19a3a274a 100644 --- a/packages/CarrierDefaultApp/res/values-ml/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ml/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"മൊബൈൽ കാരിയർ"</string> <string name="portal_notification_id" msgid="5155057562457079297">"മൊബൈൽ ഡാറ്റ തീർന്നിരിക്കുന്നു"</string> <string name="no_data_notification_id" msgid="668400731803969521">"നിങ്ങളുടെ മൊബൈൽ ഡാറ്റ നിർജീവമാക്കി"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ഉദാഹരണത്തിന്, കാണിച്ചിരിക്കുന്ന ഓർഗനൈസേഷന്റേതായിരിക്കില്ല ലോഗിൻ പേജ്."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"എന്തായാലും ബ്രൗസർ വഴി തുടരുക"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"പ്രകടന ബൂസ്റ്റ്"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"നിങ്ങളുടെ ആപ്പ് അനുഭവം മെച്ചപ്പെടുത്തുക"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s എന്നതിന്റെ വെബ്സൈറ്റ് സന്ദർശിക്കാനും കൂടുതലറിയാനും ടാപ്പ് ചെയ്യുക"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ഇപ്പോൾ വേണ്ട"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"മാനേജ് ചെയ്യുക"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"പ്രകടന ബൂസ്റ്റ് വാങ്ങൂ."</string> diff --git a/packages/CarrierDefaultApp/res/values-mn/strings.xml b/packages/CarrierDefaultApp/res/values-mn/strings.xml index c101a4e091f0..2f33eb2e71c6 100644 --- a/packages/CarrierDefaultApp/res/values-mn/strings.xml +++ b/packages/CarrierDefaultApp/res/values-mn/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Мобайл оператор компани"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобайл дата дууссан"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Таны мобайл датаг идэвхгүй болгосон"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Жишээлбэл нэвтрэх хуудас нь харагдаж буй байгууллагынх биш байж болно."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Ямар ч тохиолдолд хөтчөөр үргэлжлүүлэх"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Гүйцэтгэлийн идэвхжүүлэлт"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Аппын хэрэглээгээ сайжруулаарай"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s-н вебсайтад зочлох болон нэмэлт мэдээлэл авахын тулд товшино уу"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Одоо биш"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Удирдах"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Гүйцэтгэлийн идэвхжүүлэлтийг худалдаж аваарай."</string> diff --git a/packages/CarrierDefaultApp/res/values-mr/strings.xml b/packages/CarrierDefaultApp/res/values-mr/strings.xml index eba276224a91..941454592d5f 100644 --- a/packages/CarrierDefaultApp/res/values-mr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-mr/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"मोबाइल वाहक"</string> <string name="portal_notification_id" msgid="5155057562457079297">"मोबाइल डेटा संपला आहे"</string> <string name="no_data_notification_id" msgid="668400731803969521">"तुमचा मोबाइल डेटा निष्क्रिय केला गेला"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"उदाहरणार्थ, लॉग इन पृष्ठ दर्शवलेल्या संस्थेच्या मालकीचे नसू शकते."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"तरीही ब्राउझरद्वारे सुरू ठेवा"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"परफॉर्मन्स बूस्ट"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"तुमच्या अॅपशी संबंधित अनुभवामध्ये सुधारणा करा"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s च्या वेबसाइटला भेट देण्यासाठी टॅप करा आणि आणखी जाणून घ्या"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"आता नको"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"व्यवस्थापित करा"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"परफॉर्मन्स बूस्ट खरेदी करा."</string> diff --git a/packages/CarrierDefaultApp/res/values-ms/strings.xml b/packages/CarrierDefaultApp/res/values-ms/strings.xml index a6cabe50417e..4fb377e674dd 100644 --- a/packages/CarrierDefaultApp/res/values-ms/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ms/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"AplLalaiPembawa"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Pembawa Mudah Alih"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Data mudah alih telah habis"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Data mudah alih anda telah dinyahaktifkan"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Contohnya, halaman log masuk mungkin bukan milik organisasi yang ditunjukkan."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Teruskan juga melalui penyemak imbas"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Peningkatan prestasi"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Tingkatkan pengalaman apl anda"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Ketik untuk melawat laman web %s dan ketahui lebih lanjut"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Bukan sekarang"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Urus"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Beli perangsang prestasi."</string> diff --git a/packages/CarrierDefaultApp/res/values-my/strings.xml b/packages/CarrierDefaultApp/res/values-my/strings.xml index f858b0036bae..002edd86d38d 100644 --- a/packages/CarrierDefaultApp/res/values-my/strings.xml +++ b/packages/CarrierDefaultApp/res/values-my/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"မိုဘိုင်း ဝန်ဆောင်မှုပေးသူ"</string> <string name="portal_notification_id" msgid="5155057562457079297">"မိုဘိုင်းဒေတာ ကုန်သွားပါပြီ"</string> <string name="no_data_notification_id" msgid="668400731803969521">"သင်၏ မိုဘိုင်း ဒေတာကို ပိတ်ထားပါသည်"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ဥပမာ− ဝင်ရောက်ရန် စာမျက်နှာသည် ပြသထားသည့် အဖွဲ့အစည်းနှင့် သက်ဆိုင်မှုမရှိခြင်း ဖြစ်နိုင်ပါသည်။"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"မည်သို့ပင်ဖြစ်စေ ဘရောက်ဇာမှတစ်ဆင့် ရှေ့ဆက်ရန်"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"စွမ်းဆောင်ရည် မြှင့်တင်အက်ပ်"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"အက်ပ်အသုံးပြုမှု ပိုမိုကောင်းမွန်စေခြင်း"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s ၏ ဝဘ်ဆိုက်ကို ဝင်ကြည့်ပြီး ပိုမိုလေ့လာရန် တို့ပါ"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ယခုမလုပ်ပါ"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"စီမံရန်"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"စွမ်းဆောင်ရည် မြှင့်တင်အက်ပ် ဝယ်ယူရန်။"</string> diff --git a/packages/CarrierDefaultApp/res/values-nb/strings.xml b/packages/CarrierDefaultApp/res/values-nb/strings.xml index 2e9283ee5d37..e001e44e3671 100644 --- a/packages/CarrierDefaultApp/res/values-nb/strings.xml +++ b/packages/CarrierDefaultApp/res/values-nb/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobiloperatør"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Du er tom for mobildata"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobildata er deaktivert"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Det er for eksempel mulig at påloggingssiden ikke tilhører organisasjonen som vises."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Fortsett likevel via nettleseren"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Bedre ytelse"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Få enda mer ut av appen"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Trykk for å gå til nettstedet til %s og finne ut mer"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ikke nå"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Administrer"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kjøp bedre ytelse."</string> diff --git a/packages/CarrierDefaultApp/res/values-ne/strings.xml b/packages/CarrierDefaultApp/res/values-ne/strings.xml index 5750938611b3..169ceff4a304 100644 --- a/packages/CarrierDefaultApp/res/values-ne/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ne/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"मोबाइलको सेवा प्रदायक छनौट गर्नुहोस्"</string> <string name="portal_notification_id" msgid="5155057562457079297">"मोबाइल डेटा सकियो"</string> <string name="no_data_notification_id" msgid="668400731803969521">"तपाईंको मोबाइल डेटा निष्क्रिय पारिएको छ"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"उदाहरणका लागि, लग इन पृष्ठ देखाइएको संस्थाको नहुन सक्छ।"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"जे भए पनि ब्राउजर मार्फत जारी राख्नुहोस्"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"पर्फर्मेन्स बुस्ट"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"एप प्रयोग गर्दा अझ राम्रो सुविधा पाउनुहोस्"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s को वेबसाइटमा गई थप जान्न ट्याप गर्नुहोस्"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"अहिले होइन"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"व्यवस्थापन गर्नुहोस्"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"पर्फर्मेन्स बुस्ट किन्नुहोस्।"</string> diff --git a/packages/CarrierDefaultApp/res/values-nl/strings.xml b/packages/CarrierDefaultApp/res/values-nl/strings.xml index 061d1b8c4482..35ecb3cf904a 100644 --- a/packages/CarrierDefaultApp/res/values-nl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-nl/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobiele provider"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobiele data verbruikt"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Je mobiele data zijn uitgeschakeld"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Zo hoort de weergegeven inlogpagina misschien niet bij de weergegeven organisatie."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Toch doorgaan via browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Prestatieboost"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Haal meer uit de app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tik om naar de website van %s te gaan voor meer informatie"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Niet nu"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Beheren"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Koop een prestatieboost."</string> diff --git a/packages/CarrierDefaultApp/res/values-or/strings.xml b/packages/CarrierDefaultApp/res/values-or/strings.xml index 5f36024d462f..dc13b65f2e19 100644 --- a/packages/CarrierDefaultApp/res/values-or/strings.xml +++ b/packages/CarrierDefaultApp/res/values-or/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ମୋବାଇଲ୍ କେରିଅର୍"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ମୋବାଇଲ୍ ଡାଟା ଶେଷ ହୋଇଯାଇଛି"</string> <string name="no_data_notification_id" msgid="668400731803969521">"ଆପଣଙ୍କ ମୋବାଇଲ୍ ଡାଟା ନିଷ୍କ୍ରୀୟ କରାଯାଇଛି"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ଉଦାହରଣସ୍ୱରୂପ, ଲଗଇନ୍ ପୃଷ୍ଠା ଦେଖାଯାଇଥିବା ସଂସ୍ଥାର ହୋଇନଥାଇପାରେ।"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ବ୍ରାଉଜର୍ ଜରିଆରେ ଯେମିତିବି ହେଉ ଜାରି ରଖନ୍ତୁ"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"ପରଫରମାନ୍ସ ବୁଷ୍ଟ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ଆପଣଙ୍କ ଆପ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରନ୍ତୁ"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%sର ୱେବସାଇଟ ଭିଜିଟ କରି ଅଧିକ ଜାଣିବାକୁ ଟାପ କରନ୍ତୁ"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ବର୍ତ୍ତମାନ ନୁହେଁ"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"ପରିଚାଳନା କରନ୍ତୁ"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ଏକ ପରଫରମାନ୍ସ ବୁଷ୍ଟ କିଣନ୍ତୁ।"</string> diff --git a/packages/CarrierDefaultApp/res/values-pa/strings.xml b/packages/CarrierDefaultApp/res/values-pa/strings.xml index f53758ed0524..c9fd0e801b70 100644 --- a/packages/CarrierDefaultApp/res/values-pa/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pa/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ਮੋਬਾਈਲ ਕੈਰੀਅਰ"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ਮੋਬਾਈਲ ਡਾਟਾ ਖਤਮ ਹੋ ਗਿਆ ਹੈ"</string> <string name="no_data_notification_id" msgid="668400731803969521">"ਤੁਹਾਡਾ ਮੋਬਾਈਲ ਡਾਟਾ ਅਕਿਰਿਆਸ਼ੀਲ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ਉਦਾਹਰਣ ਵੱਜੋਂ, ਲੌਗ-ਇਨ ਪੰਨਾ ਦਿਖਾਈ ਗਈ ਸੰਸਥਾ ਨਾਲ ਸੰਬੰਧਿਤ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ਬ੍ਰਾਊਜ਼ਰ ਰਾਹੀਂ ਫਿਰ ਵੀ ਜਾਰੀ ਰੱਖੋ"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"ਕਾਰਗੁਜ਼ਾਰੀ ਬੂਸਟ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ਆਪਣੇ ਐਪ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਓ"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s ਦੀ ਵੈੱਬਸਾਈਟ \'ਤੇ ਜਾਣ ਲਈ ਟੈਪ ਕਰੋ ਅਤੇ ਹੋਰ ਜਾਣੋ"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ਹੁਣੇ ਨਹੀਂ"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"ਪ੍ਰਬੰਧਨ ਕਰੋ"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ਕਾਰਗੁਜ਼ਾਰੀ ਬੂਸਟ ਖਰੀਦੋ।"</string> diff --git a/packages/CarrierDefaultApp/res/values-pl/strings.xml b/packages/CarrierDefaultApp/res/values-pl/strings.xml index cd961b4df921..3ca001ba12e5 100644 --- a/packages/CarrierDefaultApp/res/values-pl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pl/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"Domyślna aplikacja operatora"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operator komórkowy"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Osiągnięto limit komórkowej transmisji danych"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobilna transmisja danych została wyłączona"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Na przykład strona logowania może nie należeć do wyświetlanej organizacji."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Kontynuuj mimo to w przeglądarce"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Zwiększenie wydajności"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Ulepsz działanie aplikacji"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Kliknij, aby odwiedzić witrynę %s i dowiedzieć się więcej"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Nie teraz"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Zarządzaj"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kup wzmocnienie wydajności"</string> diff --git a/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml b/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml index 1975c6d59618..cb8329c77d2d 100644 --- a/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pt-rBR/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operadora de celular"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Os dados móveis se esgotaram"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Os dados móveis foram desativados"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Por exemplo, a página de login pode não pertencer à organização mostrada."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuar mesmo assim pelo navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Aumento de performance"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Melhore sua experiência no app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Toque para acessar o site de %s e saber mais"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Agora não"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gerenciar"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Comprar um aumento de performance."</string> diff --git a/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml b/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml index f32fa898a3b1..7e435cff2dd5 100644 --- a/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pt-rPT/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operador móvel"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Dados móveis esgotados"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Os seus dados móveis foram desativados"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Por exemplo, a página de início de sessão pode não pertencer à entidade apresentada."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuar mesmo assim através do navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Aumento do desempenho"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Melhore a sua experiência na app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Toque para visitar o Website de %s e saiba mais"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Agora não"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gerir"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Compre um aumento do desempenho."</string> diff --git a/packages/CarrierDefaultApp/res/values-pt/strings.xml b/packages/CarrierDefaultApp/res/values-pt/strings.xml index 1975c6d59618..cb8329c77d2d 100644 --- a/packages/CarrierDefaultApp/res/values-pt/strings.xml +++ b/packages/CarrierDefaultApp/res/values-pt/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operadora de celular"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Os dados móveis se esgotaram"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Os dados móveis foram desativados"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Por exemplo, a página de login pode não pertencer à organização mostrada."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuar mesmo assim pelo navegador"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Aumento de performance"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Melhore sua experiência no app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Toque para acessar o site de %s e saber mais"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Agora não"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gerenciar"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Comprar um aumento de performance."</string> diff --git a/packages/CarrierDefaultApp/res/values-ro/strings.xml b/packages/CarrierDefaultApp/res/values-ro/strings.xml index 7f0dd4aeb793..042d9ec407af 100644 --- a/packages/CarrierDefaultApp/res/values-ro/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ro/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"AplicațiePrestabilităOperator"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operator de telefonie mobilă"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Datele mobile au expirat"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Datele mobile au fost dezactivate"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"De exemplu, este posibil ca pagina de conectare să nu aparțină organizației afișate."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Continuă oricum prin browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Boost de performanță"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Îmbunătățește-ți experiența în aplicație"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Atinge ca să vizitezi site-ul %s și să afli mai multe"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Nu acum"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Gestionează"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Achiziționează un boost de performanță."</string> diff --git a/packages/CarrierDefaultApp/res/values-ru/strings.xml b/packages/CarrierDefaultApp/res/values-ru/strings.xml index 5bd744478308..0c257967a9bb 100644 --- a/packages/CarrierDefaultApp/res/values-ru/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ru/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Оператор мобильной связи"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобильный трафик израсходован"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобильный Интернет отключен"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Например, страница входа в аккаунт может быть фиктивной."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Продолжить в браузере"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Повышение производительности"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Сделайте приложение удобнее"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Нажмите, чтобы перейти на сайт \"%s\" и узнать больше."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Не сейчас"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Настроить"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Повысьте производительность сети за плату."</string> diff --git a/packages/CarrierDefaultApp/res/values-si/strings.xml b/packages/CarrierDefaultApp/res/values-si/strings.xml index 36949968c55e..6a8ce71abe00 100644 --- a/packages/CarrierDefaultApp/res/values-si/strings.xml +++ b/packages/CarrierDefaultApp/res/values-si/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ජංගම වාහකය"</string> <string name="portal_notification_id" msgid="5155057562457079297">"ජංගම දත්ත අවසන් වී ඇත"</string> <string name="no_data_notification_id" msgid="668400731803969521">"ඔබගේ ජංගම දත්ත අක්රිය කර ඇත"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"උදාහරණයක් ලෙස, පුරනය වන පිටුව පෙන්වා ඇති සංවිධානයට අයිති නැති විය හැක."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"කෙසේ වුවත් බ්රවුසරය හරහා ඉදිරියට යන්න"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"කාර්ය සාධනය ඉහළ නැංවීම"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ඔබේ යෙදුම් අත්දැකීම වැඩි දියුණු කරන්න"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%sගේ වෙබ් අඩවියට පිවිසීමට සහ තව දැන ගැනීමට තට්ටු කරන්න"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"දැන් නොවේ"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"කළමනාකරණය කරන්න"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"කාර්ය සාධනය ඉහළ නැංවීමක් මිල දී ගන්න."</string> diff --git a/packages/CarrierDefaultApp/res/values-sk/strings.xml b/packages/CarrierDefaultApp/res/values-sk/strings.xml index 4eac2a248385..e14e0875b89f 100644 --- a/packages/CarrierDefaultApp/res/values-sk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sk/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Poskytovateľ mobilných služieb"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobilné dáta sa minuli"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Vaše mobilné dáta boli deaktivované"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Napríklad prihlasovacia stránka nemusí patriť uvedenej organizácii."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Pokračovať pomocou prehliadača"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Zvýšenie výkonu"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Zlepšite si prostredie v aplikácii"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Ak chcete navštíviť web služby %s a dozvedieť sa viac, klepnite"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Teraz nie"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Spravovať"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kúpte si zvýšenie výkonu."</string> diff --git a/packages/CarrierDefaultApp/res/values-sl/strings.xml b/packages/CarrierDefaultApp/res/values-sl/strings.xml index ae95fed8b67a..21cb9443b819 100644 --- a/packages/CarrierDefaultApp/res/values-sl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sl/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"Privzeta aplikacija operaterja"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobilni operater"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Porabili ste vse mobilne podatke"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Prenos podatkov v mobilnih omrežjih je deaktiviran"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Stran za prijavo na primer morda ne pripada prikazani organizaciji."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Vseeno nadaljuj v brskalniku"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Ojačevalnik zmogljivosti"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Izboljšajte izkušnjo z aplikacijami"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Dotaknite se za ogled več informacij na spletnem mestu operaterja %s."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Ne zdaj"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Upravljanje"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Kupite ojačevalnik zmogljivosti."</string> diff --git a/packages/CarrierDefaultApp/res/values-sq/strings.xml b/packages/CarrierDefaultApp/res/values-sq/strings.xml index d991599acd4f..9d501d958506 100644 --- a/packages/CarrierDefaultApp/res/values-sq/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sq/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Operatori celular"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Të dhënat celulare kanë përfunduar"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Të dhënat celulare janë çaktivizuar"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"për shembull, faqja e identifikimit mund të mos i përkasë organizatës së shfaqur."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Vazhdo gjithsesi nëpërmjet shfletuesit"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Përforcimi i performancës"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Përmirëso përvojën tënde në aplikacion"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Trokit për të vizituar sajtin e uebit të %s dhe për të mësuar më shumë"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Jo tani"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Menaxho"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Bli një paketë përforcimi të performancës."</string> diff --git a/packages/CarrierDefaultApp/res/values-sr/strings.xml b/packages/CarrierDefaultApp/res/values-sr/strings.xml index 4b2322ee22f5..257d53b56fc2 100644 --- a/packages/CarrierDefaultApp/res/values-sr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sr/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Мобилни оператер"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобилни подаци су потрошени"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобилни подаци су деактивирани"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"На пример, страница за пријављивање можда не припада приказаној организацији."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Ипак настави преко прегледача"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Побољшање учинка"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Побољшајте доживљај апликације"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Додирните да бисте посетили веб-сајт %s и сазнали више"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Не сада"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Управљај"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Купите побољшање учинка."</string> diff --git a/packages/CarrierDefaultApp/res/values-sv/strings.xml b/packages/CarrierDefaultApp/res/values-sv/strings.xml index b927cdaa931d..1886ed9dc20f 100644 --- a/packages/CarrierDefaultApp/res/values-sv/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sv/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobiloperatör"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Slut på mobildata"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Din mobildata har inaktiverats"</string> @@ -15,9 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Det kan t.ex. hända att inloggningssidan inte tillhör den organisation som visas."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Fortsätt ändå via webbläsaren"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Prestandahöjning"</string> - <!-- no translation found for performance_boost_notification_title (6091638924925876776) --> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> <skip /> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Tryck för att besöka webbplatsen för %s för att läsa mer"</string> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Inte nu"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Hantera"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Köp en prestandahöjning."</string> diff --git a/packages/CarrierDefaultApp/res/values-sw/strings.xml b/packages/CarrierDefaultApp/res/values-sw/strings.xml index 9db9e276b348..fc3450f8d920 100644 --- a/packages/CarrierDefaultApp/res/values-sw/strings.xml +++ b/packages/CarrierDefaultApp/res/values-sw/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mtoa Huduma za Simu"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Data ya mtandao wa simu imekwisha"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Data yako ya mtandao wa simu imezimwa"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Kwa mfano, ukurasa wa kuingia katika akaunti unaweza usiwe unamilikiwa na shirika lililoonyeshwa."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Endelea hata hivyo kupitia kivinjari"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Kuongeza utendaji"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Boresha hali yako ya utumiaji wa programu"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Gusa ili utembelee tovuti ya %s na upate maelezo zaidi"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Si sasa"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Dhibiti"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Nunua programu ya kuongeza utendaji."</string> diff --git a/packages/CarrierDefaultApp/res/values-ta/strings.xml b/packages/CarrierDefaultApp/res/values-ta/strings.xml index 0c689bcd93e2..4916854ce8b9 100644 --- a/packages/CarrierDefaultApp/res/values-ta/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ta/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"தொலைத்தொடர்பு நிறுவனம்"</string> <string name="portal_notification_id" msgid="5155057562457079297">"மொபைல் டேட்டா தீர்ந்துவிட்டது"</string> <string name="no_data_notification_id" msgid="668400731803969521">"மொபைல் டேட்டா முடக்கப்பட்டது"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"எடுத்துக்காட்டாக, உள்நுழைவுப் பக்கமானது காட்டப்படும் அமைப்பிற்குச் சொந்தமானதாக இல்லாமல் இருக்கலாம்."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"பரவாயில்லை, உலாவி வழியாகத் தொடர்க"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"பெர்ஃபார்மென்ஸ் பூஸ்ட்"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"உங்கள் ஆப்ஸ் அனுபவத்தை மேம்படுத்துங்கள்"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s இணையதளத்திற்குச் சென்று மேலும் அறிய தட்டுங்கள்"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"இப்போது வேண்டாம்"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"நிர்வகியுங்கள்"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ஒரு பெர்ஃபார்மென்ஸ் பூஸ்ட்டைப் பர்ச்சேஸ் செய்யுங்கள்."</string> diff --git a/packages/CarrierDefaultApp/res/values-te/strings.xml b/packages/CarrierDefaultApp/res/values-te/strings.xml index a413207833fe..944ee758f228 100644 --- a/packages/CarrierDefaultApp/res/values-te/strings.xml +++ b/packages/CarrierDefaultApp/res/values-te/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"మొబైల్ క్యారియర్"</string> <string name="portal_notification_id" msgid="5155057562457079297">"మొబైల్ డేటాను పూర్తిగా ఉపయోగించారు"</string> <string name="no_data_notification_id" msgid="668400731803969521">"మీ మొబైల్ డేటా నిష్క్రియం చేయబడింది"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ఉదాహరణకు, లాగిన్ పేజీ చూపిన సంస్థకు చెందినది కాకపోవచ్చు."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ఏదేమైనా బ్రౌజర్ ద్వారా కొనసాగించండి"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"పనితీరు బూస్ట్"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"మీ యాప్ అనుభవాన్ని మెరుగుపరచండి"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s వెబ్సైట్కు వెళ్లడానికి ట్యాప్ చేసి, మరింత తెలుసుకోండి"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ఇప్పుడు కాదు"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"మేనేజ్ చేయండి"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"పనితీరు బూస్ట్ను కొనుగోలు చేయండి."</string> diff --git a/packages/CarrierDefaultApp/res/values-th/strings.xml b/packages/CarrierDefaultApp/res/values-th/strings.xml index 5b9919455391..e13ce44390a5 100644 --- a/packages/CarrierDefaultApp/res/values-th/strings.xml +++ b/packages/CarrierDefaultApp/res/values-th/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"ผู้ให้บริการเครือข่ายมือถือ"</string> <string name="portal_notification_id" msgid="5155057562457079297">"เน็ตมือถือหมดแล้ว"</string> <string name="no_data_notification_id" msgid="668400731803969521">"อินเทอร์เน็ตมือถือของคุณถูกปิดใช้งานแล้ว"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"ตัวอย่างเช่น หน้าเข้าสู่ระบบอาจไม่ใช่ขององค์กรที่แสดงไว้"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"ดำเนินการต่อผ่านเบราว์เซอร์"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"การเพิ่มประสิทธิภาพ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"ปรับปรุงประสบการณ์การใช้งานแอป"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"แตะเพื่อไปยังเว็บไซต์ของ %s และดูข้อมูลเพิ่มเติม"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ไว้ทีหลัง"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"จัดการ"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"ซื้อการเพิ่มประสิทธิภาพ"</string> diff --git a/packages/CarrierDefaultApp/res/values-tl/strings.xml b/packages/CarrierDefaultApp/res/values-tl/strings.xml index 42dfdeb4b1ee..bdb09ac4dc59 100644 --- a/packages/CarrierDefaultApp/res/values-tl/strings.xml +++ b/packages/CarrierDefaultApp/res/values-tl/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobile Carrier"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Naubos na ang mobile data"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Na-deactivate na ang iyong mobile data"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Halimbawa, maaaring hindi pag-aari ng ipinapakitang organisasyon ang page ng login."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Magpatuloy pa rin sa pamamagitan ng browser"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Pag-boost ng performance"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Pagandahin ang iyong experience sa app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"I-tap para pumunta sa website ng %s at matuto pa"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Huwag muna"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Pamahalaan"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Bumili ng pang-boost ng performance."</string> diff --git a/packages/CarrierDefaultApp/res/values-tr/strings.xml b/packages/CarrierDefaultApp/res/values-tr/strings.xml index 754c92c96277..e58d6798b85c 100644 --- a/packages/CarrierDefaultApp/res/values-tr/strings.xml +++ b/packages/CarrierDefaultApp/res/values-tr/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"VarsayılanOperatörUygulaması"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobil Operatör"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobil veri kotanız tükendi"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobil veriniz devre dışı bırakıldı"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Örneğin, giriş sayfası, gösterilen kuruluşa ait olmayabilir."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Yine de tarayıcıyla devam et"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Performans artışı"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Uygulama deneyiminizi iyileştirin"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s web sitesini ziyaret edip daha fazla bilgi edinmek için dokunun"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Şimdi değil"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Yönet"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Performans artışı satın alın."</string> diff --git a/packages/CarrierDefaultApp/res/values-uk/strings.xml b/packages/CarrierDefaultApp/res/values-uk/strings.xml index bbd6a7032d33..deac7bb4ffa5 100644 --- a/packages/CarrierDefaultApp/res/values-uk/strings.xml +++ b/packages/CarrierDefaultApp/res/values-uk/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"Додаток оператора за умовчанням"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Оператор мобільного зв’язку"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Мобільний трафік вичерпано"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Мобільний трафік дезактивовано"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Наприклад, сторінка входу може не належати вказаній організації."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Усе одно продовжити у веб-переглядачі"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Підвищення продуктивності"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Покращте взаємодію з додатком"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Натисніть, щоб перейти на веб-сайт %s і дізнатися більше"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Не зараз"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Керувати"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Придбайте підвищення продуктивності."</string> diff --git a/packages/CarrierDefaultApp/res/values-ur/strings.xml b/packages/CarrierDefaultApp/res/values-ur/strings.xml index e52f2c9167dc..ef2677f4424d 100644 --- a/packages/CarrierDefaultApp/res/values-ur/strings.xml +++ b/packages/CarrierDefaultApp/res/values-ur/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"موبائل کیریئر"</string> <string name="portal_notification_id" msgid="5155057562457079297">"موبائل ڈیٹا ختم ہو چکا ہے"</string> <string name="no_data_notification_id" msgid="668400731803969521">"آپ کا موبائل ڈیٹا غیر فعال کر دیا گیا ہے"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"مثال کے طور پر ہو سکتا ہے کہ لاگ ان صفحہ دکھائی گئی تنظیم سے تعلق نہ رکھتا ہو۔"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"براؤزر کے ذریعے بہرحال جاری رکھیں"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"پرفارمینس بوسٹ"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"اپنی ایپ کے تجربے کو بہتر بنائیں"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s کی ویب سائٹ دیکھنے کیلئے تھپتھپائیں اور مزید جانیں"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"ابھی نہیں"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"نظم کریں"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"پرفارمینس بوسٹ خریدیں۔"</string> diff --git a/packages/CarrierDefaultApp/res/values-uz/strings.xml b/packages/CarrierDefaultApp/res/values-uz/strings.xml index 04e14096e7c7..dd489754e0d0 100644 --- a/packages/CarrierDefaultApp/res/values-uz/strings.xml +++ b/packages/CarrierDefaultApp/res/values-uz/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Mobil aloqa operatori"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Mobil internet tugab qoldi"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Mobil internet o‘chirildi"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Masalan, tizimga kirish sahifasi ko‘rsatilgan tashkilotga tegishli bo‘lmasligi mumkin."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Brauzerda davom ettirish"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Unumdorlikni kuchaytirish"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Ilova ishlashini qulaylashtiring"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"%s saytini ochish va batafsil axborot olish uchun bosing"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Hozir emas"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Boshqarish"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Unumdorlikni kuchaytirish xizmatini xarid qiling."</string> diff --git a/packages/CarrierDefaultApp/res/values-vi/strings.xml b/packages/CarrierDefaultApp/res/values-vi/strings.xml index 4a4aab7d8a57..b01f95110490 100644 --- a/packages/CarrierDefaultApp/res/values-vi/strings.xml +++ b/packages/CarrierDefaultApp/res/values-vi/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Nhà cung cấp dịch vụ di động"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Dữ liệu di động đã hết"</string> <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> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Ví dụ: trang đăng nhập có thể không thuộc về tổ chức được hiển thị."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Vẫn tiếp tục qua trình duyệt"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"Tăng hiệu suất"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Cải thiện trải nghiệm dùng ứng dụng của bạn"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Nhấn để truy cập trang web của %s và tìm hiểu thêm."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Để sau"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Quản lý"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Mua gói tăng hiệu suất."</string> diff --git a/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml b/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml index f732723e5c50..e06cddb8797e 100644 --- a/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zh-rCN/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"运营商默认应用"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"移动运营商"</string> <string name="portal_notification_id" msgid="5155057562457079297">"移动数据流量已用尽"</string> <string name="no_data_notification_id" msgid="668400731803969521">"您的移动数据网络已停用"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"例如,登录页面可能并不属于页面上显示的单位。"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"仍然通过浏览器继续操作"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"性能提升方案"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"提升您的应用体验"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"点按以访问%s的网站并了解详情"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"以后再说"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"管理"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"购买一份性能提升方案。"</string> diff --git a/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml b/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml index 1a223d236bf7..ce51495bad71 100644 --- a/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zh-rHK/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"流動網絡供應商"</string> <string name="portal_notification_id" msgid="5155057562457079297">"流動數據量已用盡"</string> <string name="no_data_notification_id" msgid="668400731803969521">"您的流動數據已停用"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"例如,登入頁面可能並不屬於所顯示的機構。"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"仍要透過瀏覽器繼續操作"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"效能提升服務"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"改善應用程式體驗"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"輕按即可瀏覽「%s」的網站和瞭解詳情"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"暫時不要"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"管理"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"購買效能提升服務。"</string> diff --git a/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml b/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml index a932e2092f97..db3e4db094c9 100644 --- a/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zh-rTW/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"電信業者預設應用程式"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"電信業者"</string> <string name="portal_notification_id" msgid="5155057562457079297">"行動數據已用盡"</string> <string name="no_data_notification_id" msgid="668400731803969521">"你的行動數據已停用"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"例如,登入網頁中顯示的機構可能並非該網頁實際隸屬的機構。"</string> <string name="ssl_error_continue" msgid="1138548463994095584">"仍要透過瀏覽器繼續操作"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"效能提升方案"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"改善應用程式體驗"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"輕觸即可造訪「%s」的網站及瞭解詳情"</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"暫時不要"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"管理"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"購買效能提升方案。"</string> diff --git a/packages/CarrierDefaultApp/res/values-zu/strings.xml b/packages/CarrierDefaultApp/res/values-zu/strings.xml index 20edb0e4c2a3..dc09c9d5ebb1 100644 --- a/packages/CarrierDefaultApp/res/values-zu/strings.xml +++ b/packages/CarrierDefaultApp/res/values-zu/strings.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_name" msgid="5247871339820894594">"CarrierDefaultApp"</string> + <!-- no translation found for app_name (2809080280462257271) --> + <skip /> <string name="android_system_label" msgid="2797790869522345065">"Inkampini yenethiwekhi yeselula"</string> <string name="portal_notification_id" msgid="5155057562457079297">"Idatha yeselula iphelile"</string> <string name="no_data_notification_id" msgid="668400731803969521">"Idatha yakho yeselula yenziwe yangasebenzi"</string> @@ -15,8 +16,10 @@ <string name="ssl_error_example" msgid="6188711843183058764">"Isibonelo, ikhasi lokungena ngemvume kungenzeka lingelenhlangano ebonisiwe."</string> <string name="ssl_error_continue" msgid="1138548463994095584">"Qhubeka noma kunjalo ngesiphequluli"</string> <string name="performance_boost_notification_channel" msgid="3475440855635538592">"I-boost yokusebenza"</string> - <string name="performance_boost_notification_title" msgid="6091638924925876776">"Thuthukisa okwenza nge-app"</string> - <string name="performance_boost_notification_detail" msgid="907363829888387028">"Thepha ukuze uvakashele iwebhusayithi ye-%s futhi ufunde kabanzi."</string> + <!-- no translation found for performance_boost_notification_title (3126203390685781861) --> + <skip /> + <!-- no translation found for performance_boost_notification_detail (216569851036236346) --> + <skip /> <string name="performance_boost_notification_button_not_now" msgid="6459755324243683785">"Hhayi manje"</string> <string name="performance_boost_notification_button_manage" msgid="4976836444046497973">"Phatha"</string> <string name="slice_purchase_app_label" msgid="7170191659233241166">"Thenga i-boost yokusebenza."</string> diff --git a/packages/CompanionDeviceManager/res/drawable-night/ic_device_other.xml b/packages/CompanionDeviceManager/res/drawable-night/ic_device_other.xml new file mode 100644 index 000000000000..aafe46681336 --- /dev/null +++ b/packages/CompanionDeviceManager/res/drawable-night/ic_device_other.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + ~ Copyright (C) 2023 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="@android:color/system_accent1_200"> + <path android:fillColor="@android:color/white" + android:pathData="M7,20H4Q3.175,20 2.588,19.413Q2,18.825 2,18V6Q2,5.175 2.588,4.588Q3.175,4 4,4H20V6H4Q4,6 4,6Q4,6 4,6V18Q4,18 4,18Q4,18 4,18H7ZM9,20V18.2Q8.55,17.775 8.275,17.225Q8,16.675 8,16Q8,15.325 8.275,14.775Q8.55,14.225 9,13.8V12H13V13.8Q13.45,14.225 13.725,14.775Q14,15.325 14,16Q14,16.675 13.725,17.225Q13.45,17.775 13,18.2V20ZM11,17.5Q11.65,17.5 12.075,17.075Q12.5,16.65 12.5,16Q12.5,15.35 12.075,14.925Q11.65,14.5 11,14.5Q10.35,14.5 9.925,14.925Q9.5,15.35 9.5,16Q9.5,16.65 9.925,17.075Q10.35,17.5 11,17.5ZM21,20H16Q15.575,20 15.288,19.712Q15,19.425 15,19V10Q15,9.575 15.288,9.287Q15.575,9 16,9H21Q21.425,9 21.712,9.287Q22,9.575 22,10V19Q22,19.425 21.712,19.712Q21.425,20 21,20ZM17,18H20V11H17Z"/> +</vector>
\ No newline at end of file diff --git a/packages/CompanionDeviceManager/res/drawable-night/ic_glasses.xml b/packages/CompanionDeviceManager/res/drawable-night/ic_glasses.xml index 97d201d625c8..190e0a8020a6 100644 --- a/packages/CompanionDeviceManager/res/drawable-night/ic_glasses.xml +++ b/packages/CompanionDeviceManager/res/drawable-night/ic_glasses.xml @@ -20,7 +20,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="@android:color/system_neutral1_200"> + android:tint="@android:color/system_accent1_200"> <path android:fillColor="@android:color/white" android:pathData="M6.85,15Q7.625,15 8.238,14.55Q8.85,14.1 9.1,13.375L9.475,12.225Q9.875,11.025 9.275,10.012Q8.675,9 7.55,9H4.025L4.5,12.925Q4.625,13.8 5.287,14.4Q5.95,15 6.85,15ZM17.15,15Q18.05,15 18.712,14.4Q19.375,13.8 19.5,12.925L19.975,9H16.475Q15.35,9 14.75,10.025Q14.15,11.05 14.55,12.25L14.9,13.375Q15.15,14.1 15.762,14.55Q16.375,15 17.15,15ZM6.85,17Q5.2,17 3.963,15.912Q2.725,14.825 2.525,13.175L2,9H1V7H7.55Q8.65,7 9.562,7.537Q10.475,8.075 11,9H13.025Q13.55,8.075 14.463,7.537Q15.375,7 16.475,7H23V9H22L21.475,13.175Q21.275,14.825 20.038,15.912Q18.8,17 17.15,17Q15.725,17 14.588,16.188Q13.45,15.375 13,14.025L12.625,12.9Q12.575,12.725 12.525,12.537Q12.475,12.35 12.425,12H11.575Q11.525,12.3 11.475,12.487Q11.425,12.675 11.375,12.85L11,14Q10.55,15.35 9.413,16.175Q8.275,17 6.85,17Z"/> diff --git a/packages/CompanionDeviceManager/res/drawable-night/ic_permission_nearby_devices.xml b/packages/CompanionDeviceManager/res/drawable-night/ic_permission_nearby_devices.xml index 161186155340..78120a3db999 100644 --- a/packages/CompanionDeviceManager/res/drawable-night/ic_permission_nearby_devices.xml +++ b/packages/CompanionDeviceManager/res/drawable-night/ic_permission_nearby_devices.xml @@ -19,7 +19,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="?attr/colorControlNormal"> + android:tint="@android:color/system_accent1_200"> <path android:fillColor="@android:color/system_accent1_200" android:pathData="M12,16.4 L7.6,12 12,7.6 16.4,12ZM13.4,21.375Q13.125,21.65 12.75,21.8Q12.375,21.95 12,21.95Q11.625,21.95 11.25,21.8Q10.875,21.65 10.6,21.375L2.625,13.4Q2.35,13.125 2.2,12.75Q2.05,12.375 2.05,12Q2.05,11.625 2.2,11.25Q2.35,10.875 2.625,10.6L10.575,2.65Q10.875,2.35 11.238,2.2Q11.6,2.05 12,2.05Q12.4,2.05 12.762,2.2Q13.125,2.35 13.425,2.65L21.375,10.6Q21.65,10.875 21.8,11.25Q21.95,11.625 21.95,12Q21.95,12.375 21.8,12.75Q21.65,13.125 21.375,13.4ZM12,19.2 L19.2,12Q19.2,12 19.2,12Q19.2,12 19.2,12L12,4.8Q12,4.8 12,4.8Q12,4.8 12,4.8L4.8,12Q4.8,12 4.8,12Q4.8,12 4.8,12L12,19.2Q12,19.2 12,19.2Q12,19.2 12,19.2Z"/> </vector>
\ No newline at end of file diff --git a/packages/CompanionDeviceManager/res/drawable-night/ic_watch.xml b/packages/CompanionDeviceManager/res/drawable-night/ic_watch.xml new file mode 100644 index 000000000000..f1fda1772874 --- /dev/null +++ b/packages/CompanionDeviceManager/res/drawable-night/ic_watch.xml @@ -0,0 +1,25 @@ +<!-- + ~ Copyright (C) 2023 The Android Open Source Project + ~ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> + +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="@android:color/system_accent1_200"> + <path android:fillColor="@android:color/white" + android:pathData="M9,22 L7.65,17.45Q6.45,16.5 5.725,15.075Q5,13.65 5,12Q5,10.35 5.725,8.925Q6.45,7.5 7.65,6.55L9,2H15L16.35,6.55Q17.55,7.5 18.275,8.925Q19,10.35 19,12Q19,13.65 18.275,15.075Q17.55,16.5 16.35,17.45L15,22ZM12,17Q14.075,17 15.538,15.537Q17,14.075 17,12Q17,9.925 15.538,8.462Q14.075,7 12,7Q9.925,7 8.463,8.462Q7,9.925 7,12Q7,14.075 8.463,15.537Q9.925,17 12,17ZM10.1,5.25Q11.075,4.975 12,4.975Q12.925,4.975 13.9,5.25L13.5,4H10.5ZM10.5,20H13.5L13.9,18.75Q12.925,19.025 12,19.025Q11.075,19.025 10.1,18.75ZM10.1,4H10.5H13.5H13.9Q12.925,4 12,4Q11.075,4 10.1,4ZM10.5,20H10.1Q11.075,20 12,20Q12.925,20 13.9,20H13.5Z"/> +</vector>
\ No newline at end of file diff --git a/packages/CompanionDeviceManager/res/drawable/ic_device_other.xml b/packages/CompanionDeviceManager/res/drawable/ic_device_other.xml index 15f6987bb551..dc12d12b49ad 100644 --- a/packages/CompanionDeviceManager/res/drawable/ic_device_other.xml +++ b/packages/CompanionDeviceManager/res/drawable/ic_device_other.xml @@ -19,7 +19,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="?attr/colorControlNormal"> + android:tint="@android:color/system_accent1_600"> <path android:fillColor="@android:color/white" android:pathData="M7,20H4Q3.175,20 2.588,19.413Q2,18.825 2,18V6Q2,5.175 2.588,4.588Q3.175,4 4,4H20V6H4Q4,6 4,6Q4,6 4,6V18Q4,18 4,18Q4,18 4,18H7ZM9,20V18.2Q8.55,17.775 8.275,17.225Q8,16.675 8,16Q8,15.325 8.275,14.775Q8.55,14.225 9,13.8V12H13V13.8Q13.45,14.225 13.725,14.775Q14,15.325 14,16Q14,16.675 13.725,17.225Q13.45,17.775 13,18.2V20ZM11,17.5Q11.65,17.5 12.075,17.075Q12.5,16.65 12.5,16Q12.5,15.35 12.075,14.925Q11.65,14.5 11,14.5Q10.35,14.5 9.925,14.925Q9.5,15.35 9.5,16Q9.5,16.65 9.925,17.075Q10.35,17.5 11,17.5ZM21,20H16Q15.575,20 15.288,19.712Q15,19.425 15,19V10Q15,9.575 15.288,9.287Q15.575,9 16,9H21Q21.425,9 21.712,9.287Q22,9.575 22,10V19Q22,19.425 21.712,19.712Q21.425,20 21,20ZM17,18H20V11H17Z"/> </vector>
\ No newline at end of file diff --git a/packages/CompanionDeviceManager/res/drawable/ic_glasses.xml b/packages/CompanionDeviceManager/res/drawable/ic_glasses.xml index 90655203fe93..0baf7ef7917f 100644 --- a/packages/CompanionDeviceManager/res/drawable/ic_glasses.xml +++ b/packages/CompanionDeviceManager/res/drawable/ic_glasses.xml @@ -20,7 +20,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="?attr/colorControlNormal"> + android:tint="@android:color/system_accent1_600"> <path android:fillColor="@android:color/white" android:pathData="M6.85,15Q7.625,15 8.238,14.55Q8.85,14.1 9.1,13.375L9.475,12.225Q9.875,11.025 9.275,10.012Q8.675,9 7.55,9H4.025L4.5,12.925Q4.625,13.8 5.287,14.4Q5.95,15 6.85,15ZM17.15,15Q18.05,15 18.712,14.4Q19.375,13.8 19.5,12.925L19.975,9H16.475Q15.35,9 14.75,10.025Q14.15,11.05 14.55,12.25L14.9,13.375Q15.15,14.1 15.762,14.55Q16.375,15 17.15,15ZM6.85,17Q5.2,17 3.963,15.912Q2.725,14.825 2.525,13.175L2,9H1V7H7.55Q8.65,7 9.562,7.537Q10.475,8.075 11,9H13.025Q13.55,8.075 14.463,7.537Q15.375,7 16.475,7H23V9H22L21.475,13.175Q21.275,14.825 20.038,15.912Q18.8,17 17.15,17Q15.725,17 14.588,16.188Q13.45,15.375 13,14.025L12.625,12.9Q12.575,12.725 12.525,12.537Q12.475,12.35 12.425,12H11.575Q11.525,12.3 11.475,12.487Q11.425,12.675 11.375,12.85L11,14Q10.55,15.35 9.413,16.175Q8.275,17 6.85,17Z"/> diff --git a/packages/CompanionDeviceManager/res/drawable/ic_watch.xml b/packages/CompanionDeviceManager/res/drawable/ic_watch.xml index d7a28d949997..0f6b21f6767c 100644 --- a/packages/CompanionDeviceManager/res/drawable/ic_watch.xml +++ b/packages/CompanionDeviceManager/res/drawable/ic_watch.xml @@ -20,7 +20,7 @@ android:height="24dp" android:viewportWidth="24" android:viewportHeight="24" - android:tint="?attr/colorControlNormal"> + android:tint="@android:color/system_accent1_600"> <path android:fillColor="@android:color/white" android:pathData="M9,22 L7.65,17.45Q6.45,16.5 5.725,15.075Q5,13.65 5,12Q5,10.35 5.725,8.925Q6.45,7.5 7.65,6.55L9,2H15L16.35,6.55Q17.55,7.5 18.275,8.925Q19,10.35 19,12Q19,13.65 18.275,15.075Q17.55,16.5 16.35,17.45L15,22ZM12,17Q14.075,17 15.538,15.537Q17,14.075 17,12Q17,9.925 15.538,8.462Q14.075,7 12,7Q9.925,7 8.463,8.462Q7,9.925 7,12Q7,14.075 8.463,15.537Q9.925,17 12,17ZM10.1,5.25Q11.075,4.975 12,4.975Q12.925,4.975 13.9,5.25L13.5,4H10.5ZM10.5,20H13.5L13.9,18.75Q12.925,19.025 12,19.025Q11.075,19.025 10.1,18.75ZM10.1,4H10.5H13.5H13.9Q12.925,4 12,4Q11.075,4 10.1,4ZM10.5,20H10.1Q11.075,20 12,20Q12.925,20 13.9,20H13.5Z"/> </vector>
\ No newline at end of file diff --git a/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml b/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml index d1d2c70134c6..d470d4c7b3f6 100644 --- a/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml +++ b/packages/CompanionDeviceManager/res/layout/activity_confirmation.xml @@ -38,8 +38,7 @@ android:layout_width="match_parent" android:layout_height="32dp" android:gravity="center" - android:layout_marginTop="18dp" - android:tint="@android:color/system_accent1_600"/> + android:layout_marginTop="18dp" /> <LinearLayout style="@style/Description"> <TextView diff --git a/packages/CompanionDeviceManager/res/layout/list_item_device.xml b/packages/CompanionDeviceManager/res/layout/list_item_device.xml index ac5294ad373a..79f04b92aecc 100644 --- a/packages/CompanionDeviceManager/res/layout/list_item_device.xml +++ b/packages/CompanionDeviceManager/res/layout/list_item_device.xml @@ -29,7 +29,6 @@ android:layout_width="24dp" android:layout_height="24dp" android:layout_marginStart="24dp" - android:tint="@android:color/system_accent1_600" android:importantForAccessibility="no" android:contentDescription="@null"/> diff --git a/packages/CompanionDeviceManager/res/values-af/strings.xml b/packages/CompanionDeviceManager/res/values-af/strings.xml index 29caf5fbfab6..bbc600558376 100644 --- a/packages/CompanionDeviceManager/res/values-af/strings.xml +++ b/packages/CompanionDeviceManager/res/values-af/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Kies \'n <xliff:g id="PROFILE_NAME">%1$s</xliff:g> om deur <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> bestuur te word"</string> <string name="summary_watch" msgid="6566922405914995759">"Hierdie app is nodig om jou <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te bestuur. <xliff:g id="APP_NAME">%2$s</xliff:g> sal toegelaat word om inligting te sinkroniseer, soos die naam van iemand wat bel, interaksie met jou kennisgewings te hê, en sal toegang tot jou Foon-, SMS-, Kontakte-, Mikrofoon-, en Toestelle in die Omtrek-toestemmings hê."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Hierdie app is nodig om jou <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te bestuur. <xliff:g id="APP_NAME">%2$s</xliff:g> sal toegelaat word om inligting te sinkroniseer, soos die naam van iemand wat bel, en toegang tot hierdie toestemmings:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Laat <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> toe om <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> te bestuur?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"bril"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Hierdie app is nodig om <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te bestuur. <xliff:g id="APP_NAME">%2$s</xliff:g> sal toegelaat word om interaksie met jou kennisgewings te hê en sal toegang tot jou Foon-, SMS-, Kontakte-, Mikrofoon-, en Toestelle in die Omtrek-toestemmings hê."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Hierdie app sal toegang tot hierdie toestemmings op jou foon hê:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Gee <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> toegang tot hierdie inligting op jou foon"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Oorkruistoestel-dienste"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> versoek tans namens jou <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> toestemming om programme tussen jou toestelle te stroom"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Dienste"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> versoek tans namens jou <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> toegang tot jou foon se foto\'s, media en kennisgewings"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Laat <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> toe om hierdie handeling uit te voer?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> versoek tans namens jou <xliff:g id="DEVICE_NAME">%2$s</xliff:g> toestemming om apps en ander stelselkenmerke na toestelle in die omtrek te stroom"</string> <string name="profile_name_generic" msgid="6851028682723034988">"toestel"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Hierdie app sal inligting kan sinkroniseer, soos die naam van iemand wat bel, tussen jou foon en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Hierdie app sal inligting kan sinkroniseer, soos die naam van iemand wat bel, tussen jou foon en die gekose toestel."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foto\'s en media"</string> <string name="permission_notification" msgid="693762568127741203">"Kennisgewings"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Stroming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Kan foonoproepe maak en bestuur"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Kan foonoproeprekord lees en skryf"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Kan SMS-boodskappe stuur en ontvang"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kan by jou kontakte ingaan"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Kan by jou kalender ingaan"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Kan oudio opneem"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Kan toestelle in die omtrek opspoor, aan hulle koppel en hul relatiewe posisie bepaal"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kan alle kennisgewings lees, insluitend inligting soos kontakte, boodskappe en foto\'s"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Stroom jou foon se apps"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Stroom apps en ander stelselkenmerke van jou foon af"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-am/strings.xml b/packages/CompanionDeviceManager/res/values-am/strings.xml index 97c1b96753f7..2880fd5ae987 100644 --- a/packages/CompanionDeviceManager/res/values-am/strings.xml +++ b/packages/CompanionDeviceManager/res/values-am/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"በ<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> የሚተዳደር <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ይምረጡ"</string> <string name="summary_watch" msgid="6566922405914995759">"የእርስዎን <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ለማስተዳደር መተግበሪያው ያስፈልጋል። <xliff:g id="APP_NAME">%2$s</xliff:g> እንደ የሚደውል ሰው ስም፣ ከማሳወቂያዎችዎ ጋር መስተጋብር እንዲፈጥር እና የእርስዎን ስልክ፣ ኤስኤምኤስ፣ ዕውቅያዎች፣ የቀን መቁጠሪያ፣ የጥሪ ምዝግብ ማስታወሻዎች እና በአቅራቢያ ያሉ መሣሪያዎችን መድረስ ያሉ መረጃዎችን እንዲያሰምር ይፈቀድለታል።"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"የእርስዎን <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ለማስተዳደር መተግበሪያው ያስፈልጋል። <xliff:g id="APP_NAME">%2$s</xliff:g> እንደ የሚደውል ሰው ስም እና እነዚህን ፈቃዶች መድረስ ያሉ መረጃዎችን እንዲያሰምር ይፈቀድለታል፦"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>ን እንዲያስተዳድር ይፈቅዳሉ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"መነጽሮች"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"ይህ መተግበሪያ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ን ለማስተዳደር ያስፈልጋል። <xliff:g id="APP_NAME">%2$s</xliff:g> ከማሳወቂያዎችዎ ጋር መስተጋብር እንዲፈጥር እና የእርስዎን ስልክ፣ ኤስኤምኤስ፣ ዕውቂያዎች፣ ማይክሮፎን እና በአቅራቢያ ያሉ መሣሪያዎች ፈቃዶችን እንዲደርስ ይፈቀድለታል።"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ይህ መተግበሪያ በስልክዎ ላይ እነዚህን ፈቃዶች ለመድረስ ፈቃድ ይሰጠዋል፦"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ይህን መረጃ ከስልክዎ እንዲደርስበት ይፍቀዱለት"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"መሣሪያ ተሻጋሪ አገልግሎቶች"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> በእርስዎ መሣሪያዎች መካከል መተግበሪያዎችን በዥረት ለመልቀቅ የእርስዎን <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ወክሎ ፈቃድ እየጠየቀ ነው"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"የGoogle Play አገልግሎቶች"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> የስልክዎን ፎቶዎች፣ ሚዲያ እና ማሳወቂያዎች ለመድረስ የእርስዎን <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ወክሎ ፈቃድ እየጠየቀ ነው"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ይህን እርምጃ እንዲወስድ ፈቃድ ይሰጠው?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> የእርስዎን <xliff:g id="DEVICE_NAME">%2$s</xliff:g> በመወከል በአቅራቢያ ላሉ መሣሪያዎች መተግበሪያዎች እና ሌሎች የስርዓት ባህሪያትን በዥረት ለመልቀቅ ፈቃድ እየጠየቀ ነው"</string> <string name="profile_name_generic" msgid="6851028682723034988">"መሣሪያ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ይህ መተግበሪያ እንደ የሚደውል ሰው ስም ያለ መረጃን በስልክዎ እና <xliff:g id="DEVICE_NAME">%1$s</xliff:g> መካከል ማስመር ይችላል።"</string> <string name="summary_generic" msgid="4988130802522924650">"ይህ መተግበሪያ እንደ የሚደውል ሰው ስም ያለ መረጃን በስልክዎ እና በተመረጠው መሣሪያ መካከል ማስመር ይችላል።"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ፎቶዎች እና ሚዲያ"</string> <string name="permission_notification" msgid="693762568127741203">"ማሳወቂያዎች"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"መተግበሪያዎች"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"በዥረት መልቀቅ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"የስልክ ጥሪዎችን ማድረግ እና ማስተዳደር ይችላል"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"የስልክ ጥሪ ምዝገባ ማስታወሻን ማንበብ እና መጻፍ ይችላል"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"የኤስኤምኤስ መልዕክቶችን መላክ እና ማየት ይችላል"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ዕውቂያዎችዎን መድረስ ይችላል"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"የቀን መቁጠሪያዎን መድረስ ይችላል"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ኦዲዮ መቅዳት ይችላል"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"በአቅራቢያ ያሉ መሣሪያዎችን ማግኘት፣ ከእነሱ ጋር መገናኘት እና አንጻራዊ ቦታቸውን መወሰን ይችላል"</string> <string name="permission_notification_summary" msgid="884075314530071011">"እንደ እውቂያዎች፣ መልዕክቶች እና ፎቶዎች ያሉ መረጃዎችን ጨምሮ ሁሉንም ማሳወቂያዎች ማንበብ ይችላል"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"የስልክዎን መተግበሪያዎች በዥረት ይልቀቁ"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ከስልክዎ ሆነው መተግበሪያዎች እና ሌሎች የስርዓት ባህሪያትን በዥረት ይልቀቁ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ar/strings.xml b/packages/CompanionDeviceManager/res/values-ar/strings.xml index bfb4225a109a..e015940cad5f 100644 --- a/packages/CompanionDeviceManager/res/values-ar/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ar/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"اختَر <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ليديرها تطبيق <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"يجب توفّر التطبيق لإدارة \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". سيتم السماح لتطبيق \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" بمزامنة المعلومات، مثلاً اسم المتصل، والتفاعل مع الإشعارات والوصول إلى هاتفك، والرسائل القصيرة، وجهات الاتصال، والتقويم، وسجلات المكالمات وأذونات الأجهزة المجاورة."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"يجب توفّر التطبيق لإدارة \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". سيتم السماح لتطبيق \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" بمزامنة المعلومات، مثلاً اسم المتصل، والوصول إلى الأذونات التالية:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"السماح لتطبيق <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> بإدارة <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"النظارة"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"يجب توفّر هذا التطبيق لإدارة \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". سيتم السماح لتطبيق \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" بالتفاعل مع الإشعارات والوصول إلى أذونات الهاتف والرسائل القصيرة وجهات الاتصال والميكروفون والأجهزة المجاورة."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"سيتم السماح لهذا التطبيق بالوصول إلى الأذونات التالية على هاتفك:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"السماح لتطبيق <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> بالوصول إلى هذه المعلومات من هاتفك"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"الخدمات التي تعمل بين الأجهزة"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"يطلب تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> الحصول على إذن نيابةً عن <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> لمشاركة التطبيقات بين أجهزتك."</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"خدمات Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"يطلب تطبيق <xliff:g id="APP_NAME">%1$s</xliff:g> الحصول على إذن نيابةً عن <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> للوصول إلى الصور والوسائط والإشعارات في هاتفك."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"هل تريد السماح للتطبيق <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> باتّخاذ هذا الإجراء؟"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"يطلب \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" الحصول على إذن نيابةً عن \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\" لبثّ التطبيقات وميزات النظام الأخرى إلى أجهزتك المجاورة."</string> <string name="profile_name_generic" msgid="6851028682723034988">"جهاز"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"سيتمكن هذا التطبيق من مزامنة المعلومات، مثلاً اسم المتصل، بين هاتفك و\"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string> <string name="summary_generic" msgid="4988130802522924650">"سيتمكن هذا التطبيق من مزامنة المعلومات، مثلاً اسم المتصل، بين هاتفك والجهاز المحدد."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"الصور والوسائط"</string> <string name="permission_notification" msgid="693762568127741203">"الإشعارات"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"التطبيقات"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"البثّ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"يمكن إجراء المكالمات الهاتفية وإدارتها."</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"يمكن قراءة سجلّ المكالمات الهاتفية والكتابة فيه."</string> <string name="permission_sms_summary" msgid="3508442683678912017">"يمكن إرسال الرسائل القصيرة وعرضها."</string> <string name="permission_contacts_summary" msgid="675861979475628708">"يمكن الوصول إلى جهات الاتصال."</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"يمكن الوصول إلى التقويم."</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"يمكنه تسجيل الصوت."</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"يمكن العثور على الموضع النسبي للأجهزة المجاورة والربط بها وتحديدها."</string> <string name="permission_notification_summary" msgid="884075314530071011">"يمكن لهذا الملف الشخصي قراءة جميع الإشعارات، بما في ذلك المعلومات، مثل جهات الاتصال والرسائل والصور."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"بث تطبيقات هاتفك"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"بثّ التطبيقات وميزات النظام الأخرى من هاتفك"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-as/strings.xml b/packages/CompanionDeviceManager/res/values-as/strings.xml index b69c1c207960..81f384f9b825 100644 --- a/packages/CompanionDeviceManager/res/values-as/strings.xml +++ b/packages/CompanionDeviceManager/res/values-as/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>এ পৰিচালনা কৰিব লগা এটা <xliff:g id="PROFILE_NAME">%1$s</xliff:g> বাছনি কৰক"</string> <string name="summary_watch" msgid="6566922405914995759">"আপোনাৰ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> পৰিচালনা কৰিবলৈ এপ্টোৰ আৱশ্যক। <xliff:g id="APP_NAME">%2$s</xliff:g>ক কল কৰোঁতাৰ নামৰ দৰে তথ্য ছিংক কৰিবলৈ, আপোনাৰ জাননীৰ সৈতে ভাব-বিনিময় কৰিবলৈ আৰু আপোনাৰ ফ’ন, এছএমএছ, সম্পৰ্ক, কেলেণ্ডাৰ, কল লগ আৰু নিকটৱৰ্তী ডিভাইচৰ অনুমতিসমূহ এক্সেছ কৰিবলৈ দিয়া হ’ব।"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"আপোনাৰ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> পৰিচালনা কৰিবলৈ এপ্টোৰ আৱশ্যক। <xliff:g id="APP_NAME">%2$s</xliff:g>ক কল কৰোঁতাৰ নামৰ দৰে তথ্য ছিংক কৰিবলৈ আৰু এই অনুমতিসমূহ এক্সেছ কৰিবলৈ অনুমতি দিয়া হ’ব:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ক <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> পৰিচালনা কৰিবলৈ দিবনে?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"চছ্মা"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> পৰিচালনা কৰিবলৈ এই এপ্টোৰ আৱশ্যক। <xliff:g id="APP_NAME">%2$s</xliff:g>ক আপোনাৰ অনুমতিসমূহৰ সৈতে ভাব-বিনিময় কৰিবলৈ আৰু আপোনাৰ ফ’ন, এছএমএছ, সম্পৰ্ক, মাইক্ৰ’ফ’ন আৰু নিকটৱৰ্তী ডিভাইচৰ অনুমতিসমূহ এক্সেছ কৰিবলৈ দিয়া হ’ব।"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"এই এপ্টোক আপোনাৰ ফ’নত এই অনুমতিসমূহ এক্সেছ কৰিবলৈ অনুমতি দিয়া হ’ব:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ক আপোনাৰ ফ’নৰ পৰা এই তথ্যখিনি এক্সেছ কৰাৰ অনুমতি দিয়ক"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ক্ৰছ-ডিভাইচ সেৱাসমূহ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>ৰ হৈ আপোনাৰ ডিভাইচসমূহৰ মাজত এপ্ ষ্ট্ৰীম কৰাৰ বাবে অনুৰোধ জনাইছে"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play সেৱা"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>ৰ হৈ আপোনাৰ ফ’নৰ ফট’, মিডিয়া আৰু জাননী এক্সেছ কৰাৰ বাবে অনুৰোধ জনাইছে"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>ক এই কাৰ্যটো সম্পাদন কৰিবলৈ দিবনে?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g>এ আপোনাৰ <xliff:g id="DEVICE_NAME">%2$s</xliff:g>ৰ হৈ নিকটৱৰ্তী ডিভাইচত এপ্ আৰু ছিষ্টেমৰ অন্য সুবিধাসমূহ ষ্ট্ৰীম কৰাৰ অনুমতি দিবলৈ অনুৰোধ জনাইছে"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ডিভাইচ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"এই এপ্টোৱে আপোনাৰ ফ’ন আৰু <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ মাজত তথ্য ছিংক কৰিব পাৰিব, যেনে, কল কৰোঁতাৰ নাম।"</string> <string name="summary_generic" msgid="4988130802522924650">"এই এপ্টোৱে আপোনাৰ ফ’ন আৰু বাছনি কৰা ডিভাইচটোৰ মাজত তথ্য ছিংক কৰিব পাৰিব, যেনে, কল কৰোঁতাৰ নাম।"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ফট’ আৰু মিডিয়া"</string> <string name="permission_notification" msgid="693762568127741203">"জাননী"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"এপ্"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ষ্ট্ৰীম কৰি থকা হৈছে"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ফ’ন কল কৰিব আৰু পৰিচালনা কৰিব পাৰে"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ফ’নৰ কল লগ পঢ়িব আৰু লিখিব পাৰে"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"এছএমএছ বাৰ্তা পঠিয়াব আৰু চাব পাৰে"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"আপোনাৰ সম্পৰ্কসূচী এক্সেছ কৰিব পাৰে"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"আপোনাৰ কেলেণ্ডাৰ এক্সেছ কৰিব পাৰে"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"অডিঅ’ ৰেকৰ্ড কৰিব পাৰে"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"নিকটৱৰ্তী ডিভাইচসমূহ বিচাৰিব, সেইসমূহৰ সৈতে সংযুক্ত হ’ব আৰু সেইসমূহৰ আপেক্ষিক স্থান নিৰ্ধাৰণ কৰিব পাৰে"</string> <string name="permission_notification_summary" msgid="884075314530071011">"সম্পৰ্কসূচী, বাৰ্তা আৰু ফট’ৰ দৰে তথ্যকে ধৰি আটাইবোৰ জাননী পঢ়িব পাৰে"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"আপোনাৰ ফ’নৰ এপ্ ষ্ট্ৰীম কৰক"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"আপোনাৰ ফ’নৰ পৰা এপ্ আৰু ছিষ্টেমৰ অন্য সুবিধাসমূহ ষ্ট্ৰীম কৰক"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-az/strings.xml b/packages/CompanionDeviceManager/res/values-az/strings.xml index 68acb6b3c334..007bbc56b0fd 100644 --- a/packages/CompanionDeviceManager/res/values-az/strings.xml +++ b/packages/CompanionDeviceManager/res/values-az/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> tərəfindən idarə ediləcək <xliff:g id="PROFILE_NAME">%1$s</xliff:g> seçin"</string> <string name="summary_watch" msgid="6566922405914995759">"Tətbiq <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazını idarə etmək üçün lazımdır. <xliff:g id="APP_NAME">%2$s</xliff:g> tətbiqinə zəng edənin adı kimi məlumatları sinxronlaşdırmaq, bildirişlərlə qarşılıqlı əlaqəyə girmək, habelə Telefon, SMS, Kontaktlar, Təqvim, Zəng qeydləri və Yaxınlıqdakı cihazlar üzrə icazələrə daxil olmaq imkanı veriləcək."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Tətbiq <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazını idarə etmək üçün lazımdır. <xliff:g id="APP_NAME">%2$s</xliff:g> tətbiqinə zəng edənin adı kimi məlumatları sinxronlaşdırmaq və bu icazələrə daxil olmaq imkanı veriləcək:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> tətbiqinə <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> cihazını idarə etmək icazəsi verilsin?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"eynək"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Bu tətbiq <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazını idarə etmək üçün lazımdır. <xliff:g id="APP_NAME">%2$s</xliff:g> bildirişlərə, Telefon, SMS, Kontaktlar, Mikrofon və Yaxınlıqdakı cihazlar icazələrinə giriş əldə edəcək."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Tətbiq telefonda bu icazələrə daxil ola biləcək:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> tətbiqinə telefonunuzdan bu məlumata giriş icazəsi verin"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cihazlararası xidmətlər"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqi <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> adından cihazlarınız arasında tətbiqləri yayımlamaq üçün icazə istəyir"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play xidmətləri"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> tətbiqi <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> adından telefonunuzun fotoları, mediası və bildirişlərinə giriş üçün icazə istəyir"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> cihazına bu əməliyyatı yerinə yetirmək icazəsi verilsin?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="DEVICE_NAME">%2$s</xliff:g> adından tətbiq və digər sistem funksiyalarını yaxınlıqdakı cihazlara yayımlamaq icazəsi sitəyir"</string> <string name="profile_name_generic" msgid="6851028682723034988">"cihaz"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Bu tətbiq telefon və <xliff:g id="DEVICE_NAME">%1$s</xliff:g> arasında zəng edənin adı kimi məlumatları sinxronlaşdıra biləcək."</string> <string name="summary_generic" msgid="4988130802522924650">"Bu tətbiq telefon və seçilmiş cihaz arasında zəng edənin adı kimi məlumatları sinxronlaşdıra biləcək."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foto və media"</string> <string name="permission_notification" msgid="693762568127741203">"Bildirişlər"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Tətbiqlər"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Yayım"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Telefon zəngi edə və onları idarə edə bilər"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Telefonun zəng qeydini oxuya və yaza bilər"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS mesajları göndərə və baxa bilər"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kontaktlarınıza giriş edə bilər"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Təqviminizə giriş edə bilər"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Audio qeydə ala bilər"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Yaxınlıqdakı cihazları tapa, qoşula və nisbi mövqeyi təyin edə bilər"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Bütün bildirişləri, o cümlədən kontaktlar, mesajlar və fotolar kimi məlumatları oxuya bilər"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Telefonunuzun tətbiqlərini yayımlayın"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Telefondan tətbiq və digər sistem funksiyalarını yayımlayın"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml index 4812889f1127..fea0d07f9226 100644 --- a/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-b+sr+Latn/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Odaberite <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kojim će upravljati aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> će dobiti dozvolu za sinhronizovanje informacija, poput osobe koja upućuje poziv, za interakciju sa obaveštenjima i pristup dozvolama za telefon, SMS, kontakte, kalendar, evidencije poziva i uređaje u blizini."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> će dobiti dozvolu za sinhronizaciju informacija, poput osobe koja upućuje poziv, kao za pristup sledećim dozvolama:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Želite li da dozvolite da <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> upravlja uređajem <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"naočare"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ova aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> će dobiti dozvolu za interakciju sa obaveštenjima i pristup dozvolama za telefon, SMS, kontakte, mikrofon i uređaje u blizini."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Ovoj aplikaciji će biti dozvoljeno da pristupa ovim dozvolama na telefonu:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Dozvolite da <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pristupa ovim informacijama sa telefona"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Usluge na više uređaja"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> zahteva dozvolu u ime uređaja <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> za strimovanje aplikacija između uređaja"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play usluge"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> zahteva dozvolu u ime uređaja <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> za pristup slikama, medijskom sadržaju i obaveštenjima sa telefona"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Želite li da dozvolite da <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> obavi ovu radnju?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> zahteva dozvolu u ime uređaja <xliff:g id="DEVICE_NAME">%2$s</xliff:g> da strimuje aplikacije i druge sistemske funkcije na uređaje u blizini"</string> <string name="profile_name_generic" msgid="6851028682723034988">"uređaj"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ova aplikacija će moći da sinhronizuje podatke, poput imena osobe koja upućuje poziv, između telefona i uređaja <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Ova aplikacija će moći da sinhronizuje podatke, poput imena osobe koja upućuje poziv, između telefona i odabranog uređaja."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Slike i mediji"</string> <string name="permission_notification" msgid="693762568127741203">"Obaveštenja"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikacije"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Striming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Može da upućuje telefonske pozive i upravlja njima"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Može da čita i piše evidenciju poziva na telefonu"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Može da šalje i pregleda SMS poruke"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Može da pristupa kontaktima"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Može da pristupa kalendaru"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Može da snima zvuk"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Može da pronalazi i utvrđuje relativnu poziciju uređaja u blizini, kao i da se povezuje sa njima"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Može da čita sva obaveštenja, uključujući informacije poput kontakata, poruka i slika"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Strimujte aplikacije na telefonu"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Strimujte aplikacije i druge sistemske funkcije sa telefona"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-be/strings.xml b/packages/CompanionDeviceManager/res/values-be/strings.xml index 76de34ad574d..9bf51d5cbea3 100644 --- a/packages/CompanionDeviceManager/res/values-be/strings.xml +++ b/packages/CompanionDeviceManager/res/values-be/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Выберыце прыладу (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), якой будзе кіраваць праграма <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Гэта праграма неабходная для кіравання прыладай \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". <xliff:g id="APP_NAME">%2$s</xliff:g> зможа сінхранізаваць інфармацыю (напрыклад, імя таго, хто звоніць), узаемадзейнічаць з вашымі апавяшчэннямі, а таксама атрымае доступ да тэлефона, SMS, кантактаў, календара, журналаў выклікаў і прылад паблізу."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Гэта праграма неабходная для кіравання прыладай \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". <xliff:g id="APP_NAME">%2$s</xliff:g> зможа сінхранізаваць інфармацыю (напрыклад, імя таго, хто звоніць) і атрымае наступныя дазволы:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Дазволіць праграме <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> кіраваць прыладай <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"акуляры"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Гэта праграма неабходная для кіравання прыладай \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". <xliff:g id="APP_NAME">%2$s</xliff:g> зможа ўзаемадзейнічаць з вашымі апавяшчэннямі і атрымае доступ да тэлефона, SMS, кантактаў, мікрафона і прылад паблізу."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Гэта праграма будзе мець на вашым тэлефоне наступныя дазволы:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Дазвольце праграме <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> мець доступ да гэтай інфармацыі з вашага тэлефона"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Сэрвісы для некалькіх прылад"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" запытвае дазвол ад імя вашай прылады \"<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>\" на трансляцыю праграм паміж вашымі прыладамі"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Сэрвісы Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" запытвае дазвол ад імя вашай прылады \"<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>\" на доступ да фота, медыяфайлаў і апавяшчэнняў на вашым тэлефоне"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Дазволіць прыладзе <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> выканаць гэта дзеянне?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Праграма \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" запытвае дазвол ад імя вашай прылады \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\" на перадачу плынню змесціва праграм і іншых функцый сістэмы на прылады паблізу"</string> <string name="profile_name_generic" msgid="6851028682723034988">"прылада"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Гэта праграма зможа сінхранізаваць інфармацыю (напрыклад, імя таго, хто звоніць) паміж тэлефонам і прыладай \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string> <string name="summary_generic" msgid="4988130802522924650">"Гэта праграма зможа сінхранізаваць інфармацыю (напрыклад, імя таго, хто звоніць) паміж тэлефонам і выбранай прыладай."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Фота і медыяфайлы"</string> <string name="permission_notification" msgid="693762568127741203">"Апавяшчэнні"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Праграмы"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Перадача плынню"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Можа рабіць тэлефонныя выклікі і кіраваць імі"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Можа счытваць і запісваць даныя ў журнале тэлефонных выклікаў"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Можа адпраўляць і праглядаць SMS-паведамленні"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Можа атрымліваць доступ да вашых кантактаў"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Можа атрымліваць доступ да вашага календара"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Можа запісваць аўдыя"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Можа знаходзіць прылады паблізу, падключацца да іх і вызначаць іх прыблізнае месцазнаходжанне"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Можа счытваць усе апавяшчэнні, уключаючы паведамленні, фота і інфармацыю пра кантакты"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Трансляцыя змесціва праграм з вашага тэлефона"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Перадача плынню змесціва праграм і іншых функцый сістэмы з вашага тэлефона"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-bg/strings.xml b/packages/CompanionDeviceManager/res/values-bg/strings.xml index 36da32dbdedd..bd2e63ba47bc 100644 --- a/packages/CompanionDeviceManager/res/values-bg/strings.xml +++ b/packages/CompanionDeviceManager/res/values-bg/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Изберете устройство (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), което да се управлява от <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Това приложение е необходимо за управление на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ще получи право да синхронизира различна информация, като например името на обаждащия се, да взаимодейства с известията ви и достъп до разрешенията за телефона, SMS съобщенията, контактите, календара, списъците с обажданията и устройствата в близост."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Това приложение е необходимо за управление на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ще получи право да синхронизира различна информация, като например името на обаждащия се, и достъп до следните разрешения:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Разрешавате ли на <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> да управлява устройството <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"очилата"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Това приложение е необходимо за управление на <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Приложението <xliff:g id="APP_NAME">%2$s</xliff:g> ще получи право да взаимодейства с известията ви, както и достъп до разрешенията за телефона, SMS съобщенията, контактите, микрофона и устройствата в близост."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Това приложение ще има достъп до следните разрешения за телефона ви:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Разрешете на <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> да осъществява достъп до тази информация от телефона ви"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Услуги за различни устройства"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ иска разрешение от името на <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> да предава поточно приложения между устройствата ви"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Услуги за Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> иска разрешение от името на <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> за достъп до снимките, мултимедията и известията на телефона ви"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Разрешавате ли на <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> да предприема това действие?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> иска разрешение от името на <xliff:g id="DEVICE_NAME">%2$s</xliff:g> да предава поточно приложения и други системни функции към устройства в близост"</string> <string name="profile_name_generic" msgid="6851028682723034988">"устройство"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Това приложение ще може да синхронизира различна информация, като например името на обаждащия се, между телефона ви и <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Това приложение ще може да синхронизира различна информация, като например името на обаждащия се, между телефона ви и избраното устройство."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Снимки и мултимедия"</string> <string name="permission_notification" msgid="693762568127741203">"Известия"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Приложения"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Поточно предаване"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Може да извършва и управлява телефонни обаждания"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Може да чете списъка с телефонните обаждания и да записва в него"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Може да изпраща и преглежда SMS съобщения"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Може да осъществява достъп до контактите ви"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Може да осъществява достъп до календара ви"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Може да записва звук"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Може да намира и да се свързва с устройства в близост, както и да определя относителната им позиция"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Може да чете всички известия, включително различна информация, като например контакти, съобщения и снимки"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Поточно предаване на приложенията на телефона ви"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Поточно предаване на приложения и други системни функции от телефона ви"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-bn/strings.xml b/packages/CompanionDeviceManager/res/values-bn/strings.xml index 20a6e27226e9..c6d364f3d116 100644 --- a/packages/CompanionDeviceManager/res/values-bn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-bn/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<xliff:g id="PROFILE_NAME">%1$s</xliff:g> বেছে নিন যেটি <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ম্যানেজ করবে"</string> <string name="summary_watch" msgid="6566922405914995759">"আপনার <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ম্যানেজ করার জন্য অ্যাপটি প্রয়োজন। <xliff:g id="APP_NAME">%2$s</xliff:g>-কে কলারের নামের মতো তথ্য সিঙ্ক করার অনুমতি দেওয়া হবে, এছাড়াও আপনার বিজ্ঞপ্তির সাথে ইন্টার্যাক্ট করা এবং আপনার ফোন, এসএমএস, পরিচিতি তালিকা, ক্যালেন্ডার, কল লগ এবং আশেপাশের ডিভাইস ব্যবহার করার অনুমতি অ্যাক্সেস করতে দেওয়া হবে।"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"আপনার <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ম্যানেজ করার জন্য অ্যাপটি প্রয়োজন। <xliff:g id="APP_NAME">%2$s</xliff:g>-কে কলারের নামের মতো তথ্য় সিঙ্ক করতে এবং এইসব অনুমতি অ্যাক্সেস করতে দেওয়া হবে:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"আপনি কি <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ম্যানেজ করার জন্য <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>-কে অনুমতি দেবেন?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"চশমা"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ম্যানেজ করতে এই অ্যাপ দরকার। <xliff:g id="APP_NAME">%2$s</xliff:g>-কে আপনার বিজ্ঞপ্তির সাথে ইন্টার্যাক্ট করার এবং ফোন, এসএমএস, পরিচিতি, মাইক্রোফোন ও আশেপাশের ডিভাইসের অনুমতি অ্যাক্সেস করতে দেওয়া হবে।"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"আপনার ফোনের এইসব অনুমতি এই অ্যাপ অ্যাক্সেস করতে পারবে:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"আপনার ফোন থেকে <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> অ্যাপকে এই তথ্য অ্যাক্সেস করার অনুমতি দিন"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ক্রস-ডিভাইস পরিষেবা"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"আপনার ডিভাইসগুলির মধ্যে অ্যাপ স্ট্রিম করার জন্য <xliff:g id="APP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>-এর হয়ে অনুমতি চাইছে"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play পরিষেবা"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"আপনার ফোনের ফটো, মিডিয়া এবং তথ্য অ্যাক্সেস করার জন্য <xliff:g id="APP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>-এর হয়ে অনুমতি চাইছে"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>কে এই অ্যাকশন করতে দেবেন?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"আশেপাশের ডিভাইসে অ্যাপ ও অন্যান্য সিস্টেম ফিচার স্ট্রিম করার জন্য আপনার <xliff:g id="DEVICE_NAME">%2$s</xliff:g>-এর হয়ে <xliff:g id="APP_NAME">%1$s</xliff:g> অনুমতি চেয়ে অনুরোধ করছে"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ডিভাইস"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"এই অ্যাপ আপনার ফোন এবং <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ডিভাইসের মধ্যে তথ্য সিঙ্ক করতে পারবে, যেমন কলারের নাম।"</string> <string name="summary_generic" msgid="4988130802522924650">"এই অ্যাপ আপনার ফোন এবং বেছে নেওয়া ডিভাইসের মধ্যে তথ্য সিঙ্ক করতে পারবে, যেমন কলারের নাম।"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ফটো ও মিডিয়া"</string> <string name="permission_notification" msgid="693762568127741203">"বিজ্ঞপ্তি"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"অ্যাপ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"স্ট্রিমিং"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ফোন কল করতে ও ম্যানেজ করতে পারবে"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ফোনের কল লগ পড়তে ও লিখতে পারবে"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"এসএমএস মেসেজ পাঠাতে ও দেখতে পারবে"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"আপনার পরিচিতি অ্যাক্সেস করতে পারবে"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"আপনার ক্যালেন্ডার অ্যাক্সেস করতে পারবে"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"অডিও রেকর্ড করতে পারে"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"আশেপাশের ডিভাইস খুঁজে দেখতে, তার সাথে কানেক্ট করতে এবং তার আপেক্ষিক অবস্থান নির্ধারণ করতে পারবে"</string> <string name="permission_notification_summary" msgid="884075314530071011">"সব বিজ্ঞপ্তি পড়তে পারবে, যার মধ্যে পরিচিতি, মেসেজ ও ফটোর মতো তথ্য অন্তর্ভুক্ত"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"আপনার ফোনের অ্যাপ স্ট্রিম করুন"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"আপনার ফোন থেকে অ্যাপ ও অন্যান্য সিস্টেম ফিচার স্ট্রিম করে"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-bs/strings.xml b/packages/CompanionDeviceManager/res/values-bs/strings.xml index 1df3da51c3a0..ec3be1637654 100644 --- a/packages/CompanionDeviceManager/res/values-bs/strings.xml +++ b/packages/CompanionDeviceManager/res/values-bs/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Odaberite uređaj \"<xliff:g id="PROFILE_NAME">%1$s</xliff:g>\" kojim će upravljati aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> će biti dozvoljeni sinhroniziranje informacija, kao što je ime osobe koja upućuje poziv, interakcija s obavještenjima i pristup odobrenjima za Telefon, SMS-ove, Kontakte, Kalendar, Zapisnike poziva i Uređaje u blizini."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> će biti dozvoljeni sinhroniziranje informacija, kao što je ime osobe koja upućuje poziv, i pristup ovim odobrenjima:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Dozvoliti aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> da upravlja uređajem <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"naočale"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ova aplikacija je potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> će biti dozvoljena interakcija s obavještenjima i pristup odobrenjima za Telefon, SMS, Kontakte, Mikrofon i Uređaje u blizini."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Aplikaciji će biti dozvoljen pristup ovim odobrenjima na telefonu:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Dozvolite da aplikacija <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pristupa ovim informacijama s telefona"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Usluga na više uređaja"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> u ime uređaja <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> zahtijeva odobrenje da prenosi aplikacije između vaših uređaja"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play usluge"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> u ime uređaja <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> zahtijeva odobrenje da pristupi fotografijama, medijima i odobrenjima na vašem telefonu"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Dozvoliti uređaju <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> da poduzme ovu radnju?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> u ime uređaja <xliff:g id="DEVICE_NAME">%2$s</xliff:g> traži odobrenje da prenosi aplikacije i druge funkcije sistema na uređajima u blizini"</string> <string name="profile_name_generic" msgid="6851028682723034988">"uređaj"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ova aplikacija će moći sinhronizirati informacije, kao što je ime osobe koja upućuje poziv, između vašeg telefona i uređaja <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Ova aplikacija će moći sinhronizirati informacije, kao što je ime osobe koja upućuje poziv, između vašeg telefona i odabranog uređaja."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotografije i mediji"</string> <string name="permission_notification" msgid="693762568127741203">"Obavještenja"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikacije"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Prijenos"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Može uspostavljati telefonske pozive i upravljati njima"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Može čitati i zapisivati zapisnik telefonskih poziva"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Može slati i prikazivati SMS poruke"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Može pristupiti kontaktima"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Može pristupiti kalendaru"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Može snimati zvuk"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Može pronaći uređaje u blizini, povezati se s njima i odrediti im relativan položaj"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Može čitati sva obavještenja, uključujući informacije kao što su kontakti, poruke i fotografije"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Prenosite aplikacije s telefona"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Prijenos aplikacija i drugih funkcija sistema s vašeg telefona"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ca/strings.xml b/packages/CompanionDeviceManager/res/values-ca/strings.xml index 56dd31330f85..01c586928d2b 100644 --- a/packages/CompanionDeviceManager/res/values-ca/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ca/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Tria un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> perquè el gestioni <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"L\'aplicació és necessària per gestionar el dispositiu (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> tindrà permís per sincronitzar informació, com ara el nom d\'algú que truca, per interaccionar amb les teves notificacions i accedir al telèfon, als SMS, als contactes, al calendari, als registres de trucades i als dispositius propers."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"L\'aplicació és necessària per gestionar el dispositiu (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> tindrà permís per sincronitzar informació, com ara el nom d\'algú que truca, i accedir a aquests permisos:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Permet que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> gestioni <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ulleres"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Aquesta aplicació es necessita per gestionar el dispositiu (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> tindrà permís per interaccionar amb les teves notificacions i accedir al telèfon, als SMS, als contactes, al micròfon i als dispositius propers."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Aquesta aplicació podrà accedir a aquests permisos del telèfon:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permet que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> accedeixi a aquesta informació del telèfon"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Serveis multidispositiu"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> demana permís en nom del teu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> per reproduir en continu aplicacions entre els dispositius"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Serveis de Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> demana permís en nom del teu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> per accedir a les fotos, el contingut multimèdia i les notificacions del telèfon"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vols permetre que <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> dugui a terme aquesta acció?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> sol·licita permís en nom del teu dispositiu (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) per reproduir en continu aplicacions i altres funcions del sistema en dispositius propers"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositiu"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Aquesta aplicació podrà sincronitzar informació, com ara el nom d\'algú que truca, entre el teu telèfon i el teu dispositiu (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>)."</string> <string name="summary_generic" msgid="4988130802522924650">"Aquesta aplicació podrà sincronitzar informació, com ara el nom d\'algú que truca, entre el teu telèfon i el dispositiu triat."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos i contingut multimèdia"</string> <string name="permission_notification" msgid="693762568127741203">"Notificacions"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplicacions"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Reproducció en continu"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Pot fer i gestionar trucades"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Pot llegir i escriure el registre de trucades del telèfon"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Pot enviar i consultar missatges SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Pot accedir als contactes"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Pot accedir al calendari"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Pot gravar àudio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Pot determinar la posició relativa dels dispositius propers, cercar-los i connectar-s\'hi"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Pot llegir totes les notificacions, inclosa informació com ara els contactes, els missatges i les fotos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Reprodueix en continu aplicacions del telèfon"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Reprodueix en continu aplicacions i altres funcions del sistema des del telèfon"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-cs/strings.xml b/packages/CompanionDeviceManager/res/values-cs/strings.xml index edb21d8e47c0..09c96a704361 100644 --- a/packages/CompanionDeviceManager/res/values-cs/strings.xml +++ b/packages/CompanionDeviceManager/res/values-cs/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Vyberte zařízení <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, které chcete spravovat pomocí aplikace <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplikace je nutná ke správě zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude moci synchronizovat údaje, jako je jméno volajícího, interagovat s vašimi oznámeními a získat přístup k vašim oprávněním k telefonu, SMS, kontaktům, kalendáři, seznamům hovorů a zařízením v okolí."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplikace je nutná ke správě zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude moci synchronizovat údaje, jako je jméno volajícího, a získat přístup k těmto oprávněním:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Povolit aplikaci <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> spravovat zařízení <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"brýle"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Tato aplikace je nutná ke správě zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude moci interagovat s vašimi oznámeními a získat přístup k vašim oprávněním k telefonu, SMS, kontaktům, mikrofonu a zařízením v okolí."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Tato aplikace bude mít ve vašem telefonu povolený přístup k těmto oprávněním:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Povolte aplikaci <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> přístup k těmto informacím z vašeho telefonu"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Služby pro více zařízení"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> požaduje za vaše zařízení <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> oprávnění ke streamování aplikací mezi zařízeními"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Služby Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> požaduje za vaše zařízení <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> oprávnění k přístupu k fotkám, médiím a oznámením v telefonu"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Povolit zařízení <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> podniknout tuto akci?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikace <xliff:g id="APP_NAME">%1$s</xliff:g> žádá jménem vašeho zařízení <xliff:g id="DEVICE_NAME">%2$s</xliff:g> o oprávnění streamovat aplikace a další systémové funkce do zařízení v okolí"</string> <string name="profile_name_generic" msgid="6851028682723034988">"zařízení"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Tato aplikace bude moci synchronizovat údaje, jako je jméno volajícího, mezi vaším telefonem a zařízením <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Tato aplikace bude moci synchronizovat údaje, jako je jméno volajícího, mezi vaším telefonem a vybraným zařízením."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotky a média"</string> <string name="permission_notification" msgid="693762568127741203">"Oznámení"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikace"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streamování"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Může uskutečňovat a spravovat telefonní hovory"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Může číst seznam telefonních hovorů a zapisovat do něj"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Může odesílat a číst zprávy SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Má přístup k vašim kontaktům"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Má přístup k vašemu kalendáři"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Může nahrávat zvuk"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Může nacházet zařízení v okolí, připojovat se k nim a zjišťovat jejich relativní polohu"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Může číst veškerá oznámení včetně informací, jako jsou kontakty, zprávy a fotky"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Streamujte aplikace v telefonu"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Streamování aplikací a dalších systémových funkcí z telefonu"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-da/strings.xml b/packages/CompanionDeviceManager/res/values-da/strings.xml index 181c4aa3a779..17ed58680156 100644 --- a/packages/CompanionDeviceManager/res/values-da/strings.xml +++ b/packages/CompanionDeviceManager/res/values-da/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Vælg det <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, som skal administreres af <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Du skal bruge denne app for at administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tilladelse til at interagere med dine notifikationer og synkronisere oplysninger som f.eks. navnet på en person, der ringer, og appen får adgang til dine tilladelser for Opkald, Sms, Kalender, Opkaldshistorik og Enheder i nærheden."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Du skal bruge denne app for at administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tilladelse til at synkronisere oplysninger som f.eks. navnet på en person, der ringer, og appen får adgang til følgende tilladelser:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Vil du tillade, at <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> administrerer <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"briller"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Du skal bruge denne app for at administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tilladelse til at interagere med dine notifikationer og tilgå tilladelserne Telefon, Sms, Kontakter, Mikrofon og Enheder i nærheden."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Denne app får tilladelse til at tilgå disse tilladelser på din telefon:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Giv <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> adgang til disse oplysninger fra din telefon"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Tjenester, som kan tilsluttes en anden enhed"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> anmoder om tilladelse på vegne af din <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> til at streame apps mellem dine enheder"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play-tjenester"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> anmoder om tilladelse på vegne af din <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> til at få adgang til din telefons billeder, medier og notifikationer"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vil du tillade, at <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> foretager denne handling?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> anmoder om tilladelse på vegne af din <xliff:g id="DEVICE_NAME">%2$s</xliff:g> til at streame apps og andre systemfunktioner til enheder i nærheden"</string> <string name="profile_name_generic" msgid="6851028682723034988">"enhed"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Denne app vil kunne synkronisere oplysninger som f.eks. navnet på en person, der ringer, mellem din telefon og <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Denne app vil kunne synkronisere oplysninger som f.eks. navnet på en person, der ringer, mellem din telefon og den valgte enhed."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Billeder og medier"</string> <string name="permission_notification" msgid="693762568127741203">"Notifikationer"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Kan foretage og administrere telefonopkald"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Kan læse og redigere opkaldshistorik"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Kan sende og se sms-beskeder"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kan tilgå dine kontakter"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Kan tilgå din kalender"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Kan optage lyd"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Kan finde, oprette forbindelse til og fastslå den omtrentlige lokation af enheder i nærheden"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kan læse alle notifikationer, herunder oplysninger som f.eks. kontakter, beskeder og billeder"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Stream din telefons apps"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Stream apps og andre systemfunktioner fra din telefon"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-de/strings.xml b/packages/CompanionDeviceManager/res/values-de/strings.xml index 5063e7e19b46..bfb750ed2048 100644 --- a/packages/CompanionDeviceManager/res/values-de/strings.xml +++ b/packages/CompanionDeviceManager/res/values-de/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Gerät „<xliff:g id="PROFILE_NAME">%1$s</xliff:g>“ auswählen, das von <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> verwaltet werden soll"</string> <string name="summary_watch" msgid="6566922405914995759">"Die App wird zur Verwaltung deines Geräts (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) benötigt. <xliff:g id="APP_NAME">%2$s</xliff:g> darf dann Daten wie den Namen eines Anrufers synchronisieren, mit deinen Benachrichtigungen interagieren und auf die Berechtigungen „Telefon“, „SMS“, „Kontakte“, „Kalender“, „Anruflisten“ und „Geräte in der Nähe“ zugreifen."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Die App wird zur Verwaltung deines Geräts (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) benötigt. <xliff:g id="APP_NAME">%2$s</xliff:g> darf dann Daten wie den Namen eines Anrufers synchronisieren und auf folgende Berechtigungen zugreifen:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Zulassen, dass <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> das Gerät <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> verwalten darf"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"Glass-Geräte"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Diese App wird zur Verwaltung deines Geräts (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) benötigt. <xliff:g id="APP_NAME">%2$s</xliff:g> darf mit deinen Benachrichtigungen interagieren und auf die Berechtigungen „Telefon“, „SMS“, „Kontakte“, „Mikrofon“ und „Geräte in der Nähe“ zugreifen."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Diese App darf auf die folgenden Berechtigungen auf deinem Smartphone zugreifen:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> Zugriff auf diese Informationen von deinem Smartphone gewähren"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Geräteübergreifende Dienste"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> bittet für dein <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> um die Berechtigung zum Streamen von Apps zwischen deinen Geräten"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play-Dienste"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> bittet im Namen deines <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> um die Berechtigung zum Zugriff auf die Fotos, Medien und Benachrichtigungen deines Smartphones"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Darf das Gerät <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> diese Aktion ausführen?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> bittet für dein Gerät (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) um die Berechtigung, Apps und andere Systemfunktionen auf Geräte in der Nähe zu streamen"</string> <string name="profile_name_generic" msgid="6851028682723034988">"Gerät"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Diese App kann dann Daten wie den Namen eines Anrufers zwischen deinem Smartphone und deinem Gerät (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) synchronisieren."</string> <string name="summary_generic" msgid="4988130802522924650">"Diese App kann dann Daten wie den Namen eines Anrufers zwischen deinem Smartphone und dem ausgewählten Gerät synchronisieren."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos und Medien"</string> <string name="permission_notification" msgid="693762568127741203">"Benachrichtigungen"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Kann Anrufe tätigen und verwalten"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Kann auf die Anrufliste zugreifen und sie bearbeiten"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Kann SMS senden und abrufen"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kann auf deine Kontakte zugreifen"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Kann auf deinen Kalender zugreifen"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Darf Audio aufnehmen"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Kann Geräte in der Nähe finden, eine Verbindung zu ihnen herstellen und ihren relativen Standort ermitteln"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kann alle Benachrichtigungen lesen, einschließlich Informationen wie Kontakten, Nachrichten und Fotos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Smartphone-Apps streamen"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Apps und andere Systemfunktionen von deinem Smartphone streamen"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-el/strings.xml b/packages/CompanionDeviceManager/res/values-el/strings.xml index 992d7cfc8f58..d0b4609b1602 100644 --- a/packages/CompanionDeviceManager/res/values-el/strings.xml +++ b/packages/CompanionDeviceManager/res/values-el/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Επιλέξτε ένα προφίλ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> για διαχείριση από την εφαρμογή <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Η εφαρμογή είναι απαραίτητη για τη διαχείριση της συσκευής <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Η εφαρμογή <xliff:g id="APP_NAME">%2$s</xliff:g> θα μπορεί να συγχρονίζει πληροφορίες, όπως το όνομα ενός ατόμου που σας καλεί, να αλληλεπιδρά με τις ειδοποιήσεις σας και να αποκτά πρόσβαση στις άδειες Τηλέφωνο, SMS, Επαφές, Ημερολόγιο, Αρχεία καταγρ. κλήσ. και Συσκευές σε κοντινή απόσταση."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Η εφαρμογή είναι απαραίτητη για τη διαχείριση της συσκευής <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Η εφαρμογή <xliff:g id="APP_NAME">%2$s</xliff:g> θα μπορεί να συγχρονίζει πληροφορίες, όπως το όνομα ενός ατόμου που σας καλεί, και να αποκτά πρόσβαση σε αυτές τις άδειες:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Να επιτρέπεται στην εφαρμογή <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> να διαχειρίζεται τη συσκευή <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ;"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"γυαλιά"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Αυτή η εφαρμογή είναι απαραίτητη για τη διαχείριση της συσκευής <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Θα επιτρέπεται στην εφαρμογή <xliff:g id="APP_NAME">%2$s</xliff:g> να αλληλεπιδρά με τις ειδοποιήσεις σας και να αποκτά πρόσβαση στις άδειες για το Τηλέφωνο, τα SMS, τις Επαφές, το Μικρόφωνο και τις Συσκευές σε κοντινή απόσταση."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Αυτή η εφαρμογή θα μπορεί να έχει πρόσβαση σε αυτές τις άδειες στο τηλέφωνό σας:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Να επιτρέπεται στο <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> η πρόσβαση σε αυτές τις πληροφορίες από το τηλέφωνό σας."</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Υπηρεσίες πολλών συσκευών"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> ζητά εκ μέρους της συσκευής σας <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> άδεια για ροή εφαρμογών μεταξύ των συσκευών σας"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Υπηρεσίες Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> ζητά εκ μέρους της συσκευής σας <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> άδεια για πρόσβαση στις φωτογραφίες, τα αρχεία μέσων και τις ειδοποιήσεις του τηλεφώνου σας"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Να επιτρέπεται στη συσκευή <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> να εκτελεί αυτήν την ενέργεια;"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Η εφαρμογή <xliff:g id="APP_NAME">%1$s</xliff:g> ζητά άδεια εκ μέρους της συσκευής σας <xliff:g id="DEVICE_NAME">%2$s</xliff:g> για ροή εφαρμογών και άλλων λειτουργιών του συστήματος σε συσκευές σε κοντινή απόσταση"</string> <string name="profile_name_generic" msgid="6851028682723034988">"συσκευή"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Αυτή η εφαρμογή θα μπορεί να συγχρονίζει πληροφορίες μεταξύ του τηλεφώνου και της συσκευής <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, όπως το όνομα ενός ατόμου που σας καλεί."</string> <string name="summary_generic" msgid="4988130802522924650">"Αυτή η εφαρμογή θα μπορεί να συγχρονίζει πληροφορίες μεταξύ του τηλεφώνου και της επιλεγμένης συσκευής σας, όπως το όνομα ενός ατόμου που σας καλεί."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Φωτογραφίες και μέσα"</string> <string name="permission_notification" msgid="693762568127741203">"Ειδοποιήσεις"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Εφαρμογές"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Ροή"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Μπορεί να πραγματοποιήσει και να διαχειριστεί τηλεφωνικές κλήσεις"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Έχει άδεια ανάγνωσης και εγγραφής στο αρχείο καταγραφής κλήσεων του τηλεφώνου"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Μπορεί να στείλει και να προβάλλει μηνύματα SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Έχει πρόσβαση στις επαφές σας"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Έχει πρόσβαση στο ημερολόγιό σας"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Μπορεί να κάνει εγγραφή ήχου"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Δεν μπορεί να βρει, να συνδεθεί και να προσδιορίσει τη σχετική τοποθεσία των κοντινών συσκευών"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Μπορεί να διαβάσει όλες τις ειδοποιήσεις, συμπεριλαμβανομένων πληροφοριών όπως επαφές, μηνύματα και φωτογραφίες"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Μεταδώστε σε ροή τις εφαρμογές του τηλεφώνου σας"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Ροή εφαρμογών και άλλων λειτουργιών του συστήματος από το τηλέφωνό σας"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml b/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml index 21b843438768..e4215c63ff7c 100644 --- a/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml +++ b/packages/CompanionDeviceManager/res/values-en-rAU/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Choose a <xliff:g id="PROFILE_NAME">%1$s</xliff:g> to be managed by <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"The app is needed to manage your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to sync info, like the name of someone calling, interact with your notifications and access your Phone, SMS, Contacts, Calendar, Call logs and Nearby devices permissions."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"The app is needed to manage your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to sync info, like the name of someone calling, and access these permissions:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Allow <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> to manage <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"glasses"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"This app is needed to manage <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to interact with your notifications and access your phone, SMS, contacts, microphone and Nearby devices permissions."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"This app will be allowed to access these permissions on your phone:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Allow <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> to access this information from your phone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cross-device services"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> to stream apps between your devices"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> to access your phone’s photos, media and notifications"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Allow <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> to take this action?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_NAME">%2$s</xliff:g> to stream apps and other system features to nearby devices"</string> <string name="profile_name_generic" msgid="6851028682723034988">"device"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"This app will be able to sync info, like the name of someone calling, between your phone and <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"This app will be able to sync info, like the name of someone calling, between your phone and the chosen device."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Photos and media"</string> <string name="permission_notification" msgid="693762568127741203">"Notifications"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Can make and manage phone calls"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Can read and write phone call log"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Can send and view SMS messages"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Can access your contacts"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Can access your calendar"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Can record audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Can find, connect to and determine the relative position of nearby devices"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Can read all notifications, including information like contacts, messages and photos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Stream your phone’s apps"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Stream apps and other system features from your phone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml b/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml index 21b843438768..e4215c63ff7c 100644 --- a/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml +++ b/packages/CompanionDeviceManager/res/values-en-rGB/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Choose a <xliff:g id="PROFILE_NAME">%1$s</xliff:g> to be managed by <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"The app is needed to manage your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to sync info, like the name of someone calling, interact with your notifications and access your Phone, SMS, Contacts, Calendar, Call logs and Nearby devices permissions."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"The app is needed to manage your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to sync info, like the name of someone calling, and access these permissions:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Allow <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> to manage <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"glasses"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"This app is needed to manage <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to interact with your notifications and access your phone, SMS, contacts, microphone and Nearby devices permissions."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"This app will be allowed to access these permissions on your phone:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Allow <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> to access this information from your phone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cross-device services"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> to stream apps between your devices"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> to access your phone’s photos, media and notifications"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Allow <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> to take this action?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_NAME">%2$s</xliff:g> to stream apps and other system features to nearby devices"</string> <string name="profile_name_generic" msgid="6851028682723034988">"device"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"This app will be able to sync info, like the name of someone calling, between your phone and <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"This app will be able to sync info, like the name of someone calling, between your phone and the chosen device."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Photos and media"</string> <string name="permission_notification" msgid="693762568127741203">"Notifications"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Can make and manage phone calls"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Can read and write phone call log"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Can send and view SMS messages"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Can access your contacts"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Can access your calendar"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Can record audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Can find, connect to and determine the relative position of nearby devices"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Can read all notifications, including information like contacts, messages and photos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Stream your phone’s apps"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Stream apps and other system features from your phone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml b/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml index 21b843438768..e4215c63ff7c 100644 --- a/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml +++ b/packages/CompanionDeviceManager/res/values-en-rIN/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Choose a <xliff:g id="PROFILE_NAME">%1$s</xliff:g> to be managed by <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"The app is needed to manage your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to sync info, like the name of someone calling, interact with your notifications and access your Phone, SMS, Contacts, Calendar, Call logs and Nearby devices permissions."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"The app is needed to manage your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to sync info, like the name of someone calling, and access these permissions:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Allow <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> to manage <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"glasses"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"This app is needed to manage <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> will be allowed to interact with your notifications and access your phone, SMS, contacts, microphone and Nearby devices permissions."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"This app will be allowed to access these permissions on your phone:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Allow <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> to access this information from your phone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cross-device services"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> to stream apps between your devices"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> to access your phone’s photos, media and notifications"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Allow <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> to take this action?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> is requesting permission on behalf of your <xliff:g id="DEVICE_NAME">%2$s</xliff:g> to stream apps and other system features to nearby devices"</string> <string name="profile_name_generic" msgid="6851028682723034988">"device"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"This app will be able to sync info, like the name of someone calling, between your phone and <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"This app will be able to sync info, like the name of someone calling, between your phone and the chosen device."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Photos and media"</string> <string name="permission_notification" msgid="693762568127741203">"Notifications"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Can make and manage phone calls"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Can read and write phone call log"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Can send and view SMS messages"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Can access your contacts"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Can access your calendar"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Can record audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Can find, connect to and determine the relative position of nearby devices"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Can read all notifications, including information like contacts, messages and photos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Stream your phone’s apps"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Stream apps and other system features from your phone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml index df5562e96904..97b68ed647b6 100644 --- a/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml +++ b/packages/CompanionDeviceManager/res/values-es-rUS/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Elige un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para que la app <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> lo administre"</string> <string name="summary_watch" msgid="6566922405914995759">"Esta app es necesaria para administrar tu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá sincronizar información, como el nombre de la persona que llama, interactuar con tus notificaciones y acceder a los permisos de Teléfono, SMS, Contactos, Calendario, Llamadas y Dispositivos cercanos."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Esta app es necesaria para administrar tu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá sincronizar información, como el nombre de la persona que llama, y acceder a los siguientes permisos:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Permite que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> administre <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"Gafas"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Esta app es necesaria para administrar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá interactuar con tus notificaciones y acceder a los permisos de Teléfono, SMS, Contactos, Micrófono y Dispositivos cercanos."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Esta app podrá acceder a los siguientes permisos en tu teléfono:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permite que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a esta información de tu teléfono"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Servicios multidispositivo"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> solicita tu permiso en nombre de <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para transmitir apps entre dispositivos"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Servicios de Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> solicita tu permiso en nombre de <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para acceder a las fotos, el contenido multimedia y las notificaciones de tu teléfono"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"¿Permites que <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> realice esta acción?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> está solicitando permiso en nombre de tu <xliff:g id="DEVICE_NAME">%2$s</xliff:g> para transmitir apps y otras funciones del sistema a dispositivos cercanos"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositivo"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Esta app podrá sincronizar información, como el nombre de la persona que llama, entre el teléfono y <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Esta app podrá sincronizar información, como el nombre de la persona que llama, entre el teléfono y el dispositivo elegido."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos y contenido multimedia"</string> <string name="permission_notification" msgid="693762568127741203">"Notificaciones"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Transmisión"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Puede hacer y administrar llamadas telefónicas"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Puede leer y escribir el registro de llamadas telefónicas"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Puede enviar y ver mensajes SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Puede acceder a los contactos"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Puede acceder al calendario"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Puede grabar audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Puede encontrar, conectarse con y determinar la ubicación relativa de los dispositivos cercanos"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Puede leer todas las notificaciones, incluso con información como contactos, mensajes y fotos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Transmitir las apps de tu teléfono"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Transmite apps y otras funciones del sistema desde tu teléfono"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-es/strings.xml b/packages/CompanionDeviceManager/res/values-es/strings.xml index ba8fd5de177b..5ecf79e5bf70 100644 --- a/packages/CompanionDeviceManager/res/values-es/strings.xml +++ b/packages/CompanionDeviceManager/res/values-es/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Elige un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para gestionarlo con <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Se necesita la aplicación para gestionar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá sincronizar información (por ejemplo, el nombre de la persona que te llama), interactuar con tus notificaciones y acceder a tus permisos de teléfono, SMS, contactos, calendario, registros de llamadas y dispositivos cercanos."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Se necesita la aplicación para gestionar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá sincronizar información (por ejemplo, el nombre de la persona que te llama) y acceder a los permisos siguientes:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"¿Permitir que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> gestione <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"gafas"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Se necesita esta aplicación para gestionar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> podrá interactuar con tus notificaciones y acceder a tus permisos de teléfono, SMS, contactos, micrófono y dispositivos cercanos."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Esta aplicación podrá acceder a los siguientes permisos de tu teléfono:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a esta información de tu teléfono"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Servicios multidispositivo"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> está pidiendo permiso en nombre de tu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para emitir aplicaciones en otros dispositivos tuyos"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Servicios de Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> está pidiendo permiso en nombre de tu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para acceder a las fotos, los archivos multimedia y las notificaciones de tu teléfono"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"¿Permitir que <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> realice esta acción?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> está pidiendo permiso en nombre de tu <xliff:g id="DEVICE_NAME">%2$s</xliff:g> para emitir aplicaciones y otras funciones del sistema en dispositivos cercanos"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositivo"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Esta aplicación podrá sincronizar información (por ejemplo, el nombre de la persona que te llama) entre tu teléfono y <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Esta aplicación podrá sincronizar información (por ejemplo, el nombre de la persona que te llama) entre tu teléfono y el dispositivo que elijas."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos y elementos multimedia"</string> <string name="permission_notification" msgid="693762568127741203">"Notificaciones"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplicaciones"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Emitir"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Puede hacer y gestionar llamadas"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Puede leer y escribir en el registro de llamadas del teléfono"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Puede enviar y ver mensajes SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Puede acceder a tus contactos"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Puede acceder a tu calendario"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Puede grabar audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Puede buscar, conectarse y determinar la posición relativa de dispositivos cercanos"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Puede leer todas las notificaciones, incluida información como contactos, mensajes y fotos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Muestra en streaming las aplicaciones de tu teléfono"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Emite aplicaciones y otras funciones del sistema desde tu teléfono"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-et/strings.xml b/packages/CompanionDeviceManager/res/values-et/strings.xml index fadb56ac53f8..f0e565f21661 100644 --- a/packages/CompanionDeviceManager/res/values-et/strings.xml +++ b/packages/CompanionDeviceManager/res/values-et/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Valige <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, mida haldab rakendus <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Seda rakendust on vaja teie seadme <xliff:g id="DEVICE_NAME">%1$s</xliff:g> haldamiseks. Rakendusel <xliff:g id="APP_NAME">%2$s</xliff:g> lubatakse sünkroonida teavet, näiteks helistaja nime, kasutada teie märguandeid ning pääseda juurde teie telefoni, SMS-ide, kontaktide, kalendri, kõnelogide ja läheduses olevate seadmete lubadele."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Seda rakendust on vaja teie seadme <xliff:g id="DEVICE_NAME">%1$s</xliff:g> haldamiseks. <xliff:g id="APP_NAME">%2$s</xliff:g> lubatakse sünkroonida teavet, näiteks helistaja nime, ja pääseda juurde järgmistele lubadele."</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Lubage rakendusel <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> hallata seadet <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"prillid"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Seda rakendust on vaja seadme <xliff:g id="DEVICE_NAME">%1$s</xliff:g> haldamiseks. Rakendusel <xliff:g id="APP_NAME">%2$s</xliff:g> lubatakse kasutada teie märguandeid ning pääseda juurde teie telefoni, SMS-ide, kontaktide, mikrofoni ja läheduses olevate seadmete lubadele."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Sellele rakendusele antakse luba neile juurdepääsudele teie telefonis:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Lubage rakendusel <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pääseda teie telefonis juurde sellele teabele"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Seadmeülesed teenused"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> taotleb teie seadme <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> nimel luba teie seadmete vahel rakendusi voogesitada"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play teenused"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> taotleb teie seadme <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> nimel luba pääseda juurde telefoni fotodele, meediale ja märguannetele"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Kas lubada seadmel <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> teha seda toimingut?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> taotleb teie seadme <xliff:g id="DEVICE_NAME">%2$s</xliff:g> nimel luba voogesitada rakendusi ja muid süsteemi funktsioone läheduses olevatesse seadmetesse"</string> <string name="profile_name_generic" msgid="6851028682723034988">"seade"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"See rakendus saab sünkroonida teavet, näiteks helistaja nime, teie telefoni ja seadme <xliff:g id="DEVICE_NAME">%1$s</xliff:g> vahel."</string> <string name="summary_generic" msgid="4988130802522924650">"See rakendus saab sünkroonida teavet, näiteks helistaja nime, teie telefoni ja valitud seadme vahel."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotod ja meedia"</string> <string name="permission_notification" msgid="693762568127741203">"Märguanded"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Rakendused"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Voogesitus"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Saab teha ja hallata telefonikõnesid"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Saab telefoni kõnelogi lugeda ja sinna kirjutada"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Saab saata ja vaadata SMS-sõnumeid"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Pääseb juurde teie kontaktidele"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Pääseb juurde teie kalendrile"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Saab salvestada heli"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Leiab läheduses olevaid seadmeid, saab nendega ühenduse luua ja määrata nende suhtelise asendi"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kõikide märguannete, sealhulgas teabe, nagu kontaktid, sõnumid ja fotod, lugemine"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Telefoni rakenduste voogesitamine"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Rakenduste ja muude süsteemi funktsioonide voogesitamine teie telefonist"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-eu/strings.xml b/packages/CompanionDeviceManager/res/values-eu/strings.xml index 4d2b67cb0e61..caebddad363a 100644 --- a/packages/CompanionDeviceManager/res/values-eu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-eu/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Aukeratu <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> aplikazioak kudeatu beharreko <xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> <string name="summary_watch" msgid="6566922405914995759">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> kudeatzeko behar da aplikazioa. Informazioa sinkronizatzeko (esate baterako, deitzaileen izenak), jakinarazpenekin interakzioan aritzeko, eta telefonoa, SMSak, kontaktuak, egutegia, deien erregistroa eta inguruko gailuak erabiltzeko baimena izango du <xliff:g id="APP_NAME">%2$s</xliff:g> aplikazioak."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> kudeatzeko behar da aplikazioa. Informazioa sinkronizatzeko (esate baterako, deitzaileen izenak) eta ekintza hauek gauzatzeko baimena izango du <xliff:g id="APP_NAME">%2$s</xliff:g> aplikazioak:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> kudeatzeko baimena eman nahi diozu <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aplikazioari?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"betaurrekoak"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailua kudeatzeko behar da aplikazioa. Jakinarazpenekin interakzioan aritzeko, eta telefonoa, SMSak, kontaktuak, mikrofonoa eta inguruko gailuak erabiltzeko baimena izango du <xliff:g id="APP_NAME">%2$s</xliff:g> aplikazioak."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Telefonoko baimen hauek erabiltzeko baimena izango du aplikazioak:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Eman informazioa telefonotik hartzeko baimena <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aplikazioari"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Gailu baterako baino gehiagotarako zerbitzuak"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Gailu batetik bestera aplikazioak igortzeko baimena eskatzen ari da <xliff:g id="APP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> gailuaren izenean"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Telefonoko argazkiak, multimedia-edukia eta jakinarazpenak erabiltzeko baimena eskatzen ari da <xliff:g id="APP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> gailuaren izenean"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Ekintza hau gauzatzeko baimena eman nahi diozu <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> aplikazioari?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikazioak eta sistemaren beste eginbide batzuk inguruko gailuetara igortzeko baimena eskatzen ari da <xliff:g id="APP_NAME">%1$s</xliff:g>, <xliff:g id="DEVICE_NAME">%2$s</xliff:g> gailuaren izenean"</string> <string name="profile_name_generic" msgid="6851028682723034988">"gailua"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Telefonoaren eta <xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuaren artean informazioa sinkronizatzeko gai izango da aplikazioa (esate baterako, deitzaileen izenak)."</string> <string name="summary_generic" msgid="4988130802522924650">"Telefonoaren eta hautatutako gailuaren artean informazioa sinkronizatzeko gai izango da aplikazioa (esate baterako, deitzaileen izenak)."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Argazkiak eta multimedia-edukia"</string> <string name="permission_notification" msgid="693762568127741203">"Jakinarazpenak"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikazioak"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Igortzea"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Telefono-deiak egin eta kudea ditzake"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Telefonoko deien erregistroa irakurri, eta bertan idatz dezake"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS mezuak bidali eta ikus ditzake"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kontaktuak atzi ditzake"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Egutegia atzi dezake"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Audioa graba dezake"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Inguruko gailuak aurki ditzake, haietara konekta daiteke eta haien posizio erlatiboa zehatz dezake"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Jakinarazpen guztiak irakur ditzake; besteak beste, kontaktuak, mezuak, argazkiak eta antzeko informazioa"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Igorri zuzenean telefonoko aplikazioak"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Igorri aplikazioak eta sistemaren beste eginbide batzuk telefonotik"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-fa/strings.xml b/packages/CompanionDeviceManager/res/values-fa/strings.xml index 5d638e0c13bc..031b9d9788a9 100644 --- a/packages/CompanionDeviceManager/res/values-fa/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fa/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"انتخاب <xliff:g id="PROFILE_NAME">%1$s</xliff:g> برای مدیریت کردن با <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"این برنامه برای مدیریت <xliff:g id="DEVICE_NAME">%1$s</xliff:g> شما لازم است. به <xliff:g id="APP_NAME">%2$s</xliff:g> اجازه داده میشود اطلاعاتی مثل نام شخصی که تماس میگیرد را همگامسازی کند، با اعلانهای شما تعامل داشته باشد، و به اجازههای «تلفن»، «پیامک»، «مخاطبین»، «تقویم»، «گزارشهای تماس»، و «دستگاههای اطراف» دسترسی داشته باشد."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"این برنامه برای مدیریت <xliff:g id="DEVICE_NAME">%1$s</xliff:g> شما لازم است. به <xliff:g id="APP_NAME">%2$s</xliff:g> اجازه داده میشود اطلاعاتی مثل نام شخصی که تماس میگیرد را همگامسازی کند و به این اجازهها دسترسی داشته باشد:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"به <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> اجازه داده شود <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> را مدیریت کند؟"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"عینک"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"این برنامه برای مدیریت <xliff:g id="DEVICE_NAME">%1$s</xliff:g> لازم است. به <xliff:g id="APP_NAME">%2$s</xliff:g> اجازه داده میشود با اعلانهای شما تعامل داشته باشد و به اجازههای «تلفن»، «پیامک»، «مخاطبین»، «میکروفون»، و «دستگاههای اطراف» دسترسی داشته باشد."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"این برنامه مجاز میشود به اجازههای زیر در تلفن شما دسترسی داشته باشد:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"اجازه دادن به <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> برای دسترسی به اطلاعات تلفن"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"سرویسهای بیندستگاهی"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> اجازه میخواهد ازطرف <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> برنامهها را بین دستگاههای شما جاریسازی کند"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"خدمات Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> اجازه میخواهد ازطرف <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> به عکسها، رسانهها، و اعلانهای تلفن شما دسترسی پیدا کند"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"به <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> اجازه داده شود این اقدام را انجام دهد؟"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ازطرف <xliff:g id="DEVICE_NAME">%2$s</xliff:g> اجازه میخواهد تا برنامهها و دیگر ویژگیهای سیستم را در دستگاههای اطراف جاریسازی کند."</string> <string name="profile_name_generic" msgid="6851028682723034988">"دستگاه"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"این برنامه مجاز میشود اطلاعتی مثل نام شخصی که تماس میگیرد را بین تلفن شما و <xliff:g id="DEVICE_NAME">%1$s</xliff:g> همگامسازی کند."</string> <string name="summary_generic" msgid="4988130802522924650">"این برنامه مجاز میشود اطلاعتی مثل نام شخصی که تماس میگیرد را بین تلفن شما و دستگاه انتخابشده همگامسازی کند."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"عکسها و رسانهها"</string> <string name="permission_notification" msgid="693762568127741203">"اعلانها"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"برنامهها"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"جاریسازی"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"میتواند تماس تلفنی برقرار کند و این تماسها را مدیریت کند"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"میتواند گزارش تماسهای تلفنی را بنویسد و بخواند"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"میتواند پیامک ارسال کند و متن پیامک را مشاهده کند"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"میتواند به مخاطبین شما دسترسی داشته باشد"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"میتواند به تقویم شما دسترسی داشته باشد"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"میتواند صدا ضبط کند"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"میتواند دستگاههای اطراف را پیدا کند، به آنها متصل شود، و موقعیت نسبی آنها را تعیین کند"</string> <string name="permission_notification_summary" msgid="884075314530071011">"میتواند همه اعلانها، ازجمله اطلاعاتی مثل مخاطبین، پیامها، و عکسها را بخواند"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"جاریسازی برنامههای تلفن"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"برنامهها و دیگر ویژگیهای سیستم را از تلفن شما جاریسازی میکند"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-fi/strings.xml b/packages/CompanionDeviceManager/res/values-fi/strings.xml index 2f0e26636919..990b8185d6ed 100644 --- a/packages/CompanionDeviceManager/res/values-fi/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fi/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Valitse <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, jota <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> hallinnoi"</string> <string name="summary_watch" msgid="6566922405914995759">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> edellyttää ylläpitoon tätä sovellusta. <xliff:g id="APP_NAME">%2$s</xliff:g> saa luvan synkronoida tietoja (esimerkiksi soittajan nimen), hallinnoida ilmoituksiasi sekä pääsyn puhelimeen, tekstiviesteihin, yhteystietoihin, kalenteriin, puhelulokeihin ja lähellä olevat laitteet ‑lupiin."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> edellyttää ylläpitoon tätä sovellusta. <xliff:g id="APP_NAME">%2$s</xliff:g> saa luvan synkronoida tietoja (esimerkiksi soittajan nimen) ja pääsyn näihin lupiin:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Salli, että <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> saa ylläpitää laitetta: <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"lasit"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> edellyttää ylläpitoon tätä sovellusta. <xliff:g id="APP_NAME">%2$s</xliff:g> saa luvan hallinnoida ilmoituksiasi sekä pääsyn puhelimeen, tekstiviesteihin, yhteystietoihin, mikrofoniin ja lähellä olevat laitteet ‑lupiin."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Tämä sovellus saa käyttää näitä lupia puhelimella:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Salli, että <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> saa pääsyn näihin puhelimesi tietoihin"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Laitteidenväliset palvelut"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> pyytää laitteesi (<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>) puolesta lupaa striimata sovelluksia laitteidesi välillä"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Palvelut"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> pyytää laitteesi (<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>) puolesta lupaa päästä puhelimesi kuviin, mediaan ja ilmoituksiin"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Sallitko, että <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> voi suorittaa tämän toiminnon?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> pyytää laitteesi (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) puolesta lupaa striimata sovelluksia ja muita järjestelmän ominaisuuksia lähellä oleviin laitteisiin."</string> <string name="profile_name_generic" msgid="6851028682723034988">"laite"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Sovellus voi synkronoida tietoja (esimerkiksi soittajan nimen) puhelimesi ja laitteen (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) välillä."</string> <string name="summary_generic" msgid="4988130802522924650">"Sovellus voi synkronoida tietoja (esimerkiksi soittajan nimen) puhelimesi ja valitun laitteen välillä."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Kuvat ja media"</string> <string name="permission_notification" msgid="693762568127741203">"Ilmoitukset"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Sovellukset"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Striimaus"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Voi soittaa ja hallinnoida puheluita"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Voi lukea puhelulokia ja kirjoittaa siihen"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Voi lähettää ja nähdä tekstiviestejä"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Voi nähdä yhteystietosi"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Voi nähdä kalenterisi"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Voi tallentaa audiota"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Voi löytää lähellä olevia laitteita, muodostaa niihin yhteyden ja määrittää niiden suhteellisen sijainnin"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Voi lukea kaikkia ilmoituksia, esim. kontakteihin, viesteihin ja kuviin liittyviä tietoja"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Striimaa puhelimen sovelluksia"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Striimaa sovelluksia ja muita järjestelmän ominaisuuksia puhelimesta"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml index 97aaa761f67b..38f01cd8002a 100644 --- a/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fr-rCA/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Choisissez un(e) <xliff:g id="PROFILE_NAME">%1$s</xliff:g> qui sera géré(e) par <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"L\'application est nécessaire pour gérer votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation de synchroniser des informations, comme le nom de l\'appelant, d\'interagir avec vos notifications et d\'accéder à vos autorisations pour le téléphone, les messages texte, les contacts, l\'agenda, les journaux d\'appels et les appareils à proximité."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"L\'application est nécessaire pour gérer votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation de synchroniser des informations, comme le nom de l\'appelant, et d\'accéder à ces autorisations :"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Autoriser <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à gérer <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"lunettes"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Cette application est nécessaire pour gérer <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> sera autorisée à interagir avec vos notifications et à accéder à vos autorisations pour le téléphone, les messages texte, les contacts, le microphone et les appareils à proximité."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Cette application pourra accéder aux autorisations suivantes sur votre téléphone :"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Autorisez <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à accéder à ces informations à partir de votre téléphone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Services multiappareils"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> demande l\'autorisation au nom de votre <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> pour diffuser des applications entre vos appareils"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Services Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> demande l\'autorisation au nom de votre <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> pour accéder aux photos, aux fichiers multimédias et aux notifications de votre téléphone"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Autoriser <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> à effectuer cette action?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> demande l\'autorisation, au nom de votre <xliff:g id="DEVICE_NAME">%2$s</xliff:g>, de diffuser des applications et d\'autres fonctionnalités du système sur des appareils à proximité"</string> <string name="profile_name_generic" msgid="6851028682723034988">"appareil"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Cette application pourra synchroniser des informations, comme le nom de l\'appelant, entre votre téléphone et <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Cette application pourra synchroniser des informations, comme le nom de l\'appelant, entre votre téléphone et l\'appareil sélectionné."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Photos et fichiers multimédias"</string> <string name="permission_notification" msgid="693762568127741203">"Notifications"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Applications"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Diffusion en continu"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Peut passer et gérer des appels téléphoniques"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Peut lire et écrire les journaux d\'appels téléphoniques"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Peut envoyer et voir les messages texte"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Peut accéder à vos contacts"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Peut accéder à votre agenda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Peut enregistrer des données audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Peut trouver et déterminer la position relative des appareils à proximité, et s\'y connecter"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Peut lire toutes les notifications, y compris les renseignements tels que les contacts, les messages et les photos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Diffusez les applications de votre téléphone"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Diffusez des applications et d\'autres fonctionnalités du système à partir de votre téléphone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-fr/strings.xml b/packages/CompanionDeviceManager/res/values-fr/strings.xml index 65e4a36ffab6..dbae1ab46658 100644 --- a/packages/CompanionDeviceManager/res/values-fr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-fr/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Sélectionnez le/la <xliff:g id="PROFILE_NAME">%1$s</xliff:g> qui sera géré(e) par <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Cette appli est nécessaire pour gérer votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation de synchroniser des informations (comme le nom de la personne à l\'origine d\'un appel entrant), d\'interagir avec vos notifications et d\'accéder aux autorisations du téléphone, des SMS, des contacts, de l\'agenda, des journaux d\'appels et des appareils à proximité."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Cette appli est nécessaire pour gérer votre <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation de synchroniser vos informations, comme le nom de la personne à l\'origine d\'un appel entrant, et d\'accéder à ces autorisations :"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Autoriser <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à gérer <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"lunettes"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Cette appli est nécessaire pour gérer <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> aura l\'autorisation d\'interagir avec vos notifications et d\'accéder aux autorisations du téléphone, des SMS, des contacts, du micro et des appareils à proximité."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Cette appli sera autorisée à accéder à ces autorisations sur votre téléphone :"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Autoriser <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> à accéder à ces informations depuis votre téléphone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Services inter-appareils"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> demande l\'autorisation au nom de votre <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> pour caster des applis d\'un appareil à l\'autre"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Services Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> demande l\'autorisation au nom de votre <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> pour accéder aux photos, contenus multimédias et notifications de votre téléphone"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Autoriser <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> à effectuer cette action ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> demande l\'autorisation au nom de votre <xliff:g id="DEVICE_NAME">%2$s</xliff:g> de diffuser des applis et d\'autres fonctionnalités système en streaming sur des appareils à proximité"</string> <string name="profile_name_generic" msgid="6851028682723034988">"appareil"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Cette appli pourra synchroniser des informations entre votre téléphone et <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, comme le nom de la personne à l\'origine d\'un appel entrant."</string> <string name="summary_generic" msgid="4988130802522924650">"Cette appli pourra synchroniser des informations entre votre téléphone et l\'appareil choisi, comme le nom de la personne à l\'origine d\'un appel entrant."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Photos et contenus multimédias"</string> <string name="permission_notification" msgid="693762568127741203">"Notifications"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Applis"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Peut passer des appels téléphoniques et les gérer"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Peut consulter et modifier les journaux d\'appels du téléphone"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Peut envoyer et afficher des SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Peut accéder à vos contacts"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Peut accéder à votre agenda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Impossible d\'enregistrer l\'audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Peut trouver les appareils à proximité, s\'y connecter et déterminer leur position relative"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Peut lire toutes les notifications, y compris des informations comme les contacts, messages et photos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Diffuser en streaming les applis de votre téléphone"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Diffusez des applis et d\'autres fonctionnalités système en streaming depuis votre téléphone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-gl/strings.xml b/packages/CompanionDeviceManager/res/values-gl/strings.xml index 59d6226579de..4f780737dc3e 100644 --- a/packages/CompanionDeviceManager/res/values-gl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-gl/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Escolle un dispositivo (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>) para que o xestione a aplicación <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"A aplicación é necesaria para xestionar o teu dispositivo (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> poderá sincronizar información (por exemplo, o nome de quen chama), interactuar coas túas notificacións e acceder aos permisos do teu teléfono, das SMS, dos contactos, do calendario, dos rexistros de chamadas e dos dispositivos próximos."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"A aplicación é necesaria para xestionar o teu dispositivo (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> poderá sincronizar información (por exemplo, o nome de quen chama) e acceder a estes permisos:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Queres permitir que <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> xestione o dispositivo (<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>)?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"lentes"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Esta aplicación é necesaria para xestionar o dispositivo (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>). <xliff:g id="APP_NAME">%2$s</xliff:g> poderá interactuar coas túas notificacións e acceder aos permisos do teu teléfono, das SMS, dos contactos, do micrófono e dos dispositivos próximos."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Esta aplicación poderá acceder aos seguintes permisos do teléfono:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que a aplicación <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acceda a esta información desde o teu teléfono"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Servizos multidispositivo"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> está solicitando permiso en nome do teu dispositivo (<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>) para emitir contido de aplicacións entre os teus aparellos"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Servizos de Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> está solicitando permiso en nome do teu dispositivo (<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>) para acceder ás fotos, ao contido multimedia e ás notificacións do teléfono"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Queres permitir que <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> leve a cabo esta acción?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> está solicitando permiso en nome do teu dispositivo (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) para emitir o contido das aplicacións e doutras funcións do sistema en dispositivos próximos"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositivo"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Esta aplicación poderá sincronizar información (por exemplo, o nome de quen chama) entre o teléfono e o dispositivo (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>)."</string> <string name="summary_generic" msgid="4988130802522924650">"Esta aplicación poderá sincronizar información (por exemplo, o nome de quen chama) entre o teléfono e o dispositivo escollido."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos e contido multimedia"</string> <string name="permission_notification" msgid="693762568127741203">"Notificacións"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplicacións"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Reprodución en tempo real"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Pode facer e xestionar chamadas"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Pode ler e editar o rexistro de chamadas do teléfono"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Pode enviar e ver mensaxes SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Pode acceder aos contactos"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Pode acceder ao calendario"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Pode gravar audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Pode atopar dispositivos próximos, conectarse a eles e determinar a súa posición relativa"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Pode ler todas as notificacións (que poden incluír información como contactos, mensaxes e fotos)"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Emite as aplicacións do teu teléfono"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Emite o contido das aplicacións e doutras funcións do sistema desde o teléfono"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-gu/strings.xml b/packages/CompanionDeviceManager/res/values-gu/strings.xml index 85be70afa4e0..f4f496f3fee9 100644 --- a/packages/CompanionDeviceManager/res/values-gu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-gu/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> દ્વારા મેનેજ કરવા માટે કોઈ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> પસંદ કરો"</string> <string name="summary_watch" msgid="6566922405914995759">"તમારા <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ને મેનેજ કરવા માટે ઍપ જરૂરી છે. <xliff:g id="APP_NAME">%2$s</xliff:g>ને કૉલ કરનાર વ્યક્તિનું નામ જેવી માહિતી સિંક કરવાની, તમારા નોટિફિકેશન સાથે ક્રિયાપ્રતિક્રિયા કરવાની અને તમારો ફોન, SMS, સંપર્કો, Calendar, કૉલ લૉગ તથા નજીકના ડિવાઇસની પરવાનગીઓ ઍક્સેસ કરવાની મંજૂરી આપવામાં આવશે."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"તમારા <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ને મેનેજ કરવા માટે ઍપ જરૂરી છે. <xliff:g id="APP_NAME">%2$s</xliff:g>ને કૉલ કરનાર વ્યક્તિનું નામ જેવી માહિતી સિંક કરવાની અને આ પરવાનગીઓ ઍક્સેસ કરવાની મંજૂરી આપવામાં આવશે:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ને <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> મેનેજ કરવા માટે મંજૂરી આપીએ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ચશ્માં"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ને મેનેજ કરવા માટે આ ઍપ જરૂરી છે. <xliff:g id="APP_NAME">%2$s</xliff:g>ને તમારા નોટિફિકેશન સાથે ક્રિયાપ્રતિક્રિયા કરવાની અને તમારો ફોન, SMS, સંપર્કો, માઇક્રોફોન તથા નજીકના ડિવાઇસની પરવાનગીઓ ઍક્સેસ કરવાની મંજૂરી આપવામાં આવશે."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"આ ઍપને તમારા ફોન પર આ પરવાનગીઓ ઍક્સેસ કરવાની મંજૂરી મળશે:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"તમારા ફોનમાંથી આ માહિતી ઍક્સેસ કરવા માટે, <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ને મંજૂરી આપો"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ક્રોસ-ડિવાઇસ સેવાઓ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> તમારા <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> વતી તમારા ડિવાઇસ વચ્ચે ઍપ સ્ટ્રીમ કરવાની પરવાનગીની વિનંતી કરી રહી છે"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play સેવાઓ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> તમારા <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> વતી તમારા ફોનના ફોટા, મીડિયા અને નોટિફિકેશન ઍક્સેસ કરવાની પરવાનગીની વિનંતી કરી રહી છે"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>ને આ પગલું ભરવાની મંજૂરી આપીએ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> નજીકના ડિવાઇસ પર ઍપ અને સિસ્ટમની અન્ય સુવિધાઓ સ્ટ્રીમ કરવા તમારા <xliff:g id="DEVICE_NAME">%2$s</xliff:g> વતી પરવાનગીની વિનંતી કરી રહી છે"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ડિવાઇસ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"આ ઍપ તમારા ફોન અને <xliff:g id="DEVICE_NAME">%1$s</xliff:g> વચ્ચે, કૉલ કરનાર કોઈ વ્યક્તિનું નામ જેવી માહિતી સિંક કરી શકશે."</string> <string name="summary_generic" msgid="4988130802522924650">"આ ઍપ તમારા ફોન અને પસંદ કરેલા ડિવાઇસ વચ્ચે, કૉલ કરનાર કોઈ વ્યક્તિનું નામ જેવી માહિતી સિંક કરી શકશે."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ફોટા અને મીડિયા"</string> <string name="permission_notification" msgid="693762568127741203">"નોટિફિકેશન"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ઍપ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"સ્ટ્રીમિંગ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ફોન કૉલ કરી શકે છે અને તેને મેનેજ કરી શકે છે"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ફોન કૉલ લૉગ વાંચી અને લખી શકે છે"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS મેસેજ મોકલી શકે છે અને જોઈ શકે છે"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"તમારા સંપર્કો ઍક્સેસ કરી શકે છે"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"તમારા કૅલેન્ડરનો ઍક્સેસ કરી શકે છે"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ઑડિયો રેકોર્ડ કરી શકે છે"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"નજીકના ડિવાઇસ શોધી શકે છે, તેમની સાથે કનેક્ટ કરી શકે છે અને તેમની સંબંધિત સ્થિતિ નિર્ધારિત કરી શકે છે"</string> <string name="permission_notification_summary" msgid="884075314530071011">"સંપર્કો, મેસેજ અને ફોટા જેવી માહિતી સહિતના બધા નોટિફિકેશન વાંચી શકે છે"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"તમારા ફોનની ઍપ સ્ટ્રીમ કરો"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"તમારા ફોન પરથી ઍપ અને સિસ્ટમની અન્ય સુવિધાઓ સ્ટ્રીમ કરો"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-hi/strings.xml b/packages/CompanionDeviceManager/res/values-hi/strings.xml index a3e8bce12252..2b1def0b3b22 100644 --- a/packages/CompanionDeviceManager/res/values-hi/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hi/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"कोई <xliff:g id="PROFILE_NAME">%1$s</xliff:g> चुनें, ताकि उसे <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> की मदद से मैनेज किया जा सके"</string> <string name="summary_watch" msgid="6566922405914995759">"यह ऐप्लिकेशन, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> को मैनेज करने के लिए ज़रूरी है. <xliff:g id="APP_NAME">%2$s</xliff:g> को डिवाइस की जानकारी सिंक करने की अनुमति होगी. जैसे, कॉल करने वाले व्यक्ति का नाम. इसे आपकी सूचनाओं पर कार्रवाई करने के साथ-साथ आपके फ़ोन, एसएमएस, संपर्कों, कैलेंडर, कॉल लॉग, और आस-पास मौजूद डिवाइसों को ऐक्सेस करने की अनुमति भी होगी."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"यह ऐप्लिकेशन, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> को मैनेज करने के लिए ज़रूरी है. <xliff:g id="APP_NAME">%2$s</xliff:g> को डिवाइस की जानकारी सिंक करने की अनुमति होगी. जैसे, कॉल करने वाले व्यक्ति का नाम. ऐप्लिकेशन इन अनुमतियों का भी इस्तेमाल कर पाएगा:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"क्या <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> को <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> मैनेज करने की अनुमति देनी है?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"चश्मा"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"यह ऐप्लिकेशन, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> को मैनेज करने के लिए ज़रूरी है. <xliff:g id="APP_NAME">%2$s</xliff:g> को डिवाइस की सूचनाओं पर कार्रवाई करने की अनुमति होगी. इसे आपके फ़ोन, मैसेज, संपर्कों, माइक्रोफ़ोन, और आस-पास मौजूद डिवाइसों को ऐक्सेस करने की अनुमति भी होगी."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"इस ऐप्लिकेशन को आपके फ़ोन पर ये अनुमतियां ऐक्सेस करने की अनुमति होगी:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> को अपने फ़ोन से यह जानकारी ऐक्सेस करने की अनुमति दें"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"क्रॉस-डिवाइस से जुड़ी सेवाएं"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> आपके <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> की ओर से, आपके डिवाइसों के बीच ऐप्लिकेशन को स्ट्रीम करने की अनुमति मांग रहा है"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> आपके <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> की ओर से, फ़ोन में मौजूद फ़ोटो, मीडिया, और सूचनाओं को ऐक्सेस करने की अनुमति मांग रहा है"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"क्या <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> को यह कार्रवाई करने की अनुमति देनी है?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> आपके <xliff:g id="DEVICE_NAME">%2$s</xliff:g> की ओर से, ऐप्लिकेशन और दूसरे सिस्टम की सुविधाओं को आस-पास मौजूद डिवाइसों पर स्ट्रीम करने की अनुमति मांग रहा है"</string> <string name="profile_name_generic" msgid="6851028682723034988">"डिवाइस"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"यह ऐप्लिकेशन, आपके फ़ोन और <xliff:g id="DEVICE_NAME">%1$s</xliff:g> के बीच जानकारी सिंक कर सकता है. जैसे, कॉल करने वाले व्यक्ति का नाम."</string> <string name="summary_generic" msgid="4988130802522924650">"यह ऐप्लिकेशन, आपके फ़ोन और चुने हुए डिवाइस के बीच जानकारी सिंक कर सकता है. जैसे, कॉल करने वाले व्यक्ति का नाम."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"फ़ोटो और मीडिया"</string> <string name="permission_notification" msgid="693762568127741203">"सूचनाएं"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ऐप्लिकेशन"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"स्ट्रीमिंग"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"फ़ोन कॉल करने और उन्हें मैनेज करने की अनुमति है"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"कॉल लॉग देखने और उसमें बदलाव करने की अनुमति है"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"एसएमएस भेजने और उन्हें देखने की अनुमति है"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"आपकी संपर्क सूची को ऐक्सेस करने की अनुमति है"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"कैलेंडर को ऐक्सेस करने की अनुमति है"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ऑडियो को रिकॉर्ड किया जा सकता है"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"आपको आस-पास मौजूद डिवाइसों को खोजने, उनसे कनेक्ट करने, और उनकी जगह की जानकारी का पता लगाने की अनुमति है"</string> <string name="permission_notification_summary" msgid="884075314530071011">"इससे सभी सूचनाएं देखी जा सकती हैं. इनमें संपर्क, मैसेज, और फ़ोटो जैसी जानकारी शामिल होती है"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"अपने फ़ोन पर मौजूद ऐप्लिकेशन स्ट्रीम करें"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"अपने फ़ोन से ऐप्लिकेशन और दूसरे सिस्टम की सुविधाओं को स्ट्रीम करें"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-hr/strings.xml b/packages/CompanionDeviceManager/res/values-hr/strings.xml index f1672b9a80cf..77c7f9434cc6 100644 --- a/packages/CompanionDeviceManager/res/values-hr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hr/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Odaberite <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kojim će upravljati aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplikacija je potrebna za upravljanje vašim uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacija <xliff:g id="APP_NAME">%2$s</xliff:g> moći će sinkronizirati podatke, primjerice ime pozivatelja, stupati u interakciju s vašim obavijestima i pristupati vašim dopuštenjima za telefon, SMS-ove, kontakte, kalendar, zapisnike poziva i uređaje u blizini."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplikacija je potrebna za upravljanje vašim uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacija <xliff:g id="APP_NAME">%2$s</xliff:g> moći će sinkronizirati podatke, primjerice ime pozivatelja i pristupati sljedećim dopuštenjima:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Dopustiti aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> da upravlja uređajem <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"naočale"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ta je aplikacija potrebna za upravljanje uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacija <xliff:g id="APP_NAME">%2$s</xliff:g> moći će stupati u interakciju s vašim obavijestima i pristupati vašim dopuštenjima za telefon, SMS-ove, kontakte, mikrofon i uređaje u blizini."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Aplikacija će moći pristupati ovim dopuštenjima na telefonu:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Omogućite aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> da pristupa informacijama s vašeg telefona"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Usluge na različitim uređajima"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> zahtijeva dopuštenje u ime vašeg uređaja <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> za emitiranje aplikacija između vaših uređaja"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Usluge za Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> zahtijeva dopuštenje u ime vašeg uređaja <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> za pristup fotografijama, medijskim sadržajima i obavijestima na telefonu"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Dopustiti <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> da izvede tu radnju?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> zahtijeva dopuštenje u ime vašeg uređaja <xliff:g id="DEVICE_NAME">%2$s</xliff:g> za emitiranje aplikacija i drugih značajki sustava na uređajima u blizini"</string> <string name="profile_name_generic" msgid="6851028682723034988">"uređaj"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ta će aplikacija moći sinkronizirati podatke između vašeg telefona i uređaja <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, primjerice ime pozivatelja."</string> <string name="summary_generic" msgid="4988130802522924650">"Ta će aplikacija moći sinkronizirati podatke između vašeg telefona i odabranog uređaja, primjerice ime pozivatelja."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotografije i mediji"</string> <string name="permission_notification" msgid="693762568127741203">"Obavijesti"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikacije"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Može uspostavljati telefonske pozive i upravljati njima"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Može čitati i pisati zapisnik poziva telefona"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Može slati i pregledavati SMS poruke"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Može pristupiti vašim kontaktima"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Može pristupiti vašem kalendaru"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Može snimati zvuk"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Može pronaći i odrediti relativni položaj uređaja u blizini i povezati se s njima"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Može čitati sve obavijesti, uključujući informacije kao što su kontakti, poruke i fotografije"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Streaming aplikacija vašeg telefona"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Emitiranje aplikacija i drugih značajki sustava s vašeg telefona"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-hu/strings.xml b/packages/CompanionDeviceManager/res/values-hu/strings.xml index 74757f9875ba..f1b55201518f 100644 --- a/packages/CompanionDeviceManager/res/values-hu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hu/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"A(z) <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> alkalmazással kezelni kívánt <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kiválasztása"</string> <string name="summary_watch" msgid="6566922405914995759">"Az alkalmazásra szükség van a következő eszköz kezeléséhez: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. A(z) <xliff:g id="APP_NAME">%2$s</xliff:g> képes lesz szinkronizálni információkat (például a hívó fél nevét), műveleteket végezhet majd az értesítésekkel, és hozzáférhet majd a Telefon, az SMS, a Névjegyek, a Naptár, a Hívásnaplók és a Közeli eszközök engedélyekhez."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Az alkalmazásra szükség van a következő eszköz kezeléséhez: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. A(z) <xliff:g id="APP_NAME">%2$s</xliff:g> képes lesz szinkronizálni információkat (például a hívó fél nevét), és hozzáférhet majd ezekhez az engedélyekhez:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Engedélyezi, hogy a(z) <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> kezelje a következő eszközt: <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"szemüveg"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Erre az alkalmazásra szükség van a következő eszköz kezeléséhez: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. A(z) <xliff:g id="APP_NAME">%2$s</xliff:g> műveleteket végezhet majd az értesítésekkel, és hozzáférhet majd a Telefon, az SMS, a Névjegyek, a Mikrofon és a Közeli eszközök engedélyekhez."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Az alkalmazás hozzáférhet majd a következő engedélyekhez a telefonon:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Engedélyezi a(z) „<xliff:g id="APP_NAME">%1$s</xliff:g>” alkalmazás számára az információhoz való hozzáférést a telefonról"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Többeszközös szolgáltatások"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> engedélyt kér a(z) <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> nevében az alkalmazások eszközök közötti streameléséhez"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play-szolgáltatások"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> engedélyt kér a(z) <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> nevében a telefonon tárolt fotókhoz, médiatartalmakhoz és értesítésekhez való hozzáféréshez"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Engedélyezi a(z) <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> számára ennek a műveletnek a végrehajtását?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"A(z) <xliff:g id="APP_NAME">%1$s</xliff:g> engedélyt kér a(z) <xliff:g id="DEVICE_NAME">%2$s</xliff:g> nevében az alkalmazások és más rendszerfunkciók közeli eszközökre történő streamelésére"</string> <string name="profile_name_generic" msgid="6851028682723034988">"eszköz"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ez az alkalmazás képes lesz szinkronizálni az olyan információkat a telefon és a(z) <xliff:g id="DEVICE_NAME">%1$s</xliff:g> eszköz között, mint például a hívó fél neve."</string> <string name="summary_generic" msgid="4988130802522924650">"Ez az alkalmazás képes lesz szinkronizálni az olyan információkat a telefon és a kiválasztott eszköz között, mint például a hívó fél neve."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotók és médiatartalmak"</string> <string name="permission_notification" msgid="693762568127741203">"Értesítések"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Alkalmazások"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streamelés"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Hívásokat indíthat és kezelhet"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Olvashatja és írhatja a telefon hívásnaplóját"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS-üzeneteket küldhet és tekinthet meg"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Hozzáférhet a névjegyekhez"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Hozzáférhet a naptárhoz"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Rögzíthet hangot"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Megkeresheti a közeli eszközöket, meghatározhatja viszonylagos helyzetüket és csatlakozhat hozzájuk"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Elolvashat minden értesítést, ideértve az olyan információkat, mint a névjegyek, az üzenetek és a fotók"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"A telefon alkalmazásainak streamelése"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Alkalmazások és más rendszerfunkciók streamelése a telefonról"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-hy/strings.xml b/packages/CompanionDeviceManager/res/values-hy/strings.xml index cedc6fc9366c..e45ccaf15a36 100644 --- a/packages/CompanionDeviceManager/res/values-hy/strings.xml +++ b/packages/CompanionDeviceManager/res/values-hy/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Ընտրեք <xliff:g id="PROFILE_NAME">%1$s</xliff:g>ը, որը պետք է կառավարվի <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> հավելվածի կողմից"</string> <string name="summary_watch" msgid="6566922405914995759">"Հավելվածն անհրաժեշտ է ձեր <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքը կառավարելու համար։ <xliff:g id="APP_NAME">%2$s</xliff:g> հավելվածը կկարողանա համաժամացնել տվյալները, օր․՝ զանգողի անունը, փոխազդել ձեր ծանուցումների հետ և կստանա «Հեռախոս», «SMS», «Կոնտակտներ», «Օրացույց», «Կանչերի ցուցակ» և «Մոտակա սարքեր» թույլտվությունները։"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Հավելվածն անհրաժեշտ է ձեր <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքը կառավարելու համար։ <xliff:g id="APP_NAME">%2$s</xliff:g> հավելվածը կկարողանա համաժամացնել տվյալները, օր․՝ զանգողի անունը, և կստանա հետևյալ թույլտվությունները․"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Թույլատրե՞լ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> հավելվածին կառավարել <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> սարքը"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ակնոց"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Այս հավելվածն անհրաժեշտ է <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքը կառավարելու համար։ <xliff:g id="APP_NAME">%2$s</xliff:g> հավելվածը կկարողանա փոխազդել ձեր ծանուցումների հետ և կստանա «Հեռախոս», «SMS», «Կոնտակտներ», «Խոսափող» և «Մոտակա սարքեր» թույլտվությունները։"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Այս հեռախոսին հասանելի կլինեն հետևյալ թույլտվությունները ձեր հեռախոսում․"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Թույլատրեք <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> հավելվածին օգտագործել այս տեղեկությունները ձեր հեռախոսից"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Միջսարքային ծառայություններ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը ձեր <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> սարքի անունից թույլտվություն է խնդրում՝ ձեր սարքերի միջև հավելվածներ հեռարձակելու համար"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play ծառայություններ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը ձեր <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> սարքի անունից թույլտվություն է խնդրում՝ ձեր հեռախոսի լուսանկարները, մեդիաֆայլերն ու ծանուցումները տեսնելու համար"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Թույլատրե՞լ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> հավելվածին կատարել այս գործողությունը"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> հավելվածը ձեր <xliff:g id="DEVICE_NAME">%2$s</xliff:g> սարքի անունից թույլտվություն է խնդրում՝ մոտակա սարքերին հավելվածներ և համակարգի այլ գործառույթներ հեռարձակելու համար"</string> <string name="profile_name_generic" msgid="6851028682723034988">"սարք"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Այս հավելվածը կկարողանա համաժամացնել ձեր հեռախոսի և <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքի տվյալները, օր․՝ զանգողի անունը։"</string> <string name="summary_generic" msgid="4988130802522924650">"Այս հավելվածը կկարողանա համաժամացնել ձեր հեռախոսի և ընտրված սարքի տվյալները, օր․՝ զանգողի անունը։"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Լուսանկարներ և մուլտիմեդիա"</string> <string name="permission_notification" msgid="693762568127741203">"Ծանուցումներ"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Հավելվածներ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Հեռարձակում"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Կարող է կատարել հեռախոսազանգեր և կառավարել դրանք"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Կարող է դիտել և գրանցել կանչերը"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Կարող է ուղարկել SMS հաղորդագրություններ և դիտել դրանք"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Կարող է օգտագործել ձեր կոնտակտները"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Կարող է օգտագործել ձեր օրացույցը"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Կարող է ձայնագրել"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Կարող է գտնել և որոշել մոտակա սարքերի մոտավոր դիրքը և միանալ դրանց"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Կարող է կարդալ բոլոր ծանուցումները, ներառյալ տեղեկությունները, օրինակ՝ կոնտակտները, հաղորդագրությունները և լուսանկարները"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Հեռարձակել հեռախոսի հավելվածները"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Հեռարձակել հավելվածներ և համակարգի այլ գործառույթներ հեռախոսում"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-in/strings.xml b/packages/CompanionDeviceManager/res/values-in/strings.xml index 5f07125e0eaf..db2f1ef3bb0c 100644 --- a/packages/CompanionDeviceManager/res/values-in/strings.xml +++ b/packages/CompanionDeviceManager/res/values-in/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Pilih <xliff:g id="PROFILE_NAME">%1$s</xliff:g> untuk dikelola oleh <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplikasi diperlukan untuk mengelola <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> akan diizinkan menyinkronkan informasi, seperti nama pemanggil, berinteraksi dengan notifikasi, dan mengakses izin Telepon, SMS, Kontak, Kalender, Log panggilan, dan Perangkat di sekitar."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplikasi diperlukan untuk mengelola <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> akan diizinkan menyinkronkan informasi, seperti nama pemanggil, dan mengakses izin berikut:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Izinkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> mengelola <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"glasses"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Aplikasi ini diperlukan untuk mengelola <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> akan diizinkan berinteraksi dengan notifikasi dan mengakses izin Ponsel, SMS, Kontak, Mikrofon, dan Perangkat di sekitar."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Aplikasi ini akan diizinkan untuk mengakses izin ini di ponsel Anda:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Izinkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> untuk mengakses informasi ini dari ponsel Anda"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Layanan lintas perangkat"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> meminta izin atas nama <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> untuk menstreaming aplikasi di antara perangkat Anda"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Layanan Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> meminta izin atas nama <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> untuk mengakses foto, media, dan notifikasi ponsel Anda"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Izinkan <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> melakukan tindakan ini?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> meminta izin atas nama <xliff:g id="DEVICE_NAME">%2$s</xliff:g> untuk menstreaming aplikasi dan fitur sistem lainnya ke perangkat di sekitar"</string> <string name="profile_name_generic" msgid="6851028682723034988">"perangkat"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Aplikasi ini akan dapat menyinkronkan info, seperti nama penelepon, antara ponsel dan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Aplikasi ini akan dapat menyinkronkan info, seperti nama penelepon, antara ponsel dan perangkat yang dipilih."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foto dan media"</string> <string name="permission_notification" msgid="693762568127741203">"Notifikasi"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikasi"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Dapat melakukan dan mengelola panggilan telepon"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Dapat membaca dan menulis log panggilan telepon"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Dapat mengirim dan melihat pesan SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Dapat mengakses kontak Anda"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Dapat mengakses kalender Anda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Dapat merekam audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Dapat menemukan, menghubungkan, dan menentukan posisi relatif dari perangkat di sekitar"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Dapat membaca semua notifikasi, termasuk informasi seperti kontak, pesan, dan foto"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Streaming aplikasi ponsel"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Menstreaming aplikasi dan fitur sistem lainnya dari ponsel Anda"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-is/strings.xml b/packages/CompanionDeviceManager/res/values-is/strings.xml index 507abc656187..a906cbcd8617 100644 --- a/packages/CompanionDeviceManager/res/values-is/strings.xml +++ b/packages/CompanionDeviceManager/res/values-is/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Velja <xliff:g id="PROFILE_NAME">%1$s</xliff:g> sem <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> á að stjórna"</string> <string name="summary_watch" msgid="6566922405914995759">"Forritið er nauðsynlegt til að stjórna <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> fær heimild til að samstilla upplýsingar, t.d. nafn þess sem hringir, og bregðast við tilkynningum og fær aðgang að heimildum fyrir síma, SMS, tengiliði, dagatal, símtalaskrár og nálæg tæki."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Forritið er nauðsynlegt til að stjórna <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> fær heimild til að samstilla upplýsingar, t.d. nafn þess sem hringir, og fær aðgang að eftirfarandi heimildum:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Leyfa <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> að stjórna <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"gleraugu"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Þetta forrit er nauðsynlegt til að stjórna <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> fær heimild til að bregðast við tilkynningum og fær aðgang að heimildum fyrir síma, SMS, tengiliði, hljóðnema og nálæg tæki."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Þetta forrit fær aðgang að eftirfarandi heimildum í símanum þínum:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Veita <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> aðgang að þessum upplýsingum úr símanum þínum"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Þjónustur á milli tækja"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> sendir beiðni um heimild til straumspilunar forrita á milli tækjanna þinna fyrir hönd <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Þjónusta Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> sendir beiðni um aðgang að myndum, margmiðlunarefni og tilkynningum símans þíns fyrir hönd <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Leyfa <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> að framkvæma þessa aðgerð?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> biður um heimild fyrir <xliff:g id="DEVICE_NAME">%2$s</xliff:g> til að streyma forritum og öðrum kerfiseiginleikum í nálægum tækjum"</string> <string name="profile_name_generic" msgid="6851028682723034988">"tæki"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Þetta forrit mun geta samstillt upplýsingar, t.d. nafn þess sem hringir, á milli símans og <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Þetta forrit mun geta samstillt upplýsingar, t.d. nafn þess sem hringir, á milli símans og valins tækis."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Myndir og efni"</string> <string name="permission_notification" msgid="693762568127741203">"Tilkynningar"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Forrit"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streymi"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Getur hringt og stjórnað símtölum"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Getur lesið og skrifað símtalaskrá símans"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Getur sent og skoðað SMS-skilaboð"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Hefur aðgang að tengiliðum"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Hefur aðgang að dagatalinu"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Getur tekið upp hljóð"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Getur fundið, tengst og áætlað staðsetningu nálægra tækja"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Getur lesið allar tilkynningar, þar á meðal upplýsingar á borð við tengiliði, skilaboð og myndir"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Streymdu forritum símans"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Streymdu forritum og öðrum kerfiseiginleikum úr símanum"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-it/strings.xml b/packages/CompanionDeviceManager/res/values-it/strings.xml index 46128937073c..7c9077574186 100644 --- a/packages/CompanionDeviceManager/res/values-it/strings.xml +++ b/packages/CompanionDeviceManager/res/values-it/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Scegli un <xliff:g id="PROFILE_NAME">%1$s</xliff:g> da gestire con <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Questa app è necessaria per gestire <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> potrà sincronizzare informazioni, ad esempio il nome di un chiamante, interagire con le tue notifiche e accedere alle autorizzazioni Telefono, SMS, Contatti, Calendario, Registri chiamate e Dispositivi nelle vicinanze."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Questa app è necessaria per gestire <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> potrà sincronizzare informazioni, ad esempio il nome di un chiamante, e accedere alle seguenti autorizzazioni:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Vuoi consentire all\'app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> di gestire <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"occhiali"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Questa app è necessaria per gestire <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> potrà interagire con le tue notifiche e accedere alle autorizzazioni Telefono, SMS, Contatti, Microfono e Dispositivi nelle vicinanze."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"L\'app potrà accedere alle seguenti autorizzazioni sul telefono:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Consenti a <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> di accedere a queste informazioni dal tuo telefono"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Servizi cross-device"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> richiede per conto del tuo <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> l\'autorizzazione a trasmettere app in streaming tra i dispositivi"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> richiede per conto del tuo <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> l\'autorizzazione ad accedere a foto, contenuti multimediali e notifiche del telefono"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vuoi consentire a <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> di compiere questa azione?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> richiede per conto di <xliff:g id="DEVICE_NAME">%2$s</xliff:g> l\'autorizzazione a trasmettere in streaming app e altre funzionalità di sistema ai dispositivi nelle vicinanze"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositivo"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Questa app potrà sincronizzare informazioni, ad esempio il nome di un chiamante, tra il telefono e <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Questa app potrà sincronizzare informazioni, ad esempio il nome di un chiamante, tra il telefono e il dispositivo scelto."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foto e contenuti multimediali"</string> <string name="permission_notification" msgid="693762568127741203">"Notifiche"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"App"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Consente di effettuare e gestire telefonate"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Consente di leggere e modificare il registro chiamate del telefono"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Consente di inviare e visualizzare SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Consente di accedere ai tuoi contatti"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Consente di accedere al tuo calendario"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Consente di registrare audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Consente di trovare e connettersi a dispositivi nelle vicinanze, nonché di stabilirne la posizione relativa"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Puoi leggere tutte le notifiche, incluse le informazioni come contatti, messaggi e foto"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Trasmetti in streaming le app del tuo telefono"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Consente di trasmettere in streaming app e altre funzionalità di sistema dal telefono"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-iw/strings.xml b/packages/CompanionDeviceManager/res/values-iw/strings.xml index f08065238775..28a8877a59a0 100644 --- a/packages/CompanionDeviceManager/res/values-iw/strings.xml +++ b/packages/CompanionDeviceManager/res/values-iw/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"בחירת <xliff:g id="PROFILE_NAME">%1$s</xliff:g> לניהול באמצעות <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"האפליקציה הזו נחוצה כדי לנהל את <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. האפליקציה <xliff:g id="APP_NAME">%2$s</xliff:g> תוכל לסנכרן מידע, כמו השם של מישהו שמתקשר, לבצע פעולות בהתראות ולקבל הרשאות גישה לטלפון, ל-SMS לאנשי הקשר, למיקרופון ולמכשירים בקרבת מקום."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"האפליקציה הזו נחוצה כדי לנהל את <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. האפליקציה <xliff:g id="APP_NAME">%2$s</xliff:g> תוכל לסנכרן מידע, כמו השם של מישהו שמתקשר, ולקיים אינטראקציה עם ההרשאות הבאות:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"מתן הרשאה לאפליקציה <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong&g; לנהל את <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"משקפיים"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"האפליקציה הזו נחוצה כדי לנהל את <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. האפליקציה <xliff:g id="APP_NAME">%2$s</xliff:g> תוכל לבצע פעולות בהתראות ותקבל הרשאות גישה לטלפון, ל-SMS לאנשי הקשר, למיקרופון ולמכשירים בקרבת מקום."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"האפליקציה הזו תוכל לגשת להרשאות הבאות בטלפון שלך:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"מתן אישור לאפליקציה <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> לגשת למידע הזה מהטלפון שלך"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"שירותים למספר מכשירים"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> מבקשת הרשאה עבור מכשיר <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> כדי לשדר אפליקציות בין המכשירים שלך"</string> @@ -38,17 +35,15 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> מבקשת הרשאה עבור מכשיר <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> כדי לגשת לתמונות, למדיה ולהתראות בטלפון שלך"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"לתת הרשאה למכשיר <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> לבצע את הפעולה הזו?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"האפליקציה <xliff:g id="APP_NAME">%1$s</xliff:g> מבקשת הרשאה עבור <xliff:g id="DEVICE_NAME">%2$s</xliff:g> כדי להעביר אפליקציות ותכונות מערכת אחרות בסטרימינג למכשירים בקרבת מקום"</string> <string name="profile_name_generic" msgid="6851028682723034988">"מכשיר"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"האפליקציה הזו תוכל לסנכרן מידע, כמו השם של מישהו שמתקשר, מהטלפון שלך ל-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"האפליקציה הזו תוכל לסנכרן מידע, כמו השם של מישהו שמתקשר, מהטלפון שלך למכשיר שבחרת."</string> <string name="consent_yes" msgid="8344487259618762872">"יש אישור"</string> <string name="consent_no" msgid="2640796915611404382">"אין אישור"</string> <string name="consent_back" msgid="2560683030046918882">"חזרה"</string> - <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"האם לתת לאפליקציות ב-<strong><xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g></strong>את אותן הרשאות כמו ב-<strong><xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g></strong>?"</string> + <string name="permission_sync_confirmation_title" msgid="4409622174437248702">"האם לתת לאפליקציות ב-<strong><xliff:g id="COMPANION_DEVICE_NAME">%1$s</xliff:g></strong> את אותן הרשאות כמו ב-<strong><xliff:g id="PRIMARY_DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="permission_sync_summary" msgid="765497944331294275">"ההרשאות עשויות לכלול גישה ל<strong>מיקרופון</strong>, ל<strong>מצלמה</strong>, ול<strong>מיקום</strong>, וכן גישה למידע רגיש אחר ב-<strong><xliff:g id="COMPANION_DEVICE_NAME_0">%1$s</xliff:g></strong>. <br/><br/>אפשר לשנות את ההרשאות האלה בכל שלב בהגדרות של <strong><xliff:g id="COMPANION_DEVICE_NAME_1">%1$s</xliff:g></strong>."</string> <string name="vendor_icon_description" msgid="4445875290032225965">"סמל האפליקציה"</string> <string name="vendor_header_button_description" msgid="6566660389500630608">"לחצן מידע נוסף"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"תמונות ומדיה"</string> <string name="permission_notification" msgid="693762568127741203">"התראות"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"אפליקציות"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"סטרימינג"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"אפשרות לבצע ולנהל שיחות טלפון"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"אפשרות ולקרוא ולכתוב נתונים ביומן השיחות של הטלפון"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"אפשרות לשלוח הודעות SMS ולצפות בהן"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"גישה לאנשי הקשר"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"אפשרות לגשת ליומן"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"המיקרופון יכול להקליט אודיו"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"אפשרות למצוא מכשירים בקרבת מקום, להתחבר אליהם ולהעריך את המיקום היחסי שלהם"</string> <string name="permission_notification_summary" msgid="884075314530071011">"גישת קריאה לכל ההתראות, כולל מידע כמו אנשי קשר, הודעות ותמונות."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"שידור אפליקציות מהטלפון"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"העברה של אפליקציות ותכונות מערכת אחרות בסטרימינג מהטלפון"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ja/strings.xml b/packages/CompanionDeviceManager/res/values-ja/strings.xml index 6275e593e8b2..964b63f4c259 100644 --- a/packages/CompanionDeviceManager/res/values-ja/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ja/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> の管理対象となる<xliff:g id="PROFILE_NAME">%1$s</xliff:g>の選択"</string> <string name="summary_watch" msgid="6566922405914995759">"このアプリは <xliff:g id="DEVICE_NAME">%1$s</xliff:g> の管理に必要です。<xliff:g id="APP_NAME">%2$s</xliff:g> は通話相手の名前などの情報を同期したり、デバイスの通知を使用したり、電話、SMS、連絡先、カレンダー、通話履歴、付近のデバイスの権限にアクセスしたりできるようになります。"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"このアプリは <xliff:g id="DEVICE_NAME">%1$s</xliff:g> の管理に必要です。<xliff:g id="APP_NAME">%2$s</xliff:g> は通話相手の名前などの情報を同期したり、次の権限にアクセスしたりできるようになります。"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> に <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> の管理を許可しますか?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"眼鏡"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"このアプリは <xliff:g id="DEVICE_NAME">%1$s</xliff:g> の管理に必要です。<xliff:g id="APP_NAME">%2$s</xliff:g> はデバイスの通知を使用したり、電話、SMS、連絡先、マイク、付近のデバイスの権限にアクセスしたりできるようになります。"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"このアプリは、スマートフォンの以下の権限へのアクセスが可能になります:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"スマートフォンのこの情報へのアクセスを <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> に許可"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"クロスデバイス サービス"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> が <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> に代わってデバイス間でアプリをストリーミングする権限をリクエストしています"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play 開発者サービス"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> が <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> に代わってスマートフォンの写真、メディア、通知にアクセスする権限をリクエストしています"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> にこの操作の実行を許可しますか?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> が <xliff:g id="DEVICE_NAME">%2$s</xliff:g> に代わって、アプリやその他のシステム機能を付近のデバイスにストリーミングする権限をリクエストしています"</string> <string name="profile_name_generic" msgid="6851028682723034988">"デバイス"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"このアプリは、あなたのスマートフォンと <xliff:g id="DEVICE_NAME">%1$s</xliff:g> との間で、通話相手の名前などの情報を同期できるようになります。"</string> <string name="summary_generic" msgid="4988130802522924650">"このアプリは、あなたのスマートフォンと選択したデバイスとの間で、通話相手の名前などの情報を同期できるようになります。"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"写真とメディア"</string> <string name="permission_notification" msgid="693762568127741203">"通知"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"アプリ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ストリーミング"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"電話の発信と管理を行えます"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"通話履歴の読み取りと書き込みを行えます"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS メッセージの送信、表示を行えます"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"連絡先にアクセスできます"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"カレンダーにアクセスできます"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"録音できる"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"付近のデバイスの検出、接続、相対位置の特定を行えます"</string> <string name="permission_notification_summary" msgid="884075314530071011">"連絡先、メッセージ、写真に関する情報を含め、すべての通知を読み取ることができます"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"スマートフォンのアプリをストリーミングします"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"アプリやその他のシステム機能をスマートフォンからストリーミングする"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ka/strings.xml b/packages/CompanionDeviceManager/res/values-ka/strings.xml index 0e0d08dbf1c2..930ef906f228 100644 --- a/packages/CompanionDeviceManager/res/values-ka/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ka/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"აირჩიეთ <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, რომელიც უნდა მართოს <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>-მა"</string> <string name="summary_watch" msgid="6566922405914995759">"ეს აპი საჭიროა თქვენი <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ის სამართავად. <xliff:g id="APP_NAME">%2$s</xliff:g>-ს ექნება უფლება, მოახდინოს ისეთი ინფორმაციის სინქრონიზაცია, როგორიც იმ ადამიანის სახელია, რომელიც რეკავს, მოახდინოს ინტერაქცია თქვენს შეტყობინებებთან და ჰქონდეს წვდომა თქვენს ტელეფონზე, SMS-ებზე, კონტაქტებზე, კალენდარზე, ზარების ჟურნალებზე და ახლომახლო მოწყობილობების ნებართვებზე."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ეს აპი საჭიროა თქვენი <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ის სამართავად. <xliff:g id="APP_NAME">%2$s</xliff:g>-ს ექნება უფლება, მოახდინოს ისეთი ინფორმციის სინქრონიზაცია, როგორიც იმ ადამიანის სახელია, რომელიც რეკავს, და ჰქონდეს წვდომა შემდეგ ნებართვებზე:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"ნება დართეთ <strong><xliff:g id="APP_NAME">%1$s</xliff:g>-ს</strong> მართოს <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"სათვალე"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"ეს აპი საჭიროა თქვენი <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ის სამართავად. <xliff:g id="APP_NAME">%2$s</xliff:g> შეძლებს თქვენს შეტყობინებებთან ინტერაქციას და თქვენს ტელეფონზე, SMS-ებზე, კონტაქტებზე, მიკროფონსა და ახლომახლო მოწყობილობების ნებართვებზე წვდომას."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ამ აპისთვის ნებადართული იქნება მოცემულ ნებართვებზე წვდომა თქვენს ტელეფონში:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ნება დართეთ, რომ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> აპს ჰქონდეს ამ ინფორმაციაზე წვდომა თქვენი ტელეფონიდან"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"მოწყობილობათშორისი სერვისები"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> ითხოვს უფლებას თქვენი <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>-ის სახელით, რომ მოწყობილობებს შორის აპების სტრიმინგი შეძლოს"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> ითხოვს უფლებას თქვენი <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>-ის სახელით, რომ წვდომა ჰქონდეს თქვენი ტელეფონის ფოტოებზე, მედიასა და შეტყობინებებზე"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"გსურთ ნება მისცეთ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ს</strong> ამ მოქმედების შესასრულებლად?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ითხოვს თქვენი <xliff:g id="DEVICE_NAME">%2$s</xliff:g>-ის სახელით აპების და სისტემის სხვა ფუნქციების ახლომახლო მოწყობილობებზე სტრიმინგის ნებართვას"</string> <string name="profile_name_generic" msgid="6851028682723034988">"მოწყობილობა"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ეს აპი შეძლებს, მოახდინოს ისეთი ინფორმაციის სინქრონიზაცია, როგორიც იმ ადამიანის სახელია, რომელიც რეკავს, თქვენს ტელეფონსა და <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ს შორის."</string> <string name="summary_generic" msgid="4988130802522924650">"ეს აპი შეძლებს, მოახდინოს ისეთი ინფორმაციის სინქრონიზაცია, როგორიც იმ ადამიანის სახელია, რომელიც რეკავს, თქვენს ტელეფონსა და არჩეულ მოწყობილობას შორის."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ფოტოები და მედია"</string> <string name="permission_notification" msgid="693762568127741203">"შეტყობინებები"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"აპები"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"სტრიმინგი"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"შეძლოს სატელეფონო ზარების განხორციელება და მართვა"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"შეეძლოს ზარების ჟურნალის წაკითხვა და მასში ჩაწერა"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"შეძლოს SMS ტექსტური შეტყობინებების გაგზავნა და მიღება"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ჰქონდეს თქვენს კონტაქტებზე წვდომის საშუალება"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"ჰქონდეს თქვენს კალენდარზე წვდომის საშუალება"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"შეიძლებოდეს აუდიოს ჩაწერა"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"შეძლოს ახლომახლო მოწყობილობების აღმოჩენა, მათთან დაკავშირება და მათი შედარებითი პოზიციის დადგენა"</string> <string name="permission_notification_summary" msgid="884075314530071011">"შეუძლია წაიკითხოს ყველა შეტყობინება, მათ შორის ისეთი ინფორმაცია, როგორიცაა კონტაქტები, ტექსტური შეტყობინებები და ფოტოები"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"თქვენი ტელეფონის აპების სტრიმინგი"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"აწარმოეთ აპების და სისტემის სხვა ფუნქციების სტრიმინგი თქვენი ტელეფონიდან"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-kk/strings.xml b/packages/CompanionDeviceManager/res/values-kk/strings.xml index e8578524bfd2..21b9ff84e00c 100644 --- a/packages/CompanionDeviceManager/res/values-kk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-kk/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> арқылы басқарылатын <xliff:g id="PROFILE_NAME">%1$s</xliff:g> құрылғысын таңдаңыз"</string> <string name="summary_watch" msgid="6566922405914995759">"Қолданба <xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысын басқару үшін қажет. <xliff:g id="APP_NAME">%2$s</xliff:g> қолданбасына қоңырау шалушының аты сияқты деректі синхрондау, хабарландыруларды оқу, телефон, SMS, контактілер, күнтізбе, қоңырау журналдары қолданбаларын және маңайдағы құрылғыларды пайдалану рұқсаттары беріледі."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Қолданба <xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысын басқару үшін қажет. <xliff:g id="APP_NAME">%2$s</xliff:g> қолданбасына деректі (мысалы, қоңырау шалушының аты) синхрондауға және мына рұқсаттарды пайдалануға рұқсат беріледі:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> қолданбасына <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> құрылғысын басқаруға рұқсат беру керек пе?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"көзілдірік"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Бұл қолданба <xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысын басқару үшін қажет. <xliff:g id="APP_NAME">%2$s</xliff:g> қолданбасына хабарландыруларды оқуға, телефонды, хабарларды, контактілерді, микрофон мен маңайдағы құрылғыларды пайдалануға рұқсат беріледі."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Бұл қолданба телефоныңыздағы мына рұқсаттарды пайдалана алады:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> қолданбасына телефоныңыздағы осы ақпаратты пайдалануға рұқсат беріңіз."</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Аралық құрылғы қызметтері"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасы <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> атынан құрылғылар арасында қолданбалар трансляциялау үшін рұқсат сұрайды."</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play қызметтері"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасы <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> атынан телефондағы фотосуреттерді, медиафайлдар мен хабарландыруларды пайдалану үшін рұқсат сұрайды."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> құрылғысына бұл әрекетті орындауға рұқсат беру керек пе?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> қолданбасы <xliff:g id="DEVICE_NAME">%2$s</xliff:g> атынан қолданбалар мен басқа да жүйе функцияларын маңайдағы құрылғыларға трансляциялау рұқсатын сұрап тұр."</string> <string name="profile_name_generic" msgid="6851028682723034988">"құрылғы"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Бұл қолданба телефон мен <xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысы арасында деректі (мысалы, қоңырау шалушының атын) синхрондайды."</string> <string name="summary_generic" msgid="4988130802522924650">"Бұл қолданба телефон мен таңдалған құрылғы арасында деректі (мысалы, қоңырау шалушының атын) синхрондайды."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Фотосуреттер мен медиафайлдар"</string> <string name="permission_notification" msgid="693762568127741203">"Хабарландырулар"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Қолданбалар"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Трансляция"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Қоңырау шалып, оларды басқара алады."</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Телефонның қоңыраулар журналын оқып, жаза алады."</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS хабарларды көріп, жібере алады."</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Контактілеріңізді пайдалана алады."</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Күнтізбеңізді пайдалана алады."</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Аудио жаза алады."</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Маңайдағы құрылғыларды тауып, олармен байланысып, бір-біріне қатысты локациясын анықтайды."</string> <string name="permission_notification_summary" msgid="884075314530071011">"Барлық хабарландыруды, соның ішінде контактілер, хабарлар және фотосуреттер сияқты ақпаратты оқи алады."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Телефон қолданбаларын трансляциялайды."</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Қолданбалар мен басқа да жүйе функцияларын телефоннан трансляциялау"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-km/strings.xml b/packages/CompanionDeviceManager/res/values-km/strings.xml index c4901d7703c0..504861651a1d 100644 --- a/packages/CompanionDeviceManager/res/values-km/strings.xml +++ b/packages/CompanionDeviceManager/res/values-km/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"ជ្រើសរើស <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ដើម្បីឱ្យស្ថិតក្រោមការគ្រប់គ្រងរបស់ <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"ត្រូវការកម្មវិធីនេះ ដើម្បីគ្រប់គ្រង <xliff:g id="DEVICE_NAME">%1$s</xliff:g> របស់អ្នក។ <xliff:g id="APP_NAME">%2$s</xliff:g> នឹងត្រូវបានអនុញ្ញាតឱ្យធ្វើសមកាលកម្មព័ត៌មានដូចជា ឈ្មោះមនុស្សដែលហៅទូរសព្ទ ធ្វើអន្តរកម្មជាមួយការជូនដំណឹងរបស់អ្នក និងចូលប្រើការអនុញ្ញាតទូរសព្ទ, SMS, ទំនាក់ទំនង, ប្រតិទិន, កំណត់ហេតុហៅទូរសព្ទ និងឧបករណ៍នៅជិតរបស់អ្នក។"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ត្រូវការកម្មវិធីនេះ ដើម្បីគ្រប់គ្រង <xliff:g id="DEVICE_NAME">%1$s</xliff:g> របស់អ្នក។ <xliff:g id="APP_NAME">%2$s</xliff:g> នឹងត្រូវបានអនុញ្ញាតឱ្យធ្វើសមកាលកម្មព័ត៌មានដូចជា ឈ្មោះមនុស្សដែលហៅទូរសព្ទ និងចូលប្រើការអនុញ្ញាតទាំងនេះ៖"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"អនុញ្ញាតឱ្យ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> គ្រប់គ្រង <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ឬ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"វ៉ែនតា"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"ត្រូវការកម្មវិធីនេះ ដើម្បីគ្រប់គ្រង <xliff:g id="DEVICE_NAME">%1$s</xliff:g>។ <xliff:g id="APP_NAME">%2$s</xliff:g> នឹងត្រូវបានអនុញ្ញាតឱ្យធ្វើអន្តរកម្មជាមួយការជូនដំណឹងរបស់អ្នក និងចូលប្រើការអនុញ្ញាតរបស់ទូរសព្ទ, SMS, ទំនាក់ទំនង, មីក្រូហ្វូន និងឧបករណ៍នៅជិតរបស់អ្នក។"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"កម្មវិធីនេះនឹងត្រូវបានអនុញ្ញាតឱ្យចូលប្រើការកំណត់ទាំងនេះនៅលើទូរសព្ទរបស់អ្នក៖"</string> <string name="title_app_streaming" msgid="2270331024626446950">"អនុញ្ញាតឱ្យ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ចូលប្រើព័ត៌មាននេះពីទូរសព្ទរបស់អ្នក"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"សេវាកម្មឆ្លងកាត់ឧបករណ៍"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> កំពុងស្នើសុំការអនុញ្ញាតជំនួសឱ្យ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> របស់អ្នក ដើម្បីបញ្ចាំងកម្មវិធីរវាងឧបករណ៍របស់អ្នក"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"សេវាកម្ម Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> កំពុងស្នើសុំការអនុញ្ញាតជំនួសឱ្យ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> របស់អ្នក ដើម្បីចូលប្រើរូបថត មេឌៀ និងការជូនដំណឹងរបស់ទូរសព្ទអ្នក"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"អនុញ្ញាតឱ្យ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ធ្វើសកម្មភាពនេះឬ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> កំពុងស្នើសុំការអនុញ្ញាតជំនួសឱ្យ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> របស់អ្នក ដើម្បីចាក់ផ្សាយកម្មវិធី និងមុខងារប្រព័ន្ធផ្សេងទៀតទៅកាន់ឧបករណ៍នៅជិត"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ឧបករណ៍"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"កម្មវិធីនឹងអាចធ្វើសមកាលកម្មព័ត៌មានដូចជា ឈ្មោះមនុស្សដែលហៅទូរសព្ទរវាងទូរសព្ទ និង <xliff:g id="DEVICE_NAME">%1$s</xliff:g> របស់អ្នក។"</string> <string name="summary_generic" msgid="4988130802522924650">"កម្មវិធីនេះនឹងអាចធ្វើសមកាលកម្មព័ត៌មានដូចជា ឈ្មោះមនុស្សដែលហៅទូរសព្ទរវាងឧបករណ៍ដែលបានជ្រើសរើស និងទូរសព្ទរបស់អ្នក។"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"រូបថត និងមេឌៀ"</string> <string name="permission_notification" msgid="693762568127741203">"ការជូនដំណឹង"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"កម្មវិធី"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ការផ្សាយ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"អាចហៅទូរសព្ទ និងគ្រប់គ្រងការហៅទូរសព្ទ"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"អាចអាន និងសរសេរកំណត់ហេតុហៅទូរសព្ទ"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"អាចផ្ញើ និងមើលសារ SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"អាចចូលប្រើទំនាក់ទំនងរបស់អ្នក"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"អាចចូលប្រើប្រតិទិនរបស់អ្នក"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"អាចថតសំឡេង"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"អាចស្វែងរក ភ្ជាប់ទៅ និងកំណត់ចម្ងាយពាក់ព័ន្ធរវាងឧបករណ៍ដែលនៅជិត"</string> <string name="permission_notification_summary" msgid="884075314530071011">"អាចអានការជូនដំណឹងទាំងអស់ រួមទាំងព័ត៌មានដូចជាទំនាក់ទំនង សារ និងរូបថត"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"ផ្សាយកម្មវិធីរបស់ទូរសព្ទអ្នក"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ចាក់ផ្សាយកម្មវិធី និងមុខងារប្រព័ន្ធផ្សេងទៀតពីទូរសព្ទរបស់អ្នក"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-kn/strings.xml b/packages/CompanionDeviceManager/res/values-kn/strings.xml index 6f93275682de..e7f9f7d7d1b6 100644 --- a/packages/CompanionDeviceManager/res/values-kn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-kn/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ಮೂಲಕ ನಿರ್ವಹಿಸಬೇಕಾದ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string> <string name="summary_watch" msgid="6566922405914995759">"ನಿಮ್ಮ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಅನ್ನು ನಿರ್ವಹಿಸಲು ಆ್ಯಪ್ನ ಅಗತ್ಯವಿದೆ. ಕರೆ ಮಾಡುವವರ ಹೆಸರು, ನಿಮ್ಮ ಅಧಿಸೂಚನೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಮತ್ತು ಫೋನ್, SMS, ಸಂಪರ್ಕಗಳು, ಕ್ಯಾಲೆಂಡರ್, ಕರೆ ಲಾಗ್ಗಳು ಮತ್ತು ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳ ದೃಢೀಕರಣಗಳಂತಹ ಮಾಹಿತಿಯನ್ನು ಸಿಂಕ್ ಮಾಡಲು <xliff:g id="APP_NAME">%2$s</xliff:g> ಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ನಿಮ್ಮ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಅನ್ನು ನಿರ್ವಹಿಸಲು ಆ್ಯಪ್ನ ಅಗತ್ಯವಿದೆ. ಕರೆ ಮಾಡುವವರ ಹೆಸರಿನಂತಹ ಮಾಹಿತಿಯನ್ನು ಸಿಂಕ್ ಮಾಡಲು ಮತ್ತು ಈ ಅನುಮತಿಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <xliff:g id="APP_NAME">%2$s</xliff:g> ಗೆ ಅನುಮತಿಸಲಾಗುತ್ತದೆ:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>? ನಿರ್ವಹಿಸಲು <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ಗ್ಲಾಸ್ಗಳು"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಅನ್ನು ನಿರ್ವಹಿಸಲು ಈ ಆ್ಯಪ್ನ ಅಗತ್ಯವಿದೆ. <xliff:g id="APP_NAME">%2$s</xliff:g> ನಿಮ್ಮ ಅಧಿಸೂಚನೆಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಮತ್ತು ನಿಮ್ಮ ಫೋನ್, SMS, ಸಂಪರ್ಕಗಳು, ಮೈಕ್ರೊಫೋನ್ ಮತ್ತು ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳ ಅನುಮತಿಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಅನುಮತಿಸಲಾಗುತ್ತದೆ."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ನಿಮ್ಮ ಫೋನ್ನಲ್ಲಿ ಈ ಅನುಮತಿಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಈ ಆ್ಯಪ್ಗೆ ಅನುಮತಿಸಲಾಗುತ್ತದೆ:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ನಿಮ್ಮ ಫೋನ್ ಮೂಲಕ ಈ ಮಾಹಿತಿಯನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ಗೆ ಅನುಮತಿಸಿ"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ಕ್ರಾಸ್-ಡಿವೈಸ್ ಸೇವೆಗಳು"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"ನಿಮ್ಮ ಸಾಧನಗಳ ನಡುವೆ ಆ್ಯಪ್ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಲು ನಿಮ್ಮ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ನ ಪರವಾಗಿ <xliff:g id="APP_NAME">%1$s</xliff:g> ಅನುಮತಿಯನ್ನು ವಿನಂತಿಸಿಕೊಳ್ಳುತ್ತಿದೆ"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play ಸೇವೆಗಳು"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"ನಿಮ್ಮ ಫೋನ್ನ ಫೋಟೋಗಳು, ಮೀಡಿಯಾ ಮತ್ತು ಅಧಿಸೂಚನೆಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ನಿಮ್ಮ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ನ ಪರವಾಗಿ <xliff:g id="APP_NAME">%1$s</xliff:g> ಅನುಮತಿಯನ್ನು ವಿನಂತಿಸಿಕೊಳ್ಳುತ್ತಿದೆ"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"ಈ ಆ್ಯಕ್ಷನ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ಅನುಮತಿಸಬೇಕೇ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳಿಗೆ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಇತರ ಸಿಸ್ಟಂ ಫೀಚರ್ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಲು ನಿಮ್ಮ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> ರ ಪರವಾಗಿ <xliff:g id="APP_NAME">%1$s</xliff:g> ಅನುಮತಿಯನ್ನು ವಿನಂತಿಸುತ್ತಿದೆ"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ಸಾಧನ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ಈ ಆ್ಯಪ್, ಮೊಬೈಲ್ ಫೋನ್ ಮತ್ತು <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಸಾಧನದ ನಡುವೆ ಕರೆ ಮಾಡುವವರ ಹೆಸರಿನಂತಹ ಮಾಹಿತಿಯನ್ನು ಸಿಂಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string> <string name="summary_generic" msgid="4988130802522924650">"ಈ ಆ್ಯಪ್, ಮೊಬೈಲ್ ಫೋನ್ ಮತ್ತು ಆಯ್ಕೆಮಾಡಿದ ಸಾಧನದ ನಡುವೆ ಕರೆ ಮಾಡುವವರ ಹೆಸರಿನಂತಹ ಮಾಹಿತಿಯನ್ನು ಸಿಂಕ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ಫೋಟೋಗಳು ಮತ್ತು ಮಾಧ್ಯಮ"</string> <string name="permission_notification" msgid="693762568127741203">"ಅಧಿಸೂಚನೆಗಳು"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ಆ್ಯಪ್ಗಳು"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ಸ್ಟ್ರೀಮಿಂಗ್"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಬಹುದು ಮತ್ತು ನಿರ್ವಹಿಸಬಹುದು"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ಪೋನ್ ಕರೆಯ ಲಾಗ್ ಅನ್ನು ಓದಬಹುದು ಮತ್ತು ಬರೆಯಬಹುದು"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ವೀಕ್ಷಿಸಬಹುದು"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"ನಿಮ್ಮ ಕ್ಯಾಲೆಂಡರ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ಆಡಿಯೋ ರೆಕಾರ್ಡ್ ಮಾಡಬಹುದು"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳನ್ನು ಹುಡುಕಬಹುದು, ಅವುಗಳಿಗೆ ಕನೆಕ್ಟ್ ಆಗಬಹುದು ಮತ್ತು ಅವುಗಳ ಸಂಬಂಧಿತ ಸ್ಥಾನವನ್ನು ನಿರ್ಧರಿಸಬಹುದು"</string> <string name="permission_notification_summary" msgid="884075314530071011">"ಸಂಪರ್ಕಗಳು, ಸಂದೇಶಗಳು ಮತ್ತು ಫೋಟೋಗಳಂತಹ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಂತೆ ಎಲ್ಲಾ ಅಧಿಸೂಚನೆಗಳನ್ನು ಓದಬಹುದು"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"ನಿಮ್ಮ ಫೋನ್ನ ಆ್ಯಪ್ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ನಿಮ್ಮ ಫೋನ್ನಿಂದ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಇತರ ಸಿಸ್ಟಂ ಫೀಚರ್ಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಿ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ko/strings.xml b/packages/CompanionDeviceManager/res/values-ko/strings.xml index 38b3df1c4c97..67ca4a080411 100644 --- a/packages/CompanionDeviceManager/res/values-ko/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ko/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>에서 관리할 <xliff:g id="PROFILE_NAME">%1$s</xliff:g>을(를) 선택"</string> <string name="summary_watch" msgid="6566922405914995759">"이 앱은 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 기기를 관리하는 데 필요합니다. <xliff:g id="APP_NAME">%2$s</xliff:g>에서 전화를 건 사람 이름과 같은 정보를 동기화하며 알림과 상호작용하고 내 전화, SMS, 연락처, Calendar, 통화 기록, 근처 기기에 액세스할 수 있게 됩니다."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"이 앱은 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 기기를 관리하는 데 필요합니다. <xliff:g id="APP_NAME">%2$s</xliff:g>에서 전화를 건 사람 이름과 같은 정보를 동기화하며 이러한 권한에 액세스할 수 있게 됩니다."</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>에서 <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>? 기기를 관리하도록 허용"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"안경"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"이 앱은 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 기기를 관리하는 데 필요합니다. <xliff:g id="APP_NAME">%2$s</xliff:g>에서 알림과 상호작용하고 내 전화, SMS, 연락처, 마이크, 근처 기기에 대한 권한을 갖게 됩니다."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"앱이 내 휴대전화에서 이러한 권한에 액세스할 수 있게 됩니다."</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>이 휴대전화의 이 정보에 액세스하도록 허용합니다."</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"교차 기기 서비스"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> 대신 기기 간에 앱을 스트리밍할 수 있는 권한을 요청하고 있습니다."</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play 서비스"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> 대신 휴대전화의 사진, 미디어, 알림에 액세스할 수 있는 권한을 요청하고 있습니다."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> 기기가 이 작업을 수행하도록 허용하시겠습니까?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g>에서 <xliff:g id="DEVICE_NAME">%2$s</xliff:g> 대신 근처 기기로 앱 및 기타 시스템 기능을 스트리밍할 권한을 요청하고 있습니다."</string> <string name="profile_name_generic" msgid="6851028682723034988">"기기"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"이 앱이 전화를 건 사람 이름과 같은 정보를 휴대전화와 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 간에 동기화할 수 있습니다."</string> <string name="summary_generic" msgid="4988130802522924650">"이 앱이 전화를 건 사람 이름과 같은 정보를 휴대전화와 선택한 기기 간에 동기화할 수 있습니다."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"사진 및 미디어"</string> <string name="permission_notification" msgid="693762568127741203">"알림"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"앱"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"스트리밍"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"전화를 걸고 통화를 관리할 수 있습니다."</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"통화 기록을 읽고 쓸 수 있습니다."</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS 메시지를 전송하고 볼 수 있습니다."</string> <string name="permission_contacts_summary" msgid="675861979475628708">"연락처에 액세스할 수 있습니다."</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"캘린더에 액세스할 수 있습니다."</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"오디오 녹음 가능"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"근처 기기를 찾아 연결하고 기기 간 상대적 위치를 파악할 수 있습니다."</string> <string name="permission_notification_summary" msgid="884075314530071011">"연락처, 메시지, 사진 등의 정보를 포함한 모든 알림을 읽을 수 있습니다."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"휴대전화의 앱을 스트리밍합니다."</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"내 휴대전화의 앱 및 기타 시스템 기능 스트리밍"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ky/strings.xml b/packages/CompanionDeviceManager/res/values-ky/strings.xml index c40e08044740..acbc0316b8b4 100644 --- a/packages/CompanionDeviceManager/res/values-ky/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ky/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<xliff:g id="PROFILE_NAME">%1$s</xliff:g> <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> тарабынан башкарылсын"</string> <string name="summary_watch" msgid="6566922405914995759">"Бул колдонмо <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүңүздү тескөө үчүн керек. <xliff:g id="APP_NAME">%2$s</xliff:g> маалыматты шайкештирип, мисалы, билдирмелериңизди көрүп, телефонуңуз, SMS билдирүүлөр, байланыштар, жылнаама, чалуулар тизмеси жана жакын жердеги түзмөктөргө болгон уруксаттарды пайдалана алат."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Бул колдонмо <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүңүздү тескөө үчүн керек. <xliff:g id="APP_NAME">%2$s</xliff:g> маалыматты шайкештире алат, мисалы, чалып жаткан кишинин атын шайкештирет жана анын төмөнкү уруксаттары болот:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> колдонмосуна <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> түзмөгүн тескөөгө уруксат бересизби?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"көз айнектер"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Бул колдонмо <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгүн башкаруу үчүн керек. <xliff:g id="APP_NAME">%2$s</xliff:g> билдирмелериңизди көрүп, телефонуңуз, SMS билдирүүлөр, Байланыштар, Микрофон жана Жакын жердеги түзмөктөргө болгон уруксаттарды пайдалана алат."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Бул колдонмого телефонуңузда төмөнкүлөрдү аткарууга уруксат берилет:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> колдонмосуна телефонуңуздагы ушул маалыматты көрүүгө уруксат бериңиз"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Түзмөктөр аралык кызматтар"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> түзмөгүңүздүн атынан түзмөктөрүңүздүн ортосунда колдонмолорду өткөрүүгө уруксат сурап жатат"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play кызматтары"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосу <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> түзмөгүңүздүн атынан телефондогу сүрөттөрдү, медиа файлдарды жана билдирмелерди колдонууга уруксат сурап жатат"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> түзмөгүнө бул аракетти аткарууга уруксат бересизби?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> <xliff:g id="DEVICE_NAME">%2$s</xliff:g> түзмөгүңүздүн атынан жакын жердеги түзмөктөрдө колдонмолорду жана тутумдун башка функцияларын алып ойнотууга уруксат сурап жатат"</string> <string name="profile_name_generic" msgid="6851028682723034988">"түзмөк"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Бул колдонмо маалыматты шайкештире алат, мисалы, чалып жаткан кишинин атын телефон жана <xliff:g id="DEVICE_NAME">%1$s</xliff:g> түзмөгү менен шайкештирет."</string> <string name="summary_generic" msgid="4988130802522924650">"Бул колдонмо маалыматты шайкештире алат, мисалы, чалып жаткан кишинин атын телефон жана тандалган түзмөк менен шайкештирет."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Сүрөттөр жана медиафайлдар"</string> <string name="permission_notification" msgid="693762568127741203">"Билдирмелер"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Колдонмолор"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Алып ойнотуу"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Телефон чалууларды аткарып жана тескей алат"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Телефондогу чалуулар тизмесин окуп жана жаза алат"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS билдирүүлөрдү жөнөтүп жана көрө алат"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Байланыштарыңызга кире алат"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Жылнаамаңызга кире алат"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Аудио жаздыра алат"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Жакын жердеги түзмөктөрдү таап, аларга туташып, абалын аныктай алат"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Бардык билдирмелерди, анын ичинде байланыштар, билдирүүлөр жана сүрөттөр сыяктуу маалыматты окуй алат"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Телефондогу колдонмолорду алып ойнотуу"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Телефонуңуздагы колдонмолорду жана тутумдун башка функцияларын алып ойнотуу"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-lo/strings.xml b/packages/CompanionDeviceManager/res/values-lo/strings.xml index a7b0cac1ecc9..9b488361a573 100644 --- a/packages/CompanionDeviceManager/res/values-lo/strings.xml +++ b/packages/CompanionDeviceManager/res/values-lo/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"ເລືອກ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ເພື່ອໃຫ້ຖືກຈັດການໂດຍ <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"ຕ້ອງໃຊ້ແອັບດັ່ງກ່າວເພື່ອຈັດການ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ຂອງທ່ານ. <xliff:g id="APP_NAME">%2$s</xliff:g> ຈະໄດ້ຮັບອະນຸຍາດໃຫ້ຊິງຂໍ້ມູນເຊັ່ນ: ຊື່ຂອງບາງຄົນທີ່ກຳລັງໂທ, ໂຕ້ຕອບກັບການແຈ້ງເຕືອນຂອງທ່ານ ແລະ ເຂົ້າເຖິງການອະນຸຍາດໂທລະສັບ, SMS, ລາຍຊື່ຜູ້ຕິດຕໍ່, ປະຕິທິນ, ບັນທຶກການໂທ ແລະ ອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງຂອງທ່ານ."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ຕ້ອງໃຊ້ແອັບດັ່ງກ່າວເພື່ອຈັດການ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ຂອງທ່ານ. <xliff:g id="APP_NAME">%2$s</xliff:g> ຈະໄດ້ຮັບອະນຸຍາດໃຫ້ຊິງຂໍ້ມູນເຊັ່ນ: ຊື່ຂອງບາງຄົນທີ່ກຳລັງໂທ ແລະ ເຂົ້າເຖິງການອະນຸຍາດເຫຼົ່ານີ້:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"ອະນຸຍາດ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ຈັດການ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ບໍ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ແວ່ນຕາ"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"ຕ້ອງໃຊ້ແອັບນີ້ເພື່ອຈັດການ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ຈະໄດ້ຮັບອະນຸຍາດໃຫ້ໂຕ້ຕອບກັບການແຈ້ງເຕືອນຂອງທ່ານ ແລະ ການອະນຸຍາດສິດເຂົ້າເຖິງໂທລະສັບ, SMS, ລາຍຊື່ຜູ້ຕິດຕໍ່, ໄມໂຄຣໂຟນ ແລະ ອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງຂອງທ່ານ."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ແອັບນີ້ຈະຖືກອະນຸຍາດໃຫ້ເຂົ້າເຖິງການອະນຸຍາດເຫຼົ່ານີ້ຢູ່ໃນໂທລະສັບຂອງທ່ານ:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ອະນຸຍາດ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ໃຫ້ເຂົ້າເຖິງຂໍ້ມູນນີ້ຈາກໂທລະສັບຂອງທ່ານໄດ້"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ບໍລິການຂ້າມອຸປະກອນ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> ກຳລັງຮ້ອງຂໍການອະນຸຍາດໃນນາມຂອງ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ເພື່ອສະຕຣີມແອັບລະຫວ່າງອຸປະກອນຂອງທ່ານ"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"ບໍລິການ Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> ກຳລັງຮ້ອງຂໍການອະນຸຍາດໃນນາມຂອງ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ເພື່ອເຂົ້າເຖິງຮູບພາບ, ມີເດຍ ແລະ ການແຈ້ງເຕືອນຂອງໂທລະສັບທ່ານ"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"ອະນຸຍາດ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ເພື່ອດຳເນີນຄຳສັ່ງນີ້ບໍ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ກໍາລັງຮ້ອງຂໍການອະນຸຍາດໃນນາມ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> ຂອງທ່ານເພື່ອສະຕຣີມແອັບ ແລະ ຄຸນສົມບັດລະບົບອື່ນໆໄປຫາອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງ"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ອຸປະກອນ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ແອັບນີ້ຈະສາມາດຊິງຂໍ້ມູນເຊັ່ນ: ຊື່ຂອງບາງຄົນທີ່ກຳລັງໂທຢູ່ລະຫວ່າງໂທລະສັບຂອງທ່ານ ແລະ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ໄດ້."</string> <string name="summary_generic" msgid="4988130802522924650">"ແອັບນີ້ຈະສາມາດຊິງຂໍ້ມູນເຊັ່ນ: ຊື່ຂອງບາງຄົນທີ່ກຳລັງໂທຢູ່ລະຫວ່າງໂທລະສັບຂອງທ່ານ ແລະ ອຸປະກອນທີ່ເລືອກໄດ້."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ຮູບພາບ ແລະ ມີເດຍ"</string> <string name="permission_notification" msgid="693762568127741203">"ການແຈ້ງເຕືອນ"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ແອັບ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ກຳລັງສະຕຣີມ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ສາມາດໂທອອກ ແລະ ຈັດການການໂທໄດ້"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ສາມາດອ່ານ ແລະ ຂຽນບັນທຶກການໂທຂອງໂທລະສັບ"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"ສາມາດສົ່ງ ແລະ ເບິ່ງຂໍ້ຄວາມ SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ສາມາດເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານ"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"ສາມາດເຂົ້າເຖິງປະຕິທິນຂອງທ່ານ"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ສາມາດບັນທຶກສຽງໄດ້"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"ສາມາດຊອກຫາ, ເຊື່ອມຕໍ່ ແລະ ລະບຸສະຖານທີ່ທີ່ກ່ຽວຂ້ອງກັນຂອງອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງ"</string> <string name="permission_notification_summary" msgid="884075314530071011">"ສາມາດອ່ານການແຈ້ງເຕືອນທັງໝົດ, ຮວມທັງຂໍ້ມູນ ເຊັ່ນ: ລາຍຊື່ຜູ້ຕິດຕໍ່, ຂໍ້ຄວາມ ແລະ ຮູບພາບ"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"ສະຕຣີມແອັບຂອງໂທລະສັບທ່ານ"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ສະຕຣີມແອັບ ແລະ ຄຸນສົມບັດລະບົບອື່ນໆຈາກໂທລະສັບຂອງທ່ານ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-lt/strings.xml b/packages/CompanionDeviceManager/res/values-lt/strings.xml index d3d8ca92f1c6..4b4deecfb775 100644 --- a/packages/CompanionDeviceManager/res/values-lt/strings.xml +++ b/packages/CompanionDeviceManager/res/values-lt/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Jūsų <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, kurį valdys <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> (pasirinkite)"</string> <string name="summary_watch" msgid="6566922405914995759">"Programa reikalinga norint tvarkyti jūsų įrenginį „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“. Programai „<xliff:g id="APP_NAME">%2$s</xliff:g>“ bus leidžiama sinchronizuoti tam tikrą informaciją, pvz., skambinančio asmens vardą, sąveikauti su jūsų pranešimais ir pasiekti jūsų leidimus „Telefonas“, „SMS“, „Kontaktai“, „Kalendorius“, „Skambučių žurnalai“ ir „Įrenginiai netoliese“."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Programa reikalinga norint tvarkyti jūsų įrenginį „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“. Programai „<xliff:g id="APP_NAME">%2$s</xliff:g>“ bus leidžiama sinchronizuoti tam tikrą informaciją, pvz., skambinančio asmens vardą, ir pasiekti toliau nurodytus leidimus."</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Leisti <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> valdyti <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"akiniai"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ši programa reikalinga norint tvarkyti įrenginį „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“. Programai „<xliff:g id="APP_NAME">%2$s</xliff:g>“ bus leidžiama sąveikauti su jūsų pranešimais ir pasiekti jūsų leidimus „Telefonas“, „SMS“, „Kontaktai“, „Mikrofonas“ ir „Įrenginiai netoliese“."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Šiai programai bus leidžiama pasiekti toliau nurodytus leidimus jūsų telefone."</string> <string name="title_app_streaming" msgid="2270331024626446950">"Leisti <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> pasiekti šią informaciją iš jūsų telefono"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Pasl. keliuose įrenginiuose"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ prašo leidimo jūsų „<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>“ vardu, kad galėtų srautu perduoti programas iš vieno įrenginio į kitą"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"„Google Play“ paslaugos"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Programa „<xliff:g id="APP_NAME">%1$s</xliff:g>“ prašo leidimo jūsų „<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>“ vardu, kad galėtų pasiekti telefono nuotraukas, mediją ir pranešimus"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Leisti <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> atlikti šį veiksmą?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ prašo leidimo jūsų „<xliff:g id="DEVICE_NAME">%2$s</xliff:g>“ vardu, kad galėtų srautu perduoti programas ir kitas sistemos funkcijas įrenginiams netoliese"</string> <string name="profile_name_generic" msgid="6851028682723034988">"įrenginys"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ši programa galės sinchronizuoti tam tikrą informaciją, pvz., skambinančio asmens vardą, su jūsų telefonu ir įrenginiu „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“."</string> <string name="summary_generic" msgid="4988130802522924650">"Ši programa galės sinchronizuoti tam tikrą informaciją, pvz., skambinančio asmens vardą, su jūsų telefonu ir pasirinktu įrenginiu."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Nuotraukos ir medija"</string> <string name="permission_notification" msgid="693762568127741203">"Pranešimai"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Programos"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Srautinis perdavimas"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Gali atlikti ir tvarkyti telefono skambučius"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Gali skaityti ir rašyti telefono skambučių žurnalą"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Gali siųsti ir peržiūrėti SMS pranešimus"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Gali pasiekti jūsų kontaktus"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Gali pasiekti jūsų kalendorių"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Gali įrašyti garsą"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Gali rasti apytikslę netoliese esančių įrenginių poziciją, aptikti juos ir prisijungti prie jų"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Galima skaityti visus pranešimus, įskaitant tokią informaciją kaip kontaktai, pranešimai ir nuotraukos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Telefono programų perdavimas srautu"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Srautu perduokite programas ir kitas sistemos funkcijas iš telefono"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-lv/strings.xml b/packages/CompanionDeviceManager/res/values-lv/strings.xml index 8fe14bd464ed..76ca97e5035f 100644 --- a/packages/CompanionDeviceManager/res/values-lv/strings.xml +++ b/packages/CompanionDeviceManager/res/values-lv/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Profila (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>) izvēle, ko pārvaldīt lietotnē <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Šī lietotne ir nepieciešama jūsu ierīces (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) pārvaldībai. <xliff:g id="APP_NAME">%2$s</xliff:g> drīkstēs sinhronizēt informāciju, piemēram, zvanītāja vārdu, mijiedarboties ar jūsu paziņojumiem un piekļūt atļaujām Tālrunis, Īsziņas, Kontaktpersonas, Kalendārs, Zvanu žurnāli un Tuvumā esošas ierīces."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Šī lietotne ir nepieciešama jūsu ierīces (<xliff:g id="DEVICE_NAME">%1$s</xliff:g>) pārvaldībai. <xliff:g id="APP_NAME">%2$s</xliff:g> drīkstēs sinhronizēt informāciju, piemēram, zvanītāja vārdu, un piekļūt šīm atļaujām:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Vai atļaut lietotnei <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> piekļūt ierīcei <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"brilles"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Šī lietotne ir nepieciešama šādas ierīces pārvaldībai: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> drīkstēs mijiedarboties ar jūsu paziņojumiem un piekļūt atļaujām Tālrunis, Īsziņas, Kontaktpersonas, Mikrofons un Tuvumā esošas ierīces."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Šai lietotnei tiks sniegta piekļuve šādām atļaujām jūsu tālrunī:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Atļaut lietotnei <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> piekļūt šai informācijai no jūsu tālruņa"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Vairāku ierīču pakalpojumi"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> pieprasa atļauju straumēt lietotnes starp jūsu ierīcēm šīs ierīces vārdā: <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play pakalpojumi"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> pieprasa atļauju piekļūt jūsu tālruņa fotoattēliem, multivides saturam un paziņojumiem šīs ierīces vārdā: <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vai atļaut ierīcei <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> veikt šo darbību?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> pieprasa atļauju tuvumā esošās ierīcēs straumēt lietotnes un citas sistēmas funkcijas šīs ierīces vārdā: <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ierīce"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Šī lietotne varēs sinhronizēt informāciju, piemēram, zvanītāja vārdu, starp jūsu tālruni un šo ierīci: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Šī lietotne varēs sinhronizēt informāciju, piemēram, zvanītāja vārdu, starp jūsu tālruni un izvēlēto ierīci."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotoattēli un multivides faili"</string> <string name="permission_notification" msgid="693762568127741203">"Paziņojumi"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Lietotnes"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Straumēšana"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Var veikt un pārvaldīt tālruņa zvanus"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Var lasīt un rakstīt tālruņa zvanu žurnālu"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Var sūtīt un skatīt īsziņas"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Var piekļūt jūsu kontaktpersonām"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Var piekļūt jūsu kalendāram"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Var ierakstīt audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Var atrast tuvumā esošas ierīces, izveidot ar tām savienojumu un noteikt to relatīvo atrašanās vietu"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Var lasīt visus paziņojumus, tostarp tādu informāciju kā kontaktpersonas, ziņojumi un fotoattēli."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Straumēt jūsu tālruņa lietotnes"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"No sava tālruņa straumējiet lietotnes un citas sistēmas funkcijas"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-mk/strings.xml b/packages/CompanionDeviceManager/res/values-mk/strings.xml index 0fc9061fda67..1df8093dc67b 100644 --- a/packages/CompanionDeviceManager/res/values-mk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-mk/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Изберете <xliff:g id="PROFILE_NAME">%1$s</xliff:g> со којшто ќе управува <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Апликацијата е потребна за управување со вашиот <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ќе може да ги синхронизира податоците како што се имињата на јавувачите, да остварува интеракција со известувањата и да пристапува до дозволите за „Телефон“, SMS, „Контакти“, „Календар“, „Евиденција на повици“ и „Уреди во близина“."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Апликацијата е потребна за управување со вашиот <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ќе има дозвола да ги синхронизира податоците како што се имињата на јавувачите и да пристапува до следниве дозволи:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Ќе дозволите <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> да управува со <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"очила"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Апликацијава е потребна за управување со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ќе може да остварува интеракција со известувањата и да пристапува до дозволите за „Телефон“, SMS, „Контакти“, „Микрофон“ и „Уреди во близина“."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Апликацијава ќе може да пристапува до овие дозволи на телефонот:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Овозможете <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> да пристапува до овие податоци на телефонот"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Повеќенаменски услуги"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> бара дозвола во име на вашиот <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> за да стримува апликации помеѓу вашите уреди"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Услуги на Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> бара дозвола во име на вашиот <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> за да пристапува до фотографиите, аудиовизуелните содржини и известувањата на телефонот"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Ќе дозволите <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> да го преземе ова дејство?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> бара дозвола во име на вашиот <xliff:g id="DEVICE_NAME">%2$s</xliff:g> за да стримува апликации и други системски карактеристики на уредите во близина"</string> <string name="profile_name_generic" msgid="6851028682723034988">"уред"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Оваа апликација ќе може да ги синхронизира податоците како што се имињата на јавувачите помеѓу вашиот телефон и <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Оваа апликација ќе може да ги синхронизира податоците како што се имињата на јавувачите помеѓу вашиот телефон и избраниот уред."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Аудиовизуелни содржини"</string> <string name="permission_notification" msgid="693762568127741203">"Известувања"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Апликации"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Стриминг"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Може да упатува и управува со телефонски повици"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Може да чита и пишува евиденција на повици во телефонот"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Може да испраќа и гледа SMS-пораки"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Може да пристапува до вашите контакти"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Може да пристапува до вашиот календар"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Може да снима аудио"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Може да наоѓа и да се поврзува со уреди во близина и да ја утврдува нивната релативна положба"</string> <string name="permission_notification_summary" msgid="884075314530071011">"може да ги чита сите известувања, вклучително и податоци како контакти, пораки и фотографии"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Стримувајте ги апликациите на телефонот"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Апликации за стриминг и други системски карактеристики од вашиот телефон"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ml/strings.xml b/packages/CompanionDeviceManager/res/values-ml/strings.xml index ee8b25b5ea96..99219e24083c 100644 --- a/packages/CompanionDeviceManager/res/values-ml/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ml/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ഉപയോഗിച്ച് മാനേജ് ചെയ്യുന്നതിന് ഒരു <xliff:g id="PROFILE_NAME">%1$s</xliff:g> തിരഞ്ഞെടുക്കുക"</string> <string name="summary_watch" msgid="6566922405914995759">"നിങ്ങളുടെ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> മാനേജ് ചെയ്യാൻ ആപ്പ് ആവശ്യമാണ്. വിളിക്കുന്നയാളുടെ പേര് പോലുള്ള വിവരങ്ങൾ സമന്വയിപ്പിക്കുന്നതിനും നിങ്ങളുടെ അറിയിപ്പുകളുമായി സംവദിക്കാനും നിങ്ങളുടെ ഫോൺ, SMS, Contacts, Calendar, കോൾ ചരിത്രം, സമീപമുള്ള ഉപകരണങ്ങളുടെ അനുമതികൾ എന്നിവ ആക്സസ് ചെയ്യാനും <xliff:g id="APP_NAME">%2$s</xliff:g> ആപ്പിനെ അനുവദിക്കും."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"നിങ്ങളുടെ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> മാനേജ് ചെയ്യാൻ ആപ്പ് ആവശ്യമാണ്. വിളിക്കുന്നയാളുടെ പേര് പോലുള്ള വിവരങ്ങൾ സമന്വയിപ്പിക്കുന്നതിനും ഈ അനുമതികൾ ആക്സസ് ചെയ്യുന്നതിനും <xliff:g id="APP_NAME">%2$s</xliff:g> എന്നതിനെ അനുവദിക്കും:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>? മാനേജ് ചെയ്യാൻ, <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> എന്നതിനെ അനുവദിക്കുക"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ഗ്ലാസുകൾ"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> മാനേജ് ചെയ്യാൻ ഈ ആപ്പ് ആവശ്യമാണ്. നിങ്ങളുടെ അറിയിപ്പുകളുമായി ഇടപഴകാനും ഫോൺ, SMS, കോൺടാക്റ്റുകൾ, മൈക്രോഫോൺ, സമീപമുള്ള ഉപകരണങ്ങളുടെ അനുമതികൾ എന്നിവ ആക്സസ് ചെയ്യാനും <xliff:g id="APP_NAME">%2$s</xliff:g> എന്നതിനെ അനുവദിക്കും."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"നിങ്ങളുടെ ഫോണിൽ ഇനിപ്പറയുന്ന അനുമതികൾ ആക്സസ് ചെയ്യാൻ ഈ ആപ്പിനെ അനുവദിക്കും:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"നിങ്ങളുടെ ഫോണിൽ നിന്ന് ഈ വിവരങ്ങൾ ആക്സസ് ചെയ്യാൻ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ആപ്പിനെ അനുവദിക്കുക"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ക്രോസ്-ഉപകരണ സേവനങ്ങൾ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"നിങ്ങളുടെ ഉപകരണങ്ങളിൽ ഒന്നിൽ നിന്ന് അടുത്തതിലേക്ക് ആപ്പുകൾ സ്ട്രീം ചെയ്യാൻ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ഉപകരണത്തിന് വേണ്ടി <xliff:g id="APP_NAME">%1$s</xliff:g> അനുമതി അഭ്യർത്ഥിക്കുന്നു"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play സേവനങ്ങൾ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"നിങ്ങളുടെ ഫോണിലെ ഫോട്ടോകൾ, മീഡിയ, അറിയിപ്പുകൾ എന്നിവ ആക്സസ് ചെയ്യാൻ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ഉപകരണത്തിന് വേണ്ടി <xliff:g id="APP_NAME">%1$s</xliff:g> അനുമതി അഭ്യർത്ഥിക്കുന്നു"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"ഈ പ്രവർത്തനം നടത്താൻ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> എന്നതിനെ അനുവദിക്കണോ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"സമീപമുള്ള ഉപകരണങ്ങളിൽ ആപ്പുകളും മറ്റ് സിസ്റ്റം ഫീച്ചറുകളും സ്ട്രീം ചെയ്യാൻ നിങ്ങളുടെ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> എന്നതിന് വേണ്ടി <xliff:g id="APP_NAME">%1$s</xliff:g> അനുമതി അഭ്യർത്ഥിക്കുന്നു"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ഉപകരണം"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"വിളിക്കുന്നയാളുടെ പേര് പോലുള്ള വിവരങ്ങൾ നിങ്ങളുടെ ഫോണിനും <xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്നതിനും ഇടയിൽ സമന്വയിപ്പിക്കുന്നതിന് ഈ ആപ്പിന് കഴിയും."</string> <string name="summary_generic" msgid="4988130802522924650">"വിളിക്കുന്നയാളുടെ പേര് പോലുള്ള വിവരങ്ങൾ നിങ്ങളുടെ ഫോണിനും തിരഞ്ഞെടുത്ത ഉപകരണത്തിനും ഇടയിൽ സമന്വയിപ്പിക്കുന്നതിന് ഈ ആപ്പിന് കഴിയും."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ഫോട്ടോകളും മീഡിയയും"</string> <string name="permission_notification" msgid="693762568127741203">"അറിയിപ്പുകൾ"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ആപ്പുകൾ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"സ്ട്രീമിംഗ്"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ഫോൺ കോളുകൾ ചെയ്യാനും അവ മാനേജ് ചെയ്യാനും കഴിയും"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ഫോൺ കോൾ ചരിത്രം റീഡ് ചെയ്യാനും റൈറ്റ് ചെയ്യാനും കഴിയും"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS സന്ദേശങ്ങൾ അയയ്ക്കാനും കാണാനും കഴിയും"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"നിങ്ങളുടെ കോൺടാക്റ്റുകൾ ആക്സസ് ചെയ്യാൻ കഴിയും"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"നിങ്ങളുടെ കലണ്ടർ ആക്സസ് ചെയ്യാൻ കഴിയും"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ഓഡിയോ റെക്കോർഡ് ചെയ്യാം"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"സമീപമുള്ള ഉപകരണങ്ങൾ കണ്ടെത്താനും അവയിലേക്ക് കണക്റ്റ് ചെയ്യാനും അവയുടെ ആപേക്ഷിക സ്ഥാനം നിർണ്ണയിക്കാനും കഴിയും"</string> <string name="permission_notification_summary" msgid="884075314530071011">"കോൺടാക്റ്റുകൾ, സന്ദേശങ്ങൾ, ഫോട്ടോകൾ മുതലായ വിവരങ്ങൾ ഉൾപ്പെടെയുള്ള എല്ലാ അറിയിപ്പുകളും വായിക്കാനാകും"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"നിങ്ങളുടെ ഫോണിലെ ആപ്പുകൾ സ്ട്രീം ചെയ്യുക"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"നിങ്ങളുടെ ഫോണിൽ നിന്ന് ആപ്പുകളും മറ്റ് സിസ്റ്റം ഫീച്ചറുകളും സ്ട്രീം ചെയ്യാം"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-mn/strings.xml b/packages/CompanionDeviceManager/res/values-mn/strings.xml index e005b4876489..e4d658ff7dde 100644 --- a/packages/CompanionDeviceManager/res/values-mn/strings.xml +++ b/packages/CompanionDeviceManager/res/values-mn/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>-н удирдах<xliff:g id="PROFILE_NAME">%1$s</xliff:g>-г сонгоно уу"</string> <string name="summary_watch" msgid="6566922405914995759">"Энэ апп таны <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-г удирдахад шаардлагатай. <xliff:g id="APP_NAME">%2$s</xliff:g>-д залгаж буй хүний нэр зэрэг мэдээллийг синк хийх, таны мэдэгдэлтэй харилцан үйлдэл хийх, Утас, SMS, Харилцагчид, Календарь, Дуудлагын жагсаалт болон Ойролцоох төхөөрөмжүүдийн зөвшөөрөлд хандахыг зөвшөөрнө."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Энэ апп таны <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-г удирдахад шаардлагатай. <xliff:g id="APP_NAME">%2$s</xliff:g>-д залгаж буй хүний нэр зэрэг мэдээллийг синк хийх болон эдгээр зөвшөөрөлд хандахыг зөвшөөрнө:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>-д <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>-г удирдахыг зөвшөөрөх үү?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"нүдний шил"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Энэ апп <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-г удирдахад шаардлагатай. <xliff:g id="APP_NAME">%2$s</xliff:g>-д таны мэдэгдэлтэй харилцан үйлдэл хийх, Утас, SMS, Харилцагчид, Микрофон болон Ойролцоох төхөөрөмжүүдийн зөвшөөрөлд хандахыг зөвшөөрнө."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Энэ апп таны утасны эдгээр зөвшөөрөлд хандах эрхтэй байх болно:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>-д таны утаснаас энэ мэдээлэлд хандахыг зөвшөөрнө үү"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Төхөөрөмж хоорондын үйлчилгээ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Таны төхөөрөмжүүд хооронд апп дамжуулахын тулд <xliff:g id="APP_NAME">%1$s</xliff:g> таны <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>-н өмнөөс зөвшөөрөл хүсэж байна"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play үйлчилгээ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Таны утасны зураг, медиа болон мэдэгдэлд хандахын тулд <xliff:g id="APP_NAME">%1$s</xliff:g> таны <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>-н өмнөөс зөвшөөрөл хүсэж байна"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>-д энэ үйлдлийг хийхийг зөвшөөрөх үү?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> таны <xliff:g id="DEVICE_NAME">%2$s</xliff:g>-н өмнөөс аппууд болон системийн бусад онцлогийг ойролцоох төхөөрөмжүүд рүү дамжуулах зөвшөөрөл хүсэж байна"</string> <string name="profile_name_generic" msgid="6851028682723034988">"төхөөрөмж"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Энэ апп залгаж буй хүний нэр зэрэг мэдээллийг таны утас болон <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-н хооронд синк хийх боломжтой болно."</string> <string name="summary_generic" msgid="4988130802522924650">"Энэ апп залгаж буй хүний нэр зэрэг мэдээллийг таны утас болон сонгосон төхөөрөмжийн хооронд синк хийх боломжтой болно."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Зураг болон медиа"</string> <string name="permission_notification" msgid="693762568127741203">"Мэдэгдэл"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Аппууд"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Дамжуулах"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Дуудлага хийх, удирдах боломжтой"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Утасны дуудлагын жагсаалтыг уншиж, бичих боломжтой"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS мессеж илгээх, үзэх боломжтой"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Таны харилцагчдад хандах боломжтой"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Таны календарьт хандах боломжтой"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Аудио бичих боломжтой"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Ойролцоох төхөөрөмжүүдийн харьцангуй байршлыг тодорхойлох, холбох, олох боломжтой"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Харилцагчид, мессеж болон зураг зэрэг мэдээллийг оруулаад бүх мэдэгдлийг унших боломжтой"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Утасныхаа аппуудыг дамжуулаарай"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Утаснаасаа аппууд болон системийн бусад онцлогийг дамжуулаарай"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-mr/strings.xml b/packages/CompanionDeviceManager/res/values-mr/strings.xml index b6937483e623..c7edf743ff98 100644 --- a/packages/CompanionDeviceManager/res/values-mr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-mr/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> द्वारे व्यवस्थापित करण्यासाठी <xliff:g id="PROFILE_NAME">%1$s</xliff:g> निवडा"</string> <string name="summary_watch" msgid="6566922405914995759">"तुमचे <xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापित करण्यासाठी हे ॲप आवश्यक आहे. <xliff:g id="APP_NAME">%2$s</xliff:g> ला कॉल करत असलेल्या एखाद्या व्यक्तीचे नाव यासारखी माहिती सिंक करण्याची, तुमच्या सूचनांसोबत संवाद साधण्याची आणि तुमचा फोन, एसएमएस, संपर्क, कॅलेंडर, कॉल लॉग व जवळपासच्या डिव्हाइसच्या परवानग्या अॅक्सेस करण्याची अनुमती मिळेल."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"तुमचे <xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापित करण्यासाठी हे ॲप आवश्यक आहे. <xliff:g id="APP_NAME">%2$s</xliff:g> ला कॉल करत असलेल्या एखाद्या व्यक्तीचे नाव यासारखी माहिती सिंक करण्याची आणि पुढील परवानग्या अॅक्सेस करण्याची अनुमती मिळेल:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ला <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> व्यवस्थापित करण्याची अनुमती द्यायची आहे?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"Glasses"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापित करण्यासाठी हे ॲप आवश्यक आहे. <xliff:g id="APP_NAME">%2$s</xliff:g> ला तुमच्या सूचनांसोबत संवाद साधण्याची आणि तुमचा फोन, एसएमएस, संपर्क, मायक्रोफोन व जवळपासच्या डिव्हाइसच्या परवानग्या अॅक्सेस करण्याची अनुमती मिळेल."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"या अॅपला तुमच्या फोनवर या परवानग्या अॅक्सेस करण्याची अनुमती दिली जाईल:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ला ही माहिती तुमच्या फोनवरून अॅक्सेस करण्यासाठी अनुमती द्या"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"क्रॉस-डिव्हाइस सेवा"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"तुमच्या डिव्हाइसदरम्यान ॲप्स स्ट्रीम करण्यासाठी <xliff:g id="APP_NAME">%1$s</xliff:g> हे तुमच्या <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> च्या वतीने परवानगीची विनंती करत आहे"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play सेवा"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"तुमच्या फोनमधील फोटो, मीडिया आणि सूचना ॲक्सेस करण्यासाठी <xliff:g id="APP_NAME">%1$s</xliff:g> हे तुमच्या <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> च्या वतीने परवानगीची विनंती करत आहे"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ला ही कृती करण्याची अनुमती द्यायची आहे का?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> हे जवळपासच्या डिव्हाइसवर अॅप्स आणि इतर सिस्टीम वैशिष्ट्ये स्ट्रीम करण्यासाठी तुमच्या <xliff:g id="DEVICE_NAME">%2$s</xliff:g> च्या वतीने परवानगीची विनंती करा"</string> <string name="profile_name_generic" msgid="6851028682723034988">"डिव्हाइस"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"हे ॲप तुमचा फोन आणि <xliff:g id="DEVICE_NAME">%1$s</xliff:g> दरम्यान कॉल करत असलेल्या एखाद्या व्यक्तीचे नाव यासारखी माहिती सिंक करू शकेल."</string> <string name="summary_generic" msgid="4988130802522924650">"हे ॲप तुमचा फोन आणि निवडलेल्या डिव्हाइसदरम्यान कॉल करत असलेल्या एखाद्या व्यक्तीचे नाव यासारखी माहिती सिंक करू शकेल."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"फोटो आणि मीडिया"</string> <string name="permission_notification" msgid="693762568127741203">"सूचना"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ॲप्स"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"स्ट्रीमिंग"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"फोन कॉल करू आणि व्यवस्थापित करू शकते"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"फोन कॉल लॉग रीड अँड राइट करू शकते"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"एसएमएस मेसेज पाठवू आणि पाहू शकते"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"तुमचे संपर्क अॅक्सेस करू शकते"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"तुमचे कॅलेंडर अॅक्सेस करू शकते"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ऑडिओ रेकॉर्ड करू शकते"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"जवळील डिव्हाइस शोधू शकते, त्यांच्याशी कनेक्ट करू शकते आणि त्यांचे संबंधित स्थान निर्धारित करू शकते"</string> <string name="permission_notification_summary" msgid="884075314530071011">"संपर्क, मेसेज आणि फोटो यांसारख्या माहितीचा समावेश असलेल्या सर्व सूचना वाचू शकते"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"तुमच्या फोनवरील ॲप्स स्ट्रीम करा"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"तुमच्या फोनवरून अॅप्स आणि इतर सिस्टीम वैशिष्ट्ये स्ट्रीम करा"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ms/strings.xml b/packages/CompanionDeviceManager/res/values-ms/strings.xml index 78d272d062a0..75894177faa5 100644 --- a/packages/CompanionDeviceManager/res/values-ms/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ms/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Pilih <xliff:g id="PROFILE_NAME">%1$s</xliff:g> untuk diurus oleh <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Apl ini diperlukan untuk mengurus <xliff:g id="DEVICE_NAME">%1$s</xliff:g> anda. <xliff:g id="APP_NAME">%2$s</xliff:g> akan dibenarkan untuk menyegerakkan maklumat seperti nama individu yang memanggil, berinteraksi dengan pemberitahuan anda dan mengakses kebenaran Telefon, SMS, Kenalan, Kalendar, Log panggilan dan Peranti berdekatan anda."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Apl ini diperlukan untuk mengurus <xliff:g id="DEVICE_NAME">%1$s</xliff:g> anda. <xliff:g id="APP_NAME">%2$s</xliff:g> akan dibenarkan untuk menyegerakkan maklumat seperti nama individu yang memanggil dan mengakses kebenaran ini:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Benarkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> mengurus <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"cermin mata"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Apl ini diperlukan untuk mengurus <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> akan dibenarkan untuk berinteraksi dengan pemberitahuan anda dan mengakses kebenaran Telefon, SMS, Kenalan, Mikrofon dan Peranti berdekatan anda."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Apl ini akan dibenarkan untuk mengakses kebenaran yang berikut pada telefon anda:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Benarkan <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> mengakses maklumat ini daripada telefon anda"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Perkhidmatan silang peranti"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> sedang meminta kebenaran bagi pihak <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> anda untuk menstrim apl antara peranti anda"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Perkhidmatan Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> sedang meminta kebenaran bagi pihak <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> anda untuk mengakses foto, media dan pemberitahuan telefon anda"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Benarkan <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> mengambil tindakan ini?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> sedang meminta kebenaran bagi pihak <xliff:g id="DEVICE_NAME">%2$s</xliff:g> anda untuk menstrim apl dan ciri sistem yang lain pada peranti berdekatan"</string> <string name="profile_name_generic" msgid="6851028682723034988">"peranti"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Apl ini akan dapat menyegerakkan maklumat seperti nama individu yang memanggil, antara telefon anda dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Apl ini akan dapat menyegerakkan maklumat seperti nama individu yang memanggil, antara telefon anda dengan peranti yang dipilih."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foto dan media"</string> <string name="permission_notification" msgid="693762568127741203">"Pemberitahuan"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apl"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Penstriman"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Boleh membuat dan mengurus panggilan telefon"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Boleh membaca dan menulis log panggilan telefon"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Boleh menghantar dan melihat mesej SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Boleh mengakses kenalan anda"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Boleh mengakses kalendar anda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Boleh merakamkan audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Boleh mencari, menyambung dan menentukan kedudukan relatif peranti berdekatan"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Boleh membaca semua pemberitahuan, termasuk maklumat seperti kenalan, mesej dan foto"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Strim apl telefon anda"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Strim apl dan ciri sistem yang lain daripada telefon anda"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-my/strings.xml b/packages/CompanionDeviceManager/res/values-my/strings.xml index d63e4f2af251..91ac47a19ebb 100644 --- a/packages/CompanionDeviceManager/res/values-my/strings.xml +++ b/packages/CompanionDeviceManager/res/values-my/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> က စီမံခန့်ခွဲရန် <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ကို ရွေးချယ်ပါ"</string> <string name="summary_watch" msgid="6566922405914995759">"သင်၏ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ကို စီမံခန့်ခွဲရန် ဤအက်ပ်လိုအပ်သည်။ ခေါ်ဆိုသူ၏အမည်ကဲ့သို့ အချက်အလက်ကို စင့်ခ်လုပ်ရန်၊ သင်၏ဖုန်း၊ SMS စာတိုစနစ်၊ အဆက်အသွယ်များ၊ ပြက္ခဒိန်၊ ခေါ်ဆိုမှတ်တမ်းနှင့် အနီးတစ်ဝိုက်ရှိ စက်များဆိုင်ရာ ခွင့်ပြုချက်များသုံးရန်၊ အကြောင်းကြားချက်များနှင့် ပြန်လှန်တုံ့ပြန်ရန် <xliff:g id="APP_NAME">%2$s</xliff:g> ကို ခွင့်ပြုမည်။"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"သင်၏ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ကို စီမံခန့်ခွဲရန် ဤအက်ပ်လိုအပ်သည်။ ခေါ်ဆိုသူ၏အမည်ကဲ့သို့ အချက်အလက်ကို စင့်ခ်လုပ်ရန်နှင့် ဤခွင့်ပြုချက်များသုံးရန် <xliff:g id="APP_NAME">%2$s</xliff:g> ကို ခွင့်ပြုမည်-"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ကို <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> အား စီမံခွင့်ပြုမလား။"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"မျက်မှန်"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ကို စီမံခန့်ခွဲရန် ဤအက်ပ်လိုအပ်သည်။ သင်၏ဖုန်း၊ SMS စာတိုစနစ်၊ အဆက်အသွယ်များ၊ မိုက်ခရိုဖုန်းနှင့် အနီးတစ်ဝိုက်ရှိ စက်များဆိုင်ရာ ခွင့်ပြုချက်များသုံးရန်၊ အကြောင်းကြားချက်များနှင့် ပြန်လှန်တုံ့ပြန်ရန် <xliff:g id="APP_NAME">%2$s</xliff:g> ကို ခွင့်ပြုမည်။"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ဤအက်ပ်သည် သင့်ဖုန်းတွင် ဤခွင့်ပြုချက်များကို သုံးခွင့်ရပါမည်-"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ကို သင့်ဖုန်းမှ ဤအချက်အလက် သုံးခွင့်ပြုမည်"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"စက်များကြားသုံး ဝန်ဆောင်မှုများ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် သင်၏စက်များအကြား အက်ပ်များတိုက်ရိုက်လွှင့်ရန် <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ကိုယ်စား ခွင့်ပြုချက်တောင်းနေသည်"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play ဝန်ဆောင်မှုများ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် သင့်ဖုန်း၏ ဓာတ်ပုံ၊ မီဒီယာနှင့် အကြောင်းကြားချက်များသုံးရန် <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ကိုယ်စား ခွင့်ပြုချက်တောင်းနေသည်"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ကို ဤသို့လုပ်ဆောင်ခွင့်ပြုမလား။"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> သည် အနီးတစ်ဝိုက်ရှိ အက်ပ်များနှင့် အခြားစနစ်အင်္ဂါရပ်များကို တိုက်ရိုက်ဖွင့်ရန် သင့် <xliff:g id="DEVICE_NAME">%2$s</xliff:g> ကိုယ်စား ခွင့်ပြုချက်တောင်းနေသည်"</string> <string name="profile_name_generic" msgid="6851028682723034988">"စက်"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ဤအက်ပ်သည် သင့်ဖုန်းနှင့် <xliff:g id="DEVICE_NAME">%1$s</xliff:g> အကြား ခေါ်ဆိုသူ၏အမည်ကဲ့သို့ အချက်အလက်ကို စင့်ခ်လုပ်နိုင်ပါမည်။"</string> <string name="summary_generic" msgid="4988130802522924650">"ဤအက်ပ်သည် သင့်ဖုန်းနှင့် ရွေးထားသောစက်အကြား ခေါ်ဆိုသူ၏အမည်ကဲ့သို့ အချက်အလက်ကို စင့်ခ်လုပ်နိုင်ပါမည်။"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ဓာတ်ပုံနှင့် မီဒီယာများ"</string> <string name="permission_notification" msgid="693762568127741203">"အကြောင်းကြားချက်များ"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"အက်ပ်များ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"တိုက်ရိုက်ဖွင့်ခြင်း"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ဖုန်းခေါ်ဆိုမှုများကို ပြုလုပ်ခြင်းနှင့် စီမံခြင်းတို့ လုပ်နိုင်သည်"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ဖုန်းခေါ်ဆိုမှတ်တမ်းကို ဖတ်ခြင်းနှင့် ရေးခြင်းတို့ လုပ်နိုင်သည်"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS မက်ဆေ့ဂျ်များကို ပို့ခြင်းနှင့် ကြည့်ရှုခြင်းတို့ လုပ်နိုင်သည်"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"သင့်အဆက်အသွယ်များကို ဝင်ကြည့်နိုင်သည်"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"သင့်ပြက္ခဒိန်ကို သုံးနိုင်သည်"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"အသံဖမ်းနိုင်သည်"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"အနီးတစ်ဝိုက်ရှိ စက်များ၏ ဆက်စပ်နေရာကို ရှာခြင်း၊ ချိတ်ဆက်ခြင်းနှင့် သတ်မှတ်ခြင်းတို့ လုပ်နိုင်သည်"</string> <string name="permission_notification_summary" msgid="884075314530071011">"အဆက်အသွယ်၊ မက်ဆေ့ဂျ်နှင့် ဓာတ်ပုံကဲ့သို့ အချက်အလက်များအပါအဝင် အကြောင်းကြားချက်အားလုံးကို ဖတ်နိုင်သည်"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"သင့်ဖုန်းရှိအက်ပ်များကို တိုက်ရိုက်ဖွင့်နိုင်သည်"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"သင့်ဖုန်းမှ အက်ပ်များနှင့် အခြားစနစ်အင်္ဂါရပ်များကို တိုက်ရိုက်ဖွင့်သည်"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-nb/strings.xml b/packages/CompanionDeviceManager/res/values-nb/strings.xml index 6c76f2bd9200..60be2456b94a 100644 --- a/packages/CompanionDeviceManager/res/values-nb/strings.xml +++ b/packages/CompanionDeviceManager/res/values-nb/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Velg <xliff:g id="PROFILE_NAME">%1$s</xliff:g> som skal administreres av <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Appen kreves for å administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillatelse til å synkronisere informasjon som navnet til noen som ringer, og samhandle med varslene dine, og får tilgang til tillatelsene for telefon, SMS, kontakter, kalender, samtalelogger og enheter i nærheten."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Appen kreves for å administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillatelse til å synkronisere informasjon som navnet til noen som ringer, og kan bruke disse tillatelsene:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Vil du la <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> administrere <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"briller"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Denne appen kreves for å administrere <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tilgang til varslene dine og får tillatelsene for telefon, SMS, kontakter, mikrofon og enheter i nærheten."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Denne appen får disse tillatelsene på telefonen din:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Gi <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> tilgang til denne informasjonen fra telefonen din"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Tjenester på flere enheter"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> ber om tillatelse til å strømme apper mellom enhetene dine, på vegne av <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play-tjenester"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> ber om tillatelse til å få tilgang til bilder, medier og varsler på telefonen din, på vegne av <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vil du la <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> gjøre dette?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ber om tillatelse på vegne av <xliff:g id="DEVICE_NAME">%2$s</xliff:g> til å strømme apper og andre systemfunksjoner til enheter i nærheten"</string> <string name="profile_name_generic" msgid="6851028682723034988">"enhet"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Denne appen kan synkronisere informasjon som navnet til noen som ringer, mellom telefonen og <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Denne appen kan synkronisere informasjon som navnet til noen som ringer, mellom telefonen og den valgte enheten."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Bilder og medier"</string> <string name="permission_notification" msgid="693762568127741203">"Varsler"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apper"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Strømming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Kan ringe ut og administrere anrop"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Kan lese og skrive samtaleloggen"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Kan sende og lese SMS-meldinger"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kan bruke kontaktene dine"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Kan bruke kalenderen din"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Kan ta opp lyd"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Kan finne, koble til og fastslå den relative posisjonen til enheter i nærheten"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kan lese alle varsler, inkludert informasjon som kontakter, meldinger og bilder"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Strøm appene på telefonen"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Strøm apper og andre systemfunksjoner fra telefonen"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ne/strings.xml b/packages/CompanionDeviceManager/res/values-ne/strings.xml index 6e0a66d7fb41..6e51cd0584db 100644 --- a/packages/CompanionDeviceManager/res/values-ne/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ne/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"आफूले <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> प्रयोग गरी व्यवस्थापन गर्न चाहेको <xliff:g id="PROFILE_NAME">%1$s</xliff:g> चयन गर्नुहोस्"</string> <string name="summary_watch" msgid="6566922405914995759">"तपाईंको <xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापन गर्न यो एप चाहिन्छ। <xliff:g id="APP_NAME">%2$s</xliff:g> लाई कल गर्ने व्यक्तिको नाम जस्ता जानकारी सिंक गर्ने, तपाईंका सूचना हेर्ने र फोन, SMS, कन्ट्याक्ट, पात्रो, कल लग तथा नजिकैका डिभाइससम्बन्धी अनुमतिहरू हेर्ने तथा प्रयोग गर्ने अनुमति दिइने छ।"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"तपाईंको <xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापन गर्न यो एप चाहिन्छ। <xliff:g id="APP_NAME">%2$s</xliff:g> लाई कल गर्ने व्यक्तिको नाम जस्ता जानकारी सिंक गर्ने र यी अनुमतिहरू हेर्ने तथा प्रयोग गर्ने अनुमति दिइने छ:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> लाई <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> व्यवस्थापन गर्ने अनुमति दिने हो?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"चस्मा"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> व्यवस्थापन गर्न यो एप चाहिन्छ। <xliff:g id="APP_NAME">%2$s</xliff:g> लाई तपाईंका सूचना हेर्ने र फोन, SMS, कन्ट्याक्ट, माइक्रोफोन तथा नजिकैका डिभाइससम्बन्धी अनुमतिहरू हेर्ने तथा प्रयोग गर्ने अनुमति दिइने छ।"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"तपाईंको फोनमा यो एपलाई निम्न अनुमति दिइने छ:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> लाई तपाईंको फोनमा भएको यो जानकारी हेर्ने तथा प्रयोग गर्ने अनुमति दिनुहोस्"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"क्रस-डिभाइस सेवाहरू"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> तपाईंको डिभाइस <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> को तर्फबाट तपाईंका कुनै एउटा डिभाइसबाट अर्को डिभाइसमा एप स्ट्रिम गर्ने अनुमति माग्दै छ"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> तपाईंको डिभाइस <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> को तर्फबाट तपाईंको फोनमा भएका फोटो, मिडिया र सूचनाहरू हेर्ने तथा प्रयोग गर्ने अनुमति माग्दै छ"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> लाई यो कार्य गर्ने अनुमति दिने हो?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> तपाईंको डिभाइस <xliff:g id="DEVICE_NAME">%2$s</xliff:g> को तर्फबाट नजिकैका डिभाइसहरूमा एप र सिस्टमका अन्य सुविधाहरू स्ट्रिम गर्ने अनुमति माग्दै छ"</string> <string name="profile_name_generic" msgid="6851028682723034988">"यन्त्र"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"यो एपले तपाईंको फोन र तपाईंले छनौट गर्ने <xliff:g id="DEVICE_NAME">%1$s</xliff:g> का बिचमा कल गर्ने व्यक्तिको नाम जस्ता जानकारी सिंक गर्न सक्ने छ।"</string> <string name="summary_generic" msgid="4988130802522924650">"यो एपले तपाईंको फोन र तपाईंले छनौट गर्ने डिभाइसका बिचमा कल गर्ने व्यक्तिको नाम जस्ता जानकारी सिंक गर्न सक्ने छ।"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"फोटो र मिडिया"</string> <string name="permission_notification" msgid="693762568127741203">"सूचनाहरू"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"एपहरू"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"स्ट्रिमिङ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"फोन कल गर्न र कलहरू व्यवस्थापन गर्न सक्छ"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"फोनको कल लग रिड र राइट गर्न सक्छ"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS म्यासेजहरू पठाउन र हेर्न सक्छ"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"तपाईंका कन्ट्याक्टहरू हेर्न सक्छ"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"तपाईंको पात्रो हेर्न सक्छ"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"अडियो रेकर्ड गर्न सक्छ"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"नजिकैका डिभाइसहरू भेट्टाउन, ती डिभाइससँग कनेक्ट गर्न र तिनको सापेक्ष स्थिति निर्धारण गर्न सक्छ"</string> <string name="permission_notification_summary" msgid="884075314530071011">"कन्ट्याक्ट, म्यासेज र फोटोलगायतका जानकारीसहित सबै सूचनाहरू पढ्न सक्छ"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"आफ्नो फोनका एपहरू प्रयोग गर्नुहोस्"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"आफ्नो फोनबाट एप र सिस्टमका अन्य सुविधाहरू स्ट्रिम गर्नुहोस्"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-nl/strings.xml b/packages/CompanionDeviceManager/res/values-nl/strings.xml index aadf83d95a95..628379b64c68 100644 --- a/packages/CompanionDeviceManager/res/values-nl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-nl/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Een <xliff:g id="PROFILE_NAME">%1$s</xliff:g> kiezen om te beheren met <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"De app is nodig om je <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te beheren. <xliff:g id="APP_NAME">%2$s</xliff:g> mag informatie (zoals de naam van iemand die belt) synchroniseren, interactie hebben met je meldingen en krijgt toegang tot de rechten Telefoon, Sms, Contacten, Agenda, Gesprekslijsten en Apparaten in de buurt."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"De app is nodig om je <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te beheren. <xliff:g id="APP_NAME">%2$s</xliff:g> mag informatie (zoals de naam van iemand die belt) synchroniseren en krijgt toegang tot deze rechten:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> toestaan <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> te beheren?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"brillen"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Deze app is nodig om <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te beheren. <xliff:g id="APP_NAME">%2$s</xliff:g> mag interactie hebben met je meldingen en krijgt toegang tot de rechten Telefoon, Sms, Contacten, Microfoon en Apparaten in de buurt."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Deze app krijgt toegang tot deze rechten op je telefoon:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> toegang geven tot deze informatie op je telefoon"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cross-device-services"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> vraagt namens jouw <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> toestemming om apps te streamen tussen je apparaten"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play-services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> vraagt namens jouw <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> toegang tot de foto\'s, media en meldingen van je telefoon"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Toestaan dat <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> deze actie uitvoert?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> vraagt namens je <xliff:g id="DEVICE_NAME">%2$s</xliff:g> toestemming om apps en andere systeemfuncties naar apparaten in de buurt te streamen"</string> <string name="profile_name_generic" msgid="6851028682723034988">"apparaat"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Deze app kan informatie, zoals de naam van iemand die belt, synchroniseren tussen je telefoon en <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Deze app kan informatie (zoals de naam van iemand die belt) synchroniseren tussen je telefoon en het gekozen apparaat."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foto\'s en media"</string> <string name="permission_notification" msgid="693762568127741203">"Meldingen"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Kan telefoongesprekken starten en beheren"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Kan gesprekslijst lezen en ernaar schrijven"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Kan sms-berichten sturen en bekijken"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Heeft toegang tot je contacten"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Heeft toegang tot je agenda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Kan audio opnemen"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Kan apparaten in de buurt vinden, er verbinding mee maken en de relatieve positie ervan bepalen"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kan alle meldingen lezen, waaronder informatie zoals contacten, berichten en foto\'s"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Stream de apps van je telefoon"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Apps en andere systeemfuncties streamen vanaf je telefoon"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-or/strings.xml b/packages/CompanionDeviceManager/res/values-or/strings.xml index 2fbeea39c3bf..ba61866f1fda 100644 --- a/packages/CompanionDeviceManager/res/values-or/strings.xml +++ b/packages/CompanionDeviceManager/res/values-or/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ଦ୍ୱାରା ପରିଚାଳିତ ହେବା ପାଇଁ ଏକ <xliff:g id="PROFILE_NAME">%1$s</xliff:g>କୁ ବାଛନ୍ତୁ"</string> <string name="summary_watch" msgid="6566922405914995759">"ଆପଣଙ୍କ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>କୁ ପରିଚାଳନା କରିବା ପାଇଁ ଆପ ଆବଶ୍ୟକ। କଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ନାମ ପରି ସୂଚନା ସିଙ୍କ କରିବା, ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ସହ ଇଣ୍ଟରାକ୍ଟ କରିବା ଏବଂ ଆପଣଙ୍କର ଫୋନ, SMS, କଣ୍ଟାକ୍ଟ, କେଲେଣ୍ଡର, କଲ ଲଗ ଓ ଆଖପାଖର ଡିଭାଇସ ଅନୁମତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%2$s</xliff:g>କୁ ଅନୁମତି ଦିଆଯିବ।"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ଆପଣଙ୍କ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>କୁ ପରିଚାଳନା କରିବା ପାଇଁ ଆପ ଆବଶ୍ୟକ। କଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ନାମ ପରି ସୂଚନା ସିଙ୍କ କରିବା ଏବଂ ଏହି ଅନୁମତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%2$s</xliff:g>କୁ ଅନୁମତି ଦିଆଯିବ:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>କୁ ପରିଚାଳନା କରିବା ପାଇଁ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>କୁ ଅନୁମତି ଦେବେ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ଚଷମା"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>କୁ ପରିଚାଳନା କରିବା ପାଇଁ ଏହି ଆପ ଆବଶ୍ୟକ। ଆପଣଙ୍କ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ସହ ଇଣ୍ଟରାକ୍ଟ କରିବା ଏବଂ ଆପଣଙ୍କର ଫୋନ, SMS, କଣ୍ଟାକ୍ଟ, ମାଇକ୍ରୋଫୋନ ଓ ଆଖପାଖର ଡିଭାଇସ ଅନୁମତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%2$s</xliff:g>କୁ ଅନୁମତି ଦିଆଯିବ।"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ଆପଣଙ୍କ ଫୋନରେ ଏହି ଅନୁମତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଆଯିବ:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"ଆପଣଙ୍କ ଫୋନରୁ ଏହି ସୂଚନାକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>କୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"କ୍ରସ-ଡିଭାଇସ ସେବାଗୁଡ଼ିକ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"ଆପଣଙ୍କ ଡିଭାଇସଗୁଡ଼ିକ ମଧ୍ୟରେ ଆପ୍ସକୁ ଷ୍ଟ୍ରିମ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%1$s</xliff:g> ଆପଣଙ୍କର <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ତରଫରୁ ଅନୁମତି ପାଇଁ ଅନୁରୋଧ କରୁଛି"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play ସେବାଗୁଡ଼ିକ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"ଆପଣଙ୍କ ଫୋନର ଫଟୋ, ମିଡିଆ ଏବଂ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%1$s</xliff:g> ଆପଣଙ୍କର <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ତରଫରୁ ଅନୁମତି ପାଇଁ ଅନୁରୋଧ କରୁଛି"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"ଏହି ପଦକ୍ଷେପ ନେବା ପାଇଁ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>କୁ ଅନୁମତି ଦେବେ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକରେ ଆପ୍ସ ଏବଂ ଅନ୍ୟ ସିଷ୍ଟମ ଫିଚରଗୁଡ଼ିକୁ ଷ୍ଟ୍ରିମ କରିବା ପାଇଁ <xliff:g id="APP_NAME">%1$s</xliff:g> ଆପଣଙ୍କ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> ତରଫରୁ ଅନୁମତି ପାଇଁ ଅନୁରୋଧ କରୁଛି"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ଡିଭାଇସ୍"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ଆପଣଙ୍କ ଫୋନ ଏବଂ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ମଧ୍ୟରେ, କଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ନାମ ପରି ସୂଚନା ସିଙ୍କ କରିବାକୁ ଏହି ଆପ ସକ୍ଷମ ହେବ।"</string> <string name="summary_generic" msgid="4988130802522924650">"ଆପଣଙ୍କ ଫୋନ ଏବଂ ବଛାଯାଇଥିବା ଡିଭାଇସ ମଧ୍ୟରେ, କଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ନାମ ପରି ସୂଚନା ସିଙ୍କ କରିବାକୁ ଏହି ଆପ ସକ୍ଷମ ହେବ।"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ଫଟୋ ଏବଂ ମିଡିଆ"</string> <string name="permission_notification" msgid="693762568127741203">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ଆପ୍ସ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ଷ୍ଟ୍ରିମିଂ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ଫୋନ କଲଗୁଡ଼ିକ କରିପାରିବ ଏବଂ ସେଗୁଡ଼ିକୁ ପରିଚାଳନା କରିପାରିବ"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ଫୋନ କଲ ଲଗକୁ ପଢ଼ିପାରିବ ଏବଂ ଲେଖିପାରିବ"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS ମେସେଜଗୁଡ଼ିକ ପଠାଇପାରିବ ଏବଂ ଦେଖିପାରିବ"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ଆପଣଙ୍କ କଣ୍ଟାକ୍ଟଗୁଡ଼ିକୁ ଆକ୍ସେସ କରିପାରିବ"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"ଆପଣଙ୍କ କେଲେଣ୍ଡରକୁ ଆକ୍ସେସ କରିପାରିବ"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ଅଡିଓ ରେକର୍ଡ କରିପାରିବ"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକୁ ଖୋଜିପାରିବ, କନେକ୍ଟ କରିପାରିବ ଏବଂ ସେଗୁଡ଼ିକର ଆପେକ୍ଷିକ ଅବସ୍ଥିତିକୁ ନିର୍ଦ୍ଧାରଣ କରିପାରିବ"</string> <string name="permission_notification_summary" msgid="884075314530071011">"ଯୋଗାଯୋଗ, ମେସେଜ ଏବଂ ଫଟୋଗୁଡ଼ିକ ପରି ସୂଚନା ସମେତ ସମସ୍ତ ବିଜ୍ଞପ୍ତିକୁ ପଢ଼ିପାରିବ"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"ଆପଣଙ୍କ ଫୋନର ଆପ୍ସକୁ ଷ୍ଟ୍ରିମ କରନ୍ତୁ"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ଆପଣଙ୍କ ଫୋନରୁ ଆପ୍ସ ଏବଂ ଅନ୍ୟ ସିଷ୍ଟମ ଫିଚରଗୁଡ଼ିକୁ ଷ୍ଟ୍ରିମ କରନ୍ତୁ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-pa/strings.xml b/packages/CompanionDeviceManager/res/values-pa/strings.xml index 869f54c099c5..7dd03c28d83a 100644 --- a/packages/CompanionDeviceManager/res/values-pa/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pa/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ਵੱਲੋਂ ਪ੍ਰਬੰਧਿਤ ਕੀਤੇ ਜਾਣ ਲਈ <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ਚੁਣੋ"</string> <string name="summary_watch" msgid="6566922405914995759">"ਇਹ ਐਪ ਤੁਹਾਡੇ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਹੈ। <xliff:g id="APP_NAME">%2$s</xliff:g> ਨੂੰ ਕਾਲਰ ਦੇ ਨਾਮ ਵਰਗੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਿੰਕ ਕਰਨ, ਤੁਹਾਡੀਆਂ ਸੂਚਨਾਵਾਂ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਫ਼ੋਨ, SMS, ਸੰਪਰਕਾਂ, ਕੈਲੰਡਰ, ਕਾਲ ਲੌਗਾਂ ਅਤੇ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਸੰਬੰਧੀ ਇਜਾਜ਼ਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ।"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ਇਹ ਐਪ ਤੁਹਾਡੇ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਹੈ। <xliff:g id="APP_NAME">%2$s</xliff:g> ਨੂੰ ਕਾਲਰ ਦੇ ਨਾਮ ਵਰਗੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਿੰਕ ਕਰਨ ਅਤੇ ਇਨ੍ਹਾਂ ਇਜਾਜ਼ਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"ਕੀ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ਨੂੰ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ਐਨਕਾਂ"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"ਇਹ ਐਪ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਹੈ। <xliff:g id="APP_NAME">%2$s</xliff:g> ਨੂੰ ਤੁਹਾਡੀਆਂ ਸੂਚਨਾਵਾਂ ਨਾਲ ਅੰਤਰਕਿਰਿਆ ਕਰਨ ਅਤੇ ਤੁਹਾਡੇ ਫ਼ੋਨ, SMS, ਸੰਪਰਕਾਂ, ਮਾਈਕ੍ਰੋਫ਼ੋਨ ਅਤੇ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਸੰਬੰਧੀ ਇਜਾਜ਼ਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ।"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"ਇਸ ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਇਨ੍ਹਾਂ ਇਜਾਜ਼ਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਹੋਵੇਗੀ:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਤੋਂ ਇਸ ਜਾਣਕਾਰੀ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"ਕ੍ਰਾਸ-ਡੀਵਾਈਸ ਸੇਵਾਵਾਂ"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਤੁਹਾਡੇ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ਦੀ ਤਰਫ਼ੋਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸਾਂ ਵਿਚਕਾਰ ਐਪਾਂ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗ ਰਹੀ ਹੈ"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play ਸੇਵਾਵਾਂ"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਤੁਹਾਡੇ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> ਦੀ ਤਰਫ਼ੋਂ ਤੁਹਾਡੇ ਫ਼ੋਨ ਦੀਆਂ ਫ਼ੋਟੋਆਂ, ਮੀਡੀਆ ਅਤੇ ਸੂਚਨਾਵਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗ ਰਹੀ ਹੈ"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"ਕੀ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ਨੂੰ ਇਹ ਕਾਰਵਾਈ ਕਰਨ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ਤੁਹਾਡੇ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> ਦੀ ਤਰਫ਼ੋਂ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ \'ਤੇ ਐਪਾਂ ਅਤੇ ਹੋਰ ਸਿਸਟਮ ਸੰਬੰਧੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਮੰਗ ਰਹੀ ਹੈ"</string> <string name="profile_name_generic" msgid="6851028682723034988">"ਡੀਵਾਈਸ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਫ਼ੋਨ ਅਤੇ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਵਿਚਕਾਰ ਕਾਲਰ ਦੇ ਨਾਮ ਵਰਗੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਿੰਕ ਕਰ ਸਕੇਗੀ।"</string> <string name="summary_generic" msgid="4988130802522924650">"ਇਹ ਐਪ ਤੁਹਾਡੇ ਫ਼ੋਨ ਅਤੇ ਚੁਣੇ ਗਏ ਡੀਵਾਈਸ ਵਿਚਕਾਰ ਕਾਲਰ ਦੇ ਨਾਮ ਵਰਗੀ ਜਾਣਕਾਰੀ ਨੂੰ ਸਿੰਕ ਕਰ ਸਕੇਗੀ।"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ਫ਼ੋਟੋਆਂ ਅਤੇ ਮੀਡੀਆ"</string> <string name="permission_notification" msgid="693762568127741203">"ਸੂਚਨਾਵਾਂ"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ਐਪਾਂ"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ਸਟ੍ਰੀਮਿੰਗ"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਨ੍ਹਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ਫ਼ੋਨ ਦੇ ਕਾਲ ਲੌਗ ਨੂੰ ਪੜ੍ਹਣ ਅਤੇ ਲਿਖਣ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਦੇਖਣ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"ਆਪਣੇ ਕੈਲੰਡਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ਆਡੀਓ ਰਿਕਾਰਡ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਨੂੰ ਲੱਭਣ, ਉਨ੍ਹਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਅਤੇ ਸੰਬੰਧਿਤ ਸਥਿਤੀ ਨਿਰਧਾਰਿਤ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਹੈ"</string> <string name="permission_notification_summary" msgid="884075314530071011">"ਤੁਸੀਂ ਸਾਰੀਆਂ ਸੂਚਨਾਵਾਂ ਪੜ੍ਹ ਸਕਦੇ ਹੋ, ਜਿਨ੍ਹਾਂ ਵਿੱਚ ਸੰਪਰਕਾਂ, ਸੁਨੇਹਿਆਂ ਅਤੇ ਫ਼ੋਟੋਆਂ ਵਰਗੀ ਜਾਣਕਾਰੀ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"ਆਪਣੇ ਫ਼ੋਨ ਦੀਆਂ ਐਪਾਂ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰੋ"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ਆਪਣੇ ਫ਼ੋਨ ਤੋਂ ਐਪਾਂ ਅਤੇ ਹੋਰ ਸਿਸਟਮ ਸੰਬੰਧੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਸਟ੍ਰੀਮ ਕਰੋ"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-pl/strings.xml b/packages/CompanionDeviceManager/res/values-pl/strings.xml index 38e4bc0ae6f0..776f4b89f7ca 100644 --- a/packages/CompanionDeviceManager/res/values-pl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pl/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Wybierz profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, którym ma zarządzać aplikacja <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Ta aplikacja jest niezbędna do zarządzania urządzeniem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacja <xliff:g id="APP_NAME">%2$s</xliff:g> będzie mogła synchronizować informacje takie jak nazwa osoby dzwoniącej, korzystać z powiadomień oraz uprawnień dotyczących Telefonu, SMS-ów, Kontaktów, Kalendarza, rejestrów połączeń i Urządzeń w pobliżu."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Ta aplikacja jest niezbędna do zarządzania urządzeniem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacja <xliff:g id="APP_NAME">%2$s</xliff:g> będzie mogła synchronizować informacje takie jak nazwa osoby dzwoniącej i korzystać z tych uprawnień:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Zezwolić na dostęp aplikacji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> do urządzenia <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"Okulary"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ta aplikacja jest niezbędna do zarządzania urządzeniem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Aplikacja <xliff:g id="APP_NAME">%2$s</xliff:g> będzie mogła wchodzić w interakcję z powiadomieniami i korzystać z uprawnień dotyczących telefonu, SMS-ów, kontaktów, mikrofonu oraz urządzeń w pobliżu."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Aplikacja będzie miała dostęp do tych uprawnień na Twoim telefonie:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Zezwól urządzeniu <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> na dostęp do tych informacji na Twoim telefonie"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Usługi na innym urządzeniu"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> prosi w imieniu urządzenia <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> o uprawnienia dotyczące strumieniowego odtwarzania treści z aplikacji na innym urządzeniu"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Usługi Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> prosi w imieniu urządzenia <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> o uprawnienia dotyczące dostępu do zdjęć, multimediów i powiadomień na telefonie"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Zezwolić urządzeniu <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> na wykonanie tego działania?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikacja <xliff:g id="APP_NAME">%1$s</xliff:g> prosi w imieniu urządzenia <xliff:g id="DEVICE_NAME">%2$s</xliff:g> o uprawnienia do strumieniowego odtwarzania treści i innych funkcji systemowych na urządzeniach w pobliżu"</string> <string name="profile_name_generic" msgid="6851028682723034988">"urządzenie"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ta aplikacja może synchronizować informacje takie jak nazwa osoby dzwoniącej między Twoim telefonem i urządzeniem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Ta aplikacja może synchronizować informacje takie jak nazwa osoby dzwoniącej między Twoim telefonem i wybranym urządzeniem."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Zdjęcia i multimedia"</string> <string name="permission_notification" msgid="693762568127741203">"Powiadomienia"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikacje"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Strumieniowanie"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Może wykonywać i odbierać połączenia"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Może odczytywać i zapisywać rejestr połączeń telefonicznych"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Może wysyłać i odbierać SMS-y"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Może uzyskać dostęp do kontaktów"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Może uzyskać dostęp do kalendarza"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Może nagrywać dźwięk"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Może znajdować urządzenia w pobliżu, określać ich względne położenie oraz łączyć się z nimi"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Może odczytywać wszystkie powiadomienia, w tym informacje takie jak kontakty, wiadomości i zdjęcia"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Odtwarzaj strumieniowo aplikacje z telefonu"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Aplikacje do odtwarzania strumieniowego i inne funkcje systemowe na Twoim telefonie"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml index 6c620df5f2d4..7b9cc8ca7512 100644 --- a/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pt-rBR/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Escolha um <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para ser gerenciado pelo app <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"O app <xliff:g id="APP_NAME">%2$s</xliff:g> é necessário para gerenciar o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Ele poderá sincronizar informações, como o nome de quem está ligando, interagir com suas notificações e acessar as permissões de telefone, SMS, contatos, agenda, registro de chamadas e dispositivos por perto."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"O app <xliff:g id="APP_NAME">%2$s</xliff:g> é necessário para gerenciar seu dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Ele poderá sincronizar informações, como o nome de quem está ligando, e acessar estas permissões:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> gerencie o dispositivo <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"óculos"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"O app <xliff:g id="APP_NAME">%2$s</xliff:g> é necessário para gerenciar o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Ele poderá interagir com suas notificações e acessar suas permissões de telefone, SMS, contatos, microfone e dispositivos por perto."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Esse app poderá acessar estas permissões no smartphone:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acesse estas informações do smartphone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Serviços entre dispositivos"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> está pedindo permissão em nome do seu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para fazer streaming de apps entre seus dispositivos"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> está pedindo permissão em nome do seu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para acessar fotos, mídia e notificações do smartphone."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Permitir que o dispositivo <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> realize essa ação?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> está pedindo permissão em nome do seu dispositivo <xliff:g id="DEVICE_NAME">%2$s</xliff:g> para fazer streaming de apps e de outros recursos do sistema para dispositivos por perto"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositivo"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"O app poderá sincronizar informações, como o nome de quem está ligando, entre seu smartphone e o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"O app poderá sincronizar informações, como o nome de quem está ligando, entre seu smartphone e o dispositivo escolhido."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos e mídia"</string> <string name="permission_notification" msgid="693762568127741203">"Notificações"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Pode fazer e gerenciar ligações"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Pode ler e gravar o registro de chamadas"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Pode enviar e acessar mensagens SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Pode acessar seus contatos"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Pode acessar sua agenda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Pode gravar áudio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Pode encontrar, determinar o posicionamento relativo e se conectar a dispositivos por perto"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Pode ler todas as notificações, incluindo informações como contatos, mensagens e fotos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Fazer transmissão dos apps no seu smartphone"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Faça streaming de apps e outros recursos do sistema pelo smartphone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-pt/strings.xml b/packages/CompanionDeviceManager/res/values-pt/strings.xml index 6c620df5f2d4..7b9cc8ca7512 100644 --- a/packages/CompanionDeviceManager/res/values-pt/strings.xml +++ b/packages/CompanionDeviceManager/res/values-pt/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Escolha um <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para ser gerenciado pelo app <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"O app <xliff:g id="APP_NAME">%2$s</xliff:g> é necessário para gerenciar o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Ele poderá sincronizar informações, como o nome de quem está ligando, interagir com suas notificações e acessar as permissões de telefone, SMS, contatos, agenda, registro de chamadas e dispositivos por perto."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"O app <xliff:g id="APP_NAME">%2$s</xliff:g> é necessário para gerenciar seu dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Ele poderá sincronizar informações, como o nome de quem está ligando, e acessar estas permissões:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> gerencie o dispositivo <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"óculos"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"O app <xliff:g id="APP_NAME">%2$s</xliff:g> é necessário para gerenciar o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Ele poderá interagir com suas notificações e acessar suas permissões de telefone, SMS, contatos, microfone e dispositivos por perto."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Esse app poderá acessar estas permissões no smartphone:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permitir que o app <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> acesse estas informações do smartphone"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Serviços entre dispositivos"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> está pedindo permissão em nome do seu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para fazer streaming de apps entre seus dispositivos"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play Services"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"O app <xliff:g id="APP_NAME">%1$s</xliff:g> está pedindo permissão em nome do seu <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para acessar fotos, mídia e notificações do smartphone."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Permitir que o dispositivo <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> realize essa ação?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> está pedindo permissão em nome do seu dispositivo <xliff:g id="DEVICE_NAME">%2$s</xliff:g> para fazer streaming de apps e de outros recursos do sistema para dispositivos por perto"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispositivo"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"O app poderá sincronizar informações, como o nome de quem está ligando, entre seu smartphone e o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"O app poderá sincronizar informações, como o nome de quem está ligando, entre seu smartphone e o dispositivo escolhido."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotos e mídia"</string> <string name="permission_notification" msgid="693762568127741203">"Notificações"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Apps"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Pode fazer e gerenciar ligações"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Pode ler e gravar o registro de chamadas"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Pode enviar e acessar mensagens SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Pode acessar seus contatos"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Pode acessar sua agenda"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Pode gravar áudio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Pode encontrar, determinar o posicionamento relativo e se conectar a dispositivos por perto"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Pode ler todas as notificações, incluindo informações como contatos, mensagens e fotos"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Fazer transmissão dos apps no seu smartphone"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Faça streaming de apps e outros recursos do sistema pelo smartphone"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ro/strings.xml b/packages/CompanionDeviceManager/res/values-ro/strings.xml index 240e7da88584..63e9d7caa727 100644 --- a/packages/CompanionDeviceManager/res/values-ro/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ro/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Alege un profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g> pe care să îl gestioneze <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplicația este necesară pentru a gestiona <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> va putea să sincronizeze informații, cum ar fi numele unui apelant, să interacționeze cu notificările tale și să îți acceseze permisiunile pentru Telefon, SMS, Agendă, Calendar, Jurnale de apeluri și Dispozitive din apropiere."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplicația este necesară pentru a gestiona <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> va putea să sincronizeze informații, cum ar fi numele unui apelant, și să acceseze următoarele permisiuni:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Permiți ca <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> să gestioneze <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"ochelari"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Această aplicație este necesară pentru a gestiona <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> va putea să interacționeze cu notificările tale și să-ți acceseze permisiunile pentru Telefon, SMS, Agendă, Microfon și Dispozitive din apropiere."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Aplicația va putea să acceseze următoarele permisiuni pe telefon:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Permite ca <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> să acceseze aceste informații de pe telefon"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Servicii pe mai multe dispozitive"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> solicită permisiunea pentru <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> de a reda în stream aplicații între dispozitivele tale"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Servicii Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> solicită permisiunea pentru <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> de a accesa fotografiile, conținutul media și notificările de pe telefon"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Permiți ca <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> să realizeze această acțiune?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> solicită permisiunea pentru <xliff:g id="DEVICE_NAME">%2$s</xliff:g> de a reda în stream conținut din aplicații și alte funcții de sistem pe dispozitivele din apropiere"</string> <string name="profile_name_generic" msgid="6851028682723034988">"dispozitiv"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Aplicația va putea să sincronizeze informații, cum ar fi numele unui apelant, între telefonul tău și <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Aplicația va putea să sincronizeze informații, cum ar fi numele unui apelant, între telefonul tău și dispozitivul ales."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotografii și media"</string> <string name="permission_notification" msgid="693762568127741203">"Notificări"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplicații"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Poate să facă și să gestioneze apeluri telefonice"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Poate să citească și să scrie în jurnalul de apeluri telefonice"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Poate să trimită și să vadă mesaje SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Poate accesa agenda"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Poate accesa calendarul"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Poate să înregistreze conținut audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Poate să găsească, să se conecteze la și să determine poziția relativă a dispozitivelor apropiate"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Poate să citească toate notificările, inclusiv informații cum ar fi agenda, mesajele și fotografiile"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Să redea în stream aplicațiile telefonului"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Redă în stream conținut din aplicații și alte funcții de sistem de pe telefon"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ru/strings.xml b/packages/CompanionDeviceManager/res/values-ru/strings.xml index f888ff9bfffe..b1699c33697f 100644 --- a/packages/CompanionDeviceManager/res/values-ru/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ru/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Выберите устройство (<xliff:g id="PROFILE_NAME">%1$s</xliff:g>), которым будет управлять приложение <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Это приложение необходимо для управления устройством \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Приложение \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" сможет синхронизировать данные, например журнала звонков, а также получит доступ к уведомлениям и разрешения \"Телефон\", \"SMS\", \"Контакты\", \"Микрофон\" и \"Устройства поблизости\"."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Это приложение необходимо для управления устройством \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Приложение \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" сможет синхронизировать данные, например журнала звонков, и получит следующие разрешения:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Разрешить приложению <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> управлять устройством <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"Очки"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Это приложение необходимо для управления устройством \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Приложение \"<xliff:g id="APP_NAME">%2$s</xliff:g>\" сможет взаимодействовать с уведомлениями, а также получит разрешения \"Телефон\", SMS, \"Контакты\", \"Микрофон\" и \"Устройства поблизости\"."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Это приложение получит следующие разрешения на телефоне:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Разрешите приложению <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> получать эту информацию с вашего телефона"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Сервисы стриминга приложений"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" запрашивает разрешение от имени вашего устройства <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>, чтобы транслировать приложения между вашими устройствами."</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Сервисы Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" запрашивает разрешение от имени вашего устройства <xliff:g id="DEVICE_TYPE">%2$s</xliff:g>, чтобы получить доступ к фотографиям, медиаконтенту и уведомлениям на телефоне."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Разрешить приложению <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> выполнять это действие?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Приложение \"<xliff:g id="APP_NAME">%1$s</xliff:g>\" от имени вашего устройства \"<xliff:g id="DEVICE_NAME">%2$s</xliff:g>\" запрашивает разрешение транслировать приложения и системные функции на устройства поблизости."</string> <string name="profile_name_generic" msgid="6851028682723034988">"устройство"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Приложение сможет синхронизировать информацию между телефоном и устройством \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\", например данные из журнала звонков."</string> <string name="summary_generic" msgid="4988130802522924650">"Приложение сможет синхронизировать информацию между телефоном и выбранным устройством, например данные из журнала звонков."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Фотографии и медиафайлы"</string> <string name="permission_notification" msgid="693762568127741203">"Уведомления"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Приложения"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Потоковая передача"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Приложение сможет совершать вызовы и управлять ими."</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Приложение сможет читать список вызовов и создавать записи в этом списке."</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Приложение сможет отправлять и просматривать SMS."</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Приложение сможет получать доступ к вашему списку контактов."</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Приложение сможет получать доступ к вашему календарю."</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Может записывать аудио"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Приложение сможет находить устройства поблизости, подключаться к ним и определять их относительное местоположение."</string> <string name="permission_notification_summary" msgid="884075314530071011">"Чтение всех уведомлений, в том числе сведений о контактах, сообщениях и фотографиях."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Трансляция приложений с телефона."</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Трансляция приложений и системных функций с телефона"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-si/strings.xml b/packages/CompanionDeviceManager/res/values-si/strings.xml index 8da88cf8993b..af68659490d5 100644 --- a/packages/CompanionDeviceManager/res/values-si/strings.xml +++ b/packages/CompanionDeviceManager/res/values-si/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> මගින් කළමනාකරණය කරනු ලැබීමට <xliff:g id="PROFILE_NAME">%1$s</xliff:g>ක් තෝරන්න"</string> <string name="summary_watch" msgid="6566922405914995759">"ඔබේ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> කළමනාකරණය කිරීමට මෙම යෙදුම අවශ්යයි. <xliff:g id="APP_NAME">%2$s</xliff:g> හට අමතන කෙනෙකුගේ නම වැනි, තතු සමමුහුර්ත කිරීමට, ඔබේ දැනුම්දීම් සමග අන්තර්ක්රියා කිරීමට සහ ඔබේ දුරකථනය, SMS, සම්බන්ධතා, දින දර්ශනය, ඇමතුම් ලොග සහ අවට උපාංග අවසර වෙත ප්රවේශ වීමට ඉඩ දෙනු ඇත."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ඔබේ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> කළමනාකරණය කිරීමට මෙම යෙදුම අවශ්යයි. <xliff:g id="APP_NAME">%2$s</xliff:g> හට අමතන කෙනෙකුගේ නම වැනි, තතු සමමුහුර්ත කිරීමට සහ මෙම අවසරවලට ප්රවේශ වීමට ඉඩ දෙනු ඇත:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> හට <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> කළමනා කිරීමට ඉඩ දෙන්න ද?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"කණ්ණාඩි"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> කළමනා කිරීමට මෙම යෙදුම අවශ්යයි. <xliff:g id="APP_NAME">%2$s</xliff:g> හට ඔබේ දැනුම්දීම් සමග අන්තර්ක්රියා කිරීමට සහ ඔබේ දුරකථනය, කෙටි පණිවුඩය, සම්බන්ධතා, මයික්රොෆෝනය සහ අවට උපාංග අවසර වෙත ප්රවේශ වීමට ඉඩ දෙයි."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"මෙම යෙදුමට ඔබේ දුරකථනයේ මෙම අවසර වෙත ප්රවේශ වීමට ඉඩ ලැබේ:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> හට ඔබගේ දුරකථනයෙන් මෙම තොරතුරුවලට ප්රවේශ වීමට ඉඩ දෙන්න"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"හරස්-උපාංග සේවා"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> ඔබගේ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> වෙනුවෙන් ඔබගේ උපාංග අතර යෙදුම් ප්රවාහ කිරීමට අවසරය ඉල්ලමින් සිටියි"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play සේවා"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> ඔබගේ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> වෙනුවෙන් ඔබගේ දුරකථනයෙහි ඡායාරූප, මාධ්ය සහ දැනුම්දීම් වෙත ප්රවේශ වීමට අවසරය ඉල්ලමින් සිටියි"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"මෙම ක්රියාව කිරීමට <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> හට ඉඩ දෙන්න ද?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ඔබේ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> වෙනුවෙන් යෙදුම් සහ අනෙකුත් පද්ධති විශේෂාංග අවට උපාංග වෙත ප්රවාහ කිරීමට අවසර ඉල්ලයි"</string> <string name="profile_name_generic" msgid="6851028682723034988">"උපාංගය"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"මෙම යෙදුමට ඔබේ දුරකථනය සහ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> අතර, අමතන කෙනෙකුගේ නම වැනි, තතු සමමුහුර්ත කිරීමට හැකි වනු ඇත."</string> <string name="summary_generic" msgid="4988130802522924650">"මෙම යෙදුමට ඔබේ දුරකථනය සහ තෝරා ගත් උපාංගය අතර, අමතන කෙනෙකුගේ නම වැනි, තතු සමමුහුර්ත කිරීමට හැකි වනු ඇත."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ඡායාරූප සහ මාධ්ය"</string> <string name="permission_notification" msgid="693762568127741203">"දැනුම්දීම්"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"යෙදුම්"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ප්රවාහ කිරීම"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"දුරකථන ඇමතුම් ගැනීමට සහ කළමනාකරණය කිරීමට හැක"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"දුරකථන ඇමතුම් ලොගය කියවීමට සහ ලිවීමට හැක"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS පණිවිඩ යැවීමට සහ බැලීමට හැක"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"ඔබේ සම්බන්ධතා වෙත ප්රවේශ විය හැක"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"ඔබේ දින දර්ශනයට ප්රවේශ විය හැක"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ශ්රව්ය පටිගත කළ හැක"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"අවට උපාංගවල සාපේක්ෂ පිහිටීම සොයා ගැනීමට, සම්බන්ධ කිරීමට, සහ තීරණය කිරීමට හැක"</string> <string name="permission_notification_summary" msgid="884075314530071011">"සම්බන්ධතා, පණිවිඩ සහ ඡායාරූප වැනි තොරතුරු ඇතුළුව සියලු දැනුම්දීම් කියවිය හැකිය"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"ඔබේ දුරකථනයේ යෙදුම් ප්රවාහ කරන්න"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"ඔබේ දුරකථනයෙන් යෙදුම් සහ අනෙකුත් පද්ධති විශේෂාංග ප්රවාහ කරන්න"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sk/strings.xml b/packages/CompanionDeviceManager/res/values-sk/strings.xml index d73f0c6a3dcb..d10da1512032 100644 --- a/packages/CompanionDeviceManager/res/values-sk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sk/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Vyberte profil <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, ktorý bude spravovať aplikácia <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Daná aplikácia sa vyžaduje na správu zariadenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude môcť synchronizovať informácie, napríklad meno volajúceho, interagovať s vašimi upozorneniami a získavať prístup k povoleniam telefónu, SMS, kontaktov, kalendára, zoznamu hovorov a zariadení v okolí."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Daná aplikácia sa vyžaduje na správu zariadenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude môcť synchronizovať informácie, napríklad meno volajúceho, a získavať prístup k týmto povoleniam:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Chcete povoliť aplikácii <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> spravovať zariadenie <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"okuliare"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Táto aplikácia sa vyžaduje na správu zariadenia <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> bude môcť interagovať s vašimi upozorneniami a získa prístup k povoleniam pre telefón, SMS, kontakty, mikrofón a zariadenia v okolí."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Táto aplikácia bude mať vo vašom telefóne prístup k týmto povoleniam:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Povoľte aplikácii <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> prístup k týmto informáciám z vášho telefónu"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Služby pre viacero zariadení"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> vyžaduje povolenie na streamovanie aplikácií medzi vašimi zariadeniami v mene tohto zariadenia (<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>)"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Služby Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikácia <xliff:g id="APP_NAME">%1$s</xliff:g> vyžaduje povolenie na prístup k fotkám, médiám a upozorneniam vášho telefónu v mene tohto zariadenia (<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>)"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Chcete povoliť zariadeniu <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> vykonať túto akciu?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> vyžaduje pre zariadenie <xliff:g id="DEVICE_NAME">%2$s</xliff:g> povolenie streamovať aplikácie a ďalšie systémové funkcie do zariadení v okolí"</string> <string name="profile_name_generic" msgid="6851028682723034988">"zariadenie"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Táto aplikácia bude môcť synchronizovať informácie, napríklad meno volajúceho, medzi telefónom a zariadením <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Táto aplikácia bude môcť synchronizovať informácie, napríklad meno volajúceho, medzi telefónom a vybraným zariadením."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotky a médiá"</string> <string name="permission_notification" msgid="693762568127741203">"Upozornenia"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikácie"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Môže uskutočňovať a spravovať telefonické hovory"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Môže čítať zo zoznamu hovorov telefónu a zapisovať doň"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Môže odosielať a zobrazovať správy SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Má prístup k vašim kontaktom"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Má prístup k vášmu kalendáru"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Môže nahrávať zvuk"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Môže vyhľadávať zariadenia v okolí, určovať ich relatívnu pozíciu a pripájať sa k nim"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Môže čítať všetky upozornenia vrátane informácií, ako sú kontakty, správy a fotky"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Streamovať aplikácie telefónu"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Steaming aplikácii a ďalších systémov funkcií zo zariadenia"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sl/strings.xml b/packages/CompanionDeviceManager/res/values-sl/strings.xml index 118e85a2bd6a..ee330ddc7537 100644 --- a/packages/CompanionDeviceManager/res/values-sl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sl/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Izbira naprave »<xliff:g id="PROFILE_NAME">%1$s</xliff:g>«, ki jo bo upravljala aplikacija <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Ta aplikacija je potrebna za upravljanje naprave »<xliff:g id="DEVICE_NAME">%1$s</xliff:g>«. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> bodo omogočene sinhronizacija podatkov, na primer imena klicatelja, interakcija z obvestili in uporaba dovoljenj Telefon, SMS, Stiki, Koledar, Dnevniki klicev in Naprave v bližini."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Ta aplikacija je potrebna za upravljanje naprave »<xliff:g id="DEVICE_NAME">%1$s</xliff:g>«. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> bosta omogočena sinhronizacija podatkov, na primer imena klicatelja, in dostop do teh dovoljenj:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Želite aplikaciji <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> dovoliti upravljanje naprave <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"očala"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ta aplikacija je potrebna za upravljanje naprave »<xliff:g id="DEVICE_NAME">%1$s</xliff:g>«. Aplikaciji <xliff:g id="APP_NAME">%2$s</xliff:g> bosta omogočeni interakcija z obvestili in uporaba dovoljenj Telefon, SMS, Stiki, Mikrofon in Naprave v bližini."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Ta aplikacija bo lahko dostopala do teh dovoljenj v telefonu:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Dovolite, da <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> dostopa do teh podatkov v vašem telefonu"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Storitve za zunanje naprave"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> v imenu naprave »<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>« zahteva dovoljenje za pretočno predvajanje aplikacij v vaših napravah."</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Storitve Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> v imenu naprave »<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>« zahteva dovoljenje za dostop do fotografij, predstavnosti in obvestil v telefonu."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Ali napravi <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> dovolite izvedbo tega dejanja?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Aplikacija <xliff:g id="APP_NAME">%1$s</xliff:g> v imenu naprave »<xliff:g id="DEVICE_NAME">%2$s</xliff:g>« zahteva dovoljenje za pretočno predvajanje aplikacij in drugih sistemskih funkcij v napravah v bližini."</string> <string name="profile_name_generic" msgid="6851028682723034988">"naprava"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ta aplikacija bo lahko sinhronizirala podatke, na primer ime klicatelja, v telefonu in napravi »<xliff:g id="DEVICE_NAME">%1$s</xliff:g>«."</string> <string name="summary_generic" msgid="4988130802522924650">"Ta aplikacija bo lahko sinhronizirala podatke, na primer ime klicatelja, v telefonu in izbrani napravi."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotografije in predstavnost"</string> <string name="permission_notification" msgid="693762568127741203">"Obvestila"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikacije"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Pretočno predvajanje"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Lahko opravlja in upravlja telefonske klice"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Lahko bere in zapisuje dnevnik klicev v telefonu"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Lahko pošilja in si ogleduje sporočila SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Lahko dostopa do stikov"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Lahko dostopa do koledarja"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Lahko snema zvok"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Lahko išče naprave v bližini, se povezuje z njimi in določa njihov relativni položaj"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Lahko bere vsa obvestila, vključno s podatki, kot so stiki, sporočila in fotografije."</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Pretočno predvajanje aplikacij telefona"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Pretočno predvajanje aplikacij in drugih sistemskih funkcij iz telefona"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sq/strings.xml b/packages/CompanionDeviceManager/res/values-sq/strings.xml index 472fcf323bc2..afff09df1c10 100644 --- a/packages/CompanionDeviceManager/res/values-sq/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sq/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Zgjidh \"<xliff:g id="PROFILE_NAME">%1$s</xliff:g>\" që do të menaxhohet nga <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Aplikacioni nevojitet për të menaxhuar profilin tënd të <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> do të lejohet të sinkronizojë informacione, si p.sh. emri i dikujt që po telefonon, të ndërveprojë me njoftimet e tua dhe të ketë qasje te lejet e \"Telefonit\", \"SMS-ve\", \"Kontakteve\", \"Kalendarit\", \"Evidencave të telefonatave\" dhe \"Pajisjeve në afërsi\"."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Aplikacioni nevojitet për të menaxhuar profilin tënd të <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> do të lejohet të sinkronizojë informacione, si p.sh. emri i dikujt që po telefonon dhe të ketë qasje te këto leje:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Të lejohet që <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> të menaxhojë <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"syzet"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ky aplikacion nevojitet për të menaxhuar <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> do të lejohet të ndërveprojë me njoftimet e tua dhe të ketë qasje te lejet e \"Telefonit\", \"SMS-ve\", \"Kontakteve\", \"Mikrofonit\" dhe të \"Pajisjeve në afërsi\"."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Ky aplikacion do të lejohet të ketë qasje te këto leje në telefonin tënd:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Lejo që <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> të ketë qasje në këtë informacion nga telefoni yt"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Shërbimet mes pajisjeve"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> po kërkon leje në emër të <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> për të transmetuar aplikacione ndërmjet pajisjeve të tua"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Shërbimet e Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> po kërkon leje në emër të <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> për të marrë qasje te fotografitë, media dhe njoftimet e telefonit tënd"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Të lejohet që <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> të ndërmarrë këtë veprim?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> po kërkon leje në emër të (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) tënde për të transmetuar aplikacione dhe veçori të tjera të sistemit te pajisjet në afërsi"</string> <string name="profile_name_generic" msgid="6851028682723034988">"pajisja"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ky aplikacion do të mund të sinkronizojë informacione, si p.sh emri i dikujt që po telefonon, mes telefonit tënd dhe <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Ky aplikacion do të mund të sinkronizojë informacione, si p.sh emri i dikujt që po telefonon, mes telefonit tënd dhe pajisjes së zgjedhur."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotografitë dhe media"</string> <string name="permission_notification" msgid="693762568127741203">"Njoftimet"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Aplikacionet"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Transmetimi"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Mund të bëjë dhe të menaxhojë telefonatat"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Mund të lexojë dhe të shkruajë në evidencën e telefonatave"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Mund të dërgojë dhe të shikojë mesazhet SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Mund të ketë qasje te kontaktet e tua"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Mund të ketë qasje te kalendari"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Mund të regjistrojë audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Mund të gjejë, të lidhet dhe të përcaktojë pozicionin e përafërt të pajisjeve në afërsi"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Mund të lexojë të gjitha njoftimet, duke përfshirë informacione si kontaktet, mesazhet dhe fotografitë"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Transmeto aplikacionet e telefonit tënd"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Transmeto aplikacionet dhe veçoritë e tjera të sistemit nga telefoni yt"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sr/strings.xml b/packages/CompanionDeviceManager/res/values-sr/strings.xml index 8dbcd2abb550..2c02500d5043 100644 --- a/packages/CompanionDeviceManager/res/values-sr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sr/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Одаберите <xliff:g id="PROFILE_NAME">%1$s</xliff:g> којим ће управљати апликација <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Апликација је потребна за управљање уређајем <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ће добити дозволу за синхронизовање информација, попут особе која упућује позив, за интеракцију са обавештењима и приступ дозволама за телефон, SMS, контакте, календар, евиденције позива и уређаје у близини."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Апликација је потребна за управљање уређајем <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ће добити дозволу за синхронизацију информација, попут особе која упућује позив, као за приступ следећим дозволама:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Желите ли да дозволите да <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> управља уређајем <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"наочаре"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Ова апликација је потребна за управљање уређајем <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> ће добити дозволу за интеракцију са обавештењима и приступ дозволама за телефон, SMS, контакте, микрофон и уређаје у близини."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Овој апликацији ће бити дозвољено да приступа овим дозволама на телефону:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Дозволите да <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> приступа овим информацијама са телефона"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Услуге на више уређаја"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> захтева дозволу у име уређаја <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> за стримовање апликација између уређаја"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play услуге"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Апликација <xliff:g id="APP_NAME">%1$s</xliff:g> захтева дозволу у име уређаја <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> за приступ сликама, медијском садржају и обавештењима са телефона"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Желите ли да дозволите да <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> обави ову радњу?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Апликација <xliff:g id="APP_NAME">%1$s</xliff:g> захтева дозволу у име уређаја <xliff:g id="DEVICE_NAME">%2$s</xliff:g> да стримује апликације и друге системске функције на уређаје у близини"</string> <string name="profile_name_generic" msgid="6851028682723034988">"уређај"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ова апликација ће моћи да синхронизује податке, попут имена особе која упућује позив, између телефона и уређаја <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Ова апликација ће моћи да синхронизује податке, попут имена особе која упућује позив, између телефона и одабраног уређаја."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Слике и медији"</string> <string name="permission_notification" msgid="693762568127741203">"Обавештења"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Апликације"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Стриминг"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Може да упућује телефонске позиве и управља њима"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Може да чита и пише евиденцију позива на телефону"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Може да шаље и прегледа SMS поруке"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Може да приступа контактима"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Може да приступа календару"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Може да снима звук"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Може да проналази и утврђује релативну позицију уређаја у близини, као и да се повезује са њима"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Може да чита сва обавештења, укључујући информације попут контаката, порука и слика"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Стримујте апликације на телефону"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Стримујте апликације и друге системске функције са телефона"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sv/strings.xml b/packages/CompanionDeviceManager/res/values-sv/strings.xml index 3545c0063c40..afdec60ed810 100644 --- a/packages/CompanionDeviceManager/res/values-sv/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sv/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Välj en <xliff:g id="PROFILE_NAME">%1$s</xliff:g> för hantering av <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Appen behövs för att hantera <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillåtelse att synkronisera information, till exempel namnet på någon som ringer, interagera med dina aviseringar och får åtkomst till behörigheterna Telefon, Sms, Kontakter, Kalender, Samtalsloggar och Enheter i närheten."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Appen behövs för att hantera <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillåtelse att synkronisera information, till exempel namnet på någon som ringer, och får åtkomst till följande behörigheter:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Tillåt att <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> hanterar <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"glasögon"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Appen behövs för att hantera <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> får tillåtelse att interagera med dina aviseringar och får åtkomst till behörigheterna Telefon, Sms, Kontakter, Mikrofon och Enheter i närheten."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Appen får tillåtelse att använda dessa behörigheter på din telefon:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Ge <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> åtkomstbehörighet till denna information på telefonen"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Tjänster för flera enheter"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> begär behörighet att låta <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> streama appar mellan enheter"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play-tjänster"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> begär behörighet att ge <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> åtkomst till foton, mediefiler och aviseringar på telefonen"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vill du tillåta att <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> utför denna åtgärd?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> begär behörighet att streama appar och andra systemfunktioner till enheter i närheten för din <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string> <string name="profile_name_generic" msgid="6851028682723034988">"enhet"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Den här appen kommer att kunna synkronisera information mellan telefonen och <xliff:g id="DEVICE_NAME">%1$s</xliff:g>, till exempel namnet på någon som ringer."</string> <string name="summary_generic" msgid="4988130802522924650">"Den här appen kommer att kunna synkronisera information mellan telefonen och den valda enheten, till exempel namnet på någon som ringer."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Foton och media"</string> <string name="permission_notification" msgid="693762568127741203">"Aviseringar"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Appar"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Får skapa och hantera telefonsamtal"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Får läsa och skriva samtalslogg"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Får skicka och visa sms"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Får åtkomst till dina kontakter"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Får åtkomst till din kalender"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Kan spela in ljud"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Får hitta, ansluta till och avgöra den relativa positionen för enheter i närheten"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kan läsa alla aviseringar, inklusive information som kontakter, meddelanden och foton"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Streama telefonens appar"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Streama appar och andra systemfunktioner från din telefon"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-sw/strings.xml b/packages/CompanionDeviceManager/res/values-sw/strings.xml index 3e3ee8ffefbc..3cbcc6a18ef3 100644 --- a/packages/CompanionDeviceManager/res/values-sw/strings.xml +++ b/packages/CompanionDeviceManager/res/values-sw/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Chagua <xliff:g id="PROFILE_NAME">%1$s</xliff:g> ili idhibitiwe na <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Programu hii inahitajika ili udhibiti <xliff:g id="DEVICE_NAME">%1$s</xliff:g> yako. <xliff:g id="APP_NAME">%2$s</xliff:g> itaruhusiwa kusawazisha maelezo, kama vile jina la mtu anayepiga simu, kutumia arifa zako na ruhusa zako za Simu, SMS, Anwani, Maikrofoni na vifaa vilivyo Karibu."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Programu hii inahitajika ili udhibiti <xliff:g id="DEVICE_NAME">%1$s</xliff:g> yako. <xliff:g id="APP_NAME">%2$s</xliff:g> itaruhusiwa kusawazisha maelezo, kama vile jina la mtu anayepiga simu na kufikia ruhusa hizi:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Ungependa kuruhusu <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> idhibiti <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"miwani"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Programu hii inahitajika ili udhibiti <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> itaruhusiwa kutumia arifa zako na kufikia ruhusa zako za Simu, SMS, Anwani, Maikrofoni na Vifaa vilivyo Karibu."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Programu hii itaruhusiwa kufikia ruhusa hizi kwenye simu yako:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Ruhusu <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ifikie maelezo haya kutoka kwenye simu yako"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Huduma za kifaa kilichounganishwa kwingine"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Programu ya <xliff:g id="APP_NAME">%1$s</xliff:g> inaomba ruhusa kwa niaba ya <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> yako ili itiririshe programu kati ya vifaa vyako"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Huduma za Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Programu ya <xliff:g id="APP_NAME">%1$s</xliff:g> inaomba ruhusa kwa niaba ya <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> yako ili ifikie picha, maudhui na arifa za simu yako"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Ungependa kuruhusu <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> itekeleze kitendo hiki?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> inaomba ruhusa kwa niaba ya <xliff:g id="DEVICE_NAME">%2$s</xliff:g> chako ili itiririshe programu na vipengele vingine vya mfumo kwenye vifaa vilivyo karibu"</string> <string name="profile_name_generic" msgid="6851028682723034988">"kifaa"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Programu hii itaweza kusawazisha maelezo, kama vile jina la mtu anayepiga simu, kati ya simu na <xliff:g id="DEVICE_NAME">%1$s</xliff:g> yako."</string> <string name="summary_generic" msgid="4988130802522924650">"Programu hii itaweza kusawazisha maelezo, kama vile jina la mtu anayepiga simu, kati ya simu yako na kifaa ulichochagua."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Picha na maudhui"</string> <string name="permission_notification" msgid="693762568127741203">"Arifa"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Programu"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Kutiririsha maudhui"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Inaweza kupiga na kudhibiti simu"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Inaweza kusoma na kuandika rekodi ya nambari za simu"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Inaweza kutuma na kuangalia ujumbe wa SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Inaweza kufikia anwani zako"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Inaweza kufikia kalenda yako"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Inaweza kurekodi sauti"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Inaweza kutafuta, kuunganisha na kubaini nafasi ya makadirio ya vifaa vilivyo karibu"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Inaweza kusoma arifa zote, ikiwa ni pamoja na maelezo kama vile anwani, ujumbe na picha"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Tiririsha programu za simu yako"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Kutiririsha programu na vipengele vya mfumo kwenye simu yako"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ta/strings.xml b/packages/CompanionDeviceManager/res/values-ta/strings.xml index ab05c26ac009..939ba8efa13c 100644 --- a/packages/CompanionDeviceManager/res/values-ta/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ta/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ஆப்ஸ் நிர்வகிக்கக்கூடிய <xliff:g id="PROFILE_NAME">%1$s</xliff:g> தேர்ந்தெடுக்கப்பட வேண்டும்"</string> <string name="summary_watch" msgid="6566922405914995759">"உங்கள் <xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்தை நிர்வகிக்க இந்த ஆப்ஸ் தேவை. தகவலை (அழைப்பவரின் பெயர் போன்றவை) ஒத்திசைத்தல், உங்கள் அறிவிப்புகளைப் பார்த்தல் போன்றவற்றுக்கான அனுமதியையும் உங்கள் மொபைல், மெசேஜ், தொடர்புகள், கேலெண்டர், அழைப்புப் பதிவுகள், அருகிலுள்ள சாதனங்கள் ஆகியவற்றுக்கான அணுகலையும் <xliff:g id="APP_NAME">%2$s</xliff:g> ஆப்ஸ் பெறும்."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"உங்கள் <xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்தை நிர்வகிக்க இந்த ஆப்ஸ் தேவை. தகவலை (அழைப்பவரின் பெயர் போன்றவை) ஒத்திசைப்பதற்கும் இந்த அனுமதிகளைப் பயன்படுத்துவதற்கும் <xliff:g id="APP_NAME">%2$s</xliff:g> ஆப்ஸுக்கு அனுமதி வழங்கப்படும்:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong&gt சாதனத்தை நிர்வகிக்க <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ஆப்ஸை அனுமதிக்கவா?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"கிளாஸஸ்"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்தை நிர்வகிக்க இந்த ஆப்ஸ் தேவை. உங்கள் மொபைல், மெசேஜ், தொடர்புகள், மைக்ரோஃபோன், அருகிலுள்ள சாதனங்கள் ஆகியவற்றுக்கான அணுகலையும் உங்கள் அறிவிப்புகளைப் பார்ப்பதற்கான அனுமதியையும் <xliff:g id="APP_NAME">%2$s</xliff:g> பெறும்."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"உங்கள் மொபைலில் இந்த அனுமதிகளை அணுகுவதற்கு ஆப்ஸுக்கு அனுமதி வழங்கப்படும்:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"மொபைலில் உள்ள இந்தத் தகவல்களை அணுக, <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ஆப்ஸை அனுமதிக்கவும்"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"பன்முக சாதன சேவைகள்"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"உங்கள் சாதனங்களுக்கு இடையே ஆப்ஸை ஸ்ட்ரீம் செய்ய உங்கள் <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> சார்பாக <xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸ் அனுமதியைக் கோருகிறது"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play சேவைகள்"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"உங்கள் மொபைலில் உள்ள படங்கள், மீடியா, அறிவிப்புகள் ஆகியவற்றை அணுக உங்கள் <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> சார்பாக <xliff:g id="APP_NAME">%1$s</xliff:g> ஆப்ஸ் அனுமதியைக் கோருகிறது"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"இந்தச் செயலைச் செய்ய <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong&gt சாதனத்தை அனுமதிக்கவா?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"அருகிலுள்ள சாதனங்களுக்கு ஆப்ஸையும் பிற சிஸ்டம் அம்சங்களையும் ஸ்ட்ரீம் செய்ய உங்கள் <xliff:g id="DEVICE_NAME">%2$s</xliff:g> சார்பாக <xliff:g id="APP_NAME">%1$s</xliff:g> அனுமதி கோருகிறது"</string> <string name="profile_name_generic" msgid="6851028682723034988">"சாதனம்"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"இந்த ஆப்ஸால் தகவலை (அழைப்பவரின் பெயர் போன்றவை) உங்கள் மொபைலிலும் <xliff:g id="DEVICE_NAME">%1$s</xliff:g> சாதனத்திலும் ஒத்திசைக்க முடியும்."</string> <string name="summary_generic" msgid="4988130802522924650">"இந்த ஆப்ஸால் தகவலை (அழைப்பவரின் பெயர் போன்றவை) உங்கள் மொபைலிலும் தேர்ந்தெடுக்கப்பட்ட சாதனத்திலும் ஒத்திசைக்க முடியும்."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"படங்கள் மற்றும் மீடியா"</string> <string name="permission_notification" msgid="693762568127741203">"அறிவிப்புகள்"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ஆப்ஸ்"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"ஸ்ட்ரீமிங்"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"மொபைல் அழைப்புகளைச் செய்யலாம் நிர்வகிக்கலாம்"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"மொபைல் அழைப்புப் பதிவைப் படிக்கலாம் எழுதலாம்"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"மெசேஜ்களை அனுப்பலாம் பார்க்கலாம்"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"உங்கள் தொடர்புகளை அணுகலாம்"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"உங்கள் கேலெண்டரை அணுகலாம்"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ஆடியோவை ரெக்கார்டு செய்யலாம்"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"அருகிலுள்ள சாதனங்களைக் கண்டறியலாம் அவற்றுடன் இணையலாம் அவற்றின் தூரத்தைத் தீர்மானிக்கலாம்"</string> <string name="permission_notification_summary" msgid="884075314530071011">"தொடர்புகள், மெசேஜ்கள், படங்கள் போன்ற தகவல்கள் உட்பட அனைத்து அறிவிப்புகளையும் படிக்க முடியும்"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"உங்கள் மொபைல் ஆப்ஸை ஸ்ட்ரீம் செய்யலாம்"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"உங்கள் மொபைலில் இருந்து ஆப்ஸையும் பிற சிஸ்டம் அம்சங்களையும் ஸ்ட்ரீம் செய்யலாம்"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-te/strings.xml b/packages/CompanionDeviceManager/res/values-te/strings.xml index 3b1e75efe642..5009407e0eca 100644 --- a/packages/CompanionDeviceManager/res/values-te/strings.xml +++ b/packages/CompanionDeviceManager/res/values-te/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> ద్వారా మేనేజ్ చేయబడటానికి ఒక <xliff:g id="PROFILE_NAME">%1$s</xliff:g>ను ఎంచుకోండి"</string> <string name="summary_watch" msgid="6566922405914995759">"మీ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ను మేనేజ్ చేయడానికి ఈ యాప్ అవసరం. కాల్ చేస్తున్న వారి పేరు వంటి సమాచారాన్ని సింక్ చేయడానికి, మీ నోటిఫికేషన్లతో ఇంటరాక్ట్ అవ్వడానికి, అలాగే మీ ఫోన్, SMS, కాంటాక్ట్లు, క్యాలెండర్, కాల్ లాగ్లు, సమీపంలోని పరికరాల అనుమతులను యాక్సెస్ చేయడానికి <xliff:g id="APP_NAME">%2$s</xliff:g> అనుమతించబడుతుంది."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"మీ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ను మేనేజ్ చేయడానికి ఈ యాప్ అవసరం. కాల్ చేస్తున్న వారి పేరు వంటి సమాచారాన్ని సింక్ చేయడానికి, ఈ అనుమతులను యాక్సెస్ చేయడానికి <xliff:g id="APP_NAME">%2$s</xliff:g> అనుమతించబడుతుంది:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>ను మేనేజ్ చేయడానికి <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>ను అనుమతించాలా?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"గ్లాసెస్"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ను మేనేజ్ చేయడానికి ఈ యాప్ అవసరం. మీ నోటిఫికేషన్లతో ఇంటరాక్ట్ అవ్వడానికి, అలాగే మీ ఫోన్, SMS, కాంటాక్ట్లు, మైక్రోఫోన్, సమీపంలోని పరికరాల అనుమతులను యాక్సెస్ చేయడానికి <xliff:g id="APP_NAME">%2$s</xliff:g> అనుమతించబడుతుంది."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"మీ ఫోన్లో ఈ అనుమతులను యాక్సెస్ చేయడానికి ఈ యాప్ అనుమతించబడుతుంది:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"మీ ఫోన్ నుండి ఈ సమాచారాన్ని యాక్సెస్ చేయడానికి <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> యాప్ను అనుమతించండి"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cross-device services"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"మీ పరికరాల మధ్య యాప్లను స్ట్రీమ్ చేయడానికి <xliff:g id="APP_NAME">%1$s</xliff:g> మీ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> తరఫున అనుమతిని రిక్వెస్ట్ చేస్తోంది"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play సర్వీసులు"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> మీ ఫోన్లోని ఫోటోలను, మీడియాను, ఇంకా నోటిఫికేషన్లను యాక్సెస్ చేయడానికి మీ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> తరఫున అనుమతిని రిక్వెస్ట్ చేస్తోంది"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"ఈ చర్యను అమలు చేయడానికి <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>ను అనుమతించాలా?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"సమీపంలోని పరికరాలకు యాప్లను, ఇతర సిస్టమ్ ఫీచర్లను స్ట్రీమ్ చేయడానికి <xliff:g id="APP_NAME">%1$s</xliff:g> మీ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> తరఫున అనుమతిని రిక్వెస్ట్ చేస్తోంది"</string> <string name="profile_name_generic" msgid="6851028682723034988">"పరికరం"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"కాల్ చేస్తున్న వారి పేరు వంటి సమాచారాన్ని ఈ యాప్ మీ ఫోన్, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> మధ్య సింక్ చేయగలుగుతుంది."</string> <string name="summary_generic" msgid="4988130802522924650">"కాల్ చేస్తున్న వారి పేరు వంటి సమాచారాన్ని ఈ యాప్ మీ ఫోన్, ఎంచుకున్న పరికరం మధ్య సింక్ చేయగలుగుతుంది."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"ఫోటోలు, మీడియా"</string> <string name="permission_notification" msgid="693762568127741203">"నోటిఫికేషన్లు"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"యాప్లు"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"స్ట్రీమింగ్"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"ఫోన్ కాల్స్ చేయగలదు, అలాగే మేనేజ్ చేయగలదు"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"ఫోన్ కాల్ లాగ్ను చదవగలదు, రాయగలదు"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS మెసేజ్లను పంపగలదు, అలాగే చూడగలదు"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"మీ కాంటాక్ట్లను యాక్సెస్ చేయగలదు"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"మీ క్యాలెండర్ను యాక్సెస్ చేయగలదు"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"ఆడియోను రికార్డ్ చేయగలదు"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"సమీపంలోని పరికరాలను కనుగొనగలదు, వాటికి కనెక్ట్ అవ్వగలదు, అవి ఎంత దూరంలో ఉన్నాయో తెలుసుకొనగలదు"</string> <string name="permission_notification_summary" msgid="884075314530071011">"కాంటాక్ట్లు, మెసేజ్లు, ఫోటోల వంటి సమాచారంతో సహా అన్ని నోటిఫికేషన్లను చదవగలదు"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"మీ ఫోన్లోని యాప్లను స్ట్రీమ్ చేయండి"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"మీ ఫోన్ నుండి యాప్లను, ఇతర సిస్టమ్ ఫీచర్లను స్ట్రీమ్ చేస్తుంది"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-th/strings.xml b/packages/CompanionDeviceManager/res/values-th/strings.xml index abf7ac8ccf6b..e53f70c93ebf 100644 --- a/packages/CompanionDeviceManager/res/values-th/strings.xml +++ b/packages/CompanionDeviceManager/res/values-th/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"เลือก<xliff:g id="PROFILE_NAME">%1$s</xliff:g>ที่จะให้มีการจัดการโดย <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"ต้องใช้แอปนี้ในการจัดการ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> <xliff:g id="APP_NAME">%2$s</xliff:g> จะได้รับอนุญาตให้ซิงค์ข้อมูล เช่น ชื่อของบุคคลที่โทรเข้ามา โต้ตอบกับการแจ้งเตือน รวมถึงมีสิทธิ์เข้าถึงโทรศัพท์, SMS, รายชื่อติดต่อ, ปฏิทิน, บันทึกการโทร และอุปกรณ์ที่อยู่ใกล้เคียง"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"ต้องใช้แอปนี้ในการจัดการ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> <xliff:g id="APP_NAME">%2$s</xliff:g> จะได้รับอนุญาตให้ซิงค์ข้อมูล เช่น ชื่อของบุคคลที่โทรเข้ามา และมีสิทธิ์เข้าถึงสิ่งต่างๆ ต่อไปนี้"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"อนุญาตให้ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> จัดการ <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> ไหม"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"แว่นตา"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"ต้องใช้แอปนี้ในการจัดการ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> <xliff:g id="APP_NAME">%2$s</xliff:g> จะได้รับอนุญาตให้โต้ตอบกับการแจ้งเตือนและมีสิทธิ์เข้าถึงโทรศัพท์, SMS, รายชื่อติดต่อ, ไมโครโฟน และอุปกรณ์ที่อยู่ใกล้เคียง"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"แอปนี้จะได้รับสิทธิ์ดังต่อไปนี้ในโทรศัพท์ของคุณ"</string> <string name="title_app_streaming" msgid="2270331024626446950">"อนุญาตให้ <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> เข้าถึงข้อมูลนี้จากโทรศัพท์ของคุณ"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"บริการหลายอุปกรณ์"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> กำลังขอสิทธิ์ในนามของ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> เพื่อสตรีมแอประหว่างอุปกรณ์ต่างๆ ของคุณ"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"บริการ Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> กำลังขอสิทธิ์ในนามของ <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> เพื่อเข้าถึงรูปภาพ สื่อ และการแจ้งเตือนในโทรศัพท์ของคุณ"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"อนุญาตให้ <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ทำงานนี้ไหม"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> กำลังขอสิทธิ์ในนามของ <xliff:g id="DEVICE_NAME">%2$s</xliff:g> เพื่อสตรีมแอปและฟีเจอร์อื่นๆ ของระบบไปยังอุปกรณ์ที่อยู่ใกล้เคียง"</string> <string name="profile_name_generic" msgid="6851028682723034988">"อุปกรณ์"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"แอปนี้จะสามารถซิงค์ข้อมูล เช่น ชื่อของบุคคลที่โทรเข้ามา ระหว่างโทรศัพท์ของคุณและ<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ได้"</string> <string name="summary_generic" msgid="4988130802522924650">"แอปนี้จะสามารถซิงค์ข้อมูล เช่น ชื่อของบุคคลที่โทรเข้ามา ระหว่างโทรศัพท์ของคุณและอุปกรณ์ที่เลือกไว้ได้"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"รูปภาพและสื่อ"</string> <string name="permission_notification" msgid="693762568127741203">"การแจ้งเตือน"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"แอป"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"สตรีมมิง"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"สามารถโทรออกและจัดการการโทร"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"สามารถอ่านและเขียนบันทึกการโทรของโทรศัพท์"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"สามารถส่งและดูข้อความ SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"สามารถเข้าถึงรายชื่อติดต่อของคุณ"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"สามารถเข้าถึงปฏิทินของคุณ"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"บันทึกเสียงได้"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"สามารถค้นหา เชื่อมต่อ และระบุตำแหน่งซึ่งสัมพันธ์กับอุปกรณ์ที่อยู่ใกล้เคียง"</string> <string name="permission_notification_summary" msgid="884075314530071011">"สามารถอ่านการแจ้งเตือนทั้งหมด รวมถึงข้อมูลอย่างรายชื่อติดต่อ ข้อความ และรูปภาพ"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"สตรีมแอปของโทรศัพท์คุณ"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"สตรีมแอปและฟีเจอร์อื่นๆ ของระบบจากโทรศัพท์"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-tl/strings.xml b/packages/CompanionDeviceManager/res/values-tl/strings.xml index 717ce3864edb..4195c6d8c1ab 100644 --- a/packages/CompanionDeviceManager/res/values-tl/strings.xml +++ b/packages/CompanionDeviceManager/res/values-tl/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Pumili ng <xliff:g id="PROFILE_NAME">%1$s</xliff:g> para pamahalaan ng <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Kailangan ang app para mapamahalaan ang iyong <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Papayagan ang <xliff:g id="APP_NAME">%2$s</xliff:g> na mag-sync ng impormasyon, tulad ng pangalan ng isang taong tumatawag, makipag-ugnayan sa mga notification mo, at ma-access ang iyong mga pahintulot sa Telepono, SMS, Mga Contact, Kalendaryo, Mga log ng tawag, at Mga kalapit na device."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Kailangan ang app para mapamahalaan ang iyong <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Papayagan ang <xliff:g id="APP_NAME">%2$s</xliff:g> na mag-sync ng impormasyon, tulad ng pangalan ng isang taong tumatawag, at na ma-access ang mga pahintulot na ito:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Payagan ang <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> na pamahalaan ang <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"salamin"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Kailangan ang app na ito para mapamahalaan ang <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Papayagan ang <xliff:g id="APP_NAME">%2$s</xliff:g> na makipag-ugnayan sa mga notification mo at i-access ang iyong mga pahintulot sa Telepono, SMS, Mga Contact, Mikropono, at Mga kalapit na device."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Papayagan ang app na ito na i-access ang mga pahintulot na ito sa iyong telepono:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Payagan ang <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> na i-access ang impormasyong ito sa iyong telepono"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Mga cross-device na serbisyo"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Ang <xliff:g id="APP_NAME">%1$s</xliff:g> ay humihiling ng pahintulot sa ngalan ng iyong <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para mag-stream ng mga app sa pagitan ng mga device mo"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Mga serbisyo ng Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Ang <xliff:g id="APP_NAME">%1$s</xliff:g> ay humihiling ng pahintulot sa ngalan ng iyong <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> para i-access ang mga larawan, media, at notification ng telepono mo"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Payagan ang <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> na gawin ang pagkilos na ito?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Humihiling ang <xliff:g id="APP_NAME">%1$s</xliff:g> ng pahintulot sa ngalan ng iyong <xliff:g id="DEVICE_NAME">%2$s</xliff:g> para mag-stream ng mga app at iba pang feature ng system sa mga kalapit na device"</string> <string name="profile_name_generic" msgid="6851028682723034988">"device"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Magagawa ng app na ito na mag-sync ng impormasyon, tulad ng pangalan ng isang taong tumatawag, sa pagitan ng iyong telepono at ng <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Magagawa ng app na ito na mag-sync ng impormasyon, tulad ng pangalan ng isang taong tumatawag, sa pagitan ng iyong telepono at ng napiling device."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Mga larawan at media"</string> <string name="permission_notification" msgid="693762568127741203">"Mga Notification"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Mga App"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Streaming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Puwedeng gumawa at mamahala ng mga tawag sa telepono"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Puwedeng magbasa at magsulat ng log ng tawag sa telepono"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Puwedeng magpadala at tumingin ng mga SMS message"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Puwedeng mag-access ng iyong mga contact"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Puwedeng mag-access ng iyong kalendaryo"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Kayang mag-record ng audio"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Puwedeng mahanap ang, kumonekta sa, at tukuyin ang relatibong posisyon ng mga kalapit na device"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Magbasa ng lahat ng notification, kabilang ang impormasyon gaya ng mga contact, mensahe, at larawan"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"I-stream ang mga app ng iyong telepono"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Mag-stream ng mga app at iba pang feature ng system mula sa iyong telepono"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-tr/strings.xml b/packages/CompanionDeviceManager/res/values-tr/strings.xml index 533e1f9bc916..d90fd338798a 100644 --- a/packages/CompanionDeviceManager/res/values-tr/strings.xml +++ b/packages/CompanionDeviceManager/res/values-tr/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> tarafından yönetilecek bir <xliff:g id="PROFILE_NAME">%1$s</xliff:g> seçin"</string> <string name="summary_watch" msgid="6566922405914995759">"Bu uygulama, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazınızın yönetilmesi için gereklidir. <xliff:g id="APP_NAME">%2$s</xliff:g> adlı uygulamanın arayan kişinin adı gibi bilgileri senkronize etmesine, bildirimlerinizle etkileşimde bulunup Telefon, SMS, Kişiler, Takvim, Arama kayıtları ve Yakındaki cihazlar izinlerine erişmesine izin verilir."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Bu uygulama, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazınızın yönetilmesi için gereklidir. <xliff:g id="APP_NAME">%2$s</xliff:g> adlı uygulamanın arayan kişinin adı gibi bilgileri senkronize etmesine ve aşağıdaki izinlere erişmesine izin verilir:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> uygulamasına <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> cihazını yönetmesi için izin verilsin mi?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"glasses"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Bu uygulama, <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazının yönetilmesi için gereklidir. <xliff:g id="APP_NAME">%2$s</xliff:g> adlı uygulamanın bildirimlerinizle etkileşimde bulunup Telefon, SMS, Kişiler, Mikrofon ve Yakındaki cihazlar izinlerine erişmesine izin verilir."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Bu uygulamanın telefonunuzda şu izinlere erişmesine izin verilecek:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> uygulamasının, telefonunuzdaki bu bilgilere erişmesine izin verin"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Cihazlar arası hizmetler"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g>, cihazlarınız arasında uygulama akışı gerçekleştirmek için <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> cihazınız adına izin istiyor"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play hizmetleri"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g>, telefonunuzdaki fotoğraf, medya ve bildirimlere erişmek için <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> cihazınız adına izin istiyor"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> cihazının bu işlem yapmasına izin verilsin mi?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> uygulaması <xliff:g id="DEVICE_NAME">%2$s</xliff:g> cihazınız adına uygulamaları ve diğer sistem özelliklerini yakındaki cihazlara aktarmak için izin istiyor"</string> <string name="profile_name_generic" msgid="6851028682723034988">"cihaz"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Bu uygulama, arayan kişinin adı gibi bilgileri telefonunuz ve <xliff:g id="DEVICE_NAME">%1$s</xliff:g> adlı cihaz arasında senkronize edebilir."</string> <string name="summary_generic" msgid="4988130802522924650">"Bu uygulama, arayan kişinin adı gibi bilgileri telefonunuz ve seçili cihaz arasında senkronize edebilir."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Fotoğraflar ve medya"</string> <string name="permission_notification" msgid="693762568127741203">"Bildirimler"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Uygulamalar"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Yayınlama"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Telefon aramaları yapabilir ve telefon aramalarını yönetebilir"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Telefon arama kaydını okuma ve yazma"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS mesajları gönderebilir ve görüntüleyebilir"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kişilerinize erişebilir"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Takviminize erişebilir"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Ses kaydedebilir"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Yakındaki cihazları keşfedip bağlanabilir ve bu cihazların göreli konumunu belirleyebilir"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Kişiler, mesajlar ve fotoğraflar da dahil olmak üzere tüm bildirimleri okuyabilir"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Telefonunuzun uygulamalarını yayınlama"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Telefonunuzdan uygulamaları ve diğer sistem özelliklerini yayınlayın"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-uk/strings.xml b/packages/CompanionDeviceManager/res/values-uk/strings.xml index 01029ae654df..9af7f464066b 100644 --- a/packages/CompanionDeviceManager/res/values-uk/strings.xml +++ b/packages/CompanionDeviceManager/res/values-uk/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Виберіть <xliff:g id="PROFILE_NAME">%1$s</xliff:g>, яким керуватиме додаток <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"Цей додаток потрібен, щоб керувати пристроєм \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Додаток <xliff:g id="APP_NAME">%2$s</xliff:g> зможе синхронізувати інформацію (наприклад, ім’я абонента, який викликає), взаємодіяти з вашими сповіщеннями й отримає дозволи \"Телефон\", \"SMS\", \"Контакти\", \"Календар\", \"Журнали викликів\" і \"Пристрої поблизу\"."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Цей додаток потрібен, щоб керувати пристроєм \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Додаток <xliff:g id="APP_NAME">%2$s</xliff:g> зможе синхронізувати інформацію (наприклад, ім’я абонента, який викликає) і отримає такі дозволи:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Дозволити додатку <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> керувати пристроєм <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"окуляри"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Цей додаток потрібен, щоб керувати пристроєм \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\". Додаток <xliff:g id="APP_NAME">%2$s</xliff:g> зможе взаємодіяти з вашими сповіщеннями й отримає дозволи \"Телефон\", \"SMS\", \"Контакти\", \"Мікрофон\" і \"Пристрої поблизу\"."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Цей додаток матиме доступ до таких дозволів на вашому телефоні:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Надайте додатку <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> доступ до цієї інформації з телефона"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Сервіси для кількох пристроїв"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> від імені вашого пристрою <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> запитує дозвіл на трансляцію додатків між вашими пристроями"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Сервіси Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> від імені вашого пристрою <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> запитує дозвіл на доступ до фотографій, медіафайлів і сповіщень вашого телефона"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Дозволити додатку <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> виконувати цю дію?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"Додаток <xliff:g id="APP_NAME">%1$s</xliff:g> від імені вашого пристрою (<xliff:g id="DEVICE_NAME">%2$s</xliff:g>) запитує дозвіл на трансляцію додатків та інших системних функцій на пристрої поблизу"</string> <string name="profile_name_generic" msgid="6851028682723034988">"пристрій"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Цей додаток зможе синхронізувати інформацію (наприклад, ім’я абонента, який викликає) між телефоном і пристроєм \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string> <string name="summary_generic" msgid="4988130802522924650">"Цей додаток зможе синхронізувати інформацію (наприклад, ім’я абонента, який викликає) між телефоном і вибраним пристроєм."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Фотографії та медіафайли"</string> <string name="permission_notification" msgid="693762568127741203">"Сповіщення"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Додатки"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Потокове передавання"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Може здійснювати телефонні виклики й керувати ними"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Може переглядати й редагувати журнал викликів телефона"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Може надсилати й переглядати SMS-повідомлення"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Має доступ до ваших контактів"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Має доступ до вашого календаря"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Може записувати аудіо"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Може знаходити пристрої поблизу, підключатися до них і визначати їх відносне розташування"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Може читати всі сповіщення, зокрема таку інформацію, як контакти, повідомлення та фотографії"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Транслювати додатки телефона"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Транслюйте додатки й інші системні функції зі свого телефона"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-ur/strings.xml b/packages/CompanionDeviceManager/res/values-ur/strings.xml index a65cb6643ed2..148ffab58b4c 100644 --- a/packages/CompanionDeviceManager/res/values-ur/strings.xml +++ b/packages/CompanionDeviceManager/res/values-ur/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> کے ذریعے نظم کئے جانے کیلئے <xliff:g id="PROFILE_NAME">%1$s</xliff:g> کو منتخب کریں"</string> <string name="summary_watch" msgid="6566922405914995759">"آپ کے <xliff:g id="DEVICE_NAME">%1$s</xliff:g> کا نظم کرنے کے لیے، ایپ کی ضرورت ہے۔ <xliff:g id="APP_NAME">%2$s</xliff:g> کو کسی کے کال کرنے والے کے نام، آپ کی اطلاعات کے ساتھ تعامل، آپ کے فون، SMS، رابطے، کیلنڈر، کال لاگز اور قریبی آلات کی اجازتوں جیسی معلومات کی مطابقت پذیری کی اجازت ہوگی۔"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"آپ کے <xliff:g id="DEVICE_NAME">%1$s</xliff:g> کا نظم کرنے کے لیے، ایپ کی ضرورت ہے۔ <xliff:g id="APP_NAME">%2$s</xliff:g> کو کسی کال کرنے والے کے نام اور ان اجازتوں تک رسائی جیسی معلومات کی مطابقت پذیری کی اجازت ہوگی:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> کو <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> کا نظم کرنے کی اجازت دیں؟"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"گلاسز"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> کا نظم کرنے کے لیے، اس ایپ کی ضرورت ہے۔ <xliff:g id="APP_NAME">%2$s</xliff:g> کو آپ کی اطلاعات کے ساتھ تعامل کرنے اور آپ کے فون، SMS، رابطوں، مائیکروفون اور قریبی آلات کی اجازتوں تک رسائی کی اجازت ہوگی۔"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"اس ایپ کو آپ کے فون پر ان اجازتوں تک رسائی کرنے کی اجازت ہوگی:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"اپنے فون سے ان معلومات تک رسائی حاصل کرنے کی <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> کو اجازت دیں"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"کراس ڈیوائس سروسز"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> ایپ آپ کے <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> کی جانب سے آپ کے آلات کے درمیان ایپس کی سلسلہ بندی کرنے کی اجازت کی درخواست کر رہی ہے"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play سروسز"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> ایپ آپ کے <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> کی جانب سے آپ کے فون کی تصاویر، میڈیا اور اطلاعات تک رسائی کی اجازت طلب کر رہی ہے"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> کو یہ کارروائی انجام دینے کی اجازت دیں؟"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> آپ کے <xliff:g id="DEVICE_NAME">%2$s</xliff:g> کی جانب سے ایپس اور سسٹم کی دیگر خصوصیات کی سلسلہ بندی قریبی آلات پر کرنے کی اجازت طلب کر رہی ہے"</string> <string name="profile_name_generic" msgid="6851028682723034988">"آلہ"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"یہ ایپ آپ کے فون اور <xliff:g id="DEVICE_NAME">%1$s</xliff:g> کے درمیان معلومات، جیسے کسی کال کرنے والے کے نام، کی مطابقت پذیری کر سکے گی۔"</string> <string name="summary_generic" msgid="4988130802522924650">"یہ ایپ آپ کے فون اور منتخب کردہ آلے کے درمیان معلومات، جیسے کسی کال کرنے والے کے نام، کی مطابقت پذیری کر سکے گی۔"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"تصاویر اور میڈیا"</string> <string name="permission_notification" msgid="693762568127741203">"اطلاعات"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"ایپس"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"سلسلہ بندی"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"فون کالز کر سکتا ہے اور ان کا نظم کر سکتا ہے"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"فون کال لاگ پڑھ کر لکھ سکتا ہے"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS پیغامات بھیج اور دیکھ سکتا ہے"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"آپ کے رابطوں تک رسائی حاصل کر سکتا ہے"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"آپ کے کیلنڈر تک رسائی حاصل کر سکتا ہے"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"آڈیو ریکارڈ کر سکتی ہے"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"قریبی آلات کی متعلقہ پوزیشن تلاش کر سکتا ہے، ان سے منسلک ہو سکتا ہے اور اس کا تعین کر سکتا ہے"</string> <string name="permission_notification_summary" msgid="884075314530071011">"رابطوں، پیغامات اور تصاویر جیسی معلومات سمیت تمام اطلاعات پڑھ سکتے ہیں"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"اپنے فون کی ایپس کی سلسلہ بندی کریں"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"اپنے فون سے ایپس اور سسٹم کی دیگر خصوصیات کی سلسلہ بندی کریں"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-uz/strings.xml b/packages/CompanionDeviceManager/res/values-uz/strings.xml index 76f8e18fd135..0b66e4f46ab3 100644 --- a/packages/CompanionDeviceManager/res/values-uz/strings.xml +++ b/packages/CompanionDeviceManager/res/values-uz/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> boshqaradigan <xliff:g id="PROFILE_NAME">%1$s</xliff:g> qurilmasini tanlang"</string> <string name="summary_watch" msgid="6566922405914995759">"Ilova <xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmangizni boshqarish uchun kerak. <xliff:g id="APP_NAME">%2$s</xliff:g> ilovasiga chaqiruvchining ismi, bildirishnomalar bilan ishlash va telefon, SMS, kontaktlar, taqvim, chaqiruvlar jurnali va yaqin-atrofdagi qurilmalarni aniqlash kabi maʼlumotlarni sinxronlashga ruxsat beriladi."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Ilova <xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmangizni boshqarish uchun kerak. <xliff:g id="APP_NAME">%2$s</xliff:g> ilovasiga chaqiruvchining ismi kabi maʼlumotlarni sinxronlash va quyidagi amallarni bajarishga ruxsat beriladi:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ilovasiga <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong> qurilmasini boshqarish uchun ruxsat berilsinmi?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"koʻzoynak"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Bu ilova <xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasini boshqarish uchun kerak. <xliff:g id="APP_NAME">%2$s</xliff:g> ilovasiga bildirishnomalar bilan ishlash va telefon, SMS, kontaktlar, mikrofon va yaqin-atrofdagi qurilmalarga kirishga ruxsat beriladi."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Bu ilova telefonda quyidagi ruxsatlarni oladi:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ilovasiga telefondagi ushbu maʼlumot uchun ruxsat bering"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Qurilmalararo xizmatlar"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"Qurilamalararo ilovalar strimingi uchun <xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> nomidan ruxsat soʻramoqda"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play xizmatlari"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"Telefoningizdagi rasm, media va bildirishnomalarga kirish uchun <xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> nomidan ruxsat soʻramoqda"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> ilovasiga bu amalni bajarish uchun ruxsat berilsinmi?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> ilovasi <xliff:g id="DEVICE_NAME">%2$s</xliff:g> qurilmangizdan nomidan atrofdagi qurilmalarga ilova va boshqa tizim funksiyalarini uzatish uchun ruxsat olmoqchi"</string> <string name="profile_name_generic" msgid="6851028682723034988">"qurilma"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Bu ilova telefoningiz va <xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasida chaqiruvchining ismi kabi maʼlumotlarni sinxronlay oladi."</string> <string name="summary_generic" msgid="4988130802522924650">"Bu ilova telefoningiz va tanlangan qurilmada chaqiruvchining ismi kabi maʼlumotlarni sinxronlay oladi."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Suratlar va media"</string> <string name="permission_notification" msgid="693762568127741203">"Bildirishnomalar"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Ilovalar"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Striming"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Telefon chaqiruvlarini bajarishi va boshqarishi mumkin"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Telefon chaqiruvlari jurnalini koʻrishi va oʻzgartirishi mumkin"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"SMS xabarlarni koʻrishi va yuborishi mumkin"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Kontaktlarga ruxsati bor"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Taqvimga ruxsati bor"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Audio yozib olish mumkin"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Atrofdagi qurilmalarni qidirishi, joylashuvini aniqlashi va ularga ulanishi mumkin"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Barcha bildirishnomalarni, jumladan, kontaktlar, xabarlar va suratlarni oʻqishi mumkin"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Telefondagi ilovalarni translatsiya qilish"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Telefoningizdan ilovalar va tizim funksiyalarini translatsiya qilish"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-vi/strings.xml b/packages/CompanionDeviceManager/res/values-vi/strings.xml index 4abe51ead629..c2f966972fc5 100644 --- a/packages/CompanionDeviceManager/res/values-vi/strings.xml +++ b/packages/CompanionDeviceManager/res/values-vi/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Chọn một <xliff:g id="PROFILE_NAME">%1$s</xliff:g> sẽ do <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> quản lý"</string> <string name="summary_watch" msgid="6566922405914995759">"Cần có ứng dụng này để quản lý <xliff:g id="DEVICE_NAME">%1$s</xliff:g> của bạn. <xliff:g id="APP_NAME">%2$s</xliff:g> sẽ được phép đồng bộ hoá thông tin (ví dụ: tên người gọi), tương tác với thông báo của bạn cũng như truy cập vào dữ liệu Điện thoại, SMS, Danh bạ, Lịch, Nhật ký cuộc gọi và Thiết bị ở gần."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"Cần có ứng dụng này để quản lý <xliff:g id="DEVICE_NAME">%1$s</xliff:g> của bạn. <xliff:g id="APP_NAME">%2$s</xliff:g> sẽ được phép đồng bộ hoá thông tin (ví dụ: tên người gọi) và có các quyền sau:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Cho phép <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> quản lý <strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"kính"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Bạn cần có ứng dụng này để quản lý <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. <xliff:g id="APP_NAME">%2$s</xliff:g> sẽ được phép tương tác với thông báo của bạn, cũng như sử dụng các quyền đối với Điện thoại, SMS, Danh bạ, Micrô và Thiết bị ở gần."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Ứng dụng này sẽ được phép sử dụng những quyền sau trên điện thoại của bạn:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Cho phép <strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> truy cập vào thông tin này trên điện thoại của bạn"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Dịch vụ trên nhiều thiết bị"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"<xliff:g id="APP_NAME">%1$s</xliff:g> đang yêu cầu quyền thay cho <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> để truyền trực tuyến ứng dụng giữa các thiết bị của bạn"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Dịch vụ Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"<xliff:g id="APP_NAME">%1$s</xliff:g> đang yêu cầu quyền thay cho <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> để truy cập vào ảnh, nội dung nghe nhìn và thông báo trên điện thoại của bạn."</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Cho phép <strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong> thực hiện hành động này?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"<xliff:g id="APP_NAME">%1$s</xliff:g> đang thay <xliff:g id="DEVICE_NAME">%2$s</xliff:g> yêu cầu quyền truyền trực tuyến ứng dụng và các tính năng khác của hệ thống đến các thiết bị ở gần"</string> <string name="profile_name_generic" msgid="6851028682723034988">"thiết bị"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Ứng dụng này sẽ đồng bộ hoá được thông tin (ví dụ: tên người gọi) giữa điện thoại của bạn và <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Ứng dụng này sẽ đồng bộ hoá được thông tin (ví dụ: tên người gọi) giữa điện thoại của bạn và thiết bị bạn chọn."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Ảnh và nội dung nghe nhìn"</string> <string name="permission_notification" msgid="693762568127741203">"Thông báo"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Ứng dụng"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Truyền trực tuyến"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Có thể thực hiện và quản lý các cuộc gọi điện thoại"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Có thể đọc và ghi nhật ký cuộc gọi điện thoại"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Có thể gửi và xem tin nhắn SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Có thể truy cập danh bạ"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Có thể truy cập lịch"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Có thể ghi âm"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Có thể tìm, kết nối và xác định vị trí tương đối của các thiết bị ở gần"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Có thể đọc tất cả các thông báo, kể cả những thông tin như danh bạ, tin nhắn và ảnh"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Truyền các ứng dụng trên điện thoại của bạn"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Truyền trực tuyến ứng dụng và các tính năng khác của hệ thống từ điện thoại của bạn"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml index 30b89e8be033..e3a90cd81267 100644 --- a/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml +++ b/packages/CompanionDeviceManager/res/values-zh-rCN/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"选择要由<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>管理的<xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> <string name="summary_watch" msgid="6566922405914995759">"需要使用此应用才能管理您的“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”。<xliff:g id="APP_NAME">%2$s</xliff:g>将能同步信息(例如来电者的姓名),与通知交互,并可获得电话、短信、通讯录、日历、通话记录和附近设备的访问权限。"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"需要使用此应用才能管理您的“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”。<xliff:g id="APP_NAME">%2$s</xliff:g>将能同步信息(例如来电者的姓名),并可使用以下权限:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"允许<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong>管理<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"眼镜"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"需要使用此应用才能管理<xliff:g id="DEVICE_NAME">%1$s</xliff:g>。“<xliff:g id="APP_NAME">%2$s</xliff:g>”将能与通知交互,并可获得电话、短信、通讯录、麦克风和附近设备的访问权限。"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"该应用将可以获得您手机上的以下权限:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"允许“<xliff:g id="APP_NAME">%1$s</xliff:g>”<strong></strong>访问您手机中的这项信息"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"跨设备服务"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”正代表您的<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>请求在您的设备之间流式传输应用内容"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play 服务"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”正代表您的<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>请求访问您手机上的照片、媒体内容和通知"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"允许<strong><xliff:g id="DEVICE_NAME">%1$s</xliff:g></strong>进行此操作?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"“<xliff:g id="APP_NAME">%1$s</xliff:g>”正代表您的<xliff:g id="DEVICE_NAME">%2$s</xliff:g>请求将应用和其他系统功能流式传输到附近的设备"</string> <string name="profile_name_generic" msgid="6851028682723034988">"设备"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"此应用将能够在您的手机和“<xliff:g id="DEVICE_NAME">%1$s</xliff:g>”之间同步信息,例如来电者的姓名。"</string> <string name="summary_generic" msgid="4988130802522924650">"此应用将能够在您的手机和所选设备之间同步信息,例如来电者的姓名。"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"照片和媒体内容"</string> <string name="permission_notification" msgid="693762568127741203">"通知"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"应用"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"流式传输"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"可以打电话及管理通话"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"可以读取和写入手机通话记录"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"可以发送和查看短信"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"可以访问您的通讯录"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"可以访问您的日历"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"可以录制音频"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"可以查找、连接附近的设备以及确定附近设备的相对位置"</string> <string name="permission_notification_summary" msgid="884075314530071011">"可以读取所有通知,包括合同、消息和照片等信息"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"流式传输手机上的应用"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"从您的手机流式传输应用和其他系统功能"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml index 23301b5df29a..66d833d901cb 100644 --- a/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml +++ b/packages/CompanionDeviceManager/res/values-zh-rHK/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"選擇由 <strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong> 管理的<xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> <string name="summary_watch" msgid="6566922405914995759">"必須使用此應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可同步資訊 (例如來電者的名稱)、透過通知與您互動,並存取電話、短訊、通訊錄、日曆、通話記錄和附近的裝置權限。"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"必須使用此應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可同步資訊 (例如來電者的名稱),並存取以下權限:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>管理「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<strong></strong>嗎?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"眼鏡"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"必須使用此應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可透過通知與您互動,並存取電話、短訊、通訊錄、麥克風和附近的裝置權限。"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"此應用程式將可在手機上取得以下權限:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>存取您手機中的這項資料"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"跨裝置服務"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在為 <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> 要求權限,以在裝置之間串流應用程式內容"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play 服務"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在代表 <xliff:g id="DEVICE_TYPE">%2$s</xliff:g> 要求權限,以便存取手機上的相片、媒體和通知"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"要允許「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」<strong></strong>執行此操作嗎?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在代表「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」要求權限,才能在附近的裝置上串流播放應用程式和其他系統功能"</string> <string name="profile_name_generic" msgid="6851028682723034988">"裝置"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"此應用程式將可同步手機和「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」的資訊,例如來電者的名稱。"</string> <string name="summary_generic" msgid="4988130802522924650">"此應用程式將可同步手機和所選裝置的資訊,例如來電者的名稱。"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"相片和媒體"</string> <string name="permission_notification" msgid="693762568127741203">"通知"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"應用程式"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"串流"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"可撥打電話和管理通話"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"可讀取及寫入手機通話記錄"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"可傳送及查看短訊"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"可存取通訊錄"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"可存取日曆"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"可以錄音"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"可尋找、連接及判斷附近裝置的相對位置"</string> <string name="permission_notification_summary" msgid="884075314530071011">"可以讀取所有通知,包括聯絡人、訊息和電話等資訊"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"串流播放手機應用程式內容"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"串流播放手機中的應用程式和其他系統功能"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml index ccc50d910069..c0ce4196ae1b 100644 --- a/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml +++ b/packages/CompanionDeviceManager/res/values-zh-rTW/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"選擇要讓「<xliff:g id="APP_NAME">%2$s</xliff:g>」<strong></strong>管理的<xliff:g id="PROFILE_NAME">%1$s</xliff:g>"</string> <string name="summary_watch" msgid="6566922405914995759">"你必須使用這個應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可同步資訊 (例如來電者名稱)、存取通知及在通知上執行操作,並取得電話、簡訊、聯絡人、日曆、通話記錄、麥克風和鄰近裝置權限。"</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"你必須使用這個應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可同步資訊 (例如來電者名稱),並取得以下權限:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>管理「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」<strong></strong>嗎?"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"眼鏡"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"你必須使用這個應用程式,才能管理「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。「<xliff:g id="APP_NAME">%2$s</xliff:g>」將可存取通知及在通知上執行操作,並取得電話、簡訊、聯絡人、麥克風和鄰近裝置權限。"</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"這個應用程式將可在手機上取得以下權限:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」<strong></strong>存取手機中的這項資訊"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"跨裝置服務"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在代表你的「<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>」要求必要權限,以便在裝置之間串流傳輸應用程式內容"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Google Play 服務"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在代表你的「<xliff:g id="DEVICE_TYPE">%2$s</xliff:g>」要求必要權限,以便存取手機上的相片、媒體和通知"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"要允許「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」<strong></strong>執行這項操作嗎?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"「<xliff:g id="APP_NAME">%1$s</xliff:g>」正在代表「<xliff:g id="DEVICE_NAME">%2$s</xliff:g>」要求必要權限,才能在鄰近裝置上串流播放應用程式和其他系統功能"</string> <string name="profile_name_generic" msgid="6851028682723034988">"裝置"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"這個應用程式將可在手機和「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」之間同步資訊,例如來電者名稱。"</string> <string name="summary_generic" msgid="4988130802522924650">"這個應用程式將可在手機和指定裝置之間同步資訊,例如來電者名稱。"</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"相片和媒體"</string> <string name="permission_notification" msgid="693762568127741203">"通知"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"應用程式"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"串流"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"可撥打及管理通話"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"可讀取及寫入通話記錄"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"可傳送及查看簡訊"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"可存取聯絡人"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"可存取日曆"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"可以錄音"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"可尋找、連線及判斷鄰近裝置的相對位置"</string> <string name="permission_notification_summary" msgid="884075314530071011">"可讀取所有通知,包括聯絡人、訊息和電話等資訊"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"串流傳輸手機應用程式內容"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"串流播放手機中的應用程式和其他系統功能"</string> </resources> diff --git a/packages/CompanionDeviceManager/res/values-zu/strings.xml b/packages/CompanionDeviceManager/res/values-zu/strings.xml index 6ccfd975a9f1..39b458c56bb0 100644 --- a/packages/CompanionDeviceManager/res/values-zu/strings.xml +++ b/packages/CompanionDeviceManager/res/values-zu/strings.xml @@ -22,13 +22,10 @@ <string name="chooser_title" msgid="2262294130493605839">"Khetha i-<xliff:g id="PROFILE_NAME">%1$s</xliff:g> ezophathwa yi-<strong><xliff:g id="APP_NAME">%2$s</xliff:g></strong>"</string> <string name="summary_watch" msgid="6566922405914995759">"I-app iyadingeka ukuphatha i-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> yakho. I-<xliff:g id="APP_NAME">%2$s</xliff:g> izovunyelwa ukuvumelanisa ulwazi, njengegama lomuntu othile ofonayo, ukusebenzisana nezaziso zakho futhi ufinyelele Ifoni yakho, i-SMS, Oxhumana Nabo, Ikhalenda, Amarekhodi Amakholi nezimvume zamadivayisi aseduze."</string> <string name="summary_watch_single_device" msgid="7443464525873186735">"I-app iyadingeka ukuphatha i-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> yakho. I-<xliff:g id="APP_NAME">%2$s</xliff:g> izovunyelwa ukuvumelanisa ulwazi, njengegama lomuntu othile ofonayo, futhi ufinyelele lezi zimvume:"</string> - <!-- no translation found for confirmation_title_glasses (8288346850537727333) --> - <skip /> + <string name="confirmation_title_glasses" msgid="8288346850537727333">"Vumela i-<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ukuthi ifinyelele i-<strong><xliff:g id="DEVICE_NAME">%2$s</xliff:g></strong>"</string> <string name="profile_name_glasses" msgid="8488394059007275998">"Izingilazi"</string> - <!-- no translation found for summary_glasses_multi_device (615259525961937348) --> - <skip /> - <!-- no translation found for summary_glasses_single_device (5783761806783565716) --> - <skip /> + <string name="summary_glasses_multi_device" msgid="615259525961937348">"Le app iyadingeka ukuphatha i-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>. I-<xliff:g id="APP_NAME">%2$s</xliff:g> izovunyelwa ukuthi ihlanganyele nezaziso zakho futhi ifinyelele kufoni yakho, i-SMS, Oxhumana nabo, Imakrofoni Nezimvume zamadivayisi aseduze."</string> + <string name="summary_glasses_single_device" msgid="5783761806783565716">"Le-app izovunyelwa ukufinyelela lezi zimvume kufoni yakho:"</string> <string name="title_app_streaming" msgid="2270331024626446950">"Vumela i-<strong><xliff:g id="APP_NAME">%1$s</xliff:g></strong> ifinyelele lolu lwazi kusukela efonini yakho"</string> <string name="helper_title_app_streaming" msgid="4151687003439969765">"Amasevisi amadivayisi amaningi"</string> <string name="helper_summary_app_streaming" msgid="5977509499890099">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> icela imvume esikhundleni se-<xliff:g id="DEVICE_TYPE">%2$s</xliff:g> yakho ukuze isakaze-bukhoma ama-app phakathi kwamadivayisi akho"</string> @@ -38,10 +35,8 @@ <string name="summary_computer" msgid="3798467601598297062"></string> <string name="helper_title_computer" msgid="4671071173916176037">"Amasevisi we-Google Play"</string> <string name="helper_summary_computer" msgid="9050724687678157852">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> icela imvume esikhundleni se-<xliff:g id="DEVICE_TYPE">%2$s</xliff:g> yakho ukuze ifinyelele izithombe zefoni yakho, imidiya nezaziso"</string> - <!-- no translation found for title_nearby_device_streaming (7269956847378799794) --> - <skip /> - <!-- no translation found for helper_summary_nearby_device_streaming (2063965070936844876) --> - <skip /> + <string name="title_nearby_device_streaming" msgid="7269956847378799794">"Vumela i-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ukwenza lesi senzo?"</string> + <string name="helper_summary_nearby_device_streaming" msgid="2063965070936844876">"I-<xliff:g id="APP_NAME">%1$s</xliff:g> icela imvume esikhundleni se-<xliff:g id="DEVICE_NAME">%2$s</xliff:g> ukusakaza ama-app nezinye izakhi zesistimu kumadivayisi aseduze"</string> <string name="profile_name_generic" msgid="6851028682723034988">"idivayisi"</string> <string name="summary_generic_single_device" msgid="4735072202474939111">"Le app izokwazi ukuvumelanisa ulwazi, njengegama lomuntu othile ofonayo, phakathi kwefoni yakho ne-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string> <string name="summary_generic" msgid="4988130802522924650">"Le app izokwazi ukuvumelanisa ulwazi, njengegama lomuntu othile ofonayo, phakathi kwefoni yakho nedivayisi ekhethiwe."</string> @@ -62,19 +57,16 @@ <string name="permission_storage" msgid="6831099350839392343">"Izithombe nemidiya"</string> <string name="permission_notification" msgid="693762568127741203">"Izaziso"</string> <string name="permission_app_streaming" msgid="6009695219091526422">"Ama-app"</string> - <!-- no translation found for permission_nearby_device_streaming (1023325519477349499) --> - <skip /> + <string name="permission_nearby_device_streaming" msgid="1023325519477349499">"Iyasakaza"</string> <string name="permission_phone_summary" msgid="6684396967861278044">"Ingenza futhi iphathe amakholi wefoni"</string> <string name="permission_call_logs_summary" msgid="6186103394658755022">"Ingafunda futhi ibhale irekhodi lamakholi efoni"</string> <string name="permission_sms_summary" msgid="3508442683678912017">"Ingathumela futhi ibuke imiyalezo ye-SMS"</string> <string name="permission_contacts_summary" msgid="675861979475628708">"Ingakwazi ukufinyelela oxhumana nabo"</string> <string name="permission_calendar_summary" msgid="6460000922511766226">"Ingakwazi ukufinyelela ikhalenda lakho"</string> - <!-- no translation found for permission_microphone_summary (3692091540613093394) --> - <skip /> + <string name="permission_microphone_summary" msgid="3692091540613093394">"Ingakwazi ukurekhoda umsindo"</string> <string name="permission_nearby_devices_summary" msgid="931940524460876655">"Ingathola, ixhume, futhi inqume indawo ehlobene yamadivayisi aseduze"</string> <string name="permission_notification_summary" msgid="884075314530071011">"Ingafunda zonke izaziso, okubandakanya ulwazi olufana noxhumana nabo, imilayezo, nezithombe"</string> <string name="permission_app_streaming_summary" msgid="606923325679670624">"Sakaza ama-app wefoni yakho"</string> <string name="permission_storage_summary" msgid="3918240895519506417"></string> - <!-- no translation found for permission_nearby_device_streaming_summary (8280824871197081246) --> - <skip /> + <string name="permission_nearby_device_streaming_summary" msgid="8280824871197081246">"Sakaza ama-app nezinye izakhi zesistimu kusuka kufoni yakho"</string> </resources> diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java index 99b776cb939f..71ae578ec310 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/CompanionDeviceActivity.java @@ -39,6 +39,7 @@ import static com.android.companiondevicemanager.CompanionDeviceResources.TITLES import static com.android.companiondevicemanager.Utils.getApplicationLabel; import static com.android.companiondevicemanager.Utils.getHtmlFromResources; import static com.android.companiondevicemanager.Utils.getIcon; +import static com.android.companiondevicemanager.Utils.getImageColor; import static com.android.companiondevicemanager.Utils.getVendorHeaderIcon; import static com.android.companiondevicemanager.Utils.getVendorHeaderName; import static com.android.companiondevicemanager.Utils.hasVendorIcon; @@ -56,7 +57,6 @@ import android.companion.CompanionDeviceManager; import android.companion.IAssociationRequestCallback; import android.content.Intent; import android.content.pm.PackageManager; -import android.content.res.Configuration; import android.graphics.BlendMode; import android.graphics.BlendModeColorFilter; import android.graphics.Color; @@ -463,8 +463,6 @@ public class CompanionDeviceActivity extends FragmentActivity implements final Drawable vendorIcon; final CharSequence vendorName; final Spanned title; - int nightModeFlags = getResources().getConfiguration().uiMode - & Configuration.UI_MODE_NIGHT_MASK; if (!SUPPORTED_SELF_MANAGED_PROFILES.contains(deviceProfile)) { throw new RuntimeException("Unsupported profile " + deviceProfile); @@ -477,8 +475,7 @@ public class CompanionDeviceActivity extends FragmentActivity implements vendorName = getVendorHeaderName(this, packageName, userId); mVendorHeaderImage.setImageDrawable(vendorIcon); if (hasVendorIcon(this, packageName, userId)) { - int color = nightModeFlags == Configuration.UI_MODE_NIGHT_YES - ? android.R.color.system_accent1_200 : android.R.color.system_accent1_600; + int color = getImageColor(this); mVendorHeaderImage.setColorFilter(getResources().getColor(color, /* Theme= */null)); } } catch (PackageManager.NameNotFoundException e) { diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java index 328c67ebb216..d8348d1c9218 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/DeviceListAdapter.java @@ -17,6 +17,7 @@ package com.android.companiondevicemanager; import static com.android.companiondevicemanager.Utils.getIcon; +import static com.android.companiondevicemanager.Utils.getImageColor; import android.content.Context; import android.view.LayoutInflater; @@ -65,6 +66,10 @@ class DeviceListAdapter extends RecyclerView.Adapter<DeviceListAdapter.ViewHolde viewHolder.mImageView.setImageDrawable( getIcon(mContext, android.R.drawable.stat_sys_data_bluetooth)); } + + viewHolder.mImageView.setColorFilter( + mContext.getResources().getColor(getImageColor(mContext), /* Theme= */null)); + return viewHolder; } diff --git a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java index fceca91ce617..8c14f8037e64 100644 --- a/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java +++ b/packages/CompanionDeviceManager/src/com/android/companiondevicemanager/Utils.java @@ -22,6 +22,7 @@ import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.ApplicationInfoFlags; +import android.content.res.Configuration; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; @@ -120,6 +121,20 @@ class Utils { } } + private static boolean isDarkTheme(@NonNull Context context) { + int nightModeFlags = context.getResources().getConfiguration().uiMode + & Configuration.UI_MODE_NIGHT_MASK; + return nightModeFlags == Configuration.UI_MODE_NIGHT_YES; + } + + // Get image color for the corresponding theme. + static int getImageColor(@NonNull Context context) { + if (isDarkTheme(context)) { + return android.R.color.system_accent1_200; + } else { + return android.R.color.system_accent1_600; + } + } /** * Getting ApplicationInfo from meta-data. */ diff --git a/packages/CredentialManager/res/values-af/strings.xml b/packages/CredentialManager/res/values-af/strings.xml index e60cc98264a9..6b621ce73492 100644 --- a/packages/CredentialManager/res/values-af/strings.xml +++ b/packages/CredentialManager/res/values-af/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Verbeterde rekeningsekuriteit"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Elke sleutel is uitsluitlik gekoppel aan die app of webwerf waarvoor dit geskep is, en daarom kan jy nooit per ongeluk by ’n bedrieglike app of webwerf aanmeld nie. En omdat bedieners net publieke sleutels hou, is kuberkrakery baie moeiliker."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Moeitevrye oorgang"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Wagwoorde sal steeds saam met wagwoordsleutels beskikbaar wees soos ons na ’n wagwoordlose toekoms beweeg."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Kies waar om jou <xliff:g id="CREATETYPES">%1$s</xliff:g> te stoor"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Kies ’n wagwoordbestuurder om jou inligting te stoor en volgende keer vinniger aan te meld"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Skep wagwoordsleutel vir <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Stoor <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> in"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Skep wagwoordsleutel op ’n ander toestel?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Gebruik <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> vir al jou aanmeldings?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Hierdie wagwoordbestuurder vir <xliff:g id="USERNAME">%1$s</xliff:g> sal jou wagwoorde en wagwoordsleutels berg om jou te help om maklik aan te meld"</string> <string name="set_as_default" msgid="4415328591568654603">"Stel as verstek"</string> <string name="use_once" msgid="9027366575315399714">"Gebruik een keer"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> wagwoorde • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> wagwoordsleutels"</string> diff --git a/packages/CredentialManager/res/values-am/strings.xml b/packages/CredentialManager/res/values-am/strings.xml index e34bbcce215c..6b00e083131f 100644 --- a/packages/CredentialManager/res/values-am/strings.xml +++ b/packages/CredentialManager/res/values-am/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"የተሻሻለ የመለያ ደህንነት"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ወደ አጭበርባሪ መተግበሪያ ወይም ድር ጣቢያ በስህተት መቼም መግባት እንዳይችሉ እያንዳንዱ ቁልፍ ከተፈጠረለት መተግበሪያ ወይም ድር ጣቢያ ጋር ለሚመለከተው ተወስኖ የተገናኘ ነው። በተጨማሪም አገልጋዮች ይፋዊ ቁልፎችን ብቻ ስለሚጠብቁ ሰርጎ መግባት የበለጠ ከባድ ነው።"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"እንከን አልባ ትርጉም"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"ወደ የይለፍ ቃል የሌለው ወደፊት ስንሄድ የይለፍ ቃላት አሁንም ከይለፍ ቁልፎች ጎን ለጎን ይገኛሉ"</string> <string name="choose_provider_title" msgid="8870795677024868108">"የእርስዎን <xliff:g id="CREATETYPES">%1$s</xliff:g> የት እንደሚያስቀምጡ ይምረጡ"</string> <string name="choose_provider_body" msgid="4967074531845147434">"መረጃዎን ለማስቀመጥ እና በቀጣይ ጊዜ በፍጥነት በመለያ ለመግባት የሚስጥር ቁልፍ አስተዳዳሪን ይምረጡ"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"ለ<xliff:g id="APPNAME">%1$s</xliff:g> የይለፍ ቁልፍ ይፈጠር?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>ን አስቀምጥ ወደ"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"በሌላ መሣሪያ ውስጥ የይለፍ ቁልፍ ይፈጠር?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"ለሁሉም መግቢያዎችዎ <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>ን ይጠቀሙ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"ይህ የ<xliff:g id="USERNAME">%1$s</xliff:g> የይለፍ ቃል አስተዳዳሪ በቀላሉ እንዲገቡ ለማገዝ የእርስዎን የይለፍ ቃላት እና የይለፍ ቁልፎች ያከማቻል"</string> <string name="set_as_default" msgid="4415328591568654603">"እንደ ነባሪ ያዋቅሩ"</string> <string name="use_once" msgid="9027366575315399714">"አንዴ ይጠቀሙ"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> የይለፍ ቃሎች • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> የይለፍ ቁልፎች"</string> diff --git a/packages/CredentialManager/res/values-ar/strings.xml b/packages/CredentialManager/res/values-ar/strings.xml index c55fd0bc6614..2d6a606163b7 100644 --- a/packages/CredentialManager/res/values-ar/strings.xml +++ b/packages/CredentialManager/res/values-ar/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"تحسين أمان الحساب"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"يرتبط كل مفتاح حصريًا بالتطبيق أو الموقع الإلكتروني الذي تم إنشاؤه من أجله، لذلك لا يمكن أبدًا أن تسجّل الدخول إلى تطبيق أو موقع إلكتروني احتيالي عن طريق الخطأ. بالإضافة إلى ذلك، تكون عملية الاختراق أكثر صعوبة لأن الخوادم تحتفظ بالمفاتيح العامة فقط."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"النقل السلس"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"بينما ننطلق نحو مستقبل بدون كلمات مرور، ستظل كلمات المرور متوفّرة إلى جانب مفاتيح المرور."</string> <string name="choose_provider_title" msgid="8870795677024868108">"اختيار المكان الذي تريد حفظ <xliff:g id="CREATETYPES">%1$s</xliff:g> فيه"</string> <string name="choose_provider_body" msgid="4967074531845147434">"اختَر مدير كلمات مرور لحفظ معلوماتك وتسجيل الدخول بشكل أسرع في المرة القادمة."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"هل تريد إنشاء مفتاح مرور لتطبيق \"<xliff:g id="APPNAME">%1$s</xliff:g>\"؟"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"حفظ <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> في"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"هل تريد إنشاء مفتاح المرور في خدمة أخرى؟"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"هل تريد استخدام \"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>\" لكل عمليات تسجيل الدخول؟"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"ستخزِّن خدمة \"مدير كلمات المرور\" هذه كلمات المرور ومفاتيح المرور للمستخدم <xliff:g id="USERNAME">%1$s</xliff:g> لمساعدتك في تسجيل الدخول بسهولة."</string> <string name="set_as_default" msgid="4415328591568654603">"ضبط الخيار كتلقائي"</string> <string name="use_once" msgid="9027366575315399714">"الاستخدام مرة واحدة"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> كلمة مرور • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> مفتاح مرور"</string> diff --git a/packages/CredentialManager/res/values-as/strings.xml b/packages/CredentialManager/res/values-as/strings.xml index c7190815f856..8c5e6372d399 100644 --- a/packages/CredentialManager/res/values-as/strings.xml +++ b/packages/CredentialManager/res/values-as/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"একাউণ্টৰ উন্নত সুৰক্ষা"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"প্ৰতিটো চাবি বিশেষভাৱে সেই এপ্ অথবা ৱেবছাইটৰ সৈতে লিংক কৰা হয় যাৰ বাবে সেইটো সৃষ্টি কৰা হৈছে, সেয়ে আপুনি কেতিয়াও ভুলতে কোনো প্ৰৱঞ্চনামূলক এপ্ অথবা ৱেবছাইটত ছাইন ইন কৰিব নোৱাৰে। ইয়াৰ উপৰিও, কেৱল ৰাজহুৱা চাবিসমূহ ৰখা ছাৰ্ভাৰৰ ক্ষেত্ৰত হেক কৰাটো বহুত কঠিন হৈ পৰে।"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"বাধাহীন স্থানান্তৰণ"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"আমি পাছৱৰ্ডবিহীন ভৱিষ্যতৰ দিশে আগবঢ়াৰ লগে লগে পাছকীৰ লগতে পাছৱৰ্ডসমূহো উপলব্ধ হ’ব"</string> <string name="choose_provider_title" msgid="8870795677024868108">"আপোনাৰ <xliff:g id="CREATETYPES">%1$s</xliff:g> ক’ত ছেভ কৰিব লাগে সেয়া বাছনি কৰক"</string> <string name="choose_provider_body" msgid="4967074531845147434">"আপোনাৰ তথ্য ছেভ কৰি পৰৱৰ্তী সময়ত দ্ৰুতভাৱে ছাইন ইন কৰিবলৈ এটা পাছৱৰ্ড পৰিচালক বাছনি কৰক"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g>ৰ বাবে পাছকী সৃষ্টি কৰিবনে?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ইয়াত ছেভ কৰক"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"অন্য এটা ডিভাইচত পাছকী সৃষ্টি কৰিবনে?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"আপোনাৰ আটাইবোৰ ছাইন ইনৰ বাবে <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ব্যৱহাৰ কৰিবনে?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"আপোনাক সহজে ছাইন ইন কৰাত সহায় কৰিবলৈ <xliff:g id="USERNAME">%1$s</xliff:g>ৰ বাবে থকা এই পাছৱৰ্ড পৰিচালকে আপোনাৰ পাছৱৰ্ড আৰু পাছকী ষ্ট’ৰ কৰিব"</string> <string name="set_as_default" msgid="4415328591568654603">"ডিফ’ল্ট হিচাপে ছেট কৰক"</string> <string name="use_once" msgid="9027366575315399714">"এবাৰ ব্যৱহাৰ কৰক"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> টা পাছৱৰ্ড • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> টা পাছকী"</string> diff --git a/packages/CredentialManager/res/values-az/strings.xml b/packages/CredentialManager/res/values-az/strings.xml index d0afaa5a4c14..e016760bbe3d 100644 --- a/packages/CredentialManager/res/values-az/strings.xml +++ b/packages/CredentialManager/res/values-az/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Təkmilləşdirilmiş hesab təhlükəsizliyi"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Hər bir açar eksklüziv olaraq onların yaradıldığı tətbiq və ya vebsaytla əlaqələndirilib, ona görə də heç vaxt səhvən saxta tətbiqə və ya vebsayta daxil ola bilməzsiniz. Üstəlik, yalnız ictimai açarları saxlayan serverlərlə hekinq daha çətindir."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Rahat keçid"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Paroldan istifadə azalsa da, parollar yenə də giriş açarları ilə yanaşı əlçatan olacaq"</string> <string name="choose_provider_title" msgid="8870795677024868108">"<xliff:g id="CREATETYPES">%1$s</xliff:g> elementinin saxlanacağı yeri seçin"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Məlumatlarınızı yadda saxlamaq və növbəti dəfə daha sürətli daxil olmaq üçün parol meneceri seçin"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> üçün giriş açarı yaradılsın?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> burada yadda saxlansın:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Başqa cihazda giriş açarı yaradılsın?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Bütün girişlər üçün <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> istifadə edilsin?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> üçün bu parol meneceri asanlıqla daxil olmağınız məqsədilə parol və giriş açarlarını saxlayacaq"</string> <string name="set_as_default" msgid="4415328591568654603">"Defolt olaraq seçin"</string> <string name="use_once" msgid="9027366575315399714">"Bir dəfə istifadə edin"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> parol • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> giriş açarı"</string> diff --git a/packages/CredentialManager/res/values-b+sr+Latn/strings.xml b/packages/CredentialManager/res/values-b+sr+Latn/strings.xml index 5716aa68774e..c80b17e55a59 100644 --- a/packages/CredentialManager/res/values-b+sr+Latn/strings.xml +++ b/packages/CredentialManager/res/values-b+sr+Latn/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Poboljšana bezbednost naloga"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Svaki ključ je isključivo povezan sa aplikacijom ili veb-sajtom za koje je napravljen, pa nikad ne možete greškom da se prijavite u aplikaciju ili na veb-sajt koji služe za prevaru. Osim toga, sa serverima koji čuvaju samo javne ključeve hakovanje je mnogo teže."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Besprekoran prelaz"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Kako se krećemo ka budućnosti bez lozinki, lozinke će i dalje biti dostupne uz pristupne kodove"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Odaberite gde ćete sačuvati stavke <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Izaberite menadžera lozinki da biste sačuvali podatke i brže se prijavili sledeći put"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Želite da napravite pristupni kôd za: <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Sačuvaj stavku <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> u"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Želite da napravite pristupni kôd na drugom uređaju?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Želite da za sva prijavljivanja koristite: <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Ovaj menadžer lozinki za <xliff:g id="USERNAME">%1$s</xliff:g> će čuvati lozinke i pristupne kodove da biste se lako prijavljivali"</string> <string name="set_as_default" msgid="4415328591568654603">"Podesi kao podrazumevano"</string> <string name="use_once" msgid="9027366575315399714">"Koristi jednom"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Lozinki: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Pristupnih kodova:<xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-be/strings.xml b/packages/CredentialManager/res/values-be/strings.xml index ad82b234b6dc..13a329a88d54 100644 --- a/packages/CredentialManager/res/values-be/strings.xml +++ b/packages/CredentialManager/res/values-be/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Павышаная бяспека ўліковага запісу"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Кожны ключ звязаны толькі з праграмай або вэб-сайтам, для якіх ён быў створаны, таму вы не зможаце памылкова ўвайсці ў праграму ці на вэб-сайт, створаныя ў мэтах махлярства. Акрамя таго, на серверах захоўваюцца толькі адкрытыя ключы, таму правесці ўзлом намнога складаней."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Плаўны пераход"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Хоць мы ўжо рухаемся ў бок будучыні без выкарыстання пароляў, яны па-ранейшаму застануцца даступнымі нароўні з ключамі доступу."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Выберыце, куды захаваць <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Выберыце менеджар пароляў, каб захаваць свае даныя і забяспечыць хуткі ўваход у наступныя разы"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Стварыце ключ доступу да праграмы \"<xliff:g id="APPNAME">%1$s</xliff:g>\""</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Захаваць <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> сюды:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Стварыць ключ доступу на іншай прыладзе?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Выкарыстоўваць папку \"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>\" для ўсіх спосабаў уваходу?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Каб вам было прасцей уваходзіць у сістэму, вашы паролі і ключы доступу будуць захоўвацца ў менеджары пароляў для <xliff:g id="USERNAME">%1$s</xliff:g>."</string> <string name="set_as_default" msgid="4415328591568654603">"Выкарыстоўваць стандартна"</string> <string name="use_once" msgid="9027366575315399714">"Скарыстаць адзін раз"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Пароляў: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Ключоў доступу: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-bg/strings.xml b/packages/CredentialManager/res/values-bg/strings.xml index f5015b05a615..453c58f7d883 100644 --- a/packages/CredentialManager/res/values-bg/strings.xml +++ b/packages/CredentialManager/res/values-bg/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Подобрена сигурност на профила"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Всеки ключ е свързан само с приложението или уебсайта, за които е създаден. Затова не е възможно да влезете в измамно приложение или уебсайт по погрешка. Освен това сървърите съхраняват само публичните ключове, което значително затруднява опитите за хакерство."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Безпроблемен преход"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Паролите ще продължат да са налице заедно с кодовете за достъп по пътя ни към бъдеще без пароли"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Изберете къде да запазите своите <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Изберете мениджър на пароли, в който да се запазят данните ви, така че следващия път да влезете по-бързо в профила си"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Да се създаде ли код за достъп за <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Запазване на <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> във:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Искате ли да създадете код за достъп на друго устройство?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Да се използва ли <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> за всичките ви данни за вход?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Мениджърът на пароли за <xliff:g id="USERNAME">%1$s</xliff:g> ще съхранява вашите пароли и кодове за достъп, за да влизате лесно в профила си"</string> <string name="set_as_default" msgid="4415328591568654603">"Задаване като основно"</string> <string name="use_once" msgid="9027366575315399714">"Еднократно използване"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> пароли • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> кода за достъп"</string> diff --git a/packages/CredentialManager/res/values-bn/strings.xml b/packages/CredentialManager/res/values-bn/strings.xml index ec7e154e5f52..8360931eb750 100644 --- a/packages/CredentialManager/res/values-bn/strings.xml +++ b/packages/CredentialManager/res/values-bn/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"অ্যাকাউন্টের জন্য উন্নত সুরক্ষা"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"প্রতিটি \'কী\' যে অ্যাপ বা ওয়েবসাইটের জন্য তৈরি করা হয়েছে, সেগুলির সাথে এই \'কী\' বিশেষভাবে লিঙ্ক করা থাকে। তাই কখনই আপনি ভুলবশত কোনও ভুয়ো অ্যাপ বা ওয়েবসাইটে সাইন-ইন করতে পারবেন না। পাশাপাশি, যেসব সার্ভারে শুধু সর্বজনীন \'কী\' রয়েছে, তা হ্যাক করা খুবই কঠিন।"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"নির্বিঘ্ন ট্রানজিশন"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"আমরা পাসওয়ার্ডবিহীন ভবিষ্যতের দিকে এগিয়ে গেলেও, এখনও \'পাসকী\'-এর পাশাপাশি পাসওয়ার্ড ব্যবহার করা যাবে"</string> <string name="choose_provider_title" msgid="8870795677024868108">"আপনার <xliff:g id="CREATETYPES">%1$s</xliff:g> কোথায় সেভ করবেন তা বেছে নিন"</string> <string name="choose_provider_body" msgid="4967074531845147434">"আপনার তথ্য সেভ করতে একটি Password Manager বেছে নিন এবং পরের বার আরও দ্রুত সাইন-ইন করুন"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g>-এর জন্য \'পাসকী\' তৈরি করবেন?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> এখানে সেভ করুন"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"অন্য ডিভাইসে পাসকী তৈরি করবেন?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"আপনার সব সাইন-ইনের জন্য <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ব্যবহার করবেন?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g>-এর জন্য এই Password Manager আপনার পাসওয়ার্ড ও \'পাসকী\' সেভ করবে যাতে সহজেই সাইন-ইন করতে পারেন"</string> <string name="set_as_default" msgid="4415328591568654603">"ডিফল্ট হিসেবে সেট করুন"</string> <string name="use_once" msgid="9027366575315399714">"একবার ব্যবহার করুন"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g>টি পাসওয়ার্ড • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>টি \'পাসকী\'"</string> diff --git a/packages/CredentialManager/res/values-bs/strings.xml b/packages/CredentialManager/res/values-bs/strings.xml index 7d888ec2f5a1..e37232d22be7 100644 --- a/packages/CredentialManager/res/values-bs/strings.xml +++ b/packages/CredentialManager/res/values-bs/strings.xml @@ -20,7 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Poboljšana sigurnost računa"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Svaki ključ je isključivo povezan s aplikacijom ili web lokacijom za koju je kreiran, tako da se nikada ne možete greškom prijaviti u prevarantsku aplikaciju ili na prevarantsku web lokaciju. Osim toga, hakiranje je puno teže zahvaljujući serverima koji čuvaju samo javne ključeve."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Neometani prijelaz"</string> - <string name="seamless_transition_detail" msgid="3440478759491650823">"Kako idemo u smjeru budućnosti bez zaporki, one će i dalje biti dostupne uz pristupne ključeve"</string> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Kako se krećemo prema budućnosti bez lozinki, lozinke će i dalje biti dostupne uz pristupne ključeve"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Odaberite gdje će se pohranjivati <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Odaberite upravitelja lozinki da sačuvate svoje informacije i brže se prijavite sljedeći put"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Kreirati pristupni ključ za aplikaciju <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -35,7 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Sačuvaj <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> na"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Kreirati pristupni ključ na drugom uređaju?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Koristiti uslugu <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> za sve vaše prijave?"</string> - <string name="use_provider_for_all_description" msgid="1998772715863958997">"Upravitelj zaporki za korisničko ime <xliff:g id="USERNAME">%1$s</xliff:g> pohranit će vaše zaporke i pristupne ključeve radi jednostavnije prijave"</string> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Ovaj upravitelj lozinki za <xliff:g id="USERNAME">%1$s</xliff:g> će pohraniti vaše lozinke i pristupne ključeve da vam olakša prijavu"</string> <string name="set_as_default" msgid="4415328591568654603">"Postavi kao zadano"</string> <string name="use_once" msgid="9027366575315399714">"Koristi jednom"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Broj lozinki: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Broj pristupnih ključeva: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-ca/strings.xml b/packages/CredentialManager/res/values-ca/strings.xml index 9211b50c9da7..aed1610cee4f 100644 --- a/packages/CredentialManager/res/values-ca/strings.xml +++ b/packages/CredentialManager/res/values-ca/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Seguretat dels comptes millorada"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Cada clau està exclusivament enllaçada a l\'aplicació o al lloc web per als quals s\'ha creat. D\'aquesta manera, mai iniciaràs la sessió en una aplicació o un lloc web fraudulents per error. A més, com que els servidors només conserven les claus públiques, el hacking és molt més difícil."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transició fluida"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Tot i que avancem cap a un futur sense contrasenyes, continuaran estant disponibles juntament amb les claus d\'accés"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Tria on vols desar les <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecciona un gestor de contrasenyes per desar la teva informació i iniciar la sessió més ràpidament la pròxima vegada"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Vols crear la clau d\'accés per a <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Desa la <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> a"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Vols crear una clau d\'accés en un altre dispositiu?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Vols utilitzar <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> per a tots els teus inicis de sessió?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Aquest gestor de contrasenyes per a <xliff:g id="USERNAME">%1$s</xliff:g> emmagatzemarà les teves contrasenyes i claus d\'accés per ajudar-te a iniciar la sessió fàcilment"</string> <string name="set_as_default" msgid="4415328591568654603">"Estableix com a predeterminada"</string> <string name="use_once" msgid="9027366575315399714">"Utilitza un cop"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> contrasenyes • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> claus d\'accés"</string> diff --git a/packages/CredentialManager/res/values-cs/strings.xml b/packages/CredentialManager/res/values-cs/strings.xml index 0a80fe72ed89..8eb0ff6a6f96 100644 --- a/packages/CredentialManager/res/values-cs/strings.xml +++ b/packages/CredentialManager/res/values-cs/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Vylepšené zabezpečení účtu"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Každý klíč je propojen výhradně s aplikací nebo webem, pro které byl vytvořen, takže se nikdy nemůžete omylem přihlásit k podvodné aplikaci nebo webu. Protože na serverech jsou uloženy pouze veřejné klíče, je hackování navíc mnohem obtížnější."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Bezproblémový přechod"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Ačkoliv směřujeme k budoucnosti bez hesel, vedle přístupových klíčů budou stále k dispozici i hesla"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Určete, kam ukládat <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Vyberte správce hesel k uložení svých údajů, abyste se příště mohli přihlásit rychleji"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Vytvořit přístupový klíč pro aplikaci <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Uložit <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> do"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Vytvořit přístupový klíč v jiném zařízení?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Používat <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> pro všechna přihlášení?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Správce hesel pro účet <xliff:g id="USERNAME">%1$s</xliff:g> bude ukládat vaše hesla a přístupové klíče, abyste se mohli snadno přihlásit"</string> <string name="set_as_default" msgid="4415328591568654603">"Nastavit jako výchozí"</string> <string name="use_once" msgid="9027366575315399714">"Použít jednou"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Hesla: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Přístupové klíče: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-da/strings.xml b/packages/CredentialManager/res/values-da/strings.xml index f24fdb04461c..8e24cc9f4f48 100644 --- a/packages/CredentialManager/res/values-da/strings.xml +++ b/packages/CredentialManager/res/values-da/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Forbedret kontosikkerhed"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Hver nøgle er udelukkende tilknyttet den app eller det website, som nøglen blev oprettet til. På denne måde kan du aldrig logge ind i en svigagtig app eller på et svigagtigt website ved en fejl. Og da serverne kun opbevarer offentlige nøgler, er kontoer meget sværere at hacke."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Problemfri overgang"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Selvom vi nærmer os en fremtid, hvor adgangskoder er mindre fremtrædende, kan de stadig bruges i samspil med adgangsnøgler"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Vælg, hvor du vil gemme dine <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Vælg en adgangskodeadministrator for at gemme dine oplysninger, så du kan logge ind hurtigere næste gang"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Vil du oprette en adgangsnøgle til <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Gem <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> i"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Vil du oprette en adgangsnøgle på en anden enhed?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Vil du bruge <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> til alle dine loginmetoder?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Denne adgangskodeadministrator for <xliff:g id="USERNAME">%1$s</xliff:g> gemmer dine adgangskoder og adgangsnøgler for at hjælpe dig med nemt at logge ind"</string> <string name="set_as_default" msgid="4415328591568654603">"Angiv som standard"</string> <string name="use_once" msgid="9027366575315399714">"Brug én gang"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> adgangskoder • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> adgangsnøgler"</string> diff --git a/packages/CredentialManager/res/values-de/strings.xml b/packages/CredentialManager/res/values-de/strings.xml index dc6d81d5a3f1..8c9138c55399 100644 --- a/packages/CredentialManager/res/values-de/strings.xml +++ b/packages/CredentialManager/res/values-de/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Verbesserte Kontosicherheit"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Jeder Schlüssel ist ausschließlich mit der App oder Website verknüpft, für die er erstellt wurde. Du kannst dich also nicht aus Versehen bei einer betrügerischen App oder Website anmelden. Da auf Servern nur öffentliche Schlüssel verwaltet werden, wird das Hacking außerdem erheblich erschwert."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Nahtlose Umstellung"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Auch wenn wir uns auf eine passwortlose Zukunft zubewegen, werden neben Passkeys weiter Passwörter verfügbar sein"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Wähle aus, wo deine <xliff:g id="CREATETYPES">%1$s</xliff:g> gespeichert werden sollen"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Du kannst einen Passwortmanager auswählen, um deine Anmeldedaten zu speichern, damit du dich nächstes Mal schneller anmelden kannst"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Passkey für <xliff:g id="APPNAME">%1$s</xliff:g> erstellen?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> speichern unter"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Passkey auf einem anderen Gerät erstellen?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> für alle Anmeldungen verwenden?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Mit diesem Passwortmanager für <xliff:g id="USERNAME">%1$s</xliff:g> werden deine Passwörter und Passkeys gespeichert, damit du dich problemlos anmelden kannst"</string> <string name="set_as_default" msgid="4415328591568654603">"Als Standard festlegen"</string> <string name="use_once" msgid="9027366575315399714">"Einmal verwenden"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> Passwörter • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> Passkeys"</string> diff --git a/packages/CredentialManager/res/values-el/strings.xml b/packages/CredentialManager/res/values-el/strings.xml index 0abc8de840c1..71895850e58a 100644 --- a/packages/CredentialManager/res/values-el/strings.xml +++ b/packages/CredentialManager/res/values-el/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Βελτιωμένη ασφάλεια λογαριασμού"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Κάθε κλειδί συνδέεται αποκλειστικά με την εφαρμογή ή τον ιστότοπο για τον οποίο δημιουργήθηκε ώστε να μην συνδέεστε ποτέ κατά λάθος σε μη νόμιμες εφαρμογές ή ιστοτόπους. Επιπλέον, οι παραβιάσεις είναι πολύ πιο δύσκολες, επειδή οι διακομιστές διατηρούν μόνο δημόσια κλειδιά."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Απρόσκοπτη μετάβαση"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Καθώς κινούμαστε προς ένα μέλλον χωρίς κωδικούς πρόσβασης, οι κωδικοί πρόσβασης θα εξακολουθούν να είναι διαθέσιμοι μαζί με τα κλειδιά πρόσβασης"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Επιλέξτε πού θα αποθηκεύονται τα <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Επιλέξτε ένα πρόγραμμα διαχείρισης κωδικών πρόσβασης για να αποθηκεύσετε τα στοιχεία σας και να συνδεθείτε πιο γρήγορα την επόμενη φορά."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Δημιουργία κλειδιού πρόσβασης για <xliff:g id="APPNAME">%1$s</xliff:g>;"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Αποθήκευση <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> σε"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Δημιουργία κλειδιού πρόσβασης σε άλλη συσκευή;"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Να χρησιμοποιηθεί το <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> για όλες τις συνδέσεις σας;"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Αυτός ο διαχειριστής κωδικών πρόσβασης για τον χρήστη <xliff:g id="USERNAME">%1$s</xliff:g> θα αποθηκεύει τους κωδικούς πρόσβασης και τα κλειδιά πρόσβασης, για πιο εύκολη πρόσβαση"</string> <string name="set_as_default" msgid="4415328591568654603">"Ορισμός ως προεπιλογής"</string> <string name="use_once" msgid="9027366575315399714">"Χρήση μία φορά"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> κωδικοί πρόσβασης • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> κλειδιά πρόσβασης"</string> diff --git a/packages/CredentialManager/res/values-es-rUS/strings.xml b/packages/CredentialManager/res/values-es-rUS/strings.xml index 9c006a11c861..27356a08b38f 100644 --- a/packages/CredentialManager/res/values-es-rUS/strings.xml +++ b/packages/CredentialManager/res/values-es-rUS/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Mayor seguridad para las cuentas"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Cada llave está vinculada exclusivamente con el sitio web o la app para la que fue creada, por lo que nunca podrás acceder por error a una app o sitio web fraudulentos. Además, como los servidores solo guardan claves públicas, hackearlas es mucho más difícil."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transición fluida"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"A medida que avanzamos hacia un futuro sin contraseñas, estas seguirán estando disponibles junto a las llaves de acceso"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Elige dónde guardar tus <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecciona un administrador de contraseñas para guardar tu información y acceder más rápido la próxima vez"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"¿Quieres crear una llave de acceso para <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Guardar <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> en"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"¿Quieres crear una llave de acceso en otro dispositivo?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"¿Quieres usar <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> para todos tus accesos?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Este administrador de contraseñas para <xliff:g id="USERNAME">%1$s</xliff:g> almacenará tus contraseñas y llaves de acceso para ayudarte a acceder fácilmente"</string> <string name="set_as_default" msgid="4415328591568654603">"Establecer como predeterminado"</string> <string name="use_once" msgid="9027366575315399714">"Usar una vez"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> contraseñas • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> llaves de acceso"</string> diff --git a/packages/CredentialManager/res/values-es/strings.xml b/packages/CredentialManager/res/values-es/strings.xml index 54097f8d7832..ebdb00d00ae1 100644 --- a/packages/CredentialManager/res/values-es/strings.xml +++ b/packages/CredentialManager/res/values-es/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Seguridad de las cuentas mejorada"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Cada llave está vinculada exclusivamente con la aplicación o sitio web para los que se crearon, por lo que nunca puedes iniciar sesión en una aplicación o sitio web fraudulentos por error. Además, dado que los servidores solo mantienen claves públicas, es muy difícil que las pirateen."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transición fluida"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Aunque nos dirigimos hacia un mundo sin contraseñas, estas seguirán estando disponibles junto con las llaves de acceso"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Elige dónde guardar tus <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecciona un gestor de contraseñas para guardar tu información e iniciar sesión más rápido la próxima vez"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"¿Crear llave de acceso para <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Guardar <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> en"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"¿Crear llave de acceso en otro dispositivo?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"¿Usar <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> para todos tus inicios de sesión?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Este gestor de contraseñas de <xliff:g id="USERNAME">%1$s</xliff:g> almacenará tus contraseñas y llaves de acceso para que puedas iniciar sesión fácilmente"</string> <string name="set_as_default" msgid="4415328591568654603">"Fijar como predeterminado"</string> <string name="use_once" msgid="9027366575315399714">"Usar una vez"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> contraseñas • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> llaves de acceso"</string> diff --git a/packages/CredentialManager/res/values-et/strings.xml b/packages/CredentialManager/res/values-et/strings.xml index 066a98ee7b87..6d8b0326da53 100644 --- a/packages/CredentialManager/res/values-et/strings.xml +++ b/packages/CredentialManager/res/values-et/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Konto täiustatud turvalisus"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Iga võti on lingitud vaid rakenduse või veebisaidiga, mille jaoks see loodi, seega ei saa te petturlikku rakendusse või veebisaidile kunagi kogemata sisse logida. Ja kuna serverid säilitavad vaid avalikke võtmeid, on häkkimine palju keerulisem."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Sujuv üleminek"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Liigume paroolivaba tuleviku poole, kuid paroolid jäävad pääsuvõtmete kõrval siiski kättesaadavaks"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Valige, kuhu soovite oma <xliff:g id="CREATETYPES">%1$s</xliff:g> salvestada"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Valige paroolihaldur, et salvestada oma teave ja järgmisel korral kiiremini sisse logida"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Kas luua rakenduse <xliff:g id="APPNAME">%1$s</xliff:g> jaoks pääsuvõti?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Salvesta <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Kas luua pääsuvõti muus seadmes?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Kas kasutada teenust <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> kõigi teie sisselogimisandmete puhul?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Konto <xliff:g id="USERNAME">%1$s</xliff:g> paroolihaldur salvestab teie paroolid ja pääsuvõtmed, et aidata teil hõlpsalt sisse logida"</string> <string name="set_as_default" msgid="4415328591568654603">"Määra vaikeseadeks"</string> <string name="use_once" msgid="9027366575315399714">"Kasuta ühe korra"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> parooli • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> pääsuvõtit"</string> diff --git a/packages/CredentialManager/res/values-fa/strings.xml b/packages/CredentialManager/res/values-fa/strings.xml index 9bef4b3bd4e5..2407d100c5f9 100644 --- a/packages/CredentialManager/res/values-fa/strings.xml +++ b/packages/CredentialManager/res/values-fa/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"بهبود امنیت حساب"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"هر کلید با برنامه یا وبسایتی که برای آن ایجاد شده است پیوند انحصاری دارد، بنابراین هرگز نمیتوانید بهاشتباه به سیستم برنامه یا وبسایتی جعلی وارد شوید. بهعلاوه، با سرورهایی که فقط کلیدهای عمومی را نگه میدارند رخنهگری بسیار سختتر است."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"انتقال یکپارچه"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"درحالیکه بهسوی آیندهای بدون گذرواژه حرکت میکنیم، گذرواژهها همچنان در کنار گذرکلیدها دردسترس خواهند بود"</string> <string name="choose_provider_title" msgid="8870795677024868108">"جایی را برای ذخیره کردن <xliff:g id="CREATETYPES">%1$s</xliff:g> انتخاب کنید"</string> <string name="choose_provider_body" msgid="4967074531845147434">"مدیر گذرواژهای انتخاب کنید تا اطلاعاتتان ذخیره شود و دفعه بعدی سریعتر به سیستم وارد شوید"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"برای <xliff:g id="APPNAME">%1$s</xliff:g> گذرکلید ایجاد شود؟"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"ذخیره <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> در"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"گذرکلید در دستگاه دیگر ایجاد شود؟"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"از <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> برای همه ورود به سیستمها استفاده شود؟"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"این مدیر گذرواژه برای <xliff:g id="USERNAME">%1$s</xliff:g> گذرکلیدها و گذرواژههای شما را ذخیره میکند تا بهراحتی بتوانید به سیستم وارد شوید"</string> <string name="set_as_default" msgid="4415328591568654603">"تنظیم بهعنوان پیشفرض"</string> <string name="use_once" msgid="9027366575315399714">"یکبار استفاده"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> گذرواژه • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> گذرکلید"</string> diff --git a/packages/CredentialManager/res/values-fi/strings.xml b/packages/CredentialManager/res/values-fi/strings.xml index 950d410dd293..11b4f59c6e77 100644 --- a/packages/CredentialManager/res/values-fi/strings.xml +++ b/packages/CredentialManager/res/values-fi/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Parempi tilin tietoturva"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Kukin avain yhdistetään vain sovellukseen tai sivustoon, jota varten se on luotu, joten et voi koskaan kirjautua vilpilliseen sovellukseen tai sivustolle vahingossa. Lisäksi palvelimet säilyttävät vain julkisia avaimia, mikä tekee hakkeroinnista paljon vaikeampaa."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Saumaton siirtymä"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Kehitys kulkee kohti salasanatonta tulevaisuutta, mutta salasanat ovat edelleen käytettävissä avainkoodien ohella"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Valitse, minne <xliff:g id="CREATETYPES">%1$s</xliff:g> tallennetaan"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Valitse salasanojen ylläpitotyökalu, niin voit tallentaa tietosi ja kirjautua ensi kerralla nopeammin sisään"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Luodaanko avainkoodi (<xliff:g id="APPNAME">%1$s</xliff:g>)?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Tallenna <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> tänne:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Luodaanko avainkoodi toisella laitteella?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Otetaanko <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> käyttöön kaikissa sisäänkirjautumisissa?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Tämä salasanojen ylläpitotyökalu, jota <xliff:g id="USERNAME">%1$s</xliff:g> käyttää, tallentaa salasanat ja avainkoodit, jotta voit kirjautua helposti sisään"</string> <string name="set_as_default" msgid="4415328591568654603">"Aseta oletukseksi"</string> <string name="use_once" msgid="9027366575315399714">"Käytä kerran"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> salasanaa • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> avainkoodia"</string> diff --git a/packages/CredentialManager/res/values-fr-rCA/strings.xml b/packages/CredentialManager/res/values-fr-rCA/strings.xml index 230b29cf9eb2..605eed5687d1 100644 --- a/packages/CredentialManager/res/values-fr-rCA/strings.xml +++ b/packages/CredentialManager/res/values-fr-rCA/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Sécurité accrue du compte"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Chaque clé est exclusivement liée à l\'application ou au site Web pour lequel elle a été créée, de sorte que vous ne pourrez jamais vous connecter par erreur à une application ou à un site Web frauduleux. En outre, comme les serveurs ne conservent que les clés publiques, le piratage informatique est beaucoup plus difficile."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transition fluide"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"À mesure que nous nous dirigeons vers un avenir sans mots de passe, ceux-ci continueront d\'être utilisés parallèlement aux clés d\'accès"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Choisir où sauvegarder vos <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Sélectionnez un gestionnaire de mots de passe pour enregistrer vos renseignements et vous connecter plus rapidement la prochaine fois"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Créer une clé d\'accès pour <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Enregistrer la <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> dans"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Créer une clé d\'accès dans un autre appareil?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Utiliser <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> pour toutes vos connexions?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Ce gestionnaire de mots de passe de <xliff:g id="USERNAME">%1$s</xliff:g> stockera vos mots de passe et vos clés d\'accès pour vous permettre de vous connecter facilement"</string> <string name="set_as_default" msgid="4415328591568654603">"Définir par défaut"</string> <string name="use_once" msgid="9027366575315399714">"Utiliser une fois"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mots de passe • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> clés d\'accès"</string> diff --git a/packages/CredentialManager/res/values-fr/strings.xml b/packages/CredentialManager/res/values-fr/strings.xml index 1c1189acc801..3017e746b1c6 100644 --- a/packages/CredentialManager/res/values-fr/strings.xml +++ b/packages/CredentialManager/res/values-fr/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Des comptes plus sécurisés"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Chaque clé est liée exclusivement à l\'appli ou au site Web pour lequel elle a été créée, pour que vous ne puissiez jamais vous connecter par erreur à une appli ou un site Web frauduleux. De plus, le piratage est bien plus difficile, car les serveurs ne conservent que les clés publiques."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Une transition fluide"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Nous nous dirigeons vers un futur sans mots de passe, mais ceux-ci resteront disponibles en plus des clés d\'accès"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Choisissez où enregistrer vos <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Sélectionnez un gestionnaire de mots de passe pour enregistrer vos informations et vous connecter plus rapidement la prochaine fois"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Créer une clé d\'accès pour <xliff:g id="APPNAME">%1$s</xliff:g> ?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Enregistrer la <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> dans"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Créer une clé d\'accès sur un autre appareil ?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Utiliser <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> pour toutes vos connexions ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Ce gestionnaire de mots de passe pour <xliff:g id="USERNAME">%1$s</xliff:g> stockera vos mots de passe et clés d\'accès pour vous permettre de vous connecter facilement"</string> <string name="set_as_default" msgid="4415328591568654603">"Définir par défaut"</string> <string name="use_once" msgid="9027366575315399714">"Utiliser une fois"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mot(s) de passe • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> clé(s) d\'accès"</string> diff --git a/packages/CredentialManager/res/values-gl/strings.xml b/packages/CredentialManager/res/values-gl/strings.xml index 0cd444c8049b..ccb0e3bca93a 100644 --- a/packages/CredentialManager/res/values-gl/strings.xml +++ b/packages/CredentialManager/res/values-gl/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Mellora na seguranza das contas"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Cada clave está vinculada de xeito exclusivo coa aplicación ou o sitio web para o que foi creada, de tal forma que nunca poidas iniciar sesión nunha aplicación ou un sitio web fraudulentos por erro. Ademais, como os servidores só gardan as claves públicas, resultan moito máis difíciles de piratear."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transición fluída"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Durante este percorrido cara a un futuro sen contrasinais, estes seguirán estando dispoñibles a canda as claves de acceso"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Escolle onde queres gardar: <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecciona un xestor de contrasinais para gardar a túa información e iniciar sesión máis rápido a próxima vez"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Queres crear unha clave de acceso para <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Gardar <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> en"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Queres crear unha clave de acceso noutro dispositivo?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Queres usar <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> cada vez que inicies sesión?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Este xestor de contrasinais de <xliff:g id="USERNAME">%1$s</xliff:g> almacenará os teus contrasinais e claves de acceso para axudarche a iniciar sesión facilmente"</string> <string name="set_as_default" msgid="4415328591568654603">"Establecer como predeterminado"</string> <string name="use_once" msgid="9027366575315399714">"Usar unha vez"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> contrasinais • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> claves de acceso"</string> diff --git a/packages/CredentialManager/res/values-gu/strings.xml b/packages/CredentialManager/res/values-gu/strings.xml index c9151aea8b6f..ed34209ba3cc 100644 --- a/packages/CredentialManager/res/values-gu/strings.xml +++ b/packages/CredentialManager/res/values-gu/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"બહેતર બનાવેલી એકાઉન્ટની સુરક્ષા"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"દરેક કીને જે ઍપ અથવા વેબસાઇટ માટે બનાવવામાં આવી હોય તેની સાથે તે વિશેષ રીતે લિંક થયેલી છે, તેથી તમારાથી ક્યારેય ભૂલથી કપટપૂર્ણ ઍપ અથવા વેબસાઇટ પર સાઇન ઇન ન થાય. ઉપરાંત, સર્વર માત્ર જાહેર કી રાખે છે, હૅકિંગ ઘણું મુશ્કેલ છે."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"વિક્ષેપરહિત ટ્રાન્ઝિશન"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"આપણે પાસવર્ડ રહિત ભવિષ્ય તરફ આગળ વધી રહ્યાં છીએ, છતાં પાસકીની સાથોસાથ હજી પણ પાસવર્ડ ઉપલબ્ધ રહેશે"</string> <string name="choose_provider_title" msgid="8870795677024868108">"તમારી <xliff:g id="CREATETYPES">%1$s</xliff:g> ક્યાં સાચવવી તે પસંદ કરો"</string> <string name="choose_provider_body" msgid="4967074531845147434">"તમારી માહિતી સાચવવા માટે પાસવર્ડ મેનેજર પસંદ કરો અને આગલી વખતે વધુ ઝડપથી સાઇન ઇન કરો"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> માટે પાસકી બનાવીએ?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>ને આમાં સાચવો"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"અન્ય ડિવાઇસ પર પાસકી બનાવીએ?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"શું તમારા બધા સાઇન-ઇન માટે <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>નો ઉપયોગ કરીએ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> માટેના આ પાસવર્ડ મેનેજર તમને સરળતાથી સાઇન ઇન કરવામાં સહાય કરવા માટે, તમારા પાસવર્ડ અને પાસકી સ્ટોર કરશે"</string> <string name="set_as_default" msgid="4415328591568654603">"ડિફૉલ્ટ તરીકે સેટ કરો"</string> <string name="use_once" msgid="9027366575315399714">"એકવાર ઉપયોગ કરો"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> પાસવર્ડ • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> પાસકી"</string> diff --git a/packages/CredentialManager/res/values-hi/strings.xml b/packages/CredentialManager/res/values-hi/strings.xml index 60a7d150c0c9..029eeee92a25 100644 --- a/packages/CredentialManager/res/values-hi/strings.xml +++ b/packages/CredentialManager/res/values-hi/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"खाते की बेहतर सुरक्षा"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"हर कुंजी खास तौर पर उस ऐप्लिकेशन या वेबसाइट से लिंक होती है जिसके लिए उसे बनाया गया है. ऐसा इसलिए किया जाता है, ताकि कोई भी व्यक्ति धोखाधड़ी करने वाले ऐप्लिकेशन या वेबसाइट पर कभी भी गलती से साइन इन न करे. साथ ही, सर्वर के पास सिर्फ़ सार्वजनिक कुंजी होती हैं, इसलिए पूरी कुंजी को हैक करना काफ़ी मुश्किल होता है."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"आसान ट्रांज़िशन"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"आने वाले समय में, बिना पासवर्ड के टेक्नोलॉजी का इस्तेमाल किया जा सकेगा. हालांकि, पासकी के साथ पासवर्ड भी इस्तेमाल किए जा सकेंगे"</string> <string name="choose_provider_title" msgid="8870795677024868108">"चुनें कि अपनी <xliff:g id="CREATETYPES">%1$s</xliff:g> कहां सेव करनी हैं"</string> <string name="choose_provider_body" msgid="4967074531845147434">"अपनी जानकारी सेव करने के लिए, पासवर्ड मैनेजर चुनें और अगली बार ज़्यादा तेज़ी से साइन इन करें"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"क्या आपको <xliff:g id="APPNAME">%1$s</xliff:g> के लिए पासकी बनानी है?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> को यहां सेव करें"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"क्या किसी दूसरे डिवाइस में पासकी सेव करनी है?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"क्या आपको साइन इन से जुड़ी सारी जानकारी सेव करने के लिए, <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> का इस्तेमाल करना है?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> के लिए यह पासवर्ड मैनेजर, आपके पासवर्ड और पासकी सेव करेगा, ताकि आपको साइन इन करने में आसानी हो"</string> <string name="set_as_default" msgid="4415328591568654603">"डिफ़ॉल्ट के तौर पर सेट करें"</string> <string name="use_once" msgid="9027366575315399714">"इसका इस्तेमाल एक बार किया जा सकता है"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> पासवर्ड • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> पासकी"</string> diff --git a/packages/CredentialManager/res/values-hy/strings.xml b/packages/CredentialManager/res/values-hy/strings.xml index 7e1c36e6d94e..66d4339dedd5 100644 --- a/packages/CredentialManager/res/values-hy/strings.xml +++ b/packages/CredentialManager/res/values-hy/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Հաշվի բարելավված անվտանգություն"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Յուրաքանչյուր բանալի բացառապես կապված է հավելվածի կամ կայքի հետ, որի համար այն ստեղծվել է, ուստի դուք երբեք չեք կարող սխալմամբ մուտք գործել կեղծ հավելված կամ կայք։ Բացի այդ՝ սերվերներում պահվում են միայն բաց բանալիներ, ինչը զգալիորեն դժվարացնում է կոտրումը։"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Սահուն անցում"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Թեև մենք առանց գաղտնաբառերի ապագայի ճանապարհին ենք, դրանք դեռ հասանելի կլինեն անցաբառերի հետ մեկտեղ"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Նշեք, թե որտեղ եք ուզում պահել ձեր <xliff:g id="CREATETYPES">%1$s</xliff:g>ը"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Ընտրեք գաղտնաբառերի կառավարիչ՝ ձեր տեղեկությունները պահելու և հաջորդ անգամ ավելի արագ մուտք գործելու համար"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Ստեղծե՞լ անցաբառ «<xliff:g id="APPNAME">%1$s</xliff:g>» հավելվածի համար"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Պահել <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>ն այստեղ՝"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Ստեղծե՞լ անցաբառ այլ սարքում"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Միշտ մուտք գործե՞լ <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> հավելվածի միջոցով"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Այս գաղտնաբառերի կառավարչում <xliff:g id="USERNAME">%1$s</xliff:g> օգտատերը կկարողանա պահել իր գաղտնաբառերն ու անցաբառերը, որպեսզի հետագայում ավելի արագ մուտք գործի հաշիվ"</string> <string name="set_as_default" msgid="4415328591568654603">"Նշել որպես կանխադրված"</string> <string name="use_once" msgid="9027366575315399714">"Օգտագործել մեկ անգամ"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> գաղտնաբառ • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> անցաբառ"</string> diff --git a/packages/CredentialManager/res/values-in/strings.xml b/packages/CredentialManager/res/values-in/strings.xml index 64c6a9f0599b..cd2e49fab8b5 100644 --- a/packages/CredentialManager/res/values-in/strings.xml +++ b/packages/CredentialManager/res/values-in/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Keamanan akun yang ditingkatkan"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Setiap kunci ditautkan secara eksklusif dengan aplikasi atau situs tempatnya dibuat, sehingga Anda tidak akan login ke aplikasi atau situs yang menipu secara tidak sengaja. Selain itu, peretasan lebih sulit dilakukan karena server hanya menyimpan kunci publik."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transisi yang lancar"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Seiring kita menuju masa depan tanpa sandi, sandi akan tetap tersedia bersama kunci sandi"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Pilih tempat penyimpanan <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Pilih pengelola sandi untuk menyimpan info Anda dan login lebih cepat lain kali"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Buat kunci sandi untuk <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Simpan <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ke"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Buat kunci sandi di perangkat lain?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Gunakan <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> untuk semua info login Anda?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Pengelola sandi untuk <xliff:g id="USERNAME">%1$s</xliff:g> ini akan menyimpan sandi dan kunci sandi guna membantu Anda login dengan mudah"</string> <string name="set_as_default" msgid="4415328591568654603">"Setel sebagai default"</string> <string name="use_once" msgid="9027366575315399714">"Gunakan sekali"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> sandi • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> kunci sandi"</string> diff --git a/packages/CredentialManager/res/values-is/strings.xml b/packages/CredentialManager/res/values-is/strings.xml index 16794c283d89..3bcf65933185 100644 --- a/packages/CredentialManager/res/values-is/strings.xml +++ b/packages/CredentialManager/res/values-is/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Bætt reikningsöryggi"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Hver lykill er eingöngu tengdur forritinu eða vefsvæðinu sem hann var búinn til fyrir. Því er engin hætta á að þú skráir þig óvart inn á sviksamlegt forrit eða vefsvæði. Einnig er erfiðara að hakka þegar þjónar geyma aðeins opinbera lykla."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Snurðulaus skipti"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Við stefnum að framtíð án aðgangsorða en aðgangsorð verða áfram í boði samhliða aðgangslyklum"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Veldu hvar þú vilt vista <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Veldu aðgangsorðastjórnun til að vista upplýsingarnar og vera fljótari að skrá þig inn næst"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Viltu búa til aðgangslykil fyrir <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Vista <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> í"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Viltu búa til aðgangslykil í öðru tæki?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Nota <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> fyrir allar innskráningar?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Þessi aðgangsorðastjórnun fyrir <xliff:g id="USERNAME">%1$s</xliff:g> vistar aðgangsorð og aðgangslykla til að auðvelda þér að skrá þig inn"</string> <string name="set_as_default" msgid="4415328591568654603">"Stilla sem sjálfgefið"</string> <string name="use_once" msgid="9027366575315399714">"Nota einu sinni"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> aðgangsorð • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> aðgangslyklar"</string> diff --git a/packages/CredentialManager/res/values-ka/strings.xml b/packages/CredentialManager/res/values-ka/strings.xml index 5e8a6dc524a4..545106b7df99 100644 --- a/packages/CredentialManager/res/values-ka/strings.xml +++ b/packages/CredentialManager/res/values-ka/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"ანგარიშის გაუმჯობესებული უსაფრთხოება"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"თითოეული გასაღები დაკავშირებულია მხოლოდ აპთან ან ვებსაიტთან, რომელთათვისაც ის შეიქმნა, ამიტომაც შემთხვევით ვერასდროს შეხვალთ თაღლითურ აპში თუ ვებსაიტზე. ამასთანავე, სერვერები ინახავს მხოლოდ საჯარო გასაღებებს, რაც ართულებს გატეხვის ალბათობას."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"დაუბრკოლებელი გადასვლა"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"უპაროლო მომავალში პაროლები კვლავ ხელმისაწვდომი იქნება, წვდომის გასაღებებთან ერთად"</string> <string name="choose_provider_title" msgid="8870795677024868108">"აირჩიეთ სად შეინახოთ თქვენი <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"აირჩიეთ პაროლების მმართველი თქვენი ინფორმაციის შესანახად, რომ მომავალში უფრო სწრაფად შეხვიდეთ."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"შექმნით წვდომის გასაღებს <xliff:g id="APPNAME">%1$s</xliff:g> აპისთვის?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>-ის შენახვა"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"გსურთ პაროლის შექმნა სხვა მოწყობილობაში?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"გსურთ, გამოიყენოთ<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> სისტემაში ყველა შესვლისთვის?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"მოცემული პაროლების მმართველი <xliff:g id="USERNAME">%1$s</xliff:g>-ისთვის შეინახავს თქვენს პაროლებს და წვდომის გასაღებს, რომლებიც დაგეხმარებათ სისტემაში მარტივად შესვლაში"</string> <string name="set_as_default" msgid="4415328591568654603">"ნაგულისხმევად დაყენება"</string> <string name="use_once" msgid="9027366575315399714">"ერთხელ გამოყენება"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> პაროლები • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> წვდომის გასაღებები"</string> diff --git a/packages/CredentialManager/res/values-kk/strings.xml b/packages/CredentialManager/res/values-kk/strings.xml index 96139897691b..a4f3dc35116a 100644 --- a/packages/CredentialManager/res/values-kk/strings.xml +++ b/packages/CredentialManager/res/values-kk/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Аккаунттың қосымша қауіпсіздігі"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Әрбір кілт өзі арнайы жасалған қолданбамен немесе веб-сайтпен ғана байланысты болады, сондықтан алаяқтар қолданбасына немесе веб-сайтына байқаусызда кіру мүмкін емес. Онымен қоса тек ашық кілттер сақталатын серверлер арқасында хакерлердің бұзып кіруі айтарлықтай қиындады."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Оңай ауысу"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Құпия сөзсіз болашақ жақын болғанына қарамастан, келешекте құпия сөздерді кіру кілттерімен қатар қолдана беруге болады."</string> <string name="choose_provider_title" msgid="8870795677024868108">"<xliff:g id="CREATETYPES">%1$s</xliff:g> қайда сақталатынын таңдаңыз"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Мәліметіңізді сақтап, келесіде жылдам кіру үшін құпия сөз менеджерін таңдаңыз."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> үшін кіру кілтін жасау керек пе?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> дерегін сақтау орны:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Кіру кілтін басқа құрылғыда жасау керек пе?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Барлық кіру әрекеті үшін <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> пайдаланылсын ба?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> аккаунтына оңай кіру үшін құпия сөз менеджері құпия сөздер мен кіру кілттерін сақтайды."</string> <string name="set_as_default" msgid="4415328591568654603">"Әдепкі етіп орнату"</string> <string name="use_once" msgid="9027366575315399714">"Бір рет пайдалану"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> құпия сөз • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> кіру кілті"</string> diff --git a/packages/CredentialManager/res/values-ko/strings.xml b/packages/CredentialManager/res/values-ko/strings.xml index b65f693f6fa7..502d9eeb8c5a 100644 --- a/packages/CredentialManager/res/values-ko/strings.xml +++ b/packages/CredentialManager/res/values-ko/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"계정 보안 향상"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"각 키는 생성 시 대상으로 설정된 앱 또는 웹사이트와 단독으로 연결되어 있으므로 실수로 사기 앱 또는 웹사이트에 로그인할 일이 없습니다. 또한 서버에만 공개 키가 보관되므로 해킹이 더욱 까다롭습니다."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"원활한 이전"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"비밀번호가 필요 없는 미래로 나아가는 동안에도 비밀번호는 여전히 패스키와 함께 사용될 것입니다."</string> <string name="choose_provider_title" msgid="8870795677024868108">"<xliff:g id="CREATETYPES">%1$s</xliff:g> 저장 위치 선택"</string> <string name="choose_provider_body" msgid="4967074531845147434">"정보를 저장해서 다음에 더 빠르게 로그인하려면 비밀번호 관리자를 선택하세요."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g>의 패스키를 만드시겠습니까?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> 저장 위치"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"다른 기기에서 패스키를 만드시겠습니까?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"모든 로그인에 <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>을(를) 사용하시겠습니까?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g>님을 위한 이 비밀번호 관리자는 비밀번호와 패스키를 저장하여 사용자가 간편하게 로그인할 수 있도록 돕습니다."</string> <string name="set_as_default" msgid="4415328591568654603">"기본값으로 설정"</string> <string name="use_once" msgid="9027366575315399714">"한 번 사용"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"비밀번호 <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g>개 • 패스키 <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>개"</string> diff --git a/packages/CredentialManager/res/values-ky/strings.xml b/packages/CredentialManager/res/values-ky/strings.xml index 8df321986af7..68f082b82452 100644 --- a/packages/CredentialManager/res/values-ky/strings.xml +++ b/packages/CredentialManager/res/values-ky/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Аккаунттун коопсуздугу жакшыртылды"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Ар бир ачкыч өзү арналган колдонмо же вебсайт менен гана байланыштырылгандыктан, эч качан шылуундардын колдонмолоруна же вебсайттарына жаңылыштык менен кирип албайсыз. Мындан тышкары, серверлерде жалпыга ачык ачкычтар гана сакталгандыктан, хакерлик кылуу кыйла кыйын."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Тез которулуу"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Сырсөзсүз келечекти көздөй баратсак да, аларды мүмкүндүк алуу ачкычтары менен бирге колдоно берүүгө болот"</string> <string name="choose_provider_title" msgid="8870795677024868108">"<xliff:g id="CREATETYPES">%1$s</xliff:g> кайда сакталарын тандаңыз"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Маалыматыңызды сактоо жана кийинки жолу тезирээк кирүү үчүн сырсөздөрдү башкаргычты тандаңыз"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> колдонмосуна киргизүүчү ачкыч түзөсүзбү?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> төмөнкүгө сакталсын:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Киргизүүчү ачкыч башка түзмөктө түзүлсүнбү?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> бардык аккаунттарга кирүү үчүн колдонулсунбу?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Сырсөздөрүңүздү жана ачкычтарыңызды <xliff:g id="USERNAME">%1$s</xliff:g> аккаунтуңуздагы сырсөздөрдү башкаргычка сактап коюп, каалаган убакта колдоно берсеңиз болот"</string> <string name="set_as_default" msgid="4415328591568654603">"Демейки катары коюу"</string> <string name="use_once" msgid="9027366575315399714">"Бир жолу колдонуу"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> сырсөз • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> киргизүүчү ачкыч"</string> diff --git a/packages/CredentialManager/res/values-lo/strings.xml b/packages/CredentialManager/res/values-lo/strings.xml index cd074a8c0209..d7e4c31f8e8e 100644 --- a/packages/CredentialManager/res/values-lo/strings.xml +++ b/packages/CredentialManager/res/values-lo/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"ປັບປຸງຄວາມປອດໄພບັນຊີ"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ກະແຈແຕ່ລະອັນແມ່ນລິ້ງເຈາະຈົງກັບແອັບ ຫຼື ເວັບໄຊທີ່ພວກມັນຖືກສ້າງໃຫ້, ດັ່ງນັ້ນທ່ານຈະບໍ່ສາມາດເຂົ້າສູ່ລະບົບຫາແອັບ ຫຼື ເວັບໄຊສໍ້ໂກງຕ່າງໆໂດຍບໍ່ໄດ້ຕັ້ງໃຈໄດ້. ນອກຈາກນັ້ນ, ເຊີບເວີຍັງມີການເກັບກະແຈສາທາລະນະໄວ້ເທົ່ານັ້ນ, ການແຮັກຈຶ່ງເປັນເລື່ອງຍາກຂຶ້ນຫຼາຍ."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"ການປ່ຽນຜ່ານທີ່ຕໍ່ເນື່ອງ"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"ໃນຂະນະທີ່ພວກເຮົາກ້າວໄປສູ່ອະນາຄົດທີ່ບໍ່ຕ້ອງໃຊ້ລະຫັດຜ່ານ, ລະຫັດຜ່ານຈະຍັງຄົງໃຊ້ໄດ້ຄວບຄູ່ໄປກັບກະແຈຜ່ານ"</string> <string name="choose_provider_title" msgid="8870795677024868108">"ເລືອກບ່ອນທີ່ຈະບັນທຶກ <xliff:g id="CREATETYPES">%1$s</xliff:g> ຂອງທ່ານ"</string> <string name="choose_provider_body" msgid="4967074531845147434">"ເລືອກຕົວຈັດການລະຫັດຜ່ານເພື່ອບັນທຶກຂໍ້ມູນຂອງທ່ານ ແລະ ເຂົ້າສູ່ລະບົບໄວຂຶ້ນໃນເທື່ອຕໍ່ໄປ"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"ສ້າງກະແຈຜ່ານສຳລັບ <xliff:g id="APPNAME">%1$s</xliff:g> ບໍ?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"ບັນທຶກ <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ໃສ່"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"ສ້າງກະແຈຜ່ານໃນອຸປະກອນອື່ນບໍ?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"ໃຊ້ <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ສຳລັບການເຂົ້າສູ່ລະບົບທັງໝົດຂອງທ່ານບໍ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"ຕົວຈັດການລະຫັດຜ່ານນີ້ສຳລັບ <xliff:g id="USERNAME">%1$s</xliff:g> ຈະຈັດເກັບລະຫັດຜ່ານ ແລະ ກະແຈຜ່ານຂອງທ່ານໄວ້ເພື່ອຊ່ວຍໃຫ້ທ່ານເຂົ້າສູ່ລະບົບໄດ້ຢ່າງງ່າຍດາຍ"</string> <string name="set_as_default" msgid="4415328591568654603">"ຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນ"</string> <string name="use_once" msgid="9027366575315399714">"ໃຊ້ເທື່ອດຽວ"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> ລະຫັດຜ່ານ • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> ກະແຈຜ່ານ"</string> diff --git a/packages/CredentialManager/res/values-lt/strings.xml b/packages/CredentialManager/res/values-lt/strings.xml index 133b35709523..33944c23228b 100644 --- a/packages/CredentialManager/res/values-lt/strings.xml +++ b/packages/CredentialManager/res/values-lt/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Geresnė paskyros sauga"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Kiekvienas raktas išskirtinai susietas su programa ar svetaine, kuriai buvo sukurtas, todėl niekada per klaidą neprisijungsite prie apgavikiškos programos ar svetainės. Be to, viešieji raktai laikomi tik serveriuose, todėl įsilaužti tampa gerokai sudėtingiau."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Sklandus perėjimas"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Kol stengiamės padaryti, kad ateityje nereikėtų naudoti slaptažodžių, jie vis dar bus pasiekiami kartu su „passkey“"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Pasirinkite, kur išsaugoti „<xliff:g id="CREATETYPES">%1$s</xliff:g>“"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Pasirinkite slaptažodžių tvarkyklę, kurią naudodami galėsite išsaugoti informaciją ir kitą kartą prisijungti greičiau"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Sukurti „passkey“, skirtą „<xliff:g id="APPNAME">%1$s</xliff:g>“?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Išsaugoti <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Kurti „passkey“ kitame įrenginyje?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Naudoti <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> visada prisijungiant?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Šioje <xliff:g id="USERNAME">%1$s</xliff:g> Slaptažodžių tvarkyklėje bus saugomi jūsų slaptažodžiai ir „passkey“, kad galėtumėte lengvai prisijungti"</string> <string name="set_as_default" msgid="4415328591568654603">"Nustatyti kaip numatytąjį"</string> <string name="use_once" msgid="9027366575315399714">"Naudoti vieną kartą"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Slaptažodžių: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • „Passkey“: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-lv/strings.xml b/packages/CredentialManager/res/values-lv/strings.xml index 5222d522d26d..0aa4aa722c3a 100644 --- a/packages/CredentialManager/res/values-lv/strings.xml +++ b/packages/CredentialManager/res/values-lv/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Uzlabota kontu drošība"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Katra atslēga ir saistīta tikai ar to lietotni vai vietni, kurai tā tika izveidota, tādēļ jūs nevarēsiet nejauši pierakstīties krāpnieciskā lietotnē vai vietnē. Turklāt uzlaušanu ievērojami sarežģī tas, ka serveros tiek glabātas tikai publiskās atslēgas."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Ērta pāreja"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Kamēr notiek pāreja uz darbu bez parolēm, tās joprojām būs pieejamas līdztekus piekļuves atslēgām."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Izvēlieties, kur saglabāt savas <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Lai saglabātu informāciju un nākamreiz varētu pierakstīties ātrāk, atlasiet paroļu pārvaldnieku."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Vai izveidot piekļuves atslēgu lietotnei <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Kur jāsaglabā <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Vai izveidot piekļuves atslēgu citā ierīcē?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Vai vienmēr izmantot <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>, lai pierakstītos?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Šis paroļu pārvaldnieks glabās konta <xliff:g id="USERNAME">%1$s</xliff:g> paroles un piekļuves atslēgas, lai atvieglotu pierakstīšanos."</string> <string name="set_as_default" msgid="4415328591568654603">"Iestatīt kā noklusējumu"</string> <string name="use_once" msgid="9027366575315399714">"Izmantot vienreiz"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Paroļu skaits: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Piekļuves atslēgu skaits: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-ml/strings.xml b/packages/CredentialManager/res/values-ml/strings.xml index ecf06b2a1e93..eb75149d9a80 100644 --- a/packages/CredentialManager/res/values-ml/strings.xml +++ b/packages/CredentialManager/res/values-ml/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"മെച്ചപ്പെടുത്തിയ അക്കൗണ്ട് സുരക്ഷ"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ഓരോ കീയും ഏത് ആപ്പിന് അല്ലെങ്കിൽ വെബ്സൈറ്റിന് വേണ്ടിയാണോ സൃഷ്ടിച്ചത്, അതുമായി മാത്രം ലിങ്ക് ചെയ്തിരിക്കുന്നു, അതുകൊണ്ട് നിങ്ങൾ ഒരിക്കലും വഞ്ചനാപരമായ ഒരു ആപ്പിലേക്കോ വെബ്സൈറ്റിലേക്കോ അബദ്ധവശാൽ സൈൻ ഇൻ ചെയ്യില്ല. ഇതോടൊപ്പം, സെർവറുകളിൽ എല്ലാവർക്കുമായുള്ള കീകൾ മാത്രം സൂക്ഷിക്കുന്നതിനാൽ ഹാക്ക് ചെയ്യാൻ വളരെ ബുദ്ധിമുട്ടാണ്."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"ആയാസരഹിതമായ മാറ്റം"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"നമ്മൾ പാസ്വേഡ് രഹിത ഭാവിയിലേക്ക് ചുവടുവെച്ചുകൊണ്ടിരിക്കുകയാണ് എങ്കിലും, പാസ്കീകൾക്കൊപ്പം പാസ്വേഡുകൾ തുടർന്നും ലഭ്യമായിരിക്കും"</string> <string name="choose_provider_title" msgid="8870795677024868108">"നിങ്ങളുടെ <xliff:g id="CREATETYPES">%1$s</xliff:g> എവിടെയാണ് സംരക്ഷിക്കേണ്ടതെന്ന് തിരഞ്ഞെടുക്കുക"</string> <string name="choose_provider_body" msgid="4967074531845147434">"നിങ്ങളുടെ വിവരങ്ങൾ സംരക്ഷിക്കാനും അടുത്ത തവണ വേഗത്തിൽ സൈൻ ഇൻ ചെയ്യാനും ഒരു പാസ്വേഡ് മാനേജർ തിരഞ്ഞെടുക്കുക"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> എന്നതിനായി പാസ്കീ സൃഷ്ടിക്കണോ?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ഇനിപ്പറയുന്നതിലേക്ക് സംരക്ഷിക്കുക"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"മറ്റൊരു ഉപകരണത്തിൽ പാസ്കീ സൃഷ്ടിക്കണോ?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"നിങ്ങളുടെ എല്ലാ സൈൻ ഇന്നുകൾക്കും <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ഉപയോഗിക്കണോ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"എളുപ്പത്തിൽ സൈൻ ഇൻ ചെയ്യാൻ സഹായിക്കുന്നതിന്, <xliff:g id="USERNAME">%1$s</xliff:g> എന്ന വിലാസത്തിന്റെ ഈ Password Manager നിങ്ങളുടെ പാസ്വേഡുകളും പാസ്കീകളും സംഭരിക്കും"</string> <string name="set_as_default" msgid="4415328591568654603">"ഡിഫോൾട്ടായി സജ്ജീകരിക്കുക"</string> <string name="use_once" msgid="9027366575315399714">"ഒരു തവണ ഉപയോഗിക്കുക"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> പാസ്വേഡുകൾ • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> പാസ്കീകൾ"</string> diff --git a/packages/CredentialManager/res/values-mn/strings.xml b/packages/CredentialManager/res/values-mn/strings.xml index 46f543492a84..cf6a337713d8 100644 --- a/packages/CredentialManager/res/values-mn/strings.xml +++ b/packages/CredentialManager/res/values-mn/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Бүртгэлийн сайжруулсан аюулгүй байдал"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Түлхүүр тус бүрийг тэдгээрийг зориулж үүсгэсэн апп эсвэл вебсайттай нь тусгайлан холбодог бөгөөд ингэснээр та залилан мэхэлсэн апп эсвэл вебсайтад санамсаргүй байдлаар хэзээ ч нэвтрэхгүй. Түүнчлэн зөвхөн нийтийн түлхүүрийг хадгалж буй серверүүдийг хакердахад илүү хэцүү байдаг."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Саадгүй шилжилт"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Бид нууц үггүй ирээдүй рүү урагшлахын хэрээр нууц үг нь passkey-н хамтаар боломжтой хэвээр байх болно"</string> <string name="choose_provider_title" msgid="8870795677024868108">"<xliff:g id="CREATETYPES">%1$s</xliff:g>-г хаана хадгалахаа сонгоно уу"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Мэдээллээ хадгалж, дараагийн удаа илүү хурдан нэвтрэхийн тулд нууц үгний менежерийг сонгоно уу"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g>-д passkey үүсгэх үү?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>-г дараахад хадгалах"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Өөр төхөөрөмжид passkey үүсгэх үү?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>-г бүх нэвтрэлтдээ ашиглах уу?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Танд хялбархан нэвтрэхэд туслахын тулд <xliff:g id="USERNAME">%1$s</xliff:g>-н энэ нууц үгний менежер таны нууц үг болон passkey-г хадгална"</string> <string name="set_as_default" msgid="4415328591568654603">"Өгөгдмөлөөр тохируулах"</string> <string name="use_once" msgid="9027366575315399714">"Нэг удаа ашиглах"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> нууц үг • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> passkey"</string> diff --git a/packages/CredentialManager/res/values-mr/strings.xml b/packages/CredentialManager/res/values-mr/strings.xml index adc61213ad11..30538b5436a3 100644 --- a/packages/CredentialManager/res/values-mr/strings.xml +++ b/packages/CredentialManager/res/values-mr/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"सुधारित खाते सुरक्षा"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"प्रत्येक की ज्यांच्यासाठी बनवली आहे फक्त त्या अॅप किंवा वेबसाइटसोबत लिंक केलेली असते, ज्यमुळे तुम्ही कधीच कपटपूर्ण अॅप किंवा वेबसाइटवर चुकूनही साइन इन करणार नाही. तसेच, सर्व्हर फक्त सार्वजनिक की स्टोअर करत असल्यामुळे, हॅक करणे खूप अवघड आहे."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"अखंड संक्रमण"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"पासवर्ड न वापरणाऱ्या भविष्यात पुढे जाताना, पासवर्ड तरीही पासकीच्या बरोबरीने उपलब्ध असतील"</string> <string name="choose_provider_title" msgid="8870795677024868108">"तुमची <xliff:g id="CREATETYPES">%1$s</xliff:g> कुठे सेव्ह करायची ते निवडा"</string> <string name="choose_provider_body" msgid="4967074531845147434">"तुमची माहिती सेव्ह करण्यासाठी आणि पुढच्या वेळी जलद साइन इन करण्याकरिता Password Manager निवडा"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> साठी पासकी तयार करायची का?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> येथे सेव्ह करा"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"दुसऱ्या डिव्हाइसमध्ये पासकी तयार करायची का?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"तुमच्या सर्व साइन-इन साठी <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>वापरायचे का?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"तुम्हाला सहजरीत्या साइन इन करण्यात मदत करण्यासाठी हा <xliff:g id="USERNAME">%1$s</xliff:g> चा पासवर्ड व्यवस्थापक तुमचे पासवर्ड आणि पासकी स्टोअर करेल"</string> <string name="set_as_default" msgid="4415328591568654603">"डिफॉल्ट म्हणून सेट करा"</string> <string name="use_once" msgid="9027366575315399714">"एकदा वापरा"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> पासवर्ड • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> पासकी"</string> diff --git a/packages/CredentialManager/res/values-my/strings.xml b/packages/CredentialManager/res/values-my/strings.xml index ba9b59a4fc9d..8bd934d14cca 100644 --- a/packages/CredentialManager/res/values-my/strings.xml +++ b/packages/CredentialManager/res/values-my/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"ပိုကောင်းသော အကောင့်လုံခြုံရေး"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ကီးတစ်ခုစီကို ၎င်းအတွက် ပြုလုပ်ထားသော အက်ပ် (သို့) ဝဘ်ဆိုက်နှင့် သီးသန့်လင့်ခ်ချိတ်ထားသဖြင့် လိမ်လည်သော အက်ပ် (သို့) ဝဘ်ဆိုက်သို့ မည်သည့်အခါတွင်မှ မှားယွင်း၍ လက်မှတ်ထိုးဝင်နိုင်မည်မဟုတ်ပါ။ ထို့အပြင် ဆာဗာသီးသန့် သိမ်းထားသော အများသုံးကီးများကို ဟက်လုပ်ရန် ပိုခက်ခဲသည်။"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"အလိုအလျောက် ကူးပြောင်းခြင်း"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"စကားဝှက်မသုံးသော အနာဂတ်ဆီသို့ ရှေ့ဆက်ရာတွင် လျှို့ဝှက်ကီးများနှင့်အတူ စကားဝှက်များကို ဆက်လက်သုံးနိုင်မည်"</string> <string name="choose_provider_title" msgid="8870795677024868108">"သင်၏ <xliff:g id="CREATETYPES">%1$s</xliff:g> သိမ်းရန်နေရာ ရွေးခြင်း"</string> <string name="choose_provider_body" msgid="4967074531845147434">"သင့်အချက်အလက်သိမ်းပြီး နောက်တစ်ကြိမ်၌ ပိုမိုမြန်ဆန်စွာ လက်မှတ်ထိုးဝင်ရန် စကားဝှက်မန်နေဂျာကို ရွေးပါ"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> အတွက် လျှို့ဝှက်ကီးပြုလုပ်မလား။"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> သိမ်းမည့်နေရာ"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"အခြားစက်ပစ္စည်းတွင် လျှို့ဝှက်ကီး ပြုလုပ်မလား။"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"သင်၏လက်မှတ်ထိုးဝင်မှု အားလုံးအတွက် <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> သုံးမလား။"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"သင်အလွယ်တကူ လက်မှတ်ထိုးဝင်နိုင်ရန် <xliff:g id="USERNAME">%1$s</xliff:g> အတွက် ဤစကားဝှက်မန်နေဂျာက စကားဝှက်နှင့် လျှို့ဝှက်ကီးများကို သိမ်းမည်"</string> <string name="set_as_default" msgid="4415328591568654603">"မူရင်းအဖြစ် သတ်မှတ်ရန်"</string> <string name="use_once" msgid="9027366575315399714">"တစ်ကြိမ်သုံးရန်"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"စကားဝှက် <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> ခု • လျှို့ဝှက်ကီး <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> ခု"</string> diff --git a/packages/CredentialManager/res/values-nb/strings.xml b/packages/CredentialManager/res/values-nb/strings.xml index 50a4b479dc25..7e722a5d3711 100644 --- a/packages/CredentialManager/res/values-nb/strings.xml +++ b/packages/CredentialManager/res/values-nb/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Forbedret kontosikkerhet"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Hver nøkkel er eksklusivt tilknyttet appen eller nettstedet den er laget for. Dermed kan du aldri logge på falske apper eller nettsteder ved et uhell. Og siden tjenerne bare har offentlige nøkler, blir det mye vanskeligere å hacke deg."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Sømløs overgang"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Vi går mot en fremtid uten passord, men passord fortsetter å være tilgjengelige ved siden av tilgangsnøkler"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Velg hvor du vil lagre <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Velg et verktøy for passordlagring for å lagre informasjonen din og logge på raskere neste gang"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Vil du opprette en tilgangsnøkkel for <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Lagre <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> i"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Vil du opprette en tilgangsnøkkel på en annen enhet?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Vil du bruke <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> for alle pålogginger?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Dette verktøyet for passordlagring for <xliff:g id="USERNAME">%1$s</xliff:g> lagrer passord og tilgangsnøkler, så det blir lett å logge på"</string> <string name="set_as_default" msgid="4415328591568654603">"Angi som standard"</string> <string name="use_once" msgid="9027366575315399714">"Bruk én gang"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> passord • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> tilgangsnøkler"</string> diff --git a/packages/CredentialManager/res/values-ne/strings.xml b/packages/CredentialManager/res/values-ne/strings.xml index f77a37233cdb..08bd9b77081d 100644 --- a/packages/CredentialManager/res/values-ne/strings.xml +++ b/packages/CredentialManager/res/values-ne/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"खाताको सुदृढ सुरक्षा"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"तपाईं कहिले पनि गल्तीले कुनै कपटपूर्ण एप वा वेबसाइटमा लग इन गर्न नसक्नुहोस् भन्नाका लागि हरेक की जुन एप वा वेबसाइटको लागि बनाइएको थियो त्यसलाई खास गरी सोही एप वा वेबसाइटसँग लिंक गरिन्छ। यसका साथै, सर्भरहरूले सार्वजनिक की मात्र राखिराख्ने भएकाले ह्याक गर्न झनै कठिन भएको छ।"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"निर्बाध ट्रान्जिसन"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"हामी पासवर्डरहित भविष्यतर्फ बढ्दै गर्दा पासकीका साथसाथै पासवर्ड पनि उपलब्ध भइरहने छन्"</string> <string name="choose_provider_title" msgid="8870795677024868108">"तपाईं आफ्ना <xliff:g id="CREATETYPES">%1$s</xliff:g> कहाँ सेभ गर्न चाहनुहुन्छ भन्ने कुरा छनौट गर्नुहोस्"</string> <string name="choose_provider_body" msgid="4967074531845147434">"कुनै पासवर्ड म्यानेजरमा आफ्नो जानकारी सेभ गरी अर्को पटक अझ छिटो साइन एन गर्नुहोस्"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> को पासकी बनाउने हो?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> यहाँ सेभ गर्नुहोस्:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"अर्को डिभाइसमा पासकी बनाउने हो?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"तपाईंले साइन इन गर्ने सबै डिभाइसहरूमा <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> प्रयोग गर्ने हो?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"तपाईं सजिलैसँग साइन इन गर्न सक्नुहोस् भन्नाका लागि <xliff:g id="USERNAME">%1$s</xliff:g> को यो पासवर्ड म्यानेजरले तपाईंका पासवर्ड र पासकीहरू सेभ गर्छ"</string> <string name="set_as_default" msgid="4415328591568654603">"डिफल्ट जानकारीका रूपमा सेट गर्नुहोस्"</string> <string name="use_once" msgid="9027366575315399714">"एक पटक प्रयोग गर्नुहोस्"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> वटा पासवर्ड • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> वटा पासकी"</string> diff --git a/packages/CredentialManager/res/values-nl/strings.xml b/packages/CredentialManager/res/values-nl/strings.xml index c5c2a1ca665d..f9892b00e8f0 100644 --- a/packages/CredentialManager/res/values-nl/strings.xml +++ b/packages/CredentialManager/res/values-nl/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Verbeterde accountbeveiliging"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Elke sleutel is exclusief gekoppeld aan de app of website waarvoor deze is gemaakt. Je kunt dus nooit per ongeluk inloggen bij een bedrieglijke app of website. Bovendien bewaren servers alleen openbare sleutels, wat hacken een stuk lastiger maakt."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Naadloze overgang"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"We zijn op weg naar een wachtwoordloze toekomst, maar naast toegangssleutels kun je nog steeds gebruikmaken van wachtwoorden."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Kies waar je je <xliff:g id="CREATETYPES">%1$s</xliff:g> wilt opslaan"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecteer een wachtwoordmanager om je informatie op te slaan en de volgende keer sneller in te loggen"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Toegangssleutel maken voor <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> opslaan in"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Toegangssleutel maken op een ander apparaat?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> elke keer gebruiken als je inlogt?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Deze wachtwoordmanager voor <xliff:g id="USERNAME">%1$s</xliff:g> slaat je wachtwoorden en toegangssleutels op zodat je makkelijk kunt inloggen"</string> <string name="set_as_default" msgid="4415328591568654603">"Instellen als standaard"</string> <string name="use_once" msgid="9027366575315399714">"Eén keer gebruiken"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> wachtwoorden • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> toegangssleutels"</string> diff --git a/packages/CredentialManager/res/values-or/strings.xml b/packages/CredentialManager/res/values-or/strings.xml index 1f5312cd0807..f91f5a13b50c 100644 --- a/packages/CredentialManager/res/values-or/strings.xml +++ b/packages/CredentialManager/res/values-or/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"ଉନ୍ନତ ଆକାଉଣ୍ଟ ସୁରକ୍ଷା"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ପ୍ରତ୍ୟେକ କୀ\'କୁ ସେହି ଆପ କିମ୍ବା ୱେବସାଇଟ ସହ ଏକ୍ସକ୍ଲୁସିଭ ଭାବେ ଲିଙ୍କ କରାଯାଏ ଯେଉଁଥିପାଇଁ ଏହାକୁ ତିଆରି କରାଯାଇଛି, ଫଳରେ ଆପଣ ଭୁଲବଶତଃ କୌଣସି ପ୍ରତାରଣାମୂଳକ ଆପ କିମ୍ବା ୱେବସାଇଟରେ କେବେ ବି ସାଇନ ଇନ କରିପାରିବେ ନାହିଁ। ଏହା ସହ, କେବଳ ସର୍ଭରଗୁଡ଼ିକ ସାର୍ବଜନୀନ କୀ ରଖୁଥିବା ଯୋଗୁଁ ଏହାକୁ ହେକ କରିବା ବହୁତ କଷ୍ଟକର।"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"ବାଧାରହିତ ଟ୍ରାଞ୍ଜିସନ"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"ଆମେ ଏକ ପାସୱାର୍ଡବିହୀନ ଭବିଷ୍ୟତ ଆଡ଼କୁ ମୁଭ କରୁଥିବା ଯୋଗୁଁ ଏବେ ବି ପାସକୀଗୁଡ଼ିକ ସହିତ ପାସୱାର୍ଡ ଉପଲବ୍ଧ ହେବ"</string> <string name="choose_provider_title" msgid="8870795677024868108">"ଆପଣଙ୍କ <xliff:g id="CREATETYPES">%1$s</xliff:g> କେଉଁଠାରେ ସେଭ କରିବେ ତାହା ବାଛନ୍ତୁ"</string> <string name="choose_provider_body" msgid="4967074531845147434">"ଆପଣଙ୍କ ସୂଚନା ସେଭ କରି ପରବର୍ତ୍ତୀ ସମୟରେ ଶୀଘ୍ର ସାଇନ ଇନ କରିବା ପାଇଁ ଏକ Password Manager ଚୟନ କରନ୍ତୁ"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> ପାଇଁ ପାସକୀ ତିଆରି କରିବେ?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>କୁ ଏଥିରେ ସେଭ କରନ୍ତୁ"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"ଅନ୍ୟ ଏକ ଡିଭାଇସରେ ପାସକୀ ତିଆରି କରିବେ?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"ଆପଣଙ୍କ ସମସ୍ତ ସାଇନ-ଇନ ପାଇଁ <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ବ୍ୟବହାର କରିବେ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"ସହଜରେ ସାଇନ ଇନ କରିବାରେ ଆପଣଙ୍କୁ ସାହାଯ୍ୟ କରିବାକୁ <xliff:g id="USERNAME">%1$s</xliff:g>ଙ୍କ ପାଇଁ ଏହି Password Manager ଆପଣଙ୍କ ପାସୱାର୍ଡ ଏବଂ ପାସକୀଗୁଡ଼ିକୁ ଷ୍ଟୋର କରିବ"</string> <string name="set_as_default" msgid="4415328591568654603">"ଡିଫଲ୍ଟ ଭାବେ ସେଟ କରନ୍ତୁ"</string> <string name="use_once" msgid="9027366575315399714">"ଥରେ ବ୍ୟବହାର କରନ୍ତୁ"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g>ଟି ପାସୱାର୍ଡ • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>ଟି ପାସକୀ"</string> diff --git a/packages/CredentialManager/res/values-pa/strings.xml b/packages/CredentialManager/res/values-pa/strings.xml index 98be412f051c..64c1149f7906 100644 --- a/packages/CredentialManager/res/values-pa/strings.xml +++ b/packages/CredentialManager/res/values-pa/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"ਬਿਹਤਰ ਖਾਤਾ ਸੁਰੱਖਿਆ"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ਹਰੇਕ ਕੁੰਜੀ ਖਾਸ ਤੌਰ \'ਤੇ ਉਸ ਐਪ ਜਾਂ ਵੈੱਬਸਾਈਟ ਨਾਲ ਲਿੰਕ ਹੁੰਦੀ ਹੈ ਜਿਸ ਲਈ ਉਹ ਬਣਾਈ ਗਈ ਸੀ, ਇਸ ਲਈ ਤੁਸੀਂ ਕਦੇ ਵੀ ਗਲਤੀ ਨਾਲ ਕਿਸੇ ਧੋਖਾਧੜੀ ਵਾਲੀ ਐਪ ਜਾਂ ਵੈੱਬਸਾਈਟ \'ਤੇ ਸਾਈਨ-ਇਨ ਨਹੀਂ ਕਰ ਸਕਦੇ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਸਿਰਫ਼ ਜਨਤਕ ਕੁੰਜੀਆਂ ਵਾਲੇ ਸਰਵਰਾਂ \'ਤੇ, ਹੈਕਿੰਗ ਕਰਨਾ ਬਹੁਤ ਔਖਾ ਹੁੰਦਾ ਹੈ।"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"ਸਹਿਜ ਪਰਿਵਰਤਨ"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"ਜਿਵੇਂ ਕਿ ਅਸੀਂ ਪਾਸਵਰਡ-ਰਹਿਤ ਭਵਿੱਖ ਵੱਲ ਵਧ ਰਹੇ ਹਾਂ, ਪਰ ਪਾਸਕੀਆਂ ਦੇ ਨਾਲ ਪਾਸਵਰਡ ਹਾਲੇ ਵੀ ਉਪਲਬਧ ਹੋਣਗੇ"</string> <string name="choose_provider_title" msgid="8870795677024868108">"ਚੁਣੋ ਕਿ ਆਪਣੀਆਂ <xliff:g id="CREATETYPES">%1$s</xliff:g> ਨੂੰ ਕਿੱਥੇ ਰੱਖਿਅਤ ਕਰਨਾ ਹੈ"</string> <string name="choose_provider_body" msgid="4967074531845147434">"ਆਪਣੀ ਜਾਣਕਾਰੀ ਨੂੰ ਰੱਖਿਅਤ ਕਰਨ ਅਤੇ ਅਗਲੀ ਵਾਰ ਤੇਜ਼ੀ ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਪਾਸਵਰਡ ਪ੍ਰਬੰਧਕ ਚੁਣੋ"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"ਕੀ <xliff:g id="APPNAME">%1$s</xliff:g> ਲਈ ਪਾਸਕੀ ਬਣਾਉਣੀ ਹੈ?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ਨੂੰ ਇੱਥੇ ਰੱਖਿਅਤ ਕਰੋ"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"ਕੀ ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ ਨਾਲ ਪਾਸਕੀ ਬਣਾਉਣੀ ਹੈ?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"ਕੀ ਆਪਣੇ ਸਾਰੇ ਸਾਈਨ-ਇਨਾਂ ਲਈ<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> ਦਾ ਇਹ Password Manager ਆਸਾਨੀ ਨਾਲ ਸਾਈਨ-ਇਨ ਕਰਨ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰਨ ਲਈ ਤੁਹਾਡੇ ਪਾਸਵਰਡਾਂ ਅਤੇ ਪਾਸਕੀਆਂ ਨੂੰ ਸਟੋਰ ਕਰੇਗਾ"</string> <string name="set_as_default" msgid="4415328591568654603">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਜੋਂ ਸੈੱਟ ਕਰੋ"</string> <string name="use_once" msgid="9027366575315399714">"ਇੱਕ ਵਾਰ ਵਰਤੋ"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> ਪਾਸਵਰਡ • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> ਪਾਸਕੀਆਂ"</string> diff --git a/packages/CredentialManager/res/values-pl/strings.xml b/packages/CredentialManager/res/values-pl/strings.xml index e3b3a8cdb3d2..787a3ba86508 100644 --- a/packages/CredentialManager/res/values-pl/strings.xml +++ b/packages/CredentialManager/res/values-pl/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Zwiększone bezpieczeństwo konta"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Każdy klucz jest połączony wyłącznie z aplikacją lub stroną, dla której został utworzony, więc nie zalogujesz się przypadkowo w fałszywej aplikacji ani na fałszywej stronie. Ponadto na serwerach są przechowywane wyłącznie klucze publiczne, co znacznie utrudnia hakowanie."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Płynne przechodzenie"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"W czasie przechodzenia na technologie niewymagające haseł możliwość stosowania haseł – niezależnie od kluczy – wciąż będzie dostępna"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Wybierz, gdzie zapisywać <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Wybierz menedżera haseł, aby zapisywać informacje i logować się szybciej"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Utworzyć klucz dla aplikacji <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Zapisać <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> w:"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Utworzyć klucz na innym urządzeniu?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Używać usługi <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> w przypadku wszystkich danych logowania?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Menedżer haseł na koncie <xliff:g id="USERNAME">%1$s</xliff:g> będzie zapisywał Twoje hasła i klucze, aby ułatwić Ci logowanie"</string> <string name="set_as_default" msgid="4415328591568654603">"Ustaw jako domyślną"</string> <string name="use_once" msgid="9027366575315399714">"Użyj raz"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Hasła: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Klucze: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-pt-rBR/strings.xml b/packages/CredentialManager/res/values-pt-rBR/strings.xml index 289cdea28f45..3250fb02a7c9 100644 --- a/packages/CredentialManager/res/values-pt-rBR/strings.xml +++ b/packages/CredentialManager/res/values-pt-rBR/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Mais segurança para sua conta"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Cada chave está vinculada exclusivamente ao app ou site para a qual foi criada. Isso impede que você faça login em um app ou site fraudulento por engano. Além disso, os servidores mantêm apenas chaves públicas, dificultando qualquer invasão."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transição simplificada"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Estamos avançando rumo a um futuro sem senhas, mas elas ainda vão estar disponíveis junto às chaves de acesso"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Escolha onde salvar suas <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecione um gerenciador de senhas para salvar suas informações e fazer login mais rapidamente na próxima vez"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Criar uma chave de acesso para o app <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Salvar <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> em"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Criar chave de acesso em outro dispositivo?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Usar <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> para todos os seus logins?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Esse gerenciador vai armazenar as senhas e chaves de acesso para facilitar o processo de login de <xliff:g id="USERNAME">%1$s</xliff:g>"</string> <string name="set_as_default" msgid="4415328591568654603">"Definir como padrão"</string> <string name="use_once" msgid="9027366575315399714">"Usar uma vez"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> senhas • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> chaves de acesso"</string> diff --git a/packages/CredentialManager/res/values-pt/strings.xml b/packages/CredentialManager/res/values-pt/strings.xml index 289cdea28f45..3250fb02a7c9 100644 --- a/packages/CredentialManager/res/values-pt/strings.xml +++ b/packages/CredentialManager/res/values-pt/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Mais segurança para sua conta"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Cada chave está vinculada exclusivamente ao app ou site para a qual foi criada. Isso impede que você faça login em um app ou site fraudulento por engano. Além disso, os servidores mantêm apenas chaves públicas, dificultando qualquer invasão."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Transição simplificada"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Estamos avançando rumo a um futuro sem senhas, mas elas ainda vão estar disponíveis junto às chaves de acesso"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Escolha onde salvar suas <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selecione um gerenciador de senhas para salvar suas informações e fazer login mais rapidamente na próxima vez"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Criar uma chave de acesso para o app <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Salvar <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> em"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Criar chave de acesso em outro dispositivo?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Usar <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> para todos os seus logins?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Esse gerenciador vai armazenar as senhas e chaves de acesso para facilitar o processo de login de <xliff:g id="USERNAME">%1$s</xliff:g>"</string> <string name="set_as_default" msgid="4415328591568654603">"Definir como padrão"</string> <string name="use_once" msgid="9027366575315399714">"Usar uma vez"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> senhas • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> chaves de acesso"</string> diff --git a/packages/CredentialManager/res/values-ro/strings.xml b/packages/CredentialManager/res/values-ro/strings.xml index 46147a312d74..96caac73c7d9 100644 --- a/packages/CredentialManager/res/values-ro/strings.xml +++ b/packages/CredentialManager/res/values-ro/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Securitate îmbunătățită a contului"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Fiecare cheie este conectată în mod exclusiv cu aplicația sau site-ul pentru care a fost creată, prin urmare nu te poți conecta niciodată din greșeală la o aplicație sau un site fraudulos. În plus, întrucât pe servere sunt stocate doar chei publice, hackingul este mult mai dificil."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Tranziție fluidă"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Ne îndreptăm spre un viitor fără parole, în care parolele vor fi disponibile pe lângă cheile de acces"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Alege unde dorești să salvezi <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Selectează un manager de parole pentru a salva informațiile și a te conecta mai rapid data viitoare"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Creezi o cheie de acces pentru <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Salvează <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> în"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Creezi cheia de acces pe alt dispozitiv?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Folosești <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> pentru toate conectările?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Managerul de parole pentru <xliff:g id="USERNAME">%1$s</xliff:g> îți va stoca parolele și cheile de acces, pentru a te ajuta să te conectezi cu ușurință"</string> <string name="set_as_default" msgid="4415328591568654603">"Setează ca prestabilite"</string> <string name="use_once" msgid="9027366575315399714">"Folosește o dată"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> parole • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> chei de acces"</string> diff --git a/packages/CredentialManager/res/values-ru/strings.xml b/packages/CredentialManager/res/values-ru/strings.xml index a76f79a107a6..4e7ff7d1e0b7 100644 --- a/packages/CredentialManager/res/values-ru/strings.xml +++ b/packages/CredentialManager/res/values-ru/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Повышенная безопасность аккаунта"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Каждый ключ связан только с тем приложением или сайтом, для которого был создан, поэтому вы не сможете по ошибке войти в приложение или на сайт мошенников. Кроме того, на серверах хранятся только открытые ключи, что служит дополнительной защитой от взлома."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Плавный переход"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Хотя мы движемся к будущему без паролей, их по-прежнему можно будет использовать наряду с ключами доступа."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Укажите, куда нужно сохранить <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Выберите менеджер паролей, чтобы сохранять учетные данные и быстро выполнять вход."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Создать ключ доступа для приложения \"<xliff:g id="APPNAME">%1$s</xliff:g>\"?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Сохранить <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> в"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Создать ключ доступа на другом устройстве?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Всегда входить с помощью приложения \"<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>\"?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"В этом менеджере паролей пользователь <xliff:g id="USERNAME">%1$s</xliff:g> сможет сохранять пароли и ключи доступа для быстрого входа."</string> <string name="set_as_default" msgid="4415328591568654603">"Использовать по умолчанию"</string> <string name="use_once" msgid="9027366575315399714">"Использовать один раз"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Пароли (<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g>) и ключи доступа (<xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>)"</string> diff --git a/packages/CredentialManager/res/values-si/strings.xml b/packages/CredentialManager/res/values-si/strings.xml index 9b7337b63d4a..95e326c7060c 100644 --- a/packages/CredentialManager/res/values-si/strings.xml +++ b/packages/CredentialManager/res/values-si/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"වැඩිදියුණු කළ ගිණුම් ආරක්ෂාව"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"සෑම යතුරක්ම ඒවා නිර්මාණය කරන ලද යෙදුම හෝ වෙබ් අඩවිය සමග අනන්ය වශයෙන්ම සම්බන්ධ කර ඇත, එබැවින් ඔබට කිසි විටෙක වැරදීමකින් වංචනික යෙදුමකට හෝ වෙබ් අඩවියකට පුරනය විය නොහැක. ඊට අමතරව, සේවාදායකයින් පොදු යතුරු තබා ගැනීමත් සමග, අනවසරයෙන් ඇතුළුවීම වඩා දුෂ්කරය."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"බාධාවකින් තොර සංක්රමණය"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"අපි මුරපද රහිත අනාගතයක් කරා ගමන් කරන විට, මුරයතුරු සමග මුරපද තවමත් පවතිනු ඇත"</string> <string name="choose_provider_title" msgid="8870795677024868108">"ඔබේ <xliff:g id="CREATETYPES">%1$s</xliff:g> සුරැකිය යුතු ස්ථානය තෝරා ගන්න"</string> <string name="choose_provider_body" msgid="4967074531845147434">"ඔබේ තතු සුරැකීමට සහ මීළඟ වතාවේ වේගයෙන් පුරනය වීමට මුරපද කළමනාකරුවෙකු තෝරන්න"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> සඳහා මුරයතුර තනන්න ද?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"වෙත <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> සුරකින්න"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"වෙනත් උපාංගයක මුරයතුර තනන්න ද?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"ඔබේ සියලු පුරනය වීම් සඳහා <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> භාවිතා කරන්න ද?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> සඳහා මෙම මුරපද කළමනාකරු ඔබට පහසුවෙන් පුරනය වීමට උදවු කිරීම සඳහා ඔබේ මුරපද සහ මුරයතුරු ගබඩා කරනු ඇත"</string> <string name="set_as_default" msgid="4415328591568654603">"පෙරනිමි ලෙස සකසන්න"</string> <string name="use_once" msgid="9027366575315399714">"වරක් භාවිතා කරන්න"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"මුරපද <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g>ක් • මුරයතුරු <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>ක්"</string> diff --git a/packages/CredentialManager/res/values-sk/strings.xml b/packages/CredentialManager/res/values-sk/strings.xml index 8d33eab68856..48cece1df56d 100644 --- a/packages/CredentialManager/res/values-sk/strings.xml +++ b/packages/CredentialManager/res/values-sk/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Lepšie zabezpečenie účtu"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Každý kľúč je výhradne prepojený s aplikáciou alebo webom, pre ktorý bol vytvorený, takže sa nikdy nemôžete omylom prihlásiť do podvodnej aplikácie alebo na podvodnom webe. Servery navyše uchovávajú iba verejné kľúče, čím podstatne sťažujú hackovanie."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Plynulý prechod"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Blížime sa k budúcnosti bez hesiel, ale heslá budú popri prístupových kľúčoch stále k dispozícii"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Vyberte, kam sa majú ukladať <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Vyberte správcu hesiel, do ktorého sa budú ukladať vaše údaje, aby ste sa nabudúce mohli rýchlejšie prihlásiť"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Chcete vytvoriť prístupový kľúč pre aplikáciu <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Uložiť <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> do"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Chcete vytvoriť prístupový kľúč v inom zariadení?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Chcete pre všetky svoje prihlasovacie údaje použiť <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Tento správca hesiel poskytovateľa <xliff:g id="USERNAME">%1$s</xliff:g> uchová vaše heslá a prístupové kľúče, aby vám pomohol ľahšie sa prihlasovať"</string> <string name="set_as_default" msgid="4415328591568654603">"Nastaviť ako predvolené"</string> <string name="use_once" msgid="9027366575315399714">"Použiť raz"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Počet hesiel: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Počet prístupových kľúčov: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-sl/strings.xml b/packages/CredentialManager/res/values-sl/strings.xml index 666e046bfde0..5fde9ffb524c 100644 --- a/packages/CredentialManager/res/values-sl/strings.xml +++ b/packages/CredentialManager/res/values-sl/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Večja varnost računov"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Vsak ključ je neločljivo povezan z aplikacijo ali spletnim mestom, za katero je bil ustvarjen, zato se nikoli ne morete pomotoma prijaviti v goljufivo aplikacijo ali spletno mesto. Poleg tega so v strežnikih shranjeni le javni ključi, zato je vdiranje v račune precej oteženo."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Prehod brez zapletov"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Na poti v prihodnost brez gesel bodo poleg ključev za dostop še vedno v uporabi tudi gesla."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Izbira mesta za shranjevanje <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Izberite upravitelja gesel za shranjevanje podatkov za prijavo, da se boste naslednjič lahko hitreje prijavili."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Želite ustvariti ključ za dostop do aplikacije <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Mesto shranjevanja: <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Želite ustvariti ključ za dostop v drugi napravi?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Želite za vse prijave uporabiti »<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>«?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"V tem upravitelju gesel za uporabnika <xliff:g id="USERNAME">%1$s</xliff:g> bodo shranjeni gesla in ključi za dostop, kar vam bo olajšalo prijavo."</string> <string name="set_as_default" msgid="4415328591568654603">"Nastavi kot privzeto"</string> <string name="use_once" msgid="9027366575315399714">"Uporabi enkrat"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Št. gesel: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Št. ključev za dostop: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-sq/strings.xml b/packages/CredentialManager/res/values-sq/strings.xml index 83a4f61e005f..957fd35a1a29 100644 --- a/packages/CredentialManager/res/values-sq/strings.xml +++ b/packages/CredentialManager/res/values-sq/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Siguri e përmirësuar e llogarisë"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Secili çelës është i lidhur ekskluzivisht me aplikacionin ose sajtin e uebit për të cilin është krijuar, kështu që nuk do të identifikohesh asnjëherë gabimisht në një aplikacion ose sajt uebi mashtrues. Gjithashtu, me serverët që mbajnë vetëm çelësa publikë, pirateria informatike është shumë më e vështirë."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Kalim i thjeshtuar"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Teksa shkojmë drejt një të ardhmeje pa fjalëkalime, këto të fundit do të ofrohen ende së bashku me çelësat e kalimit"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Zgjidh se ku t\'i ruash <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Zgjidh një menaxher fjalëkalimesh për të ruajtur informacionet e tua dhe për t\'u identifikuar më shpejt herën tjetër"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Të krijohet çelësi i kalimit për <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Ruaj <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> te"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Të krijohet çelës kalimi në një pajisje tjetër?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Të përdoret <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> për të gjitha identifikimet?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Ky menaxher i fjalëkalimeve për <xliff:g id="USERNAME">%1$s</xliff:g> do të ruajë fjalëkalimet dhe çelësat e kalimit për të të ndihmuar të identifikohesh me lehtësi"</string> <string name="set_as_default" msgid="4415328591568654603">"Cakto si parazgjedhje"</string> <string name="use_once" msgid="9027366575315399714">"Përdor një herë"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> fjalëkalime • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> çelësa kalimi"</string> diff --git a/packages/CredentialManager/res/values-sr/strings.xml b/packages/CredentialManager/res/values-sr/strings.xml index aa7ae112d556..b550c1bdd960 100644 --- a/packages/CredentialManager/res/values-sr/strings.xml +++ b/packages/CredentialManager/res/values-sr/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Побољшана безбедност налога"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Сваки кључ је искључиво повезан са апликацијом или веб-сајтом за које је направљен, па никад не можете грешком да се пријавите у апликацију или на веб-сајт који служе за превару. Осим тога, са серверима који чувају само јавне кључеве хаковање је много теже."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Беспрекоран прелаз"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Како се крећемо ка будућности без лозинки, лозинке ће и даље бити доступне уз приступне кодове"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Одаберите где ћете сачувати ставке <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Изаберите менаџера лозинки да бисте сачували податке и брже се пријавили следећи пут"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Желите да направите приступни кôд за: <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Сачувај ставку <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> у"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Желите да направите приступни кôд на другом уређају?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Желите да за сва пријављивања користите: <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Овај менаџер лозинки за <xliff:g id="USERNAME">%1$s</xliff:g> ће чувати лозинке и приступне кодове да бисте се лако пријављивали"</string> <string name="set_as_default" msgid="4415328591568654603">"Подеси као подразумевано"</string> <string name="use_once" msgid="9027366575315399714">"Користи једном"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Лозинки: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Приступних кодова:<xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-sv/strings.xml b/packages/CredentialManager/res/values-sv/strings.xml index 89fa78381402..440ee6e42c0f 100644 --- a/packages/CredentialManager/res/values-sv/strings.xml +++ b/packages/CredentialManager/res/values-sv/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Förbättrad kontosäkerhet"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Varje nyckel är exklusivt länkad till appen eller webbplatsen den skapades för, så du kan aldrig logga in i en bedräglig app eller webbplats av misstag. Hackning blir dessutom mycket svårare eftersom servrar bara behåller offentliga nycklar."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"En sömlös övergång"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Medan vi beger oss mot en lösenordslös framtid kommer lösenord fortfarande att vara tillgängliga utöver nycklar"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Välj var du vill spara <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Välj en lösenordshanterare för att spara dina uppgifter och logga in snabbare nästa gång"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Vill du skapa en nyckel för <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Spara <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> i"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Vill du skapa en nyckel på en annan enhet?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Vill du använda <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> för alla dina inloggningar?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Den här lösenordshanteraren för <xliff:g id="USERNAME">%1$s</xliff:g> sparar dina lösenord och nycklar för att underlätta inloggning"</string> <string name="set_as_default" msgid="4415328591568654603">"Ange som standard"</string> <string name="use_once" msgid="9027366575315399714">"Använd en gång"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> lösenord • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> nycklar"</string> diff --git a/packages/CredentialManager/res/values-sw/strings.xml b/packages/CredentialManager/res/values-sw/strings.xml index e0cab524c9aa..6f71ed7d5d89 100644 --- a/packages/CredentialManager/res/values-sw/strings.xml +++ b/packages/CredentialManager/res/values-sw/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Ulinzi wa akaunti ulioboreshwa"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Kila ufunguo umeunganishwa kwa upekee na programu au tovuti husika, kwa hivyo kamwe huwezi kuingia katika akaunti ya programu au tovuti ya kilaghai kwa bahati mbaya. Pia, kwa kuwa seva huhifadhi tu funguo za umma, udukuzi si rahisi."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Mabadiliko rahisi"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Tunavyoelekea katika enzi isiyo ya manenosiri, manenosiri yataendelea kupatikana pamoja na funguo za siri"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Chagua ambako unahifadhi <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Chagua kidhibiti cha manenosiri ili uhifadhi taarifa zako na uingie kwenye akaunti kwa urahisi wakati mwingine"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Ungependa kuunda ufunguo wa siri kwa ajili ya <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Hifadhi <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> kwenye"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Ungependa kuunda ufunguo wa siri kwenye kifaa kingine?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Ungependa kutumia <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> kwa ajili ya michakato yako yote ya kuingia katika akaunti?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Kidhibiti hiki cha manenosiri cha <xliff:g id="USERNAME">%1$s</xliff:g> kitahifadhi manenosiri na funguo zako za siri ili kukusaidia uingie katika akaunti kwa urahisi"</string> <string name="set_as_default" msgid="4415328591568654603">"Weka iwe chaguomsingi"</string> <string name="use_once" msgid="9027366575315399714">"Tumia mara moja"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Manenosiri <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • funguo <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> za siri"</string> diff --git a/packages/CredentialManager/res/values-ta/strings.xml b/packages/CredentialManager/res/values-ta/strings.xml index b340c2e40762..593aac32416d 100644 --- a/packages/CredentialManager/res/values-ta/strings.xml +++ b/packages/CredentialManager/res/values-ta/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"மேம்படுத்தப்பட்ட கணக்குப் பாதுகாப்பு"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ஒவ்வொரு குறியீடும் எந்த ஆப்ஸ்/இணையதளத்திற்காக உருவாக்கப்பட்டதோ அதனுடன் மட்டுமே இணைக்கப்பட்டிருக்கும். இது மோசடியான ஆப்ஸ்/இணையதளத்தில் நீங்கள் தவறுதலாக உள்நுழைவதைத் தடுக்கும். அத்துடன், சேவையகங்களில் பொதுக் குறியீடுகள் மட்டுமே சேமிக்கப்படுவதால் கணக்கை ஹேக் செய்வது மிகக் கடினமாகும்."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"தடையற்ற டிரான்ஸிஷன்"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"கடவுச்சொல்லற்ற எதிர்காலத்தை நோக்கி நாம் பயணிக்கிறோம். கடவுச்சாவிகளைப் பயன்படுத்தும் இதே வேளையில் கடவுச்சொற்களையும் பயன்படுத்த முடியும்"</string> <string name="choose_provider_title" msgid="8870795677024868108">"உங்கள் <xliff:g id="CREATETYPES">%1$s</xliff:g> எங்கே சேமிக்கப்பட வேண்டும் என்பதைத் தேர்வுசெய்யுங்கள்"</string> <string name="choose_provider_body" msgid="4967074531845147434">"உங்கள் தகவல்களைச் சேமித்து அடுத்த முறை விரைவாக உள்நுழைய ஒரு கடவுச்சொல் நிர்வாகியைத் தேர்வுசெய்யுங்கள்"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> ஆப்ஸுக்கான கடவுச்சாவியை உருவாக்கவா?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ஐ இதில் சேமியுங்கள்"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"வேறொரு சாதனத்தில் கடவுச்சாவியை உருவாக்க வேண்டுமா?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"உங்கள் அனைத்து உள்நுழைவுகளுக்கும் <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>ஐப் பயன்படுத்தவா?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> என்ற மின்னஞ்சல் முகவரிக்கான இந்தக் கடவுச்சொல் நிர்வாகி உங்கள் கடவுச்சொற்களையும் கடவுச்சாவிகளையும் சேமித்து நீங்கள் எளிதாக உள்நுழைய உதவும்"</string> <string name="set_as_default" msgid="4415328591568654603">"இயல்பானதாக அமை"</string> <string name="use_once" msgid="9027366575315399714">"ஒருமுறை பயன்படுத்தவும்"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> கடவுச்சொற்கள் • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> கடவுச்சாவிகள்"</string> diff --git a/packages/CredentialManager/res/values-te/strings.xml b/packages/CredentialManager/res/values-te/strings.xml index 3b9c57fd55ae..ae6149df0fb5 100644 --- a/packages/CredentialManager/res/values-te/strings.xml +++ b/packages/CredentialManager/res/values-te/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"మెరుగైన ఖాతా సెక్యూరిటీ"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ప్రతి కీ దానిని క్రియేట్ చేసిన యాప్ లేదా వెబ్సైట్తో ప్రత్యేకంగా లింక్ చేయబడి ఉంటుంది, కాబట్టి మీరు పొరపాటున కూడా మోసపూరిత యాప్ లేదా వెబ్సైట్కు సైన్ ఇన్ చేయలేరు. అంతే కాకుండా, సర్వర్లు పబ్లిక్ కీలను మాత్రమే స్టోర్ చేయడం వల్ల, హ్యాకింగ్ చేయడం చాలా కష్టం."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"అవాంతరాలు లేని పరివర్తన"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"మనం భవిష్యత్తులో పాస్వర్డ్ రహిత టెక్నాలజీని ఉపయోగించినా, పాస్-కీలతో పాటు పాస్వర్డ్లు కూడా అందుబాటులో ఉంటాయి"</string> <string name="choose_provider_title" msgid="8870795677024868108">"మీ <xliff:g id="CREATETYPES">%1$s</xliff:g> ఎక్కడ సేవ్ చేయాలో ఎంచుకోండి"</string> <string name="choose_provider_body" msgid="4967074531845147434">"మీ సమాచారాన్ని సేవ్ చేయడం కోసం ఒక Password Managerను ఎంచుకొని, తర్వాతిసారి వేగంగా సైన్ ఇన్ చేయండి"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> కోసం పాస్-కీని క్రియేట్ చేయాలా?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>లో సేవ్ చేయండి"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"మరొక పరికరంలో పాస్కీని క్రియేట్ చేయాలా?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"మీ అన్ని సైన్-ఇన్ వివరాల కోసం <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>ను ఉపయోగించాలా?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> కోసం ఈ పాస్వర్డ్ మేనేజర్ మీకు సులభంగా సైన్ ఇన్ చేయడంలో సహాయపడటానికి మీ పాస్వర్డ్లు, పాస్-కీలను స్టోర్ చేస్తుంది"</string> <string name="set_as_default" msgid="4415328591568654603">"ఆటోమేటిక్ సెట్టింగ్గా సెట్ చేయండి"</string> <string name="use_once" msgid="9027366575315399714">"ఒకసారి ఉపయోగించండి"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> పాస్వర్డ్లు • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> పాస్-కీలు"</string> diff --git a/packages/CredentialManager/res/values-th/strings.xml b/packages/CredentialManager/res/values-th/strings.xml index bc2000133459..894befbe27ae 100644 --- a/packages/CredentialManager/res/values-th/strings.xml +++ b/packages/CredentialManager/res/values-th/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"ความปลอดภัยของบัญชีที่เพิ่มมากขึ้น"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"คีย์ที่สร้างขึ้นแต่ละคีย์จะลิงก์กับแอปหรือเว็บไซต์ที่ใช้งานคีย์ดังกล่าวเท่านั้น ดังนั้นจึงไม่มีการลงชื่อเข้าใช้แอปเว็บไซต์ที่เป็นการฉ้อโกงโดยไม่ตั้งใจเกิดขึ้น นอกจากนี้ เซิร์ฟเวอร์จะบันทึกเฉพาะคีย์สาธารณะ จึงทำให้แฮ็กได้ยากขึ้น"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"การเปลี่ยนผ่านอย่างราบรื่น"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"ในขณะที่เราก้าวไปสู่อนาคตที่ไม่ต้องใช้รหัสผ่านนั้น รหัสผ่านจะยังคงใช้ได้อยู่ควบคู่ไปกับการเปลี่ยนไปใช้พาสคีย์"</string> <string name="choose_provider_title" msgid="8870795677024868108">"เลือกว่าต้องการบันทึก<xliff:g id="CREATETYPES">%1$s</xliff:g>ไว้ที่ใด"</string> <string name="choose_provider_body" msgid="4967074531845147434">"เลือกเครื่องมือจัดการรหัสผ่านเพื่อบันทึกข้อมูลและลงชื่อเข้าใช้เร็วขึ้นในครั้งถัดไป"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"สร้างพาสคีย์สำหรับ <xliff:g id="APPNAME">%1$s</xliff:g> ไหม"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"บันทึก<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>ไปยัง"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"สร้างพาสคีย์ในอุปกรณ์อื่นไหม"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"ใช้ <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> สำหรับการลงชื่อเข้าใช้ทั้งหมดใช่ไหม"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"เครื่องมือจัดการรหัสผ่านสำหรับ <xliff:g id="USERNAME">%1$s</xliff:g> นี้จะจัดเก็บรหัสผ่านและพาสคีย์ไว้เพื่อช่วยให้คุณลงชื่อเข้าใช้ได้โดยง่าย"</string> <string name="set_as_default" msgid="4415328591568654603">"ตั้งเป็นค่าเริ่มต้น"</string> <string name="use_once" msgid="9027366575315399714">"ใช้ครั้งเดียว"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"รหัสผ่าน <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> รายการ • พาสคีย์ <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> รายการ"</string> diff --git a/packages/CredentialManager/res/values-tl/strings.xml b/packages/CredentialManager/res/values-tl/strings.xml index f4814bcd47af..27452d603a9b 100644 --- a/packages/CredentialManager/res/values-tl/strings.xml +++ b/packages/CredentialManager/res/values-tl/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Pinahusay na seguridad sa account"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Eksklusibong naka-link sa app o website kung para saan ginawa ang bawat key, kaya hindi ka makakapag-sign in sa isang mapanlokong app o website nang hindi sinasadya. Bukod pa rito, dahil mga pampublikong key lang ang itinatabi ng mga server, lubos na mas mahirap ang pag-hack."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Madaling transition"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Habang papalapit tayo sa panahon kung saan hindi na gagamit ng mga password, magiging available pa rin ang mga password kasama ng mga passkey"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Piliin kung saan mo ise-save ang iyong <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Pumili ng password manager para ma-save ang iyong impormasyon at makapag-sign in nang mas mabilis sa susunod na pagkakataon"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Gumawa ng passkey para sa <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"I-save ang <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> sa"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Gumawa ng passkey sa ibang device?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Gamitin ang <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> para sa lahat ng iyong pag-sign in?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Iso-store ng password manager na ito para sa <xliff:g id="USERNAME">%1$s</xliff:g> ang iyong mga password at passkey para madali kang makapag-sign in"</string> <string name="set_as_default" msgid="4415328591568654603">"Itakda bilang default"</string> <string name="use_once" msgid="9027366575315399714">"Gamitin nang isang beses"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> (na) password • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> (na) passkey"</string> diff --git a/packages/CredentialManager/res/values-tr/strings.xml b/packages/CredentialManager/res/values-tr/strings.xml index bc3c4e2abf79..9ef4fc3b559b 100644 --- a/packages/CredentialManager/res/values-tr/strings.xml +++ b/packages/CredentialManager/res/values-tr/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Daha iyi hesap güvenliği"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Her anahtar, oluşturulduğu uygulama veya web sitesiyle özel olarak bağlantılı olduğu için sahte bir uygulamaya veya web sitesine hiçbir zaman yanlışlıkla giriş yapamazsınız. Ayrıca, sunucularda yalnızca ortak anahtarlar saklandığı için saldırıya uğramak daha zordur."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Sorunsuz geçiş"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Şifresiz bir geleceğe doğru ilerlerken şifreler, şifre anahtarlarıyla birlikte kullanılmaya devam edecektir."</string> <string name="choose_provider_title" msgid="8870795677024868108">"<xliff:g id="CREATETYPES">%1$s</xliff:g> kaydedileceği yeri seçin"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Bilgilerinizi kaydedip bir dahaki sefere daha hızlı oturum açmak için bir şifre yöneticisi seçin"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> için şifre anahtarı oluşturulsun mu?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> kaydedileceği yeri seçin"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Başka bir cihazda şifre anahtarı oluşturulsun mu?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Tüm oturum açma işlemlerinizde <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> kullanılsın mı?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> için bu şifre yöneticisi, şifrelerinizi ve şifre anahtarlarınızı saklayarak kolayca oturum açmanıza yardımcı olur"</string> <string name="set_as_default" msgid="4415328591568654603">"Varsayılan olarak ayarla"</string> <string name="use_once" msgid="9027366575315399714">"Bir kez kullanın"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> şifre • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> şifre anahtarı"</string> diff --git a/packages/CredentialManager/res/values-uk/strings.xml b/packages/CredentialManager/res/values-uk/strings.xml index abba2610ad74..3c0655607a23 100644 --- a/packages/CredentialManager/res/values-uk/strings.xml +++ b/packages/CredentialManager/res/values-uk/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Підвищена безпека облікового запису"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Кожен ключ зв’язано виключно з додатком або веб-сайтом, для якого його створено, тому ви ніколи не зможете помилково ввійти в шахрайський додаток чи на шахрайський веб-сайт. Крім того, коли на серверах зберігаються лише відкриті ключі, зламати захист набагато складніше."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Плавний перехід"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"На шляху до безпарольного майбутнього паролі й надалі будуть використовуватися паралельно з ключами"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Виберіть, де зберігати <xliff:g id="CREATETYPES">%1$s</xliff:g>"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Виберіть менеджер паролів, щоб зберігати свої дані й надалі входити в облікові записи швидше"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Створити ключ доступу для додатка <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Зберегти <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> в"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Створити ключ доступу на іншому пристрої?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Використовувати сервіс <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> в усіх випадках входу?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Цей менеджер паролів для користувача <xliff:g id="USERNAME">%1$s</xliff:g> зберігатиме ваші паролі й ключі доступу, щоб ви могли легко входити в облікові записи"</string> <string name="set_as_default" msgid="4415328591568654603">"Вибрати за умовчанням"</string> <string name="use_once" msgid="9027366575315399714">"Скористатися раз"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Кількість паролів: <xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • Кількість ключів доступу: <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/res/values-ur/strings.xml b/packages/CredentialManager/res/values-ur/strings.xml index 12da924a3bc5..34813efe4913 100644 --- a/packages/CredentialManager/res/values-ur/strings.xml +++ b/packages/CredentialManager/res/values-ur/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"بہتر کردہ اکاؤنٹ کی سیکیورٹی"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"ہر کلید خصوصی طور پر اس ایپ یا ویب سائٹ سے منسلک ہے جس کے لیے اسے تخلیق کیا گیا تھا، اس لیے آپ کبھی بھی غلطی سے کسی پر فریب ایپ یا ویب سائٹ میں سائن ان نہیں کر سکتے ہیں۔ اس کے علاوہ، چونکہ سرورز صرف عوامی کلید رکھتے ہیں، اس لیے ہیکنگ بہت مشکل ہے۔"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"آسان ٹرانزیشن"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"چونکہ ہم بغیر پاس ورڈ والے مستقبل کی طرف جا رہے ہیں اس کے باوجود پاس ورڈز پاس کیز کے ساتھ ہی دستیاب ہوں گے"</string> <string name="choose_provider_title" msgid="8870795677024868108">"منتخب کریں کہ آپ کی <xliff:g id="CREATETYPES">%1$s</xliff:g> کو کہاں محفوظ کرنا ہے"</string> <string name="choose_provider_body" msgid="4967074531845147434">"اپنی معلومات کو محفوظ کرنے اور اگلی بار تیزی سے سائن ان کرنے کے لیے پاس ورڈ مینیجر منتخب کریں"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> کے لیے پاس کی تخلیق کریں؟"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> کو اس میں محفوظ کریں"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"کسی دوسرے آلے میں پاس کی تخلیق کریں؟"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"اپنے سبھی سائن انز کے لیے <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> کا استعمال کریں؟"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"آسانی سے سائن ان کرنے میں آپ کی مدد کرنے کے لیے یہ پاس ورڈ مینیجر <xliff:g id="USERNAME">%1$s</xliff:g> کے لیے آپ کے پاس ورڈز اور پاس کیز کو اسٹور کرے گا"</string> <string name="set_as_default" msgid="4415328591568654603">"بطور ڈیفالٹ سیٹ کریں"</string> <string name="use_once" msgid="9027366575315399714">"ایک بار استعمال کریں"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> پاس ورڈز • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> پاس کیز"</string> diff --git a/packages/CredentialManager/res/values-uz/strings.xml b/packages/CredentialManager/res/values-uz/strings.xml index 3f177d024174..8605993cc5ce 100644 --- a/packages/CredentialManager/res/values-uz/strings.xml +++ b/packages/CredentialManager/res/values-uz/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Hisob xavfsizligi yaxshilandi"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Har bir kalit faqat ular uchun yaratilgan ilova yoki veb-sayt bilan ulangan, shuning uchun siz hech qachon xatolik bilan soxta ilova yoki veb-saytga kira olmaysiz. Shuningdek, serverlar bilan faqat ochiq kalitlarni saqlagan holda, buzib kirish ancha qiyinroq boʻladi."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Uzluksiz oʻtish"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Parolsiz kelajak sari borayotganimizda, parollar kodlar bilan birga ishlatilishda davom etadi"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Bu <xliff:g id="CREATETYPES">%1$s</xliff:g> qayerga saqlanishini tanlang"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Maʼlumotlaringizni saqlash va keyingi safar tez kirish uchun parollar menejerini tanlang"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"<xliff:g id="APPNAME">%1$s</xliff:g> uchun kod yaratilsinmi?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Bu <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>ni saqlash"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Boshqa qurilmada kod yaratilsinmi?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Hamma kirishlarda <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> ishlatilsinmi?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> uchun bu parollar menejerida hisobga oson kirishga yordam beruvchi parol va kalitlar saqlanadi"</string> <string name="set_as_default" msgid="4415328591568654603">"Birlamchi deb belgilash"</string> <string name="use_once" msgid="9027366575315399714">"Bir marta ishlatish"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> ta parol • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> ta kod"</string> diff --git a/packages/CredentialManager/res/values-vi/strings.xml b/packages/CredentialManager/res/values-vi/strings.xml index a45d37e92188..ab0dd59d9846 100644 --- a/packages/CredentialManager/res/values-vi/strings.xml +++ b/packages/CredentialManager/res/values-vi/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Cải thiện tính bảo mật của tài khoản"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Mỗi khoá được liên kết riêng với ứng dụng hoặc trang web mà khoá đó được tạo. Vì vậy, bạn sẽ không bao giờ đăng nhập nhầm vào một ứng dụng hoặc trang web lừa đảo. Ngoài ra, với các máy chủ chỉ lưu giữ khoá công khai, việc xâm nhập càng khó hơn nhiều."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Chuyển đổi liền mạch"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Trong quá trình chúng tôi hướng đến tương lai không dùng mật khẩu, bạn vẫn sẽ dùng được mật khẩu cùng với mã xác thực"</string> <string name="choose_provider_title" msgid="8870795677024868108">"Chọn vị trí lưu <xliff:g id="CREATETYPES">%1$s</xliff:g> của bạn"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Hãy chọn một trình quản lý mật khẩu để lưu thông tin của bạn và đăng nhập nhanh hơn trong lần tới"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Tạo mã xác thực cho <xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Lưu <xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> vào"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Tạo mã xác thực trên thiết bị khác?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Dùng <xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> cho mọi thông tin đăng nhập của bạn?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Trình quản lý mật khẩu này cho <xliff:g id="USERNAME">%1$s</xliff:g> sẽ lưu trữ mật khẩu và mã xác thực để bạn dễ dàng đăng nhập"</string> <string name="set_as_default" msgid="4415328591568654603">"Đặt làm mặc định"</string> <string name="use_once" msgid="9027366575315399714">"Dùng một lần"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> mật khẩu • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> mã xác thực"</string> diff --git a/packages/CredentialManager/res/values-zh-rCN/strings.xml b/packages/CredentialManager/res/values-zh-rCN/strings.xml index 2e30de697745..22944b2303a5 100644 --- a/packages/CredentialManager/res/values-zh-rCN/strings.xml +++ b/packages/CredentialManager/res/values-zh-rCN/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"提升了帐号安全性"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"每个密钥都是专为特定应用或网站创建的,且仅与各自对应的网站或应用关联,因此您绝不会错误地登录任何欺诈性应用或网站。另外,由于服务器只保留公钥,黑客入侵的难度会大大增加。"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"无缝转换"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"我们正在迈向一个无密码的未来,但在此过程中,密码仍会与通行密钥并存"</string> <string name="choose_provider_title" msgid="8870795677024868108">"选择保存<xliff:g id="CREATETYPES">%1$s</xliff:g>的位置"</string> <string name="choose_provider_body" msgid="4967074531845147434">"请选择一款密码管理工具来保存您的信息,以便下次更快地登录"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"要为“<xliff:g id="APPNAME">%1$s</xliff:g>”创建通行密钥吗?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"将<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>保存到"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"在其他设备上创建通行密钥?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"将“<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>”用于您的所有登录信息?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"此 <xliff:g id="USERNAME">%1$s</xliff:g> 密码管理工具将会存储您的密码和通行密钥,帮助您轻松登录"</string> <string name="set_as_default" msgid="4415328591568654603">"设为默认项"</string> <string name="use_once" msgid="9027366575315399714">"使用一次"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> 个密码 • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> 个通行密钥"</string> diff --git a/packages/CredentialManager/res/values-zh-rHK/strings.xml b/packages/CredentialManager/res/values-zh-rHK/strings.xml index 9a11e0f07258..46f6badb8df8 100644 --- a/packages/CredentialManager/res/values-zh-rHK/strings.xml +++ b/packages/CredentialManager/res/values-zh-rHK/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"提升帳戶安全性"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"系統會為應用程式或網站建立專用的對應金鑰,因此您不會錯誤登入欺詐的應用程式或網站。此外,伺服器上只會保留公開金鑰,因此可大幅降低駭客入侵的風險。"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"流暢轉換"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"我們將會改用無密碼技術,而密碼仍可與密鑰並行使用"</string> <string name="choose_provider_title" msgid="8870795677024868108">"選擇儲存<xliff:g id="CREATETYPES">%1$s</xliff:g>的位置"</string> <string name="choose_provider_body" msgid="4967074531845147434">"選取密碼管理工具即可儲存自己的資料,縮短下次登入的時間"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"要為「<xliff:g id="APPNAME">%1$s</xliff:g>」建立密鑰嗎?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"將<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>儲存至"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"要在其他裝置上建立密鑰嗎?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"要將「<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>」用於所有的登入資料嗎?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"此密碼管理工具將儲存「<xliff:g id="USERNAME">%1$s</xliff:g>」的密碼和密鑰,協助您輕鬆登入"</string> <string name="set_as_default" msgid="4415328591568654603">"設定為預設"</string> <string name="use_once" msgid="9027366575315399714">"單次使用"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> 個密碼 • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> 個密鑰"</string> diff --git a/packages/CredentialManager/res/values-zh-rTW/strings.xml b/packages/CredentialManager/res/values-zh-rTW/strings.xml index 1f8afa856fce..3a0bf80b5054 100644 --- a/packages/CredentialManager/res/values-zh-rTW/strings.xml +++ b/packages/CredentialManager/res/values-zh-rTW/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"提升帳戶安全性"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"系統會為應用程式或網站建立專屬的對應金鑰,因此你不會意外登入詐欺性的應用程式或網站。此外,伺服器上只存放公開金鑰,因此可大幅降低駭客入侵的風險。"</string> <string name="seamless_transition_title" msgid="5335622196351371961">"流暢轉換"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"即使現在已邁入無密碼時代,密碼仍可與密碼金鑰並用"</string> <string name="choose_provider_title" msgid="8870795677024868108">"選擇要將<xliff:g id="CREATETYPES">%1$s</xliff:g>存在哪裡"</string> <string name="choose_provider_body" msgid="4967074531845147434">"選取密碼管理工具並儲存資訊,下次就能更快登入"</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"要為「<xliff:g id="APPNAME">%1$s</xliff:g>」建立密碼金鑰嗎?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"選擇儲存<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g>的位置"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"要在其他裝置上建立密碼金鑰嗎?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"要將「<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g>」用於所有的登入資訊嗎?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"<xliff:g id="USERNAME">%1$s</xliff:g> 的密碼管理工具會儲存密碼和密碼金鑰,協助你輕鬆登入"</string> <string name="set_as_default" msgid="4415328591568654603">"設為預設"</string> <string name="use_once" msgid="9027366575315399714">"單次使用"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> 個密碼 • <xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g> 個密碼金鑰"</string> diff --git a/packages/CredentialManager/res/values-zu/strings.xml b/packages/CredentialManager/res/values-zu/strings.xml index 01a5b2e69c98..b834ec041bd4 100644 --- a/packages/CredentialManager/res/values-zu/strings.xml +++ b/packages/CredentialManager/res/values-zu/strings.xml @@ -20,8 +20,7 @@ <string name="improved_account_security_title" msgid="1069841917893513424">"Ukuvikeleka kwe-akhawunti okuthuthukisiwe"</string> <string name="improved_account_security_detail" msgid="9123750251551844860">"Ukhiye ngamunye olinkwe ngokukhethekile ne-app noma iwebhusayithi usungulelwe yona, ngakho awukwazi ukungena ngemvume ku-app noma kuwebhusayithi yomgunyathi ngephutha. Futhi, ngamaseva agcina okhiye basesidlangalaleni kuphela, ukugebengu be-inthanethi bunzima kakhulu."</string> <string name="seamless_transition_title" msgid="5335622196351371961">"Ushintsho olulula"</string> - <!-- no translation found for seamless_transition_detail (3440478759491650823) --> - <skip /> + <string name="seamless_transition_detail" msgid="3440478759491650823">"Njengoba siya ekusaseni elingenaphasiwedi, amagama ayimfihlo asazotholakala eceleni kokhiye bokudlula."</string> <string name="choose_provider_title" msgid="8870795677024868108">"Khetha lapho ongagcina khona i-<xliff:g id="CREATETYPES">%1$s</xliff:g> yakho"</string> <string name="choose_provider_body" msgid="4967074531845147434">"Khetha isiphathi sephasiwedi ukuze ulondoloze ulwazi lwakho futhi ungene ngemvume ngokushesha ngesikhathi esizayo."</string> <string name="choose_create_option_passkey_title" msgid="5220979185879006862">"Sungula ukhiye wokudlula we-<xliff:g id="APPNAME">%1$s</xliff:g>?"</string> @@ -36,8 +35,7 @@ <string name="save_credential_to_title" msgid="3172811692275634301">"Londoloza i-<xliff:g id="CREDENTIALTYPES">%1$s</xliff:g> ku-"</string> <string name="create_passkey_in_other_device_title" msgid="9195411122362461390">"Sungula ukhiye wokudlula kwenye idivayisi?"</string> <string name="use_provider_for_all_title" msgid="4201020195058980757">"Sebenzisa i-<xliff:g id="PROVIDERINFODISPLAYNAME">%1$s</xliff:g> kukho konke ukungena kwakho ngemvume?"</string> - <!-- no translation found for use_provider_for_all_description (1998772715863958997) --> - <skip /> + <string name="use_provider_for_all_description" msgid="1998772715863958997">"Lesi siphathi sephasiwedi sika-<xliff:g id="USERNAME">%1$s</xliff:g> sizogcina amaphasiwedi akho nezikhiye zokungena ukuze zikusize ungene ngemvume kalula."</string> <string name="set_as_default" msgid="4415328591568654603">"Setha njengokuzenzakalelayo"</string> <string name="use_once" msgid="9027366575315399714">"Sebenzisa kanye"</string> <string name="more_options_usage_passwords_passkeys" msgid="3470113942332934279">"Amaphasiwedi angu-<xliff:g id="PASSWORDSNUMBER">%1$s</xliff:g> • okhiye bokudlula abangu-<xliff:g id="PASSKEYSNUMBER">%2$s</xliff:g>"</string> diff --git a/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt b/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt index b32fe3fef00d..28f9453a48a2 100644 --- a/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt +++ b/packages/CredentialManager/src/com/android/credentialmanager/CredentialManagerRepo.kt @@ -467,19 +467,19 @@ class CredentialManagerRepo( GetCredentialRequest.Builder( Bundle() ).addCredentialOption( - CredentialOption( + CredentialOption.Builder( passwordOption.type, passwordOption.requestData, passwordOption.candidateQueryData, - passwordOption.isSystemProviderRequired - ) + ).setIsSystemProviderRequired(passwordOption.isSystemProviderRequired) + .build() ).addCredentialOption( - CredentialOption( + CredentialOption.Builder( passkeyOption.type, passkeyOption.requestData, passkeyOption.candidateQueryData, - passkeyOption.isSystemProviderRequired - ) + ).setIsSystemProviderRequired(passkeyOption.isSystemProviderRequired) + .build() ).build(), "com.google.android.youtube" ) diff --git a/packages/PackageInstaller/res/values-ar/strings.xml b/packages/PackageInstaller/res/values-ar/strings.xml index c60f9500a470..f9df296f8356 100644 --- a/packages/PackageInstaller/res/values-ar/strings.xml +++ b/packages/PackageInstaller/res/values-ar/strings.xml @@ -61,14 +61,14 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"هل تريد إعادة ضبط هذا التطبيق على الإعدادات الأصلية؟ سؤدي ذلك إلى إزالة جميع البيانات، كما سيؤثر على جميع مستخدمي هذا الجهاز، بما في ذلك من لديهم ملفات شخصية للعمل."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"الاحتفاظ بـ <xliff:g id="SIZE">%1$s</xliff:g> من بيانات التطبيق."</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"هل تريد حذف هذا التطبيق؟"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"هل تريد إلغاء تثبيت هذا التطبيق؟ سيتم أيضًا حذف النسخة الطبق الأصل عن \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"هل تريد إلغاء تثبيت هذا التطبيق؟ سيتم أيضًا حذف نسخة \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" الطبق الأصل."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"عمليات إلغاء التثبيت الجارية"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"عمليات إلغاء التثبيت غير الناجحة"</string> <string name="uninstalling" msgid="8709566347688966845">"جارٍ إلغاء التثبيت…"</string> <string name="uninstalling_app" msgid="8866082646836981397">"جارٍ إلغاء تثبيت <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>…"</string> <string name="uninstall_done" msgid="439354138387969269">"تمّ إلغاء تثبيت التطبيق."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"تم إلغاء تثبيت <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"تم حذف النسخة الطبق الأصل عن \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"."</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"تم حذف نسخة \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" الطبق الأصل."</string> <string name="uninstall_failed" msgid="1847750968168364332">"تعذّر إلغاء تثبيت التطبيق."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"لم يتم إلغاء تثبيت <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> بنجاح."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"جارٍ حذف النسخة الطبق الأصل عن \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"…"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"يعتبر الهاتف والبيانات الشخصية أكثر عرضة لهجوم التطبيقات غير المعروفة. من خلال تثبيت هذا التطبيق، توافق على تحمل مسؤولية أي ضرر يحدث لهاتفك أو فقدان البيانات الذي قد ينتج عن استخدامه."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"يعتبر الجهاز اللوحي والبيانات الشخصية أكثر عرضة لهجوم التطبيقات غير المعروفة. من خلال تثبيت هذا التطبيق، توافق على تحمل مسؤولية أي ضرر يحدث للجهاز اللوحي أو فقدان البيانات الذي قد ينتج عن استخدامه."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"يعتبر جهاز التلفزيون والبيانات الشخصية أكثر عرضة لهجوم التطبيقات غير المعروفة. من خلال تثبيت هذا التطبيق، توافق على تحمل مسؤولية أي ضرر يحدث لجهاز التلفزيون أو فقدان البيانات الذي قد ينتج عن استخدامه."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"نسخة طبق الأصل عن \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string> + <string name="cloned_app_label" msgid="7503612829833756160">"نسخة طبق الأصل من \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"متابعة"</string> <string name="external_sources_settings" msgid="4046964413071713807">"الإعدادات"</string> <string name="wear_app_channel" msgid="1960809674709107850">"تثبيت / إلغاء تثبيت تطبيقات Android Wear"</string> diff --git a/packages/PackageInstaller/res/values-b+sr+Latn/strings.xml b/packages/PackageInstaller/res/values-b+sr+Latn/strings.xml index b8dbad52cabc..0a81ac600652 100644 --- a/packages/PackageInstaller/res/values-b+sr+Latn/strings.xml +++ b/packages/PackageInstaller/res/values-b+sr+Latn/strings.xml @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Telefon i lični podaci su podložniji napadu nepoznatih aplikacija. Ako instalirate ovu aplikaciju, prihvatate da ste odgovorni za eventualna oštećenja telefona ili gubitak podataka do kojih može da dođe zbog njenog korišćenja."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Tablet i lični podaci su podložniji napadu nepoznatih aplikacija. Ako instalirate ovu aplikaciju, prihvatate da ste odgovorni za eventualna oštećenja tableta ili gubitak podataka do kojih može da dođe zbog njenog korišćenja."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"TV i lični podaci su podložniji napadu nepoznatih aplikacija. Ako instalirate ovu aplikaciju, prihvatate da ste odgovorni za eventualna oštećenja TV-a ili gubitak podataka do kojih može da dođe zbog njenog korišćenja."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Klon aplikaije <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Klon aplikacije <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Nastavi"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Podešavanja"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Instaliranje/deinstaliranje Wear aplikac."</string> diff --git a/packages/PackageInstaller/res/values-be/strings.xml b/packages/PackageInstaller/res/values-be/strings.xml index 05c24fffbde8..e828c3c9d420 100644 --- a/packages/PackageInstaller/res/values-be/strings.xml +++ b/packages/PackageInstaller/res/values-be/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> выдаляецца…"</string> <string name="uninstall_done" msgid="439354138387969269">"Выдаленне завершана."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"Выдалена: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Выдалена копія \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Выдалены клон \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string> <string name="uninstall_failed" msgid="1847750968168364332">"Не выдалена."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Не ўдалося выдаліць <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"Выдаленне клона \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"…"</string> diff --git a/packages/PackageInstaller/res/values-bn/strings.xml b/packages/PackageInstaller/res/values-bn/strings.xml index 16353dfdda3b..e7aed0b3e007 100644 --- a/packages/PackageInstaller/res/values-bn/strings.xml +++ b/packages/PackageInstaller/res/values-bn/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> আনইনস্টল করা হচ্ছে…"</string> <string name="uninstall_done" msgid="439354138387969269">"আনইনস্টল করা শেষ হয়েছে।"</string> <string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> আনইনস্টল করা হয়ে গেছে"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"ক্লোনের <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> মুছে ফেলা হয়েছে"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-এর ক্লোন মুছে ফেলা হয়েছে"</string> <string name="uninstall_failed" msgid="1847750968168364332">"আনইনস্টল করা যায়নি।"</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> আনইনস্টল করা যায়নি।"</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ক্লোন মুছে ফেলা হচ্ছে…"</string> diff --git a/packages/PackageInstaller/res/values-de/strings.xml b/packages/PackageInstaller/res/values-de/strings.xml index 669bae6abd40..66e1e59c9105 100644 --- a/packages/PackageInstaller/res/values-de/strings.xml +++ b/packages/PackageInstaller/res/values-de/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> wird deinstalliert…"</string> <string name="uninstall_done" msgid="439354138387969269">"Deinstallation abgeschlossen."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> deinstalliert"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Duplikat von „<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>“ gelöscht"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Klon von „<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>“ gelöscht"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Deinstallation fehlgeschlagen."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Deinstallation von <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> fehlgeschlagen."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-Klon wird gelöscht…"</string> diff --git a/packages/PackageInstaller/res/values-es-rUS/strings.xml b/packages/PackageInstaller/res/values-es-rUS/strings.xml index 07485abee8da..1d7b8c1410f7 100644 --- a/packages/PackageInstaller/res/values-es-rUS/strings.xml +++ b/packages/PackageInstaller/res/values-es-rUS/strings.xml @@ -61,7 +61,7 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"¿Deseas reemplazar esta app con la versión de fábrica? Se quitarán todos los datos. Esta acción afectará a todos los usuarios de este dispositivo, incluidos los que tengan perfiles de trabajo."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Guardar <xliff:g id="SIZE">%1$s</xliff:g> en datos de apps"</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"¿Quieres borrar esta app?"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"¿Quieres desinstalar esta app? También se borrará la clonación de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"¿Quieres desinstalar esta app? También se borrará el clon de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Desinstalaciones activas"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Desinstalaciones con errores"</string> <string name="uninstalling" msgid="8709566347688966845">"Desinstalando…"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"El teléfono y tus datos personales son más vulnerables a los ataques de apps desconocidas. Si instalas esta app, serás responsable de los daños que sufra el teléfono y de la pérdida de datos que pueda ocasionar su uso."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"La tablet y tus datos personales son más vulnerables a los ataques de apps desconocidas. Si instalas esta app, serás responsable de los daños que sufra la tablet y de la pérdida de datos que pueda ocasionar su uso."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"La TV y tus datos personales son más vulnerables a los ataques de apps desconocidas. Si instalas esta app, serás responsable de los daños que sufra la TV y de la pérdida de datos que pueda ocasionar su uso."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Clonación de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Clon de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Continuar"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Configuración"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Instalando/desinstalando apps para Wear"</string> diff --git a/packages/PackageInstaller/res/values-eu/strings.xml b/packages/PackageInstaller/res/values-eu/strings.xml index c57102011b89..2ca439700f38 100644 --- a/packages/PackageInstaller/res/values-eu/strings.xml +++ b/packages/PackageInstaller/res/values-eu/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> desinstalatzen…"</string> <string name="uninstall_done" msgid="439354138387969269">"Desinstalatu da."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"Desinstalatu da <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Ezabatu da <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> paketearen klona"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Ezabatu da <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> aplikazioaren klona"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Ezin izan da desinstalatu."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Ezin izan da desinstalatu <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> aplikazioaren klona ezabatzen…"</string> diff --git a/packages/PackageInstaller/res/values-fr-rCA/strings.xml b/packages/PackageInstaller/res/values-fr-rCA/strings.xml index c1c411c06581..2c5a04d063ff 100644 --- a/packages/PackageInstaller/res/values-fr-rCA/strings.xml +++ b/packages/PackageInstaller/res/values-fr-rCA/strings.xml @@ -61,7 +61,7 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"Remplacer cette application par la version d\'usine? Toutes les données seront supprimées. Cela touchera tous les utilisateurs de cet appareil, y compris ceux qui utilisent un profil professionnel."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Garder <xliff:g id="SIZE">%1$s</xliff:g> de données d\'application."</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Voulez-vous supprimer cette application?"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Voulez-vous désinstaller cette application? Le clone <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> sera aussi supprimé."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Voulez-vous désinstaller cette application? Le clone de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> sera aussi supprimé."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Désinstallations en cours…"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Désinstallations échouées"</string> <string name="uninstalling" msgid="8709566347688966845">"Désinstallation en cours…"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Votre téléphone et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant cette application, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Votre tablette et vos données personnelles sont plus vulnérables aux attaques provenant d\'applications inconnues. En installant cette application, vous acceptez d\'être le seul responsable de tout dommage causé à votre tablette ou de toute perte de données pouvant découler de l\'utilisation de telles applications."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Votre téléviseur et vos données personnelles sont plus vulnérables aux attaques d\'applications inconnues. En installant cette application, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléviseur ou de toute perte de données pouvant découler de son utilisation."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Clone <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Clone de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Continuer"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Paramètres"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Installer/désinstaller applis Google Wear"</string> diff --git a/packages/PackageInstaller/res/values-fr/strings.xml b/packages/PackageInstaller/res/values-fr/strings.xml index 4a6119696366..032499dd103b 100644 --- a/packages/PackageInstaller/res/values-fr/strings.xml +++ b/packages/PackageInstaller/res/values-fr/strings.xml @@ -61,7 +61,7 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"Remplacer cette application par la version d\'usine ? Toutes les données seront supprimées. Tous les utilisateurs de cet appareil seront affectés, y compris ceux qui ont un profil professionnel."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Conserver <xliff:g id="SIZE">%1$s</xliff:g> de données d\'application."</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Voulez-vous supprimer cette appli ?"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Voulez-vous désinstaller cette appli ? Le clone <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> sera supprimé aussi."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Voulez-vous désinstaller cette appli ? Le clone de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> sera supprimé aussi."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Désinstallations en cours"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Échec des désinstallations"</string> <string name="uninstalling" msgid="8709566347688966845">"Désinstallation…"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Votre téléphone et vos données à caractère personnel sont plus vulnérables aux attaques d\'applications inconnues. En installant cette application, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléphone ou de toute perte de données pouvant découler de son utilisation."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Votre tablette et vos données à caractère personnel sont plus vulnérables aux attaques d\'applications inconnues. En installant cette application, vous acceptez d\'être le seul responsable de tout dommage causé à votre tablette ou de toute perte de données pouvant découler de son utilisation."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Votre téléviseur et vos données à caractère personnel sont plus vulnérables aux attaques d\'applications inconnues. En installant cette application, vous acceptez d\'être le seul responsable de tout dommage causé à votre téléviseur ou de toute perte de données pouvant découler de son utilisation."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Clone <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Clone de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Continuer"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Paramètres"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Installer/Désinstaller les applis Wear"</string> diff --git a/packages/PackageInstaller/res/values-hr/strings.xml b/packages/PackageInstaller/res/values-hr/strings.xml index 8961b851b2ab..88fdbb773987 100644 --- a/packages/PackageInstaller/res/values-hr/strings.xml +++ b/packages/PackageInstaller/res/values-hr/strings.xml @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Vaš telefon i osobni podaci podložniji su napadima nepoznatih aplikacija. Instaliranjem te aplikacije prihvaćate odgovornost za oštećenje telefona ili gubitak podataka do kojih može doći uslijed njezine upotrebe."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Vaš tablet i osobni podaci podložniji su napadima nepoznatih aplikacija. Instaliranjem te aplikacije prihvaćate odgovornost za oštećenje tableta ili gubitak podataka do kojih može doći uslijed njezine upotrebe."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Vaš TV i osobni podaci podložniji su napadima nepoznatih aplikacija. Instaliranjem te aplikacije prihvaćate odgovornost za oštećenje televizora ili gubitak podataka do kojih može doći uslijed njezine upotrebe."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> – kloniranje"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Klon <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Nastavi"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Postavke"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Instaliranje/deinstaliranje Wear apl."</string> diff --git a/packages/PackageInstaller/res/values-hy/strings.xml b/packages/PackageInstaller/res/values-hy/strings.xml index 211d5bc079d3..09be03a92ca7 100644 --- a/packages/PackageInstaller/res/values-hy/strings.xml +++ b/packages/PackageInstaller/res/values-hy/strings.xml @@ -61,14 +61,14 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"Փոխարինե՞լ այս հավելվածը գործարանային տարբերակով: Բոլոր տվյալները կհեռացվեն: Դա վերաբերում է այս սարքի բոլոր օգտատերերին, այդ թվում նաև աշխատանքային պրոֆիլներ ունեցողներին:"</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Չհեռացնել հավելվածների տվյալները (<xliff:g id="SIZE">%1$s</xliff:g>):"</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Ջնջե՞լ այս հավելվածը"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Ապատեղադրե՞լ այս հավելվածը։ <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-ի կրկնօրինակը նույնպես կջնջվի։"</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Ապատեղադրե՞լ այս հավելվածը։ <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-ի կլոնը նույնպես կջնջվի։"</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Ընթացիկ ապատեղադրումներ"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Ձախողված ապատեղադրումներ"</string> <string name="uninstalling" msgid="8709566347688966845">"Ապատեղադրվում է…"</string> <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> հավելվածն ապատեղադրվում է…"</string> <string name="uninstall_done" msgid="439354138387969269">"Ապատեղադրվեց:"</string> <string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> հավելվածն ապատեղադրվեց"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> կլոնը ջնջվել է"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"«<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>» հավելվածի կլոնը ջնջվել է"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Չհաջողվեց ապատեղադրել:"</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Չհաջողվեց ապատեղադրել <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> հավելվածը:"</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-ի կրկնօրինակը ջնջվում է…"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Ձեր հեռախոսը և անձնական տվյալներն առավել խոցելի են անհայտ հավելվածների գրոհների նկատմամբ: Տեղադրելով այս հավելվածը՝ դուք ընդունում եք, որ պատասխանատվություն եք կրում հավելվածի օգտագործման հետևանքով ձեր հեռախոսին հասցված ցանկացած վնասի կամ տվյալների կորստի համար:"</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Ձեր պլանշետը և անձնական տվյալներն առավել խոցելի են անհայտ հավելվածների գրոհների նկատմամբ: Տեղադրելով այս հավելվածը՝ դուք ընդունում եք, որ պատասխանատվություն եք կրում հավելվածի օգտագործման հետևանքով ձեր պլանշետին հասցված ցանկացած վնասի կամ տվյալների կորստի համար:"</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Ձեր հեռուստացույցը և անձնական տվյալներն առավել խոցելի են անհայտ հավելվածների գրոհների նկատմամբ: Տեղադրելով այս հավելվածը՝ դուք ընդունում եք, որ պատասխանատվություն եք կրում հավելվածի օգտագործման հետևանքով ձեր հեռուստացույցին հասցված ցանկացած վնասի կամ տվյալների կորստի համար:"</string> - <string name="cloned_app_label" msgid="7503612829833756160">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-ի կրկնօրինակ"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"«<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>» հավելվածի կլոն"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Շարունակել"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Կարգավորումներ"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Wear հավելվածների տեղադրում/ապատեղադրում"</string> diff --git a/packages/PackageInstaller/res/values-ja/strings.xml b/packages/PackageInstaller/res/values-ja/strings.xml index fd1094051f68..62149d1a5efe 100644 --- a/packages/PackageInstaller/res/values-ja/strings.xml +++ b/packages/PackageInstaller/res/values-ja/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」をアンインストールしています…"</string> <string name="uninstall_done" msgid="439354138387969269">"アンインストールが完了しました。"</string> <string name="uninstall_done_app" msgid="4588850984473605768">"「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」をアンインストールしました"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"削除された <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> のクローン"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> のクローンを削除しました"</string> <string name="uninstall_failed" msgid="1847750968168364332">"アンインストールできませんでした。"</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」をアンインストールできませんでした。"</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> のクローンを削除しています…"</string> diff --git a/packages/PackageInstaller/res/values-km/strings.xml b/packages/PackageInstaller/res/values-km/strings.xml index 46e29145a9b4..d744ff7b2368 100644 --- a/packages/PackageInstaller/res/values-km/strings.xml +++ b/packages/PackageInstaller/res/values-km/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"កំពុងលុប <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>…"</string> <string name="uninstall_done" msgid="439354138387969269">"បានបញ្ចប់ការលុប។"</string> <string name="uninstall_done_app" msgid="4588850984473605768">"បានលុប <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"ក្លូន <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ដែលបានលុប"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"បានលុបក្លូន <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="uninstall_failed" msgid="1847750968168364332">"មិនអាចលុបបានទេ។"</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"មិនអាចលុប <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> បានទេ។"</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"កំពុងលុបក្លូន <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>…"</string> diff --git a/packages/PackageInstaller/res/values-mk/strings.xml b/packages/PackageInstaller/res/values-mk/strings.xml index 6135e658969a..529ea3e63b74 100644 --- a/packages/PackageInstaller/res/values-mk/strings.xml +++ b/packages/PackageInstaller/res/values-mk/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"Се деинсталира <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>…"</string> <string name="uninstall_done" msgid="439354138387969269">"Деинсталирањето заврши."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> се деинсталираше"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Избришан е клон на <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Клонот на <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> е избришан"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Деинсталирањето е неуспешно."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Деинсталирањето на <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> е неуспешно."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"Се брише клонот на <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>…"</string> diff --git a/packages/PackageInstaller/res/values-mn/strings.xml b/packages/PackageInstaller/res/values-mn/strings.xml index 52bca70d7fa0..02439312cd6a 100644 --- a/packages/PackageInstaller/res/values-mn/strings.xml +++ b/packages/PackageInstaller/res/values-mn/strings.xml @@ -61,14 +61,14 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"Энэ аппыг үйлдвэрээс ирсэн хувилбараар солих уу? Бүх өгөгдөл устах болно. Энэ нь эдгээр ажлын профайлтай бүхий энэ төхөөрөмжийн бүх хэрэглэгчид нөлөөлнө."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Аппын өгөгдлийн <xliff:g id="SIZE">%1$s</xliff:g>-г үлдээнэ үү."</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Та энэ аппыг устгахыг хүсэж байна уу?"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Та энэ аппыг устгахыг хүсэж байна уу? <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> клоныг мөн устгана."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Та энэ аппыг устгахыг хүсэж байна уу? <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-н хувилалыг мөн устгана."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Устгаж байна"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Устгаж чадсангүй"</string> <string name="uninstalling" msgid="8709566347688966845">"Устгаж байна…"</string> <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-г устгаж байна…"</string> <string name="uninstall_done" msgid="439354138387969269">"Устгаж дууслаа."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-г устгасан"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> клоныг устгасан"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-н хувилалыг устгасан"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Устгах амжилтгүй боллоо."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-г устгах амжилтгүй боллоо."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> клоныг устгаж байна…"</string> diff --git a/packages/PackageInstaller/res/values-ne/strings.xml b/packages/PackageInstaller/res/values-ne/strings.xml index e763ae1ceefd..d6451eb232cd 100644 --- a/packages/PackageInstaller/res/values-ne/strings.xml +++ b/packages/PackageInstaller/res/values-ne/strings.xml @@ -60,7 +60,7 @@ <string name="uninstall_update_text" msgid="863648314632448705">"यस एपलाई फ्याक्ट्रीको संस्करणले बदल्ने हो? सबै डेटा हटाइने छ।"</string> <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"यस एपलाई फ्याक्ट्रीको संस्करणले बदल्ने हो? सबै डेटा हटाइने छ। यसले यस डिभाइसका कार्य प्रोफाइल भएका लगायत सबै प्रयोगकर्ताहरूमा असर पार्छ।"</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"<xliff:g id="SIZE">%1$s</xliff:g> एपको डेटा राख्नुहोस्।"</string> - <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"तपाईंले यो एप मेटाउन चाहनुहुन्छ?"</string> + <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"तपाईं यो एप मेटाउन चाहनुहुन्छ?"</string> <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"तपाईं यो एप अनइन्स्टल गर्न चाहनुहुन्छ? <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> क्लोन पनि मेटाइने छ।"</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"चलिरहेका स्थापना रद्द गर्ने कार्यहरू"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"असफल भएका स्थापना रद्द गर्ने कार्यहरू"</string> diff --git a/packages/PackageInstaller/res/values-ru/strings.xml b/packages/PackageInstaller/res/values-ru/strings.xml index 957f294e54ca..f70c4bc27908 100644 --- a/packages/PackageInstaller/res/values-ru/strings.xml +++ b/packages/PackageInstaller/res/values-ru/strings.xml @@ -61,14 +61,14 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"Установить исходную версию приложения? Его данные будут удалены из всех профилей устройства, в том числе рабочих."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Сохранить данные приложения (<xliff:g id="SIZE">%1$s</xliff:g>)"</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Удалить это приложение?"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Удалить это приложение? Клон пакета \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" также будет удален."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Удалить это приложение? Клон приложения <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> также будет удален."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Активные процессы удаления"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Ошибки удаления"</string> <string name="uninstalling" msgid="8709566347688966845">"Удаление…"</string> <string name="uninstalling_app" msgid="8866082646836981397">"Удаление приложения \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"…"</string> <string name="uninstall_done" msgid="439354138387969269">"Удаление завершено."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"Приложение \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" удалено."</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Клон приложения \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" удален."</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Клон приложения <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> удален."</string> <string name="uninstall_failed" msgid="1847750968168364332">"При удалении произошла ошибка."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Не удалось удалить приложение \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"Удаление клона пакета \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"…"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Ваши персональные данные и данные телефона более уязвимы для атак приложений из неизвестных источников. Устанавливая это приложение, вы берете на себя всю ответственность за последствия, связанные с его использованием, то есть за любой ущерб, нанесенный телефону, и возможную потерю данных."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Ваши персональные данные и данные планшета более уязвимы для атак приложений из неизвестных источников. Устанавливая это приложение, вы берете на себя всю ответственность за последствия, связанные с его использованием, то есть за любой ущерб, нанесенный планшету, и возможную потерю данных."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Ваши персональные данные и данные телевизора более уязвимы для атак приложений из неизвестных источников. Устанавливая это приложение, вы берете на себя всю ответственность за последствия, связанные с его использованием, то есть за любой ущерб, нанесенный телевизору, и возможную потерю данных."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Клон пакета \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Клон приложения <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Продолжить"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Настройки"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Установка/удаление прилож. для Wear OS"</string> diff --git a/packages/PackageInstaller/res/values-sk/strings.xml b/packages/PackageInstaller/res/values-sk/strings.xml index f4d5631ba6b8..181ff9c0a640 100644 --- a/packages/PackageInstaller/res/values-sk/strings.xml +++ b/packages/PackageInstaller/res/values-sk/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"Prebieha odinštalovanie balíka <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>…"</string> <string name="uninstall_done" msgid="439354138387969269">"Odinštalovanie bolo dokončené."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"Balík <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> bol odinštalovaný"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Klon balíka <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> bol odstránený"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Klon <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> bol odstránený"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Nepodarilo sa odinštalovať."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Balík <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> sa nepodarilo odinštalovať."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"Klon <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> sa odstraňuje…"</string> diff --git a/packages/PackageInstaller/res/values-sl/strings.xml b/packages/PackageInstaller/res/values-sl/strings.xml index f12935e29be5..35b3fda33a29 100644 --- a/packages/PackageInstaller/res/values-sl/strings.xml +++ b/packages/PackageInstaller/res/values-sl/strings.xml @@ -61,14 +61,14 @@ <string name="uninstall_update_text_multiuser" msgid="8992883151333057227">"Želite to aplikacijo nadomestiti s tovarniško različico? Odstranjeni bodo vsi podatki. To vpliva na vse uporabnike te naprave, vključno s tistimi z delovnimi profili."</string> <string name="uninstall_keep_data" msgid="7002379587465487550">"Obdrži <xliff:g id="SIZE">%1$s</xliff:g> podatkov aplikacije."</string> <string name="uninstall_application_text_current_user_clone_profile" msgid="835170400160011636">"Ali želite izbrisati to aplikacijo?"</string> - <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Ali želite odmestiti to aplikacijo? Izbrisan bo tudi klonirani paket <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> + <string name="uninstall_application_text_with_clone_instance" msgid="6944473334273349036">"Ali želite odmestiti to aplikacijo? Izbrisana bo tudi klonirana aplikacija <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string> <string name="uninstalling_notification_channel" msgid="840153394325714653">"Odstranitve v teku"</string> <string name="uninstall_failure_notification_channel" msgid="1136405866767576588">"Neuspele odstranitve"</string> <string name="uninstalling" msgid="8709566347688966845">"Odstranjevanje …"</string> <string name="uninstalling_app" msgid="8866082646836981397">"Odmeščanje aplikacije <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> …"</string> <string name="uninstall_done" msgid="439354138387969269">"Odstranitev je končana."</string> <string name="uninstall_done_app" msgid="4588850984473605768">"Aplikacija <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> je bila odstranjena."</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Klonirani paket <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> je izbrisan"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"Klonirana aplikacija <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> je izbrisana"</string> <string name="uninstall_failed" msgid="1847750968168364332">"Odstranitev ni uspela."</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"Odmeščanje aplikacije <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ni uspelo."</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"Brisanje kloniranega paketa <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> …"</string> @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Neznane aplikacije lahko resno ogrozijo varnost telefona in osebnih podatkov. Z namestitvijo te aplikacije se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v telefonu, ali izgubo podatkov, do katerih lahko pride zaradi uporabe te aplikacije."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Neznane aplikacije lahko resno ogrozijo varnost tabličnega računalnika in osebnih podatkov. Z namestitvijo te aplikacije se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v tabličnem računalniku, ali izgubo podatkov, do katerih lahko pride zaradi uporabe te aplikacije."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"Neznane aplikacije lahko resno ogrozijo varnost televizorja in osebnih podatkov. Z namestitvijo te aplikacije se strinjate, da ste sami odgovorni za morebitno škodo, nastalo v televizorju, ali izgubo podatkov, do katerih lahko pride zaradi uporabe te aplikacije."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Klonirani paket <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Klonirana aplikacija <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Naprej"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Nastavitve"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Nameščanje/odstranjev. aplikacij za Wear"</string> diff --git a/packages/PackageInstaller/res/values-sr/strings.xml b/packages/PackageInstaller/res/values-sr/strings.xml index 2bfcf653401e..2e448ad04e9b 100644 --- a/packages/PackageInstaller/res/values-sr/strings.xml +++ b/packages/PackageInstaller/res/values-sr/strings.xml @@ -92,7 +92,7 @@ <string name="anonymous_source_warning" product="default" msgid="2784902545920822500">"Телефон и лични подаци су подложнији нападу непознатих апликација. Ако инсталирате ову апликацију, прихватате да сте одговорни за евентуална оштећења телефона или губитак података до којих може да дође због њеног коришћења."</string> <string name="anonymous_source_warning" product="tablet" msgid="3939101621438855516">"Таблет и лични подаци су подложнији нападу непознатих апликација. Ако инсталирате ову апликацију, прихватате да сте одговорни за евентуална оштећења таблета или губитак података до којих може да дође због њеног коришћења."</string> <string name="anonymous_source_warning" product="tv" msgid="5599483539528168566">"ТВ и лични подаци су подложнији нападу непознатих апликација. Ако инсталирате ову апликацију, прихватате да сте одговорни за евентуална оштећења ТВ-а или губитак података до којих може да дође због њеног коришћења."</string> - <string name="cloned_app_label" msgid="7503612829833756160">"Клон апликаије <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_label" msgid="7503612829833756160">"Клон апликације <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> <string name="anonymous_source_continue" msgid="4375745439457209366">"Настави"</string> <string name="external_sources_settings" msgid="4046964413071713807">"Подешавања"</string> <string name="wear_app_channel" msgid="1960809674709107850">"Инсталирање/деинсталирање Wear апликац."</string> diff --git a/packages/PackageInstaller/res/values-ur/strings.xml b/packages/PackageInstaller/res/values-ur/strings.xml index ab11cd871a54..21f6cdfb9602 100644 --- a/packages/PackageInstaller/res/values-ur/strings.xml +++ b/packages/PackageInstaller/res/values-ur/strings.xml @@ -68,7 +68,7 @@ <string name="uninstalling_app" msgid="8866082646836981397">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ان انسٹال ہو رہا ہے…"</string> <string name="uninstall_done" msgid="439354138387969269">"اَن انسٹال مکمل ہو گیا۔"</string> <string name="uninstall_done_app" msgid="4588850984473605768">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> اَن انسٹال ہو گیا"</string> - <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> کا کلون حذف کر دیا گیا ہے"</string> + <string name="uninstall_done_clone_app" msgid="5578308154544195413">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> کا کلون حذف کر دیا گیا ہے"</string> <string name="uninstall_failed" msgid="1847750968168364332">"اَن انسٹال ناکام ہو گیا۔"</string> <string name="uninstall_failed_app" msgid="5506028705017601412">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> کو ان انسٹال کرنا ناکام ہو گیا۔"</string> <string name="uninstalling_cloned_app" msgid="1826380164974984870">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> کلون کو حذف کیا جا رہا ہے…"</string> diff --git a/packages/PackageInstaller/res/values/strings.xml b/packages/PackageInstaller/res/values/strings.xml index 6669e358eb08..a2118fac4231 100644 --- a/packages/PackageInstaller/res/values/strings.xml +++ b/packages/PackageInstaller/res/values/strings.xml @@ -37,9 +37,8 @@ <string name="install_confirm_question">Do you want to install this app?</string> <!-- Message for updating an existing app [CHAR LIMIT=NONE] --> <string name="install_confirm_question_update">Do you want to update this app?</string> - <!-- TODO(b/244413073) Revise the description after getting UX input and UXR on this. --> - <!-- Message for updating an existing app with update owner reminder [DO NOT TRANSLATE][CHAR LIMIT=NONE] --> - <string name="install_confirm_question_update_owner_reminder">Updates to this app are currently managed by <xliff:g id="existing_update_owner">%1$s</xliff:g>.\n\nDo you want to install this update from <xliff:g id="new_update_owner">%2$s</xliff:g>?</string> + <!-- Message for updating an existing app with update owner reminder [CHAR LIMIT=NONE] --> + <string name="install_confirm_question_update_owner_reminder">Update this app from <xliff:g id="new_update_owner">%1$s</xliff:g>?\n\nThis app normally receives updates from <xliff:g id="existing_update_owner">%2$s</xliff:g>. By updating from a different source, you may receive future updates from any source on your phone. App functionality may change.</string> <!-- [CHAR LIMIT=100] --> <string name="install_failed">App not installed.</string> <!-- Reason displayed when installation fails because the package was blocked @@ -82,6 +81,8 @@ <!-- [CHAR LIMIT=15] --> <string name="ok">OK</string> + <!-- [CHAR LIMIT=30] --> + <string name="update_anyway">Update anyway</string> <!-- [CHAR LIMIT=15] --> <string name="manage_applications">Manage apps</string> <!-- [CHAR LIMIT=30] --> diff --git a/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java b/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java index d41cfbc2d4ce..c81e75bbab7a 100644 --- a/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java +++ b/packages/PackageInstaller/src/com/android/packageinstaller/PackageInstallerActivity.java @@ -148,10 +148,11 @@ public class PackageInstallerActivity extends AlertActivity { && mPendingUserActionReason == PackageInstaller.REASON_REMIND_OWNERSHIP) { viewToEnable.setText( getString(R.string.install_confirm_question_update_owner_reminder, - existingUpdateOwnerLabel, requestedUpdateOwnerLabel)); + requestedUpdateOwnerLabel, existingUpdateOwnerLabel)); + mOk.setText(R.string.update_anyway); + } else { + mOk.setText(R.string.update); } - - mOk.setText(R.string.update); } else { // This is a new application with no permissions. viewToEnable = requireViewById(R.id.install_confirm_question); diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBar.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBar.kt index f6bb3cc271fe..47ac2df67c76 100644 --- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBar.kt +++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/widget/scaffold/CustomizedAppBar.kt @@ -109,7 +109,7 @@ internal fun CustomizedLargeTopAppBar( scrollBehavior: TopAppBarScrollBehavior? = null, ) { TwoRowsTopAppBar( - title = { Title(title = title, maxLines = 2) }, + title = { Title(title = title, maxLines = 3) }, titleTextStyle = MaterialTheme.typography.displaySmall, smallTitleTextStyle = MaterialTheme.typography.titleMedium, titleBottomPadding = LargeTitleBottomPadding, diff --git a/packages/SettingsLib/SpaPrivileged/res/values-el/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-el/strings.xml index ac4106abb161..8ac56d46185b 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-el/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-el/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Επιτρέπεται"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Δεν επιτρέπεται"</string> <string name="version_text" msgid="4001669804596458577">"έκδοση <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"Κλώνος <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"Διπλότυπο <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-et/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-et/strings.xml index a216abc1ed7c..4bfc25f1c47a 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-et/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-et/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Lubatud"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Pole lubatud"</string> <string name="version_text" msgid="4001669804596458577">"versioon <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"Üksuse <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> kloon"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"Rakenduse <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> kloon"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-fa/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-fa/strings.xml index 8654c64b4f52..30ed347fc0bd 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-fa/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-fa/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"مجاز"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"غیرمجاز"</string> <string name="version_text" msgid="4001669804596458577">"نسخه <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"همتای <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"همسانه <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-fi/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-fi/strings.xml index 8f42d505de1a..b7895e24d536 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-fi/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-fi/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Sallittu"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Ei sallittu"</string> <string name="version_text" msgid="4001669804596458577">"versio <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> klooni"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"Klooni: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-mn/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-mn/strings.xml index 20742226072f..9150424992e6 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-mn/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-mn/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Зөвшөөрсөн"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Зөвшөөрөөгүй"</string> <string name="version_text" msgid="4001669804596458577">"хувилбар <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> клон"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-н хувилал"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-pl/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-pl/strings.xml index c947a66399bc..b0fd2bf4149f 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-pl/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-pl/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Dozwolone"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Niedozwolone"</string> <string name="version_text" msgid="4001669804596458577">"wersja <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"Klonuj: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"Klon aplikacji <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-ru/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-ru/strings.xml index 3507bc71a1a5..960d94f8a019 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-ru/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-ru/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Разрешено"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Запрещено"</string> <string name="version_text" msgid="4001669804596458577">"версия <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"Клон приложения \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"Клон приложения <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/res/values-sl/strings.xml b/packages/SettingsLib/SpaPrivileged/res/values-sl/strings.xml index 74b3ffd25e06..2451d6189b3c 100644 --- a/packages/SettingsLib/SpaPrivileged/res/values-sl/strings.xml +++ b/packages/SettingsLib/SpaPrivileged/res/values-sl/strings.xml @@ -23,5 +23,5 @@ <string name="app_permission_summary_allowed" msgid="6115213465364138103">"Dovoljeno"</string> <string name="app_permission_summary_not_allowed" msgid="58396132188553920">"Ni dovoljeno"</string> <string name="version_text" msgid="4001669804596458577">"različica <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string> - <string name="cloned_app_info_label" msgid="1765651167024478391">"Klonirani paket <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> + <string name="cloned_app_info_label" msgid="1765651167024478391">"Klonirana aplikacija <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt index c6090042895e..9f33fcb0052b 100644 --- a/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt +++ b/packages/SettingsLib/SpaPrivileged/src/com/android/settingslib/spaprivileged/model/app/AppOpsController.kt @@ -62,10 +62,12 @@ class AppOpsController( } val permission = AppOpsManager.opToPermission(op) - packageManager.updatePermissionFlags(permission, app.packageName, - PackageManager.FLAG_PERMISSION_USER_SET, PackageManager.FLAG_PERMISSION_USER_SET, - UserHandle.getUserHandleForUid(app.uid)) - + if (permission != null) { + packageManager.updatePermissionFlags(permission, app.packageName, + PackageManager.FLAG_PERMISSION_USER_SET, + PackageManager.FLAG_PERMISSION_USER_SET, + UserHandle.getUserHandleForUid(app.uid)) + } _mode.postValue(mode) } diff --git a/packages/SettingsLib/res/values-af/arrays.xml b/packages/SettingsLib/res/values-af/arrays.xml index 28f7c50a732a..41499b0eeb59 100644 --- a/packages/SettingsLib/res/values-af/arrays.xml +++ b/packages/SettingsLib/res/values-af/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Het gefiltreer geaktiveer"</item> <item msgid="2779123106632690576">"Geaktiveer"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Los slegs ACL-opskrifte"</item> + <item msgid="2776218217644557831">"Filtreer A2DP-mediapakkette"</item> + <item msgid="8163235976612675092">"Filtreer RFCOMM-kanaal"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Deaktiveer"</item> + <item msgid="2505973306504851132">"Vul met string karakters"</item> + <item msgid="5883011000629613855">"Los slegs opskrif"</item> + <item msgid="1051534112762023603">"Verwyder heeltemal"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (verstek)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml index 3de581ea3940..f44b301a908d 100644 --- a/packages/SettingsLib/res/values-af/strings.xml +++ b/packages/SettingsLib/res/values-af/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Wys snitgrense, kantlyne, ens."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Dwing RTL-uitlegrigting"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Dwing skermuitlegrigting na RTL vir alle locales"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Deursigtige navigasiebalk"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Maak navigasiebalk se agtergrondkleur by verstek deursigtig"</string> <string name="window_blurs" msgid="6831008984828425106">"Laat venstervlakwasighede toe"</string> <string name="force_msaa" msgid="4081288296137775550">"Dwing 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Aktiveer 4x MSAA in OpenGL ES 2.0-programme"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Skuif regs"</item> <item msgid="324200556467459329">"Skuif op"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-am/arrays.xml b/packages/SettingsLib/res/values-am/arrays.xml index c423d3c86ed1..e8e404f68158 100644 --- a/packages/SettingsLib/res/values-am/arrays.xml +++ b/packages/SettingsLib/res/values-am/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ማጣሪያን አንቃ"</item> <item msgid="2779123106632690576">"ነቅቷል"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL ራስጌዎችን ብቻ ይተዉ"</item> + <item msgid="2776218217644557831">"A2DP ሚዲያ ፓኬቶችን ያጣሩ"</item> + <item msgid="8163235976612675092">"የRFCOMM ሰርጥን ያጣሩ"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ያሰናክሉ"</item> + <item msgid="2505973306504851132">"በቁምፊዎች ሕብረቁምፊ ሙላ"</item> + <item msgid="5883011000629613855">"ራስጌ ብቻ ይተዉ"</item> + <item msgid="1051534112762023603">"በሙሉ ያስወግዱ"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ነባሪ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml index b9117ee87751..492e294edd2e 100644 --- a/packages/SettingsLib/res/values-am/strings.xml +++ b/packages/SettingsLib/res/values-am/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"የቅንጥብ ገደቦች፣ ጠርዞች፣ ወዘተ አሳይ"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"የቀኝ-ወደ-ግራ አቀማመጥ አቅጣጫ አስገድድ"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ለሁሉም አካባቢዎች የማያ ገጽ አቀማመጥ ከቀኝ-ወደ-ግራ እንዲሆን አስገድድ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"የግልፅነት የአሰሳ አሞሌ"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"የአሰሳ አሞሌ የዳራ ቀለምን በነባሪ ግልጽ አድርግ"</string> <string name="window_blurs" msgid="6831008984828425106">"የመስኮት ደረጃ ብዥታዎችን ፍቀድ"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA አስገድድ"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"4x MSAA በ OpenGL ES 2.0 መተግበሪያዎች ውስጥ ያንቁ"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ወደ ቀኝ ውሰድ"</item> <item msgid="324200556467459329">"ወደ ላይ ውሰድ"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ar/arrays.xml b/packages/SettingsLib/res/values-ar/arrays.xml index cf46a8fdcc7d..cb1ec38d1773 100644 --- a/packages/SettingsLib/res/values-ar/arrays.xml +++ b/packages/SettingsLib/res/values-ar/arrays.xml @@ -60,16 +60,20 @@ </string-array> <string-array name="bt_hci_snoop_log_entries"> <item msgid="695678520785580527">"غير مفعّل"</item> - <item msgid="6336372935919715515">"تمّ تفعيل التصفية"</item> + <item msgid="6336372935919715515">"تمّ تفعيل الفلترة"</item> <item msgid="2779123106632690576">"مفعّل"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ترك رؤوس ACL فقط"</item> + <item msgid="2776218217644557831">"فلترة حُزم وسائط A2DP"</item> + <item msgid="8163235976612675092">"فلترة قناة بروتوكول RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"إيقاف"</item> + <item msgid="2505973306504851132">"الملء بسلسلة من الأحرف"</item> + <item msgid="5883011000629613855">"ترك الرأس فقط"</item> + <item msgid="1051534112762023603">"الإزالة بالكامل"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (تلقائي)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml index ef7bf08648f6..c3408cf9f37e 100644 --- a/packages/SettingsLib/res/values-ar/strings.xml +++ b/packages/SettingsLib/res/values-ar/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"عرض حدود وهوامش المقطع وما إلى ذلك"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"فرض اتجاه التنسيق ليكون من اليمين إلى اليسار"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"فرض اتجاه تنسيق الشاشة ليكون من اليمين إلى اليسار لجميع اللغات"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"شريط تنقّل شفاف"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"جعل لون خلفية شريط التنقّل شفافًا بشكل تلقائي"</string> <string name="window_blurs" msgid="6831008984828425106">"السماح بعمليات التعتيم على مستوى النافذة"</string> <string name="force_msaa" msgid="4081288296137775550">"فرض 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"تفعيل 4x MSAA في تطبيقات OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"نقل لليمين"</item> <item msgid="324200556467459329">"نقل للأعلى"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"%% <xliff:g id="PERCENTAGE">%1$d</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/res/values-as/arrays.xml b/packages/SettingsLib/res/values-as/arrays.xml index 284ca122edef..539b8a6de20b 100644 --- a/packages/SettingsLib/res/values-as/arrays.xml +++ b/packages/SettingsLib/res/values-as/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"সক্ষম কৰাবিলাক ফিল্টাৰ কৰা হৈছে"</item> <item msgid="2779123106632690576">"সক্ষম কৰা আছে"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"কেৱল ACL হেডাৰ এৰক"</item> + <item msgid="2776218217644557831">"A2DP মিডিয়াৰ পেকেট ফিল্টাৰ কৰক"</item> + <item msgid="8163235976612675092">"RFCOMM চেনেল ফিল্টাৰ কৰক"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"অক্ষম কৰক"</item> + <item msgid="2505973306504851132">"বৰ্ণৰ ষ্ট্ৰীঙেৰে পূৰ কৰক"</item> + <item msgid="5883011000629613855">"কেৱল হেডাৰ এৰক"</item> + <item msgid="1051534112762023603">"সম্পূৰ্ণকৈ আঁতৰাওক"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ডিফ’ল্ট)"</item> <item msgid="1637054408779685086">"AVRCP ১.৩"</item> diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml index 67b18dad4331..ef1f3bf033eb 100644 --- a/packages/SettingsLib/res/values-as/strings.xml +++ b/packages/SettingsLib/res/values-as/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ক্লিপ বাউণ্ড, মাৰ্জিন আদিসমূহ দেখুৱাওক"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"আৰটিএল চানেকিৰ দিশ বলেৰে সলনি কৰক"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"আটাইবোৰ ভাষাৰ বাবে স্ক্ৰীনৰ চানেকিৰ দিশ RTLলৈ বলেৰে সলনি কৰক"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"স্বচ্ছ নেভিগেশ্বন বাৰ"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ডিফ’ল্ট হিচাপে নেভিগেশ্বন বাৰ পটভূমিৰ ৰং স্বচ্ছ কৰক"</string> <string name="window_blurs" msgid="6831008984828425106">"ৱিণ্ড’ স্তৰত অস্পষ্ট কৰাৰ অনুমতি দিয়ক"</string> <string name="force_msaa" msgid="4081288296137775550">"বল ৪গুণ MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 এপত ৪গুণ MSAA সক্ষম কৰক"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"সোঁফাললৈ নিয়ক"</item> <item msgid="324200556467459329">"ওপৰলৈ নিয়ক"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-az/arrays.xml b/packages/SettingsLib/res/values-az/arrays.xml index ff0054bfe810..f01def043282 100644 --- a/packages/SettingsLib/res/values-az/arrays.xml +++ b/packages/SettingsLib/res/values-az/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrləmə aktivdir"</item> <item msgid="2779123106632690576">"Aktivdir"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Yalnız ACL başlıqlarını saxlayın"</item> + <item msgid="2776218217644557831">"A2DP media paketlərini filtrləyin"</item> + <item msgid="8163235976612675092">"RFCOMM kanalını filtrləyin"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Deaktiv edin"</item> + <item msgid="2505973306504851132">"Simvollar sətri ilə doldurun"</item> + <item msgid="5883011000629613855">"Yalnız başlığı saxlayın"</item> + <item msgid="1051534112762023603">"Tam silin"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Defolt)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml index 000fd1b0adee..cb476e2de583 100644 --- a/packages/SettingsLib/res/values-az/strings.xml +++ b/packages/SettingsLib/res/values-az/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Kəsim sərhəddi, sahəsi və digər şeyləri göstərilsin"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL düzən istiqamətinə məcbur edin"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Ekran düzən istiqamətini RTL üzərinə bütün yerli variantlar üçün məcbur edin"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Şəffaf naviqasiya paneli"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Naviqasiya panelinin arxa fon rəngini defolt olaraq şəffaf edin"</string> <string name="window_blurs" msgid="6831008984828425106">"Pəncərə səviyyəsində bulanıqlığa icazə verin"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA aktiv edilsin"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 tətbiqlərində 4x MSAA aktiv edilsin"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Sağa köçürün"</item> <item msgid="324200556467459329">"Yuxarı köçürün"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml b/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml index 32071e541bc7..772c3398ae96 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Omogućeno filtrirano"</item> <item msgid="2779123106632690576">"Omogućeno"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Zadržite samo ACL zaglavlja"</item> + <item msgid="2776218217644557831">"Filtrirajte A2DP medijske pakete"</item> + <item msgid="8163235976612675092">"Filtrirajte RFCOMM kanal"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Onemogućite"</item> + <item msgid="2505973306504851132">"Ispunite stringom znakova"</item> + <item msgid="5883011000629613855">"Zadržite samo zaglavlje"</item> + <item msgid="1051534112762023603">"Uklonite u potpunosti"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (podrazumevano)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml index 6a9ba8a92c8a..c87f8aa989fd 100644 --- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml +++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Prikazuje granice klipa, margine itd."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Nametni smer rasporeda zdesna nalevo"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Nameće smer rasporeda ekrana zdesna nalevo za sve lokalitete"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Prozirna traka za navigaciju"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Neka boja pozadine trake za navigaciju bude podrazumevano prozirna"</string> <string name="window_blurs" msgid="6831008984828425106">"Dozvoli zamagljenja prozora"</string> <string name="force_msaa" msgid="4081288296137775550">"Nametni 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Omogućava 4x MSAA u OpenGL ES 2.0 aplikacijama"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Pomerite nadesno"</item> <item msgid="324200556467459329">"Pomerite nagore"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-be/arrays.xml b/packages/SettingsLib/res/values-be/arrays.xml index a60d35419cf6..d2537259f1bd 100644 --- a/packages/SettingsLib/res/values-be/arrays.xml +++ b/packages/SettingsLib/res/values-be/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Уключана з фільтрацыяй"</item> <item msgid="2779123106632690576">"Уключана"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Пакінуць толькі загалоўкі ACL"</item> + <item msgid="2776218217644557831">"Адфільтраваць пакеты мультымедыя A2DP"</item> + <item msgid="8163235976612675092">"Адфільтраваць канал RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Адключыць"</item> + <item msgid="2505973306504851132">"Увесці радок сімвалаў"</item> + <item msgid="5883011000629613855">"Пакінуць толькі загаловак"</item> + <item msgid="1051534112762023603">"Цалкам выдаліць"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (стандартная)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml index f93ca4b24328..3e9bbb07fb5d 100644 --- a/packages/SettingsLib/res/values-be/strings.xml +++ b/packages/SettingsLib/res/values-be/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Паказаць межы абрэзкі, палі і г. д."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Прымусовая раскладка справа налева"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Прымусовая раскладка экрана справа налева для ўсіх рэгіянальных налад"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Празрыстая панэль навігацыі"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Стандартна зрабіць фонавы колер панэлі навігацыі празрыстым"</string> <string name="window_blurs" msgid="6831008984828425106">"Размываць на ўзроўні акна"</string> <string name="force_msaa" msgid="4081288296137775550">"Прымусовае выкананне 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Уключыць 4x MSAA у праграмах з OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Перамясціць управа"</item> <item msgid="324200556467459329">"Перамясціць уверх"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-bg/arrays.xml b/packages/SettingsLib/res/values-bg/arrays.xml index d778ca275d81..6be882718edb 100644 --- a/packages/SettingsLib/res/values-bg/arrays.xml +++ b/packages/SettingsLib/res/values-bg/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Филтрирането е активирано"</item> <item msgid="2779123106632690576">"Активирано"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Запазване само на ACL заглавките"</item> + <item msgid="2776218217644557831">"Филтриране на мултимедийните пакети A2DP"</item> + <item msgid="8163235976612675092">"Филтриране на канала RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Деактивиране"</item> + <item msgid="2505973306504851132">"Попълване с низ от знаци"</item> + <item msgid="5883011000629613855">"Запазване само на заглавката"</item> + <item msgid="1051534112762023603">"Пълно премахване"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (основно)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml index 650f4052d3a4..9f425a8893df 100644 --- a/packages/SettingsLib/res/values-bg/strings.xml +++ b/packages/SettingsLib/res/values-bg/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Показв. на границите на изрязване, полетата и др."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Принуд. оформл. от дясно наляво"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Принудително оформление на екрана от дясно наляво за всички локали"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Прозрачна лента за навигация"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Задаване на прозрачен фон по подразбиране за лентата за навигация"</string> <string name="window_blurs" msgid="6831008984828425106">"Замъгл. на ниво прозорец"</string> <string name="force_msaa" msgid="4081288296137775550">"Задаване на 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Активиране на 4x MSAA в прилож. с OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Преместване надясно"</item> <item msgid="324200556467459329">"Преместване нагоре"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-bn/arrays.xml b/packages/SettingsLib/res/values-bn/arrays.xml index dbb738c3d47e..b0a1c29a383a 100644 --- a/packages/SettingsLib/res/values-bn/arrays.xml +++ b/packages/SettingsLib/res/values-bn/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ফিল্টার করা চালু আছে"</item> <item msgid="2779123106632690576">"চালু করা আছে"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"শুধু ACL হেডার রাখুন"</item> + <item msgid="2776218217644557831">"A2DP মিডিয়া প্যাকেট ফিল্টার করুন"</item> + <item msgid="8163235976612675092">"RFCOMM চ্যানেল ফিল্টার করুন"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"বন্ধ করুন"</item> + <item msgid="2505973306504851132">"অক্ষরের স্ট্রিং ব্যবহার করে পূরণ করুন"</item> + <item msgid="5883011000629613855">"শুধু হেডার রেখে দিন"</item> + <item msgid="1051534112762023603">"সম্পূর্ণভাবে সরান"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ডিফল্ট)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml index 1faee6a03b60..1a353d7ef2d0 100644 --- a/packages/SettingsLib/res/values-bn/strings.xml +++ b/packages/SettingsLib/res/values-bn/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ক্লিপ বাউন্ড, মার্জিন ইত্যাদি দেখান"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL লেআউট দিকনির্দেশ জোর দিন"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"সমস্ত স্থানের জন্য RTL এ স্ক্রিন লেআউট দিকনির্দেশে জোর দেয়"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"স্বচ্ছ নেভিগেশন বার"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ডিফল্ট হিসেবে, নেভিগেশন বারের ব্যাকগ্রাউন্ড কালার স্বচ্ছ রাখুন"</string> <string name="window_blurs" msgid="6831008984828425106">"উইন্ডো-লেভেল অস্পষ্ট করার সুবিধা চালু করুন"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA-এ জোর দিন"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 অ্যাপের মধ্যে 4x MSAA চালু করুন"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ডানদিকে সরান"</item> <item msgid="324200556467459329">"উপরে সরান"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-bs/arrays.xml b/packages/SettingsLib/res/values-bs/arrays.xml index 740e70478fc3..77d9a207e5eb 100644 --- a/packages/SettingsLib/res/values-bs/arrays.xml +++ b/packages/SettingsLib/res/values-bs/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Omogućeno filtrirano"</item> <item msgid="2779123106632690576">"Omogućeno"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Ostavi samo ACL zaglavlja"</item> + <item msgid="2776218217644557831">"Filtriraj A2DP medijske pakete"</item> + <item msgid="8163235976612675092">"Filtriraj RFCOMM kanal"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Onemogući"</item> + <item msgid="2505973306504851132">"Ispuni nizom znakova"</item> + <item msgid="5883011000629613855">"Ostavi samo zaglavlje"</item> + <item msgid="1051534112762023603">"Potpuno ukloni"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (zadano)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml index 1aa8ff38b2fa..8139dc325339 100644 --- a/packages/SettingsLib/res/values-bs/strings.xml +++ b/packages/SettingsLib/res/values-bs/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Prikaz granica isječka, margina itd."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Prisilno postavi raspored s desna ulijevo"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Prisilno postavljanje rasporeda ekrana s desna ulijevo za sve regije"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Providna navigacijska traka"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Postavite boju pozadine navigacijske trake na providno prema zadanim postavkama"</string> <string name="window_blurs" msgid="6831008984828425106">"Dozvoli zamućenja prozora"</string> <string name="force_msaa" msgid="4081288296137775550">"Prinudno primijeni 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Omogućava 4x MSAA u OpenGL ES 2.0 aplikacijama"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Pomjeranje udesno"</item> <item msgid="324200556467459329">"Pomjeranje nagore"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ca/arrays.xml b/packages/SettingsLib/res/values-ca/arrays.xml index 4e437ba2d4fe..f50f9b26766f 100644 --- a/packages/SettingsLib/res/values-ca/arrays.xml +++ b/packages/SettingsLib/res/values-ca/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Activat amb filtres"</item> <item msgid="2779123106632690576">"Activat"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Deixa només les capçaleres d\'ACL"</item> + <item msgid="2776218217644557831">"Filtra els paquets multimèdia A2DP"</item> + <item msgid="8163235976612675092">"Filtra el canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Desactiva"</item> + <item msgid="2505973306504851132">"Emplena amb una cadena de caràcters"</item> + <item msgid="5883011000629613855">"Deixa només la capçalera"</item> + <item msgid="1051534112762023603">"Suprimeix completament"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (predeterminada)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml index f14befdcd123..36a7c300ff4d 100644 --- a/packages/SettingsLib/res/values-ca/strings.xml +++ b/packages/SettingsLib/res/values-ca/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostra els límits de clips, els marges, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Força direcció dreta-esquerra"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Força direcció de pantalla dreta-esquerra en totes les llengües"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegació transparent"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Fes que el color de fons de la barra de navegació sigui transparent de manera predeterminada"</string> <string name="window_blurs" msgid="6831008984828425106">"Permet desenfoc. finestra"</string> <string name="force_msaa" msgid="4081288296137775550">"Força MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Activa MSAA 4x en aplicacions d\'OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mou cap a la dreta"</item> <item msgid="324200556467459329">"Mou cap amunt"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-cs/arrays.xml b/packages/SettingsLib/res/values-cs/arrays.xml index e1a5aefc34b5..034a1330e5cc 100644 --- a/packages/SettingsLib/res/values-cs/arrays.xml +++ b/packages/SettingsLib/res/values-cs/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Povolit filtrované"</item> <item msgid="2779123106632690576">"Zapnuto"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Nechat pouze záhlaví ACL"</item> + <item msgid="2776218217644557831">"Filtrovat mediální pakety A2DP"</item> + <item msgid="8163235976612675092">"Filtrovat kanál RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Deaktivovat"</item> + <item msgid="2505973306504851132">"Vyplnit řetězcem znaků"</item> + <item msgid="5883011000629613855">"Nechat pouze záhlaví"</item> + <item msgid="1051534112762023603">"Zcela odstranit"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (výchozí)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml index e511f04e1712..b695dfc751ee 100644 --- a/packages/SettingsLib/res/values-cs/strings.xml +++ b/packages/SettingsLib/res/values-cs/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"U výstřižku zobrazit ohraničení, okraje atd."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Vynutit rozvržení zprava doleva"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Vynutit ve všech jazycích rozvržení obrazovky zprava doleva"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Průhledný navigační panel"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Nastavit ve výchozím nastavení barvu navigačního panelu na průhlednou"</string> <string name="window_blurs" msgid="6831008984828425106">"Povolit rozmazávání oken"</string> <string name="force_msaa" msgid="4081288296137775550">"Vynutit 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Povolit 4x MSAA v aplikacích OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Přesunout doprava"</item> <item msgid="324200556467459329">"Přesunout nahoru"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-da/arrays.xml b/packages/SettingsLib/res/values-da/arrays.xml index 03cab2062bd5..9f3db17d6d9d 100644 --- a/packages/SettingsLib/res/values-da/arrays.xml +++ b/packages/SettingsLib/res/values-da/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtreret er aktiveret"</item> <item msgid="2779123106632690576">"Aktiveret"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Udfyld alt pånær ACL-headere"</item> + <item msgid="2776218217644557831">"Filtrér A2DP-mediepakker"</item> + <item msgid="8163235976612675092">"Filtrér RFCOMM-kanal"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Deaktiver"</item> + <item msgid="2505973306504851132">"Udfyld med streng af tegn"</item> + <item msgid="5883011000629613855">"Udfyld alt pånær header"</item> + <item msgid="1051534112762023603">"Fjern helt"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (standard)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml index c52c66129268..d61ee269b3ca 100644 --- a/packages/SettingsLib/res/values-da/strings.xml +++ b/packages/SettingsLib/res/values-da/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Vis grænser for klip, margener osv."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Tving læsning mod venstre"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Gennemtving højre mod venstre-layout for alle sprog"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Gennemsigtig navigationslinje"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Gør navigationslinjens baggrundsfarve gennemsigtig som standard"</string> <string name="window_blurs" msgid="6831008984828425106">"Tillad vinduessløring"</string> <string name="force_msaa" msgid="4081288296137775550">"Gennemtving 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Aktivér 4x MSAA i apps med OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Flyt til højre"</item> <item msgid="324200556467459329">"Flyt op"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-de/arrays.xml b/packages/SettingsLib/res/values-de/arrays.xml index c5dcc10b0ccb..05c463075157 100644 --- a/packages/SettingsLib/res/values-de/arrays.xml +++ b/packages/SettingsLib/res/values-de/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filter aktiviert"</item> <item msgid="2779123106632690576">"Aktiviert"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Nur ACL-Header belassen"</item> + <item msgid="2776218217644557831">"A2DP-Medienpakete filtern"</item> + <item msgid="8163235976612675092">"RFCOMM-Kanal filtern"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Deaktivieren"</item> + <item msgid="2505973306504851132">"Mit Zeichen-String füllen"</item> + <item msgid="5883011000629613855">"Nur Header belassen"</item> + <item msgid="1051534112762023603">"Vollständig entfernen"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Standard)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml index dd677c9f382d..2cc048bcf41e 100644 --- a/packages/SettingsLib/res/values-de/strings.xml +++ b/packages/SettingsLib/res/values-de/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Zuschnittbegrenzungen, Ränder usw. anzeigen"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Linksläufiges Layout erzwingen"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Für alle Sprachen wird das linksläufige Bildschirmlayout verwendet"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparente Navigationsleiste"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Hintergrundfarbe der Navigationsleiste standardmäßig transparent machen"</string> <string name="window_blurs" msgid="6831008984828425106">"Weichzeichnen auf Fensterebene zulassen"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA erzwingen"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"In OpenGL ES 2.0-Apps 4x MSAA aktivieren"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Nach rechts"</item> <item msgid="324200556467459329">"Nach oben"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-el/arrays.xml b/packages/SettingsLib/res/values-el/arrays.xml index 6486b3d113c2..4e8736c1951a 100644 --- a/packages/SettingsLib/res/values-el/arrays.xml +++ b/packages/SettingsLib/res/values-el/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Ενεργοποιήθηκε το φιλτράρισμα"</item> <item msgid="2779123106632690576">"Ενεργοποιήθηκε"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Διατήρηση μόνο κεφαλίδων ACL"</item> + <item msgid="2776218217644557831">"Φιλτράρισμα πακέτων μέσων A2DP"</item> + <item msgid="8163235976612675092">"Φιλτράρισμα καναλιού RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Απενεργοποίηση"</item> + <item msgid="2505973306504851132">"Συμπλήρωση με συμβολοσειρά χαρακτήρων"</item> + <item msgid="5883011000629613855">"Διατήρηση μόνο κεφαλίδας"</item> + <item msgid="1051534112762023603">"Πλήρης κατάργηση"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Προεπιλογή)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml index 1e11424e3b2e..71a54924f165 100644 --- a/packages/SettingsLib/res/values-el/strings.xml +++ b/packages/SettingsLib/res/values-el/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Εμφάνιση ορίων κλιπ, περιθωρίων, κλπ."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Επιβολή κατ. διάταξης RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Επιβολή διάταξης οθόν. RTL για όλες τις τοπ. ρυθμ."</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Διαφανής γραμμή πλοήγησης"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Να είναι το χρώμα του φόντου της γραμμής πλοήγησης διαφανές από προεπιλογή"</string> <string name="window_blurs" msgid="6831008984828425106">"Θάμπωμα σε επίπεδο παραθ."</string> <string name="force_msaa" msgid="4081288296137775550">"Αναγκαστικά 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Ενεργοποίηση 4x MSAA σε εφαρμογές OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Μετακίνηση δεξιά"</item> <item msgid="324200556467459329">"Μετακίνηση προς τα επάνω"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rAU/arrays.xml b/packages/SettingsLib/res/values-en-rAU/arrays.xml index 9a7390e5882e..df643cd12505 100644 --- a/packages/SettingsLib/res/values-en-rAU/arrays.xml +++ b/packages/SettingsLib/res/values-en-rAU/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Enabled Filtered"</item> <item msgid="2779123106632690576">"Enabled"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Leave only ACL headers"</item> + <item msgid="2776218217644557831">"Filter A2DP media packets"</item> + <item msgid="8163235976612675092">"Filter RFCOMM channel"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Disable"</item> + <item msgid="2505973306504851132">"Fill with string of characters"</item> + <item msgid="5883011000629613855">"Leave only header"</item> + <item msgid="1051534112762023603">"Fully remove"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Default)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml index fa40a7b75fb4..19dbc53efc3f 100644 --- a/packages/SettingsLib/res/values-en-rAU/strings.xml +++ b/packages/SettingsLib/res/values-en-rAU/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Show clip bounds, margins, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Force RTL layout direction"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Force screen layout direction to RTL for all locales"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparent navigation bar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Make navigation bar background colour transparent by default"</string> <string name="window_blurs" msgid="6831008984828425106">"Allow window-level blurs"</string> <string name="force_msaa" msgid="4081288296137775550">"Force 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Enable 4x MSAA in OpenGL ES 2.0 apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Move right"</item> <item msgid="324200556467459329">"Move up"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml index 1ed09ef21b24..7c14c1a1c372 100644 --- a/packages/SettingsLib/res/values-en-rCA/strings.xml +++ b/packages/SettingsLib/res/values-en-rCA/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Show clip bounds, margins, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Force RTL layout direction"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Force screen layout direction to RTL for all locales"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparent navigation bar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Make navigation bar background color transparent by default"</string> <string name="window_blurs" msgid="6831008984828425106">"Allow window-level blurs"</string> <string name="force_msaa" msgid="4081288296137775550">"Force 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Enable 4x MSAA in OpenGL ES 2.0 apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Move right"</item> <item msgid="324200556467459329">"Move up"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rGB/arrays.xml b/packages/SettingsLib/res/values-en-rGB/arrays.xml index 9a7390e5882e..df643cd12505 100644 --- a/packages/SettingsLib/res/values-en-rGB/arrays.xml +++ b/packages/SettingsLib/res/values-en-rGB/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Enabled Filtered"</item> <item msgid="2779123106632690576">"Enabled"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Leave only ACL headers"</item> + <item msgid="2776218217644557831">"Filter A2DP media packets"</item> + <item msgid="8163235976612675092">"Filter RFCOMM channel"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Disable"</item> + <item msgid="2505973306504851132">"Fill with string of characters"</item> + <item msgid="5883011000629613855">"Leave only header"</item> + <item msgid="1051534112762023603">"Fully remove"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Default)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml index fa40a7b75fb4..19dbc53efc3f 100644 --- a/packages/SettingsLib/res/values-en-rGB/strings.xml +++ b/packages/SettingsLib/res/values-en-rGB/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Show clip bounds, margins, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Force RTL layout direction"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Force screen layout direction to RTL for all locales"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparent navigation bar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Make navigation bar background colour transparent by default"</string> <string name="window_blurs" msgid="6831008984828425106">"Allow window-level blurs"</string> <string name="force_msaa" msgid="4081288296137775550">"Force 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Enable 4x MSAA in OpenGL ES 2.0 apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Move right"</item> <item msgid="324200556467459329">"Move up"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rIN/arrays.xml b/packages/SettingsLib/res/values-en-rIN/arrays.xml index 9a7390e5882e..df643cd12505 100644 --- a/packages/SettingsLib/res/values-en-rIN/arrays.xml +++ b/packages/SettingsLib/res/values-en-rIN/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Enabled Filtered"</item> <item msgid="2779123106632690576">"Enabled"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Leave only ACL headers"</item> + <item msgid="2776218217644557831">"Filter A2DP media packets"</item> + <item msgid="8163235976612675092">"Filter RFCOMM channel"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Disable"</item> + <item msgid="2505973306504851132">"Fill with string of characters"</item> + <item msgid="5883011000629613855">"Leave only header"</item> + <item msgid="1051534112762023603">"Fully remove"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Default)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml index fa40a7b75fb4..19dbc53efc3f 100644 --- a/packages/SettingsLib/res/values-en-rIN/strings.xml +++ b/packages/SettingsLib/res/values-en-rIN/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Show clip bounds, margins, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Force RTL layout direction"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Force screen layout direction to RTL for all locales"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparent navigation bar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Make navigation bar background colour transparent by default"</string> <string name="window_blurs" msgid="6831008984828425106">"Allow window-level blurs"</string> <string name="force_msaa" msgid="4081288296137775550">"Force 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Enable 4x MSAA in OpenGL ES 2.0 apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Move right"</item> <item msgid="324200556467459329">"Move up"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-en-rXC/strings.xml b/packages/SettingsLib/res/values-en-rXC/strings.xml index 11797d5e7013..af7a1cbc0c57 100644 --- a/packages/SettingsLib/res/values-en-rXC/strings.xml +++ b/packages/SettingsLib/res/values-en-rXC/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Show clip bounds, margins, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Force RTL layout direction"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Force screen layout direction to RTL for all locales"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparent navigation bar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Make navigation bar background color transparent by default"</string> <string name="window_blurs" msgid="6831008984828425106">"Allow window-level blurs"</string> <string name="force_msaa" msgid="4081288296137775550">"Force 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Enable 4x MSAA in OpenGL ES 2.0 apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Move right"</item> <item msgid="324200556467459329">"Move up"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-es-rUS/arrays.xml b/packages/SettingsLib/res/values-es-rUS/arrays.xml index 771690dc8309..b1b1b2e6616b 100644 --- a/packages/SettingsLib/res/values-es-rUS/arrays.xml +++ b/packages/SettingsLib/res/values-es-rUS/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrado habilitado"</item> <item msgid="2779123106632690576">"Habilitado"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Dejar solo los encabezados de LCA"</item> + <item msgid="2776218217644557831">"Filtrar los paquetes multimedia A2DP"</item> + <item msgid="8163235976612675092">"Filtrar el canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Inhabilitar"</item> + <item msgid="2505973306504851132">"Completar con una cadena de caracteres"</item> + <item msgid="5883011000629613855">"Dejar solo el encabezado"</item> + <item msgid="1051534112762023603">"Quitar por completo"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (predeterminado)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml index fcb454a254ef..9e35c9ef05f1 100644 --- a/packages/SettingsLib/res/values-es-rUS/strings.xml +++ b/packages/SettingsLib/res/values-es-rUS/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostrar límites de recortes, márgenes, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forzar diseño der. a izq."</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forzar diseño de pantalla de derecha a izquierda para todos los idiomas"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegación transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Hace que el color de fondo de la barra de navegación sea transparente de forma predeterminada"</string> <string name="window_blurs" msgid="6831008984828425106">"Permitir difuminación en ventana"</string> <string name="force_msaa" msgid="4081288296137775550">"Forzar MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Activar MSAA 4x en aplicaciones OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mover hacia la derecha"</item> <item msgid="324200556467459329">"Mover hacia arriba"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-es/arrays.xml b/packages/SettingsLib/res/values-es/arrays.xml index e07f9dc372f7..626f2ea3e50f 100644 --- a/packages/SettingsLib/res/values-es/arrays.xml +++ b/packages/SettingsLib/res/values-es/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Habilitado con filtros"</item> <item msgid="2779123106632690576">"Habilitado"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Dejar solo los encabezados de LCA"</item> + <item msgid="2776218217644557831">"Filtrar paquetes multimedia A2DP"</item> + <item msgid="8163235976612675092">"Filtrar canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Inhabilitar"</item> + <item msgid="2505973306504851132">"Rellenar con cadena de caracteres"</item> + <item msgid="5883011000629613855">"Dejar solo el encabezado"</item> + <item msgid="1051534112762023603">"Quitar por completo"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (predeterminado)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml index a7109feee086..01e39618cbbe 100644 --- a/packages/SettingsLib/res/values-es/strings.xml +++ b/packages/SettingsLib/res/values-es/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Muestra límites de vídeo, márgenes, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forzar dirección RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Fuerza la dirección RTL para todos los idiomas"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegación transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Haz que el color de fondo de la barra de navegación sea transparente de forma predeterminada"</string> <string name="window_blurs" msgid="6831008984828425106">"Difuminar ventanas"</string> <string name="force_msaa" msgid="4081288296137775550">"Forzar MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Habilita MSAA 4x en aplicaciones de OpenGL ES 2.0"</string> @@ -466,7 +468,7 @@ <string name="power_remaining_duration_shutdown_imminent" product="device" msgid="4374784375644214578">"Es posible que el dispositivo se apague pronto (<xliff:g id="LEVEL">%1$s</xliff:g>)"</string> <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only" msgid="8085099012811384899">"<xliff:g id="TIME">%1$s</xliff:g> hasta la carga completa"</string> - <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g>: <xliff:g id="TIME">%2$s</xliff:g> hasta la carga completa"</string> + <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> hasta la carga completa"</string> <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - Carga optimizada"</string> <string name="power_charging_future_paused" msgid="4730177778538118032">"<xliff:g id="LEVEL">%1$s</xliff:g> - Carga optimizada"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Desconocido"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Muévete hacia la derecha"</item> <item msgid="324200556467459329">"Muévete hacia arriba"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-et/arrays.xml b/packages/SettingsLib/res/values-et/arrays.xml index 34448a72525e..bbfca7d0fdf6 100644 --- a/packages/SettingsLib/res/values-et/arrays.xml +++ b/packages/SettingsLib/res/values-et/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Luba filtreeritud"</item> <item msgid="2779123106632690576">"Lubatud"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Ainult ACL-i päiste allesjätmine"</item> + <item msgid="2776218217644557831">"A2DP meediapakettide filtreerimine"</item> + <item msgid="8163235976612675092">"RFCOMM-i kanali filtreerimine"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Keelamine"</item> + <item msgid="2505973306504851132">"Tähemärkide stringiga täitmine"</item> + <item msgid="5883011000629613855">"Ainult päise allesjätmine"</item> + <item msgid="1051534112762023603">"Täielikult eemaldamine"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (vaikeseade)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml index fd9bcd6f813e..4b8db975112f 100644 --- a/packages/SettingsLib/res/values-et/strings.xml +++ b/packages/SettingsLib/res/values-et/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Kuva klipi piirid, veerised jms"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Jõusta paremalt vasakule paigutus"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Jõusta kõikides lokaatides paremalt vasakule ekraanipaigutus"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Läbipaistev navigeerimisriba"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Muuda navigeerimisriba taustavärv vaikimisi läbipaistvaks"</string> <string name="window_blurs" msgid="6831008984828425106">"Luba akna tasemel hägust."</string> <string name="force_msaa" msgid="4081288296137775550">"Jõusta 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Luba 4x MSAA OpenGL ES 2.0 rakendustes"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Liiguta paremale"</item> <item msgid="324200556467459329">"Liiguta üles"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-eu/arrays.xml b/packages/SettingsLib/res/values-eu/arrays.xml index eb678ffc03e3..e2867c2e2736 100644 --- a/packages/SettingsLib/res/values-eu/arrays.xml +++ b/packages/SettingsLib/res/values-eu/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Gaituta baina iragazita"</item> <item msgid="2779123106632690576">"Gaituta"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Utzi ACL goiburuak soilik"</item> + <item msgid="2776218217644557831">"Iragazi A2DP darabilten multimedia-paketeak"</item> + <item msgid="8163235976612675092">"Iragazi RFCOMM kanala"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Desgaitu"</item> + <item msgid="2505973306504851132">"Bete karaktere-kate batekin"</item> + <item msgid="5883011000629613855">"Utzi goiburua soilik"</item> + <item msgid="1051534112762023603">"Kendu guztiz"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (lehenetsia)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml index 02ab1920731d..35cbafc7164f 100644 --- a/packages/SettingsLib/res/values-eu/strings.xml +++ b/packages/SettingsLib/res/values-eu/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Erakutsi kliparen mugak, marjinak, etab."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Eskuinetik ezkerrerako norabidea"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Behartu pantaila-diseinuaren norabidea eskuin-ezker izatera lurraldeko ezarpen guztiekin"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Nabigazio-barra gardena"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Ezarri nabigazio-barraren atzeko planoko kolorea garden gisa modu lehenetsian"</string> <string name="window_blurs" msgid="6831008984828425106">"Gaitu leiho-lausotzeak"</string> <string name="force_msaa" msgid="4081288296137775550">"Behartu 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Gaitu 4x MSAA, OpenGL ES 2.0 aplikazioetan"</string> @@ -467,8 +469,8 @@ <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only" msgid="8085099012811384899">"<xliff:g id="TIME">%1$s</xliff:g> guztiz kargatu arte"</string> <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="TIME">%2$s</xliff:g> guztiz kargatu arte"</string> - <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - Kargatze optimizatua"</string> - <string name="power_charging_future_paused" msgid="4730177778538118032">"<xliff:g id="LEVEL">%1$s</xliff:g> - Kargatze optimizatua"</string> + <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - Kargatzeko modu optimizatua"</string> + <string name="power_charging_future_paused" msgid="4730177778538118032">"<xliff:g id="LEVEL">%1$s</xliff:g> - Kargatzeko modu optimizatua"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Ezezaguna"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Kargatzen"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"Bizkor kargatzen"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Eraman eskuinera"</item> <item msgid="324200556467459329">"Eraman gora"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"%% <xliff:g id="PERCENTAGE">%1$d</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/res/values-fa/arrays.xml b/packages/SettingsLib/res/values-fa/arrays.xml index 2d9be3177a16..7feef7030413 100644 --- a/packages/SettingsLib/res/values-fa/arrays.xml +++ b/packages/SettingsLib/res/values-fa/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"فیلترشده فعال شده است"</item> <item msgid="2779123106632690576">"فعال"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"نگه داشتن فقط سرایند ACL"</item> + <item msgid="2776218217644557831">"فیلتر کردن بستههای رسانه A2DP"</item> + <item msgid="8163235976612675092">"فیلتر کردن کانال RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"غیرفعال کردن"</item> + <item msgid="2505973306504851132">"پر کردن با رشتهای از نویسهها"</item> + <item msgid="5883011000629613855">"نگه داشتن فقط سرایند"</item> + <item msgid="1051534112762023603">"برداشتن کامل"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP نسخه ۱.۵ (پیشفرض)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml index 0732fcf45632..8fa6b3391a60 100644 --- a/packages/SettingsLib/res/values-fa/strings.xml +++ b/packages/SettingsLib/res/values-fa/strings.xml @@ -268,7 +268,7 @@ <string name="mock_location_app_set" msgid="4706722469342913843">"برنامه موقعیت مکانی ساختگی: <xliff:g id="APP_NAME">%1$s</xliff:g>"</string> <string name="debug_networking_category" msgid="6829757985772659599">"شبکه"</string> <string name="wifi_display_certification" msgid="1805579519992520381">"گواهینامه نمایش بیسیم"</string> - <string name="wifi_verbose_logging" msgid="1785910450009679371">"فعال کردن گزارشگیری طولانی Wi‑Fi"</string> + <string name="wifi_verbose_logging" msgid="1785910450009679371">"فعال کردن گزارشگیری مفصل Wi‑Fi"</string> <string name="wifi_scan_throttling" msgid="2985624788509913617">"محدود کردن اسکن کردن Wi‑Fi"</string> <string name="wifi_non_persistent_mac_randomization" msgid="7482769677894247316">"تصادفیسازی MAC غیرپایای Wi-Fi"</string> <string name="mobile_data_always_on" msgid="8275958101875563572">"داده تلفن همراه همیشه فعال باشد"</string> @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"نمایش مرزها، حاشیهها و ویژگیهای دیگر کلیپ."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"اجباری کردن چیدمان راستچین"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"اجباری کردن چیدمان راستچین صفحه برای همه زبانها"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"نوار پیمایش شفاف"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"رنگ پسزمینه نوار پیمایش را بهطور پیشفرض شفاف میکند"</string> <string name="window_blurs" msgid="6831008984828425106">"محو کردن در سطح پنجره"</string> <string name="force_msaa" msgid="4081288296137775550">"اجبار 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"فعال کردن 4X MSAA در برنامههای OpenGL ES 2.0"</string> @@ -378,7 +380,7 @@ <string name="track_frame_time" msgid="522674651937771106">"پرداز زدن HWUI نمایه"</string> <string name="enable_gpu_debug_layers" msgid="4986675516188740397">"فعال کردن لایههای اشکالزدایی GPU"</string> <string name="enable_gpu_debug_layers_summary" msgid="4921521407377170481">"مجاز کردن بارگیری لایههای اشکالزدایی GPU برای برنامههای اشکالزدایی"</string> - <string name="enable_verbose_vendor_logging" msgid="1196698788267682072">"فعال کردن گزارش طولانی فروشنده"</string> + <string name="enable_verbose_vendor_logging" msgid="1196698788267682072">"فعال کردن گزارشگیری مفصل فروشنده"</string> <string name="enable_verbose_vendor_logging_summary" msgid="5426292185780393708">"شامل گزارشات اشکال تکمیلی ورود به سیستم فروشنده ویژه دستگاه میشود که ممکن است دربرگیرنده اطلاعات خصوصی، استفاده بیشتر از باتری، و/یا استفاده بیشتر از فضای ذخیرهسازی باشد."</string> <string name="window_animation_scale_title" msgid="5236381298376812508">"مقیاس پویانمایی پنجره"</string> <string name="transition_animation_scale_title" msgid="1278477690695439337">"مقیاس پویانمایی انتقالی"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"انتقال بهراست"</item> <item msgid="324200556467459329">"انتقال بهبالا"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>٪"</string> </resources> diff --git a/packages/SettingsLib/res/values-fi/arrays.xml b/packages/SettingsLib/res/values-fi/arrays.xml index d6f002f5b539..5a1dc182e83a 100644 --- a/packages/SettingsLib/res/values-fi/arrays.xml +++ b/packages/SettingsLib/res/values-fi/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Suodatus käytössä"</item> <item msgid="2779123106632690576">"Päällä"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Jätä pelkät ACL-otsikot"</item> + <item msgid="2776218217644557831">"Suodata A2DP-mediapaketit"</item> + <item msgid="8163235976612675092">"Suodata RFCOMM-kanava"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Poista käytöstä"</item> + <item msgid="2505973306504851132">"Täytä merkkijonolla"</item> + <item msgid="5883011000629613855">"Jätä pelkkä otsikko"</item> + <item msgid="1051534112762023603">"Poista kokonaan"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (oletus)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml index 089fa421b9c0..0af656d2267b 100644 --- a/packages/SettingsLib/res/values-fi/strings.xml +++ b/packages/SettingsLib/res/values-fi/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Näytä leikkeiden rajat, marginaalit jne."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Pakota RTL-ulkoasun suunta"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Pakota kaikkien kielten näytön ulkoasun suunnaksi RTL"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Läpinäkyvä siirtymispalkki"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Muuta siirtymispalkin taustaväri oletuksena läpinäkyväksi"</string> <string name="window_blurs" msgid="6831008984828425106">"Salli ikkunoiden sumennus"</string> <string name="force_msaa" msgid="4081288296137775550">"Pakota 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Ota käyttöön 4x MSAA OpenGL ES 2.0 -sovelluksissa"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Siirrä oikealle"</item> <item msgid="324200556467459329">"Siirrä ylös"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-fr-rCA/arrays.xml b/packages/SettingsLib/res/values-fr-rCA/arrays.xml index 6657aa121159..06a703f6b675 100644 --- a/packages/SettingsLib/res/values-fr-rCA/arrays.xml +++ b/packages/SettingsLib/res/values-fr-rCA/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtres activés"</item> <item msgid="2779123106632690576">"Activé"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Garder uniquement les en-têtes ACL"</item> + <item msgid="2776218217644557831">"Filtrer les paquets multimédias A2DP"</item> + <item msgid="8163235976612675092">"Filtrer le canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Désactiver"</item> + <item msgid="2505973306504851132">"Remplir avec une chaîne de caractères"</item> + <item msgid="5883011000629613855">"Garder uniquement l\'en-tête"</item> + <item msgid="1051534112762023603">"Retirer complètement"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (par défaut)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml index 489bea1c085e..5596e7057539 100644 --- a/packages/SettingsLib/res/values-fr-rCA/strings.xml +++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Afficher les limites, les marges de clip, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forcer droite à gauche"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forcer l\'orientation de droite à gauche (toutes langues)"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barre de navigation transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Rendre la couleur d\'arrière-plan de la barre de navigation transparente par défaut"</string> <string name="window_blurs" msgid="6831008984828425106">"Autoriser le flou au niveau des fenêtres"</string> <string name="force_msaa" msgid="4081288296137775550">"Forcer MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Activer MSAA 4x dans les applications OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Déplacez vers la droite"</item> <item msgid="324200556467459329">"Déplacez vers le haut"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-fr/arrays.xml b/packages/SettingsLib/res/values-fr/arrays.xml index 869d88ad5599..6377160a4c6a 100644 --- a/packages/SettingsLib/res/values-fr/arrays.xml +++ b/packages/SettingsLib/res/values-fr/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Activé et filtré"</item> <item msgid="2779123106632690576">"Activé"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Ne laisser que les en-têtes LCA"</item> + <item msgid="2776218217644557831">"Filtrer les paquets multimédias A2DP"</item> + <item msgid="8163235976612675092">"Filtrer le canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Désactiver"</item> + <item msgid="2505973306504851132">"Saisir une chaîne de caractères"</item> + <item msgid="5883011000629613855">"Ne laisser que l\'en-tête"</item> + <item msgid="1051534112762023603">"Supprimer complètement"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (par défaut)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml index a4d5f20a43ca..12ba2c34218a 100644 --- a/packages/SettingsLib/res/values-fr/strings.xml +++ b/packages/SettingsLib/res/values-fr/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Afficher les limites de coupe, les marges, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forcer écriture droite à gauche"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forcer l\'orientation du texte de droite à gauche pour toutes les langues"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barre de navigation transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Rendre la couleur d\'arrière-plan de la barre de navigation transparente par défaut"</string> <string name="window_blurs" msgid="6831008984828425106">"Autor. floutage fenêtre"</string> <string name="force_msaa" msgid="4081288296137775550">"Forcer MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Activer MSAA 4x dans les applications OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Déplacer vers la droite"</item> <item msgid="324200556467459329">"Déplacer vers le haut"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-gl/arrays.xml b/packages/SettingsLib/res/values-gl/arrays.xml index 3cd7b4b4c4a0..797f84b350f4 100644 --- a/packages/SettingsLib/res/values-gl/arrays.xml +++ b/packages/SettingsLib/res/values-gl/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Está activado o filtrado"</item> <item msgid="2779123106632690576">"Activada"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Deixar só as cabeceiras de ACL"</item> + <item msgid="2776218217644557831">"Filtrar paquetes multimedia A2DP"</item> + <item msgid="8163235976612675092">"Filtrar canle RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Desactivar"</item> + <item msgid="2505973306504851132">"Completar cunha cadea de caracteres"</item> + <item msgid="5883011000629613855">"Deixar só a cabeceira"</item> + <item msgid="1051534112762023603">"Quitar por completo"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (predeterminado)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml index 8aa4d628dbdb..7577cd5601fb 100644 --- a/packages/SettingsLib/res/values-gl/strings.xml +++ b/packages/SettingsLib/res/values-gl/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostra os límites dos clips, as marxes etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forzar dirección do deseño RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forza a dirección de pantalla de dereita a esquerda para todas as opcións de configuración rexionais"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegación transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Cambia a cor de fondo da barra de navegación a transparente de forma predeterminada"</string> <string name="window_blurs" msgid="6831008984828425106">"Permitir desenfoque de ventás"</string> <string name="force_msaa" msgid="4081288296137775550">"Forzar MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Activa MSAA 4x en aplicacións OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mover cara á dereita"</item> <item msgid="324200556467459329">"Mover cara arriba"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-gu/arrays.xml b/packages/SettingsLib/res/values-gu/arrays.xml index f559b805af4c..93d34324208b 100644 --- a/packages/SettingsLib/res/values-gu/arrays.xml +++ b/packages/SettingsLib/res/values-gu/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ફિલ્ટર કરેલ ચાલુ છે"</item> <item msgid="2779123106632690576">"ચાલુ છે"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"માત્ર ACL હેડર છોડી દો"</item> + <item msgid="2776218217644557831">"A2DP મીડિયા પૅકેટ ફિલ્ટર કરો"</item> + <item msgid="8163235976612675092">"RFCOMM ચૅનલ ફિલ્ટર કરો"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"બંધ કરો"</item> + <item msgid="2505973306504851132">"અક્ષરોની સ્ટ્રિંગથી ભરો"</item> + <item msgid="5883011000629613855">"માત્ર હેડર છોડી દો"</item> + <item msgid="1051534112762023603">"સંપૂર્ણપણે કાઢી નાખવું"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ડિફૉલ્ટ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml index e253bbf96216..1696f81a2303 100644 --- a/packages/SettingsLib/res/values-gu/strings.xml +++ b/packages/SettingsLib/res/values-gu/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ક્લિપ બાઉન્ડ, હાંસિયાં વગેરે બતાવો."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL લેઆઉટ દિશાનિર્દેશની ફરજ પાડો"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"તમામ લોકેલ માટે સ્ક્રીન લેઆઉટ દિશાનિર્દેશને RTLની ફરજ પાડો"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"પારદર્શક નૅવિગેશન બાર"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"નૅવિગેશન બારના બૅકગ્રાઉન્ડના રંગને ડિફૉલ્ટ તરીકે પારદર્શક બનાવો"</string> <string name="window_blurs" msgid="6831008984828425106">"વિન્ડો-લેવલને બ્લર કરવાની સુવિધા ચાલુ કરો"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAAને ફરજ પાડો"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ઍપમાં 4x MSAA ચાલુ કરો"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"જમણે ખસેડો"</item> <item msgid="324200556467459329">"ઉપર ખસેડો"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-hi/arrays.xml b/packages/SettingsLib/res/values-hi/arrays.xml index be8862096de8..24efe28a4dcd 100644 --- a/packages/SettingsLib/res/values-hi/arrays.xml +++ b/packages/SettingsLib/res/values-hi/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"चालू और फ़िल्टर किया गया"</item> <item msgid="2779123106632690576">"चालू है"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"सिर्फ़ ACL हेडर छोड़ दें"</item> + <item msgid="2776218217644557831">"A2DP मीडिया पैकेट फ़िल्टर करें"</item> + <item msgid="8163235976612675092">"RFCOMM चैनल फ़िल्टर करें"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"बंद करें"</item> + <item msgid="2505973306504851132">"कैरेक्टर स्ट्रिंग डालें"</item> + <item msgid="5883011000629613855">"सिर्फ़ हेडर छोड़ दें"</item> + <item msgid="1051534112762023603">"पूरी तरह से हटाएं"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (डिफ़ॉल्ट)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml index adf09d7f734f..04c225c2ce32 100644 --- a/packages/SettingsLib/res/values-hi/strings.xml +++ b/packages/SettingsLib/res/values-hi/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"क्लिप सीमाएं, मार्जिन वगैरह दिखाएं."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"लेआउट की दिशा दाएं से बाएं करें"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"सभी भाषाओं के लिए स्क्रीन लेआउट की दिशा दाएं से बाएं रखें"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"पारदर्शी बैकग्राउंड वाला नेविगेशन बार"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"नेविगेशन बार के बैकग्राउंड के रंग को डिफ़ॉल्ट रूप से पारदर्शी के तौर पर सेट करें"</string> <string name="window_blurs" msgid="6831008984828425106">"विंडो को धुंधला करने की सुविधा चालू करें"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA को हर हाल में चालू करें"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ऐप में 4x MSAA को चालू करें"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"दाईं ओर ले जाएं"</item> <item msgid="324200556467459329">"ऊपर की ओर ले जाएं"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-hr/arrays.xml b/packages/SettingsLib/res/values-hr/arrays.xml index 5c73ebba1402..fbe62a0d186d 100644 --- a/packages/SettingsLib/res/values-hr/arrays.xml +++ b/packages/SettingsLib/res/values-hr/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Omogućeno filtrirano"</item> <item msgid="2779123106632690576">"Omogućeno"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Zadrži samo ACL zaglavlja"</item> + <item msgid="2776218217644557831">"Filtriraj A2DP medijske pakete"</item> + <item msgid="8163235976612675092">"Filtriraj RFCOMM kanal"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Onemogući"</item> + <item msgid="2505973306504851132">"Ispunite nizom znakova"</item> + <item msgid="5883011000629613855">"Zadržite samo zaglavlje"</item> + <item msgid="1051534112762023603">"Uklonite u potpunosti"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (zadano)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml index 9489d6e0d518..06fe6f2ab7f2 100644 --- a/packages/SettingsLib/res/values-hr/strings.xml +++ b/packages/SettingsLib/res/values-hr/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Prikazuju se obrubi, margine itd. isječaka"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Nametni zdesna ulijevo"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Nametni smjer zdesna ulijevo za sve zemlje/jezike"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Prozirna navigacijska traka"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Neka boja pozadine navigacijske trake bude prozirna prema zadanim postavkama"</string> <string name="window_blurs" msgid="6831008984828425106">"Dopusti zamućenja na razini prozora"</string> <string name="force_msaa" msgid="4081288296137775550">"Nametni 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Omogući 4x MSAA u aplikacijama OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Pomicanje udesno"</item> <item msgid="324200556467459329">"Pomicanje prema gore"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-hu/arrays.xml b/packages/SettingsLib/res/values-hu/arrays.xml index 500b9fd228f3..ee1ace0d16fc 100644 --- a/packages/SettingsLib/res/values-hu/arrays.xml +++ b/packages/SettingsLib/res/values-hu/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Szűrtek engedélyezve"</item> <item msgid="2779123106632690576">"Engedélyezve"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Csak ACL-fejlécek maradjanak"</item> + <item msgid="2776218217644557831">"A2DP-médiacsomagok szűrése"</item> + <item msgid="8163235976612675092">"RFCOMM-csatorna szűrése"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Kikapcsolás"</item> + <item msgid="2505973306504851132">"Kitöltés karakterláncokkal"</item> + <item msgid="5883011000629613855">"Csak fejléc maradjon"</item> + <item msgid="1051534112762023603">"Teljes eltávolítás"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (alapértelmezett)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml index 0d4d09d010d7..5d2557271aeb 100644 --- a/packages/SettingsLib/res/values-hu/strings.xml +++ b/packages/SettingsLib/res/values-hu/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Kliphatárok, margók stb. megjelenítése."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Elrendezés jobbról balra"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Elrendezés jobbról balra minden nyelvnél"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Átlátszó navigációs sáv"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"A navigációs sáv alapértelmezett háttérszínének beállítása átlátszóra"</string> <string name="window_blurs" msgid="6831008984828425106">"Ablakszintű homályosítás"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA kényszerítése"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"A 4x MSAA engedélyezése az OpenGL ES 2.0-nál"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mozgatás jobbra"</item> <item msgid="324200556467459329">"Mozgatás felfelé"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-hy/arrays.xml b/packages/SettingsLib/res/values-hy/arrays.xml index 6fd6893b83e6..01b97a8e2043 100644 --- a/packages/SettingsLib/res/values-hy/arrays.xml +++ b/packages/SettingsLib/res/values-hy/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Միացված է զտիչներով"</item> <item msgid="2779123106632690576">"Միացված է"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Թողնել միայն ACL վերնագրերը"</item> + <item msgid="2776218217644557831">"Զտել A2DP մուլտիմեդիա փաթեթները"</item> + <item msgid="8163235976612675092">"Զտել RFCOMM կապուղին"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Անջատել"</item> + <item msgid="2505973306504851132">"Լրացնել նիշերի տողով"</item> + <item msgid="5883011000629613855">"Թողնել միայն վերնագիրը"</item> + <item msgid="1051534112762023603">"Ամբողջությամբ հեռացնել"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (կանխադրված)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml index 0a3161b93e90..69e57ccd5579 100644 --- a/packages/SettingsLib/res/values-hy/strings.xml +++ b/packages/SettingsLib/res/values-hy/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Ցույց տալ կտրվածքի սահմանները, լուսանցքները և այլն"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Ուղղությունը դարձնել RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Բոլոր լեզուների համար էկրանի տեքստի ուղղությունը դարձնել աջից ձախ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Նավիգացիայի թափանցիկ գոտի"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Նավիգացիայի գոտին դարձնել թափանցիկ ըստ կանխադրման"</string> <string name="window_blurs" msgid="6831008984828425106">"Շաղում պատուհանի մակարդակում"</string> <string name="force_msaa" msgid="4081288296137775550">"Ստիպել 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Միացնել 4x MSAA-ը OpenGL ES 2.0 հավելվածներում"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Տեղափոխել աջ"</item> <item msgid="324200556467459329">"Տեղափոխել վերև"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-in/arrays.xml b/packages/SettingsLib/res/values-in/arrays.xml index 8257d0ee983a..d445d9cb199b 100644 --- a/packages/SettingsLib/res/values-in/arrays.xml +++ b/packages/SettingsLib/res/values-in/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Diaktifkan Difilter"</item> <item msgid="2779123106632690576">"Diaktifkan"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Hanya biarkan header ACL"</item> + <item msgid="2776218217644557831">"Filter paket media A2DP"</item> + <item msgid="8163235976612675092">"Filter saluran RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Nonaktifkan"</item> + <item msgid="2505973306504851132">"Isi dengan string karakter"</item> + <item msgid="5883011000629613855">"Hanya biarkan header"</item> + <item msgid="1051534112762023603">"Hapus sepenuhnya"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Default)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml index 2ee096b7f408..d174c75f5fea 100644 --- a/packages/SettingsLib/res/values-in/strings.xml +++ b/packages/SettingsLib/res/values-in/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Menampilkan batas klip, margin, dll."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Paksa arah tata letak RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Memaksa arah tata letak layar RTL untuk semua lokalitas"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Menu navigasi transparan"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Buat warna latar belakang menu navigasi menjadi transparan secara default"</string> <string name="window_blurs" msgid="6831008984828425106">"Izinkan buram level jendela"</string> <string name="force_msaa" msgid="4081288296137775550">"Paksa 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Mengaktifkan 4x MSAA dalam aplikasi OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Pindahkan ke kanan"</item> <item msgid="324200556467459329">"Pindahkan ke atas"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-is/arrays.xml b/packages/SettingsLib/res/values-is/arrays.xml index 1b114eeaff93..01ce83f420a1 100644 --- a/packages/SettingsLib/res/values-is/arrays.xml +++ b/packages/SettingsLib/res/values-is/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Kveikt á síuðu"</item> <item msgid="2779123106632690576">"Kveikt"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Skilja aðeins eftir ACL-hausa"</item> + <item msgid="2776218217644557831">"Sía A2DP-efnispakka"</item> + <item msgid="8163235976612675092">"Sía RFCOMM-rás"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Slökkva"</item> + <item msgid="2505973306504851132">"Fylla með streng með stöfum"</item> + <item msgid="5883011000629613855">"Skilja aðeins eftir haus"</item> + <item msgid="1051534112762023603">"Fjarlægja í heild sinni"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (sjálfgefið)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml index 95dc268af7ee..d97a001a92d4 100644 --- a/packages/SettingsLib/res/values-is/strings.xml +++ b/packages/SettingsLib/res/values-is/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Sýna skurðlínur, spássíur o.s.frv."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Þvinga umbrot frá hægri til vinstri"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Þvinga umbrot skjás frá hægri til vinstri fyrir alla tungumálskóða"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Gagnsæ yfirlitsstika"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Stilla gagnsæjan bakgrunnslit yfirlitsstiku sem sjálfgefinn"</string> <string name="window_blurs" msgid="6831008984828425106">"Leyfa að gera glugga ósk."</string> <string name="force_msaa" msgid="4081288296137775550">"Þvinga 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Virkja 4x MSAA í OpenGL ES 2.0 forritum"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Færa til hægri"</item> <item msgid="324200556467459329">"Færa upp"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-it/arrays.xml b/packages/SettingsLib/res/values-it/arrays.xml index 50eca9304321..be718dbcb5e4 100644 --- a/packages/SettingsLib/res/values-it/arrays.xml +++ b/packages/SettingsLib/res/values-it/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtro attivo"</item> <item msgid="2779123106632690576">"Attiva"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Lascia solo le intestazioni ACL"</item> + <item msgid="2776218217644557831">"Filtra pacchetti multimediali A2DP"</item> + <item msgid="8163235976612675092">"Filtra canale RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Disattiva"</item> + <item msgid="2505973306504851132">"Inserisci stringa di caratteri"</item> + <item msgid="5883011000629613855">"Lascia solo l\'intestazione"</item> + <item msgid="1051534112762023603">"Rimuovi completamente"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (versione predefinita)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml index dc9636403510..17d9edb59b71 100644 --- a/packages/SettingsLib/res/values-it/strings.xml +++ b/packages/SettingsLib/res/values-it/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostra limiti, margini dei clip e così via"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forza direzione layout RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Direzione layout schermo RTL per tutte le lingue"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra di navigazione trasparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Rendi trasparente il colore di sfondo della barra di navigazione per impostazione predefinita"</string> <string name="window_blurs" msgid="6831008984828425106">"Consenti sfocature finestre"</string> <string name="force_msaa" msgid="4081288296137775550">"Forza MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Attiva MSAA 4x in applicazioni OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Sposta a destra"</item> <item msgid="324200556467459329">"Sposta in alto"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-iw/arrays.xml b/packages/SettingsLib/res/values-iw/arrays.xml index 02b77516ed3b..2600d9c6f19e 100644 --- a/packages/SettingsLib/res/values-iw/arrays.xml +++ b/packages/SettingsLib/res/values-iw/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"המסננים המופעלים"</item> <item msgid="2779123106632690576">"מופעל"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"השארת כותרות ACL בלבד"</item> + <item msgid="2776218217644557831">"סינון של מנות מדיה A2DP"</item> + <item msgid="8163235976612675092">"סינון של ערוץ RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"השבתה"</item> + <item msgid="2505973306504851132">"מילוי עם מחרוזת של תווים"</item> + <item msgid="5883011000629613855">"השארת הכותרת בלבד"</item> + <item msgid="1051534112762023603">"הסרה מלאה"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ברירת המחדל)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml index 5c54d6223bd9..c38111a04103 100644 --- a/packages/SettingsLib/res/values-iw/strings.xml +++ b/packages/SettingsLib/res/values-iw/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"הצגת גבולות אזור, שוליים וכדומה"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"אילוץ כיוון פריסה מימין לשמאל"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"אילוץ של כיוון פריסת מסך מימין לשמאל עבור כל השפות בכל המקומות"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"סרגל ניווט שקוף"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"צבע הרקע של סרגל הניווט יהיה שקוף כברירת מחדל"</string> <string name="window_blurs" msgid="6831008984828425106">"אישור טשטושים ברמת החלון"</string> <string name="force_msaa" msgid="4081288296137775550">"אילוץ הפעלת 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"הפעלת 4x MSAA ביישומי OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"הזזה ימינה"</item> <item msgid="324200556467459329">"הזזה למעלה"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"%% <xliff:g id="PERCENTAGE">%1$d</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/res/values-ja/arrays.xml b/packages/SettingsLib/res/values-ja/arrays.xml index 869fd9970065..ab84488642ff 100644 --- a/packages/SettingsLib/res/values-ja/arrays.xml +++ b/packages/SettingsLib/res/values-ja/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"有効(フィルタ済み)"</item> <item msgid="2779123106632690576">"有効"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL ヘッダーのみを残す"</item> + <item msgid="2776218217644557831">"A2DP メディア パケットをフィルタ"</item> + <item msgid="8163235976612675092">"RFCOMM チャネルをフィルタ"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"無効にする"</item> + <item msgid="2505973306504851132">"文字列を入力"</item> + <item msgid="5883011000629613855">"ヘッダーのみを残す"</item> + <item msgid="1051534112762023603">"完全に削除"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5(デフォルト)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml index 09984c2576b2..a7635c74a94c 100644 --- a/packages/SettingsLib/res/values-ja/strings.xml +++ b/packages/SettingsLib/res/values-ja/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"クリップの境界線、マージンなどを表示"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL レイアウト方向を使用"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"すべての言語/地域で画面レイアウト方向を RTL に設定"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"透明なナビゲーション バー"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ナビゲーション バーの背景色をデフォルトで透明にします"</string> <string name="window_blurs" msgid="6831008984828425106">"ウィンドウ レベルでのぼかしを許可"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA を適用"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 アプリで 4x MSAA を有効にする"</string> @@ -467,8 +469,8 @@ <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only" msgid="8085099012811384899">"完了まであと <xliff:g id="TIME">%1$s</xliff:g>"</string> <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> - 完了まであと <xliff:g id="TIME">%2$s</xliff:g>"</string> - <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - 充電最適化済み"</string> - <string name="power_charging_future_paused" msgid="4730177778538118032">"<xliff:g id="LEVEL">%1$s</xliff:g> - 充電最適化済み"</string> + <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> - 充電が最適化されています"</string> + <string name="power_charging_future_paused" msgid="4730177778538118032">"<xliff:g id="LEVEL">%1$s</xliff:g> - 充電が最適化されています"</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"不明"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"充電中"</string> <string name="battery_info_status_charging_fast" msgid="8027559755902954885">"急速充電中"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"右に移動"</item> <item msgid="324200556467459329">"上に移動"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ka/arrays.xml b/packages/SettingsLib/res/values-ka/arrays.xml index 71a283c9a848..be4403867fec 100644 --- a/packages/SettingsLib/res/values-ka/arrays.xml +++ b/packages/SettingsLib/res/values-ka/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"გაფილტრულის ჩართვა"</item> <item msgid="2779123106632690576">"ჩართულია"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"მხოლოდ ACL სათაურების დატოვება"</item> + <item msgid="2776218217644557831">"A2DP მედია პაკეტების გაფილტვრა"</item> + <item msgid="8163235976612675092">"RFCOMM არხის გაფილტვრა"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"გათიშვა"</item> + <item msgid="2505973306504851132">"სიმბოლოების სტრიქონით შევსება"</item> + <item msgid="5883011000629613855">"მხოლოდ სათაურის დატოვება"</item> + <item msgid="1051534112762023603">"სრულად ამოშლა"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ნაგულისხმევი)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml index 2abd85aff6fb..568d0616243e 100644 --- a/packages/SettingsLib/res/values-ka/strings.xml +++ b/packages/SettingsLib/res/values-ka/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"კლიპის საზღვრების, მინდვრების ჩვენება და ა.შ."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"მარჯვნიდან მარცხნივ განლაგების მიმართულების იძულება"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ეკრანის RTL მიმართულებაზე იძულება ყველა ლოკალისათვის"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"გამჭვირვალე ნავიგაციის ზოლი"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ნავიგაციის ზოლის ფონის ფერის გამჭვირვალედ ჩვენება ნაგულისხმევად"</string> <string name="window_blurs" msgid="6831008984828425106">"ფანჯრის დონეზე გაბუნდოვნების დაშვება"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA-ს ჩართვა"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"4x MSAA-ის ჩართვა OpenGL ES 2.0 აპში."</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"მარჯვნივ გადატანა"</item> <item msgid="324200556467459329">"ზემოთ გადატანა"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-kk/arrays.xml b/packages/SettingsLib/res/values-kk/arrays.xml index ab5e10763b7b..7d7169949d19 100644 --- a/packages/SettingsLib/res/values-kk/arrays.xml +++ b/packages/SettingsLib/res/values-kk/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Сүзгіленгендері қосулы"</item> <item msgid="2779123106632690576">"Қосулы"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Тек ACL жоғарғы деректемелерін қалдыру"</item> + <item msgid="2776218217644557831">"A2DP медиапакеттерін іріктеу"</item> + <item msgid="8163235976612675092">"RFCOMM арнасын іріктеу"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Өшіру"</item> + <item msgid="2505973306504851132">"Таңбалар жолын енгізу"</item> + <item msgid="5883011000629613855">"Тек жоғарғы деректемені қалдыру"</item> + <item msgid="1051534112762023603">"Толық өшіру"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (әдепкі)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml index ba68253c66f8..414ad01595b2 100644 --- a/packages/SettingsLib/res/values-kk/strings.xml +++ b/packages/SettingsLib/res/values-kk/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Қию шегін, шеттерді, т.б. көрсету"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Оңнан солға орналастыру"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Экранның орналасу бағытын барлық тілдер үшін оңнан солға қарату"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Мөлдір навигация жолағы"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Навигация жолағының фондық түсін әдепкісінше мөлдір қылу"</string> <string name="window_blurs" msgid="6831008984828425106">"Терезе деңгейіндегі бұлдырлар"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA қолдану"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"4x MSAA функциясын OpenGL ES 2.0 қолданбаларында іске қосу"</string> @@ -467,7 +469,7 @@ <string name="power_charging" msgid="6727132649743436802">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATE">%2$s</xliff:g>"</string> <string name="power_remaining_charging_duration_only" msgid="8085099012811384899">"Толық зарядталғанға дейін <xliff:g id="TIME">%1$s</xliff:g> қалды."</string> <string name="power_charging_duration" msgid="6127154952524919719">"<xliff:g id="LEVEL">%1$s</xliff:g> – толық зарядталғанға дейін <xliff:g id="TIME">%2$s</xliff:g> қалды."</string> - <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> – зарядтау оңтайландырылды."</string> + <string name="power_charging_limited" msgid="8202147604844938236">"<xliff:g id="LEVEL">%1$s</xliff:g> – зарядтау оңтайландырылды"</string> <string name="power_charging_future_paused" msgid="4730177778538118032">"<xliff:g id="LEVEL">%1$s</xliff:g> – зарядтау оңтайландырылды."</string> <string name="battery_info_status_unknown" msgid="268625384868401114">"Белгісіз"</string> <string name="battery_info_status_charging" msgid="4279958015430387405">"Зарядталуда"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Оңға жылжыту"</item> <item msgid="324200556467459329">"Жоғары жылжыту"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-km/arrays.xml b/packages/SettingsLib/res/values-km/arrays.xml index bfc983457f5a..548e2d63399e 100644 --- a/packages/SettingsLib/res/values-km/arrays.xml +++ b/packages/SettingsLib/res/values-km/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"បានបើកការត្រង"</item> <item msgid="2779123106632690576">"បានបើក"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ទុកតែក្បាល ACL ប៉ុណ្ណោះ"</item> + <item msgid="2776218217644557831">"ត្រងកញ្ចប់មេឌៀ A2DP"</item> + <item msgid="8163235976612675092">"ត្រងបណ្ដាញ RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"បិទ"</item> + <item msgid="2505973306504851132">"បំពេញដោយជួរអក្សរ"</item> + <item msgid="5883011000629613855">"ទុកតែក្បាលប៉ុណ្ណោះ"</item> + <item msgid="1051534112762023603">"ដកចេញទាំងស្រុង"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (លំនាំដើម)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml index 2e3315911787..1cbf24546ab8 100644 --- a/packages/SettingsLib/res/values-km/strings.xml +++ b/packages/SettingsLib/res/values-km/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"បង្ហាញការភ្ជាប់អត្ថបទសម្រង់ រឹម ។ល។"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"បង្ខំទិសប្លង់ RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ប្តូរទិសប្លង់អេក្រង់ទៅជា RTL សម្រាប់គ្រប់ភាសាទាំងអស់"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"របាររុករកដែលថ្លា"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ធ្វើឱ្យពណ៌ផ្ទៃខាងក្រោយនៃរបាររុករកថ្លាតាមលំនាំដើម"</string> <string name="window_blurs" msgid="6831008984828425106">"អនុញ្ញាតភាពព្រាលកម្រិតវិនដូ"</string> <string name="force_msaa" msgid="4081288296137775550">"បង្ខំ 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"បើក 4x MSAA ក្នុងកម្មវិធី OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ផ្លាស់ទីទៅស្តាំ"</item> <item msgid="324200556467459329">"ផ្លាស់ទីឡើងលើ"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-kn/arrays.xml b/packages/SettingsLib/res/values-kn/arrays.xml index 61e27912dda8..aa29850738b6 100644 --- a/packages/SettingsLib/res/values-kn/arrays.xml +++ b/packages/SettingsLib/res/values-kn/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ಫಿಲ್ಟರ್ ಮಾಡುವುದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</item> <item msgid="2779123106632690576">"ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL ಶೀರ್ಷಿಕೆಗಳನ್ನು ಮಾತ್ರ ಬಿಡಿ"</item> + <item msgid="2776218217644557831">"A2DP ಮಾಧ್ಯಮ ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ"</item> + <item msgid="8163235976612675092">"RFCOMM ಚಾನಲ್ ಅನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿ"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</item> + <item msgid="2505973306504851132">"ಅಕ್ಷರಗಳ ಸ್ಟ್ರಿಂಗ್ನೊಂದಿಗೆ ಭರ್ತಿ ಮಾಡಿ"</item> + <item msgid="5883011000629613855">"ಶೀರ್ಷಿಕೆಯನ್ನು ಮಾತ್ರ ಬಿಡಿ"</item> + <item msgid="1051534112762023603">"ಸಂಪೂರ್ಣವಾಗಿ ತೆಗೆದುಹಾಕಿ"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ಡೀಫಾಲ್ಟ್)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml index a3ce67398cfe..353c7cc72ae9 100644 --- a/packages/SettingsLib/res/values-kn/strings.xml +++ b/packages/SettingsLib/res/values-kn/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ಕ್ಲಿಪ್ನ ಗಡಿಗಳು, ಅಂಚುಗಳು, ಇತ್ಯಾದಿ ತೋರಿಸು."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL ಲೇಔಟ್ ಡೈರೆಕ್ಷನ್ ಫೋರ್ಸ್ ಮಾಡುವಿಕೆ"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ಎಲ್ಲ ಭಾಷೆಗಳಿಗಾಗಿ, RTL ಗೆ ಸ್ಕ್ರೀನ್ ಲೇಔಟ್ ಡೈರೆಕ್ಷನ್ ಅನ್ನು ಫೋರ್ಸ್ ಮಾಡಿ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"ಪಾರದರ್ಶಕ ನ್ಯಾವಿಗೇಶನ್ ಬಾರ್"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ನ್ಯಾವಿಗೇಶನ್ ಬಾರ್ನ ಹಿನ್ನೆಲೆಯ ಬಣ್ಣವನ್ನು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಪಾರದರ್ಶಕವಾಗಿಸಿ"</string> <string name="window_blurs" msgid="6831008984828425106">"ವಿಂಡೋ-ಮಟ್ಟ ಬ್ಲರ್ ಅನುಮತಿಸಿ"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA ಫೋರ್ಸ್ ಮಾಡಿ"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ 4x MSAA ಸಕ್ರಿಯಗೊಳಿಸಿ"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ಬಲಕ್ಕೆ ಸರಿಸಿ"</item> <item msgid="324200556467459329">"ಮೇಲಕ್ಕೆ ಸರಿಸಿ"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ko/arrays.xml b/packages/SettingsLib/res/values-ko/arrays.xml index b4a035ae2751..bc739b9e8a27 100644 --- a/packages/SettingsLib/res/values-ko/arrays.xml +++ b/packages/SettingsLib/res/values-ko/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"필터링 사용 설정됨"</item> <item msgid="2779123106632690576">"사용 설정됨"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL 헤더만 남김"</item> + <item msgid="2776218217644557831">"A2DP 미디어 패킷 필터링"</item> + <item msgid="8163235976612675092">"RFCOMM 채널 필터링"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"사용 중지"</item> + <item msgid="2505973306504851132">"문자열로 채움"</item> + <item msgid="5883011000629613855">"헤더만 남김"</item> + <item msgid="1051534112762023603">"완전히 삭제"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5(기본값)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml index 27c5a70a407e..ad71c098aada 100644 --- a/packages/SettingsLib/res/values-ko/strings.xml +++ b/packages/SettingsLib/res/values-ko/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"클립 경계, 여백 등을 표시"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL 레이아웃 방향 강제 적용"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"모든 언어에 대해 화면 레이아웃 방향을 RTL로 강제 적용"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"탐색 메뉴 투명하게 하기"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"기본적으로 탐색 메뉴의 배경 색상을 투명하게 하기"</string> <string name="window_blurs" msgid="6831008984828425106">"창 수준 블러 허용"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA 강제 사용"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 앱에서 4x MSAA 사용"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"오른쪽으로 이동"</item> <item msgid="324200556467459329">"위로 이동"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ky/arrays.xml b/packages/SettingsLib/res/values-ky/arrays.xml index 657e63ea33b5..71e10da1ee65 100644 --- a/packages/SettingsLib/res/values-ky/arrays.xml +++ b/packages/SettingsLib/res/values-ky/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Чыпкалар иштетилди"</item> <item msgid="2779123106632690576">"Иштетилди"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL аталыштарын гана калтыруу"</item> + <item msgid="2776218217644557831">"A2DP медиа топтомдорун чыпкалоо"</item> + <item msgid="8163235976612675092">"RFCOMM каналын чыпкалоо"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Өчүрүү"</item> + <item msgid="2505973306504851132">"Символдордун сабы менен толтуруу"</item> + <item msgid="5883011000629613855">"Аталышын гана калтыруу"</item> + <item msgid="1051534112762023603">"Толугу менен өчүрүү"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Демейки)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml index 604731a1f3e2..704f0cd7c8bb 100644 --- a/packages/SettingsLib/res/values-ky/strings.xml +++ b/packages/SettingsLib/res/values-ky/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Кесилген нерсенин чектери жана жээктери көрүнөт"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Интерфейсти чагылдыруу"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Интерфейстин элементтери бардык тилдерде оңдон солго карай жайгашат"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Тунук чабыттоо тилкеси"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Чабыттоо тилкесинин фонунун түсүн демейки боюнча тунук кылуу"</string> <string name="window_blurs" msgid="6831008984828425106">"Терезенин деңгээлинде бүдөмүктөтүүгө уруксат берүү"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA иштетүү"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 колдонмолорунда 4x MSAA иштетилет"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Оңго жылдыруу"</item> <item msgid="324200556467459329">"Жогору жылдыруу"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-lo/arrays.xml b/packages/SettingsLib/res/values-lo/arrays.xml index 11688d4dfb04..79cdd6f0a225 100644 --- a/packages/SettingsLib/res/values-lo/arrays.xml +++ b/packages/SettingsLib/res/values-lo/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ເປີດການກັ່ນຕອງແລ້ວ"</item> <item msgid="2779123106632690576">"ເປີດໃຊ້ແລ້ວ"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ປະໄວ້ພຽງສ່ວນຫົວ ACL ເທົ່ານັ້ນ"</item> + <item msgid="2776218217644557831">"ກັ່ນຕອງແພັກເກດສື່ A2DP"</item> + <item msgid="8163235976612675092">"ກັ່ນຕອງຊ່ອງ RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ປິດການນຳໃຊ້"</item> + <item msgid="2505973306504851132">"ຕື່ມດ້ວຍສະຕຣິງຂອງຕົວອັກສອນ"</item> + <item msgid="5883011000629613855">"ປະໄວ້ພຽງສ່ວນຫົວເທົ່ານັ້ນ"</item> + <item msgid="1051534112762023603">"ລຶບອອກໝົດ"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ຄ່າເລີ່ມຕົ້ນ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml index 5722f4fd5e42..242c855c3844 100644 --- a/packages/SettingsLib/res/values-lo/strings.xml +++ b/packages/SettingsLib/res/values-lo/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ສະແດງໜ້າປົກຄລິບ, ຂອບ ແລະ ອື່ນໆ."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"ບັງຄັບໃຫ້ຮູບຮ່າງຂຽນຈາກຂວາຫາຊ້າຍ"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ບັງຄັບໃຫ້ຮູບຮ່າງໜ້າຈໍ ຂຽນຈາກຂວາໄປຊ້າຍ ສຳລັບທຸກພາສາ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"ແຖບການນຳທາງແບບໂປ່ງໃສ"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ເຮັດໃຫ້ສີພື້ນຫຼັງແຖບການນຳທາງມີຄວາມໂປ່ງໃສແບບເລີ່ມຕົ້ນ"</string> <string name="window_blurs" msgid="6831008984828425106">"ອະນຸຍາດການມົວໃນລະດັບໜ້າຈໍ"</string> <string name="force_msaa" msgid="4081288296137775550">"ບັງຄັບໃຊ້ 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"ເປິດໃຊ້ 4x MSAA ໃນແອັບ OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ຍ້າຍໄປຂວາ"</item> <item msgid="324200556467459329">"ຍ້າຍຂຶ້ນ"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-lt/arrays.xml b/packages/SettingsLib/res/values-lt/arrays.xml index 6718660be334..8e9fe8538982 100644 --- a/packages/SettingsLib/res/values-lt/arrays.xml +++ b/packages/SettingsLib/res/values-lt/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Įgalinta filtruota"</item> <item msgid="2779123106632690576">"Įgalinta"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Palikti tik ACL antraštes"</item> + <item msgid="2776218217644557831">"Filtruoti A2DP medijos paketus"</item> + <item msgid="8163235976612675092">"Filtruoti RFCOMM kanalą"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Išjungti"</item> + <item msgid="2505973306504851132">"Užpildyti simbolių eilute"</item> + <item msgid="5883011000629613855">"Palikti tik antraštę"</item> + <item msgid="1051534112762023603">"Visiškai pašalinti"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (numatytoji)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml index 949a865894d7..7a8aff5dc293 100644 --- a/packages/SettingsLib/res/values-lt/strings.xml +++ b/packages/SettingsLib/res/values-lt/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Rodyti iškarpų ribas, kraštines ir t. t."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Išdėst. iš dešin. į kairę"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Nust. visų lokalių ekran. išdėst. iš deš. į kairę"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Skaidri naršymo juosta"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Padaryti naršymo juostos foną skaidrų pagal numatytuosius nustatymus"</string> <string name="window_blurs" msgid="6831008984828425106">"Leisti lango suliejimus"</string> <string name="force_msaa" msgid="4081288296137775550">"Priverst. vykdyti 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Įgalinti 4x MSAA „OpenGL ES 2.0“ programose"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Perkelti dešinėn"</item> <item msgid="324200556467459329">"Perkelti aukštyn"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-lv/arrays.xml b/packages/SettingsLib/res/values-lv/arrays.xml index 3e1869abd3de..af62148e6048 100644 --- a/packages/SettingsLib/res/values-lv/arrays.xml +++ b/packages/SettingsLib/res/values-lv/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Iespējot filtrētos"</item> <item msgid="2779123106632690576">"Iespējots"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Atstāt tikai ACL galvenes"</item> + <item msgid="2776218217644557831">"Filtrēt A2DP multivides paketes"</item> + <item msgid="8163235976612675092">"Filtrēt RFCOMM kanālu"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Atspējot"</item> + <item msgid="2505973306504851132">"Aizpildīt ar rakstzīmju virkni"</item> + <item msgid="5883011000629613855">"Atstāt tikai galveni"</item> + <item msgid="1051534112762023603">"Pilnīgi noņemt"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (noklusējums)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml index 0e23cee849aa..6425e16ff1ea 100644 --- a/packages/SettingsLib/res/values-lv/strings.xml +++ b/packages/SettingsLib/res/values-lv/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Rādīt klipu robežas, malas utt."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Virziens no labās uz kreiso (Obligāts) WL: 295"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Obl. izkārt. virz. no labās uz kr. pusi visām lok."</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Caurspīdīga navigācijas josla"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Pēc noklusējuma iestatīt navigācijas joslai caurspīdīgu fona krāsu"</string> <string name="window_blurs" msgid="6831008984828425106">"Atļaut logu aizmiglošanu"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA piespiedu palaiš."</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Iespējot 4x MSAA OpenGL ES 2.0 lietotnēs"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Pārvietojiet pirkstu pa labi"</item> <item msgid="324200556467459329">"Pārvietojiet pirkstu augšup"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-mk/arrays.xml b/packages/SettingsLib/res/values-mk/arrays.xml index ebf387badec7..3684edb33584 100644 --- a/packages/SettingsLib/res/values-mk/arrays.xml +++ b/packages/SettingsLib/res/values-mk/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Овозможено е филтрирано"</item> <item msgid="2779123106632690576">"Овозможено"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Оставете само ACL-заглавија"</item> + <item msgid="2776218217644557831">"Филтрирај ги A2DP-аудиовизуелните пакети"</item> + <item msgid="8163235976612675092">"Филтрирај го RFCOMM-каналот"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Оневозможи"</item> + <item msgid="2505973306504851132">"Пополнете со низа знаци"</item> + <item msgid="5883011000629613855">"Оставете само заглавие"</item> + <item msgid="1051534112762023603">"Целосно отстранете"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Стандардна)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml index f57412cc6cb7..558b1a334566 100644 --- a/packages/SettingsLib/res/values-mk/strings.xml +++ b/packages/SettingsLib/res/values-mk/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Прикажи граници на клип, маргини итн."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Принудно користи RTL за насока"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Принудно постави насока на распоред на екранот во RTL за сите локални стандарди"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Проѕирна лента за навигација"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Направете ја заднината на лентата за навигација стандардно проѕирна"</string> <string name="window_blurs" msgid="6831008984828425106">"Дозволи замаглување прозорец"</string> <string name="force_msaa" msgid="4081288296137775550">"Принудно користи 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Овозможи 4x MSAA за апликации OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Преместете надесно"</item> <item msgid="324200556467459329">"Преместете нагоре"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ml/arrays.xml b/packages/SettingsLib/res/values-ml/arrays.xml index 30adb57365aa..29c4a5509ed7 100644 --- a/packages/SettingsLib/res/values-ml/arrays.xml +++ b/packages/SettingsLib/res/values-ml/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ഫിൽട്ടറിംഗ് പ്രവർത്തനക്ഷമമാക്കി"</item> <item msgid="2779123106632690576">"പ്രവർത്തനക്ഷമമാക്കി"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL ഹെഡ്ഡറുകൾ മാത്രം വിടുക"</item> + <item msgid="2776218217644557831">"A2DP മീഡിയാ പാക്കറ്റുകൾ ഫിൽട്ടർ ചെയ്യുക"</item> + <item msgid="8163235976612675092">"RFCOMM ചാനൽ ഫിൽട്ടർ ചെയ്യുക"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"പ്രവർത്തനരഹിതമാക്കുക"</item> + <item msgid="2505973306504851132">"പ്രതീകങ്ങളുടെ സ്ട്രിംഗ് ഉപയോഗിച്ച് പൂരിപ്പിക്കുക"</item> + <item msgid="5883011000629613855">"ഹെഡ്ഡർ മാത്രം വിടുക"</item> + <item msgid="1051534112762023603">"പൂർണ്ണമായും നീക്കം ചെയ്യുക"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ഡിഫോൾട്ട്)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml index 6d39bc24abad..75f903751805 100644 --- a/packages/SettingsLib/res/values-ml/strings.xml +++ b/packages/SettingsLib/res/values-ml/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ക്ലിപ്പ് ബൗണ്ടുകൾ, മാർജിനുകൾ തുടങ്ങിയവ ദൃശ്യമാക്കുക"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL ലേഔട്ട് ഡയറക്ഷൻ നിർബന്ധമാക്കുക"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"എല്ലാ ഭാഷകൾക്കുമായി സ്ക്രീൻ ലേഔട്ട് ഡയറക്ഷൻ RTL-ലേക്ക് നിർബന്ധമാക്കുക"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"സുതാര്യമായ നാവിഗേഷൻ ബാർ"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"നാവിഗേഷൻ ബാറിന്റെ പശ്ചാത്തല നിറം ഡിഫോൾട്ട് ആയി സുതാര്യമാക്കുക"</string> <string name="window_blurs" msgid="6831008984828425106">"വിൻഡോ-ലെവൽ മങ്ങിക്കൽ അനുവദിക്കൂ"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA നിർബന്ധമാക്കുക"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ആപ്പുകളിൽ 4x MSAA പ്രവർത്തനക്ഷമമാക്കൂ"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"വലത്തേക്ക് നീക്കുക"</item> <item msgid="324200556467459329">"മുകളിലേക്ക് നീക്കുക"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-mn/arrays.xml b/packages/SettingsLib/res/values-mn/arrays.xml index d03fcd651586..b96edd9112e3 100644 --- a/packages/SettingsLib/res/values-mn/arrays.xml +++ b/packages/SettingsLib/res/values-mn/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Идэвхжүүлсэн Шүүсэн"</item> <item msgid="2779123106632690576">"Идэвхжүүлсэн"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Зөвхөн ACL толгой хэсгийг үлдээх"</item> + <item msgid="2776218217644557831">"A2DP медиа пакетыг шүүх"</item> + <item msgid="8163235976612675092">"RFCOMM сувгийг шүүх"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Идэвхгүй болгох"</item> + <item msgid="2505973306504851132">"Тэмдэгтийн мөрөөр дүүргэх"</item> + <item msgid="5883011000629613855">"Зөвхөн толгой хэсгийг үлдээх"</item> + <item msgid="1051534112762023603">"Бүрэн хасах"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Өгөгдмөл)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml index b1c25f5c34e1..e53992abac88 100644 --- a/packages/SettingsLib/res/values-mn/strings.xml +++ b/packages/SettingsLib/res/values-mn/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Клипийн зах, хязгаар зэргийг харуулах"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL байрлалын чиглэлийг хүчээр тогтоох"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Бүх локалын хувьд дэлгэцийн байрлалын чиглэлийг хүчээр RTL болгох"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Навигацын нэвт харагдах самбар"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Навигацын самбарын дэвсгэр өнгийг өгөгдмөлөөр нэвт харагддаг болгоно"</string> <string name="window_blurs" msgid="6831008984828425106">"Цонхны түвшний бүдгэрүүлэлтийг зөвшөөрөх"</string> <string name="force_msaa" msgid="4081288296137775550">"Хүчээр 4x MSAA ашиглах"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 апп-уудад 4x MSAA-г идэвхжүүлэх"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Баруун тийш зөөх"</item> <item msgid="324200556467459329">"Дээш зөөх"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-mr/arrays.xml b/packages/SettingsLib/res/values-mr/arrays.xml index 68eff756451f..db0f56a5129d 100644 --- a/packages/SettingsLib/res/values-mr/arrays.xml +++ b/packages/SettingsLib/res/values-mr/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"फिल्टर केलेले सुरू केले"</item> <item msgid="2779123106632690576">"सुरू केले"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"फक्त ACL हेडरमधून बाहेर पडा"</item> + <item msgid="2776218217644557831">"A2DP मीडिया पॅकेट फिल्टर करा"</item> + <item msgid="8163235976612675092">"RFCOMM चॅनल फिल्टर करा"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"बंद करा"</item> + <item msgid="2505973306504851132">"वर्णांची स्ट्रिंग वापरून भरा"</item> + <item msgid="5883011000629613855">"फक्त हेडरमधून बाहेर पडा"</item> + <item msgid="1051534112762023603">"पूर्णपणे काढून टाका"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (डीफॉल्ट)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml index b015ba8c521d..aa2eae43dad6 100644 --- a/packages/SettingsLib/res/values-mr/strings.xml +++ b/packages/SettingsLib/res/values-mr/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"क्लिप सीमा, समास इत्यादी दर्शवा."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL लेआउट दिशानिर्देशाची सक्ती करा"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"सर्व लोकॅलसाठी RTL स्क्रीन लेआउट दिशानिर्देशाची सक्ती करा"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"पारदर्शक नेव्हिगेशन बार"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"नेव्हिगेशन बार बॅकग्राउंडचा रंग बाय डीफॉल्ट पारदर्शक करा"</string> <string name="window_blurs" msgid="6831008984828425106">"विंडो पातळीवरील ब्लरना अनुमती द्या"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA ची सक्ती करा"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ॲप्समध्ये 4x MSAA सुरू करा"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"उजवीकडे हलवा"</item> <item msgid="324200556467459329">"वरती हलवा"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ms/arrays.xml b/packages/SettingsLib/res/values-ms/arrays.xml index efdd879638cb..3ee713182681 100644 --- a/packages/SettingsLib/res/values-ms/arrays.xml +++ b/packages/SettingsLib/res/values-ms/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Didayakan Ditapis"</item> <item msgid="2779123106632690576">"Didayakan"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Tinggalkan pengepala ACL sahaja"</item> + <item msgid="2776218217644557831">"Tapis paket media A2DP"</item> + <item msgid="8163235976612675092">"Tapis saluran RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Lumpuhkan"</item> + <item msgid="2505973306504851132">"Isi dengan rentetan aksara"</item> + <item msgid="5883011000629613855">"Tinggalkan pengepala sahaja"</item> + <item msgid="1051534112762023603">"Alih keluar sepenuhnya"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Lalai)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml index c557bfdc9466..78f512112d62 100644 --- a/packages/SettingsLib/res/values-ms/strings.xml +++ b/packages/SettingsLib/res/values-ms/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Tunjukkan batas klip, margin dll."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Paksa arah reka letak RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Paksa arah reka letak skrin RTL bagi semua tempat peristiwa"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Bar navigasi lut sinar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Tukarkan warna latar bar navigasi kepada lut sinar secara lalai"</string> <string name="window_blurs" msgid="6831008984828425106">"Benarkan kabur tahap tetingkap"</string> <string name="force_msaa" msgid="4081288296137775550">"Paksa 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Dayakan 4x MSAA dalam apl OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Alih ke kanan"</item> <item msgid="324200556467459329">"Alih ke atas"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-my/arrays.xml b/packages/SettingsLib/res/values-my/arrays.xml index 4d0b792a8532..9c5ee697ef4b 100644 --- a/packages/SettingsLib/res/values-my/arrays.xml +++ b/packages/SettingsLib/res/values-my/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"စစ်ထုတ်ထားသည်များကို ဖွင့်ထားသည်"</item> <item msgid="2779123106632690576">"ဖွင့်ထားသည်"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL ခေါင်းစီးများသာ ချန်ထားခြင်း"</item> + <item msgid="2776218217644557831">"A2DP မီဒီယာဒေတာများ စစ်ထုတ်ခြင်း"</item> + <item msgid="8163235976612675092">"RFCOMM ချန်နယ် စစ်ထုတ်ခြင်း"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ပိတ်ရန်"</item> + <item msgid="2505973306504851132">"အက္ခရာတွဲဖြင့် ဖြည့်ရန်"</item> + <item msgid="5883011000629613855">"ခေါင်းစီးသာ ချန်ထားရန်"</item> + <item msgid="1051534112762023603">"အပြည့်ဖယ်ရှားရန်"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (မူလ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml index dc013d5c3795..ee27607165c9 100644 --- a/packages/SettingsLib/res/values-my/strings.xml +++ b/packages/SettingsLib/res/values-my/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ဖြတ်ပိုင်းအနားသတ်များ၊ အနားများ စသဖြင့် ပြပါ။"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL အပြင်အဆင်အတိုင်း ဖြစ်စေခြင်း"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ဘာသာစကားအားလုံးအတွက် RTL အပြင်အဆင်အတိုင်း ဖြစ်စေသည်"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"လမ်းညွှန်ဘား အကြည်"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"လမ်းညွှန်ဘား၏ နောက်ခံအရောင်ကို မူရင်းအားဖြင့် အကြည်ဖြစ်အောင် လုပ်သည်"</string> <string name="window_blurs" msgid="6831008984828425106">"ဝင်းဒိုးအဆင့် မှုန်ဝါးမှု ခွင့်ပြုရန်"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA မဖြစ်မနေဖွင့်ခြင်း"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 အက်ပ်များတွင် 4x MSAA ဖွင့်သည်"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ညာသို့ရွှေ့ရန်"</item> <item msgid="324200556467459329">"အပေါ်သို့ရွှေ့ရန်"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-nb/arrays.xml b/packages/SettingsLib/res/values-nb/arrays.xml index 9293bdadb02d..302932957401 100644 --- a/packages/SettingsLib/res/values-nb/arrays.xml +++ b/packages/SettingsLib/res/values-nb/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrering er slått på"</item> <item msgid="2779123106632690576">"Slått på"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"La bare ACL-hoder være igjen"</item> + <item msgid="2776218217644557831">"Filtrer A2DP-mediepakker"</item> + <item msgid="8163235976612675092">"Filtrer RFCOMM-kanalen"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Deaktiver"</item> + <item msgid="2505973306504851132">"Fyll med en streng med tegn"</item> + <item msgid="5883011000629613855">"La bare hodet være igjen"</item> + <item msgid="1051534112762023603">"Fjern fullstendig"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (standard)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml index 2a1476641184..241d6d5526a0 100644 --- a/packages/SettingsLib/res/values-nb/strings.xml +++ b/packages/SettingsLib/res/values-nb/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Vis kanter, marger osv."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Tvungen RTL-layout"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Tving RTL-retning på skjermen for alle språk"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Gjennomsiktig navigasjonsrad"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Gjør bakgrunnsfargen på navigasjonsraden gjennomsiktig som standard"</string> <string name="window_blurs" msgid="6831008984828425106">"Tillat uskarphet i vindu"</string> <string name="force_msaa" msgid="4081288296137775550">"Tving 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Slå på 4x MSAA i OpenGL ES 2.0-apper"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Flytt til høyre"</item> <item msgid="324200556467459329">"Flytt opp"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ne/arrays.xml b/packages/SettingsLib/res/values-ne/arrays.xml index 29a7c6017510..451f1985bd4b 100644 --- a/packages/SettingsLib/res/values-ne/arrays.xml +++ b/packages/SettingsLib/res/values-ne/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"फिल्टर सक्षम पारियो"</item> <item msgid="2779123106632690576">"सक्षम पारिएको छ"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL हेडर मात्र छाड्नुहोस्"</item> + <item msgid="2776218217644557831">"A2DP मिडिया प्याकेटहरू फिल्टर गर्नुहोस्"</item> + <item msgid="8163235976612675092">"RFCOMM च्यानल फिल्टर गर्नुहोस्"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"अफ गर्नुहोस्"</item> + <item msgid="2505973306504851132">"वर्णको स्ट्रिङ हाल्नुहोस्"</item> + <item msgid="5883011000629613855">"हेडर मात्र छाड्नुहोस्"</item> + <item msgid="1051534112762023603">"पूरै हटाउनुहोस्"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP १.५ (डिफल्ट)"</item> <item msgid="1637054408779685086">"AVRCP १.३"</item> diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml index 831ed2f24082..140fdcbd6c02 100644 --- a/packages/SettingsLib/res/values-ne/strings.xml +++ b/packages/SettingsLib/res/values-ne/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"क्लिप सीमा, मार्जिन, इत्यादि देखाइयोस्।"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL लेआउट बलपूर्वक प्रयोग गरियोस्"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"सबै लोकेलमा RTLमा स्क्रिन लेआउट बलपूर्वक प्रयोग गरियोस्"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"पारदर्शी नेभिगेसन बार"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"नेभिगेसन बारको ब्याकग्राउन्डको रङ स्वतः पारदर्शी बनाउनुहोस्"</string> <string name="window_blurs" msgid="6831008984828425106">"विन्डो ब्लर गरियोस्"</string> <string name="force_msaa" msgid="4081288296137775550">"बलपूर्वक 4x MSAA प्रयोग गरियोस्"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES २.० एपमा ४x MSAA अन गरियोस्"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"दायाँतिर सार्नुहोस्"</item> <item msgid="324200556467459329">"माथितिर सार्नुहोस्"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-nl/arrays.xml b/packages/SettingsLib/res/values-nl/arrays.xml index 460302cfb29d..f40eec1ee2bb 100644 --- a/packages/SettingsLib/res/values-nl/arrays.xml +++ b/packages/SettingsLib/res/values-nl/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Gefilterd staat aan"</item> <item msgid="2779123106632690576">"Aangezet"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Alleen ACL-headers laten staan"</item> + <item msgid="2776218217644557831">"A2DP-mediapakketten filteren"</item> + <item msgid="8163235976612675092">"RFCOMM-kanaal filteren"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Uitzetten"</item> + <item msgid="2505973306504851132">"Vullen met tekenreeks"</item> + <item msgid="5883011000629613855">"Alleen header laten staan"</item> + <item msgid="1051534112762023603">"Helemaal verwijderen"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (standaard)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml index 55852d206d74..64ee7ede06db 100644 --- a/packages/SettingsLib/res/values-nl/strings.xml +++ b/packages/SettingsLib/res/values-nl/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Toon clipgrenzen, marges en meer"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"V.r.n.l.-indelingsrichting afdwingen"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Stel de schermindelingsrichting geforceerd in op v.r.n.l. voor alle talen"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Doorzichtige navigatiebalk"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Maak de achtergrondkleur van de navigatiebalk standaard doorzichtig"</string> <string name="window_blurs" msgid="6831008984828425106">"Vervagen op vensterniveau toestaan"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA forceren"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Zet 4x MSAA aan in OpenGL ES 2.0-apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Naar rechts verplaatsen"</item> <item msgid="324200556467459329">"Omhoog verplaatsen"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-or/arrays.xml b/packages/SettingsLib/res/values-or/arrays.xml index 439bd725004b..8c5589c31cb3 100644 --- a/packages/SettingsLib/res/values-or/arrays.xml +++ b/packages/SettingsLib/res/values-or/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ଫିଲ୍ଟର୍କୁ ସକ୍ଷମ କରାଯାଇଛି"</item> <item msgid="2779123106632690576">"ସକ୍ଷମ କରାଯାଇଛି"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"କେବଳ ACL ହେଡରଗୁଡ଼ିକୁ ଛାଡ଼ି ଦିଅନ୍ତୁ"</item> + <item msgid="2776218217644557831">"A2DP ମିଡିଆ ପେକେଟଗୁଡ଼ିକୁ ଫିଲ୍ଟର କରନ୍ତୁ"</item> + <item msgid="8163235976612675092">"RFCOMM ଚେନେଲକୁ ଫିଲ୍ଟର କରନ୍ତୁ"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ଅକ୍ଷମ କରନ୍ତୁ"</item> + <item msgid="2505973306504851132">"କେରେକ୍ଟରଗୁଡ଼ିକର ଷ୍ଟ୍ରିଂ ସହ ପୂରଣ କରନ୍ତୁ"</item> + <item msgid="5883011000629613855">"କେବଳ ହେଡରକୁ ଛାଡ଼ି ଦିଅନ୍ତୁ"</item> + <item msgid="1051534112762023603">"ସମ୍ପୂର୍ଣ୍ଣ ଭାବେ କାଢ଼ି ଦିଅନ୍ତୁ"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ଡିଫଲ୍ଟ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml index 1e61b24500b7..b68c1f00de7e 100644 --- a/packages/SettingsLib/res/values-or/strings.xml +++ b/packages/SettingsLib/res/values-or/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"କ୍ଲିପ୍ ବାଉଣ୍ଡ, ମାର୍ଜିନ୍ ଆଦି ଦେଖନ୍ତୁ"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL ଲେଆଉଟ୍ ଦିଗ ବାଧ୍ୟ କରନ୍ତୁ"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ସମସ୍ତ ଲୋକେଲ୍ ସକାଶେ ସ୍କ୍ରୀନ୍ ଲେଆଉଟ୍ ଦିଗ RTL ପାଇଁ ବାଧ୍ୟ କରନ୍ତୁ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"ଟ୍ରାନ୍ସପରେଣ୍ଟ ନାଭିଗେସନ ବାର"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ଡିଫଲ୍ଟ ଭାବେ ନାଭିଗେସନ ବାର ପୃଷ୍ଠପଟ ରଙ୍ଗକୁ ଟ୍ରାନ୍ସପରେଣ୍ଟ କରନ୍ତୁ"</string> <string name="window_blurs" msgid="6831008984828425106">"ୱିଣ୍ଡୋ-ଲେଭେଲରେ ବ୍ଲରକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA ବାଧ୍ୟ କରନ୍ତୁ"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ଆପ୍ରେ 4x MSAA ସକ୍ଷମ କରନ୍ତୁ"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ଡାହାଣକୁ ମୁଭ କରନ୍ତୁ"</item> <item msgid="324200556467459329">"ଉପରକୁ ମୁଭ କରନ୍ତୁ"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-pa/arrays.xml b/packages/SettingsLib/res/values-pa/arrays.xml index f4bfcd1f1861..533788abbfcd 100644 --- a/packages/SettingsLib/res/values-pa/arrays.xml +++ b/packages/SettingsLib/res/values-pa/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ਫਿਲਟਰ ਕੀਤਿਆਂ ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਗਿਆ"</item> <item msgid="2779123106632690576">"ਚਾਲੂ"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ਸਿਰਫ਼ ACL ਸਿਰਲੇਖਾਂ ਨੂੰ ਛੱਡੋ"</item> + <item msgid="2776218217644557831">"A2DP ਮੀਡੀਆ ਪੈਕੇਟਾਂ ਨੂੰ ਫਿਲਟਰ ਕਰੋ"</item> + <item msgid="8163235976612675092">"RFCOMM ਚੈਨਲ ਨੂੰ ਫਿਲਟਰ ਕਰੋ"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ਬੰਦ ਕਰੋ"</item> + <item msgid="2505973306504851132">"ਅੱਖਰ-ਚਿੰਨ੍ਹਾਂ ਦੀ ਸਤਰ ਨਾਲ ਭਰੋ"</item> + <item msgid="5883011000629613855">"ਸਿਰਫ਼ ਸਿਰਲੇਖ ਨੂੰ ਛੱਡੋ"</item> + <item msgid="1051534112762023603">"ਪੂਰੀ ਤਰ੍ਹਾਂ ਹਟਾਓ"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ਪੂਰਵ-ਨਿਰਧਾਰਿਤ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml index d4b7632c9535..08b0787cde66 100644 --- a/packages/SettingsLib/res/values-pa/strings.xml +++ b/packages/SettingsLib/res/values-pa/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ਕਲਿੱਪ ਸੀਮਾਵਾਂ, ਹਾਸ਼ੀਏ ਆਦਿ ਦਿਖਾਓ"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਵਾਲਾ ਖਾਕਾ ਲਾਗੂ ਕਰੋ"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਵਾਲਾ ਖਾਕਾ ਲਾਗੂ ਕਰੋ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"ਪਾਰਦਰਸ਼ੀ ਨੈਵੀਗੇਸ਼ਨ ਵਾਲੀ ਪੱਟੀ"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ਨੈਵੀਗੇਸ਼ਨ ਵਾਲੀ ਪੱਟੀ ਦੇ ਬੈਕਗ੍ਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ \'ਤੇ ਪਾਰਦਰਸ਼ੀ ਬਣਾਓ"</string> <string name="window_blurs" msgid="6831008984828425106">"ਵਿੰਡੋ-ਪੱਧਰ \'ਤੇ ਧੁੰਦਲਾ ਕਰਨ ਦਿਓ"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA ਜ਼ਬਰਦਸਤੀ ਲਾਗੂ ਕਰੋ"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ਐਪਾਂ ਵਿੱਚ 4x MSAA ਨੂੰ ਚਾਲੂ ਕਰੋ"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ਸੱਜੇ ਲਿਜਾਓ"</item> <item msgid="324200556467459329">"ਉੱਪਰ ਲਿਜਾਓ"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-pl/arrays.xml b/packages/SettingsLib/res/values-pl/arrays.xml index a305a65c16cd..f665850af430 100644 --- a/packages/SettingsLib/res/values-pl/arrays.xml +++ b/packages/SettingsLib/res/values-pl/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrowanie włączone"</item> <item msgid="2779123106632690576">"Włączono"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Zostaw wyłącznie nagłówki listy kontroli dostępu"</item> + <item msgid="2776218217644557831">"Filtruj pakiety multimediów A2DP"</item> + <item msgid="8163235976612675092">"Filtruj kanały RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Wyłącz"</item> + <item msgid="2505973306504851132">"Uzupełnij ciągiem znaków"</item> + <item msgid="5883011000629613855">"Zostaw wyłącznie nagłówek"</item> + <item msgid="1051534112762023603">"Usuń w całości"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (domyślnie)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml index ddff92c78b26..089bc2d8ca41 100644 --- a/packages/SettingsLib/res/values-pl/strings.xml +++ b/packages/SettingsLib/res/values-pl/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Pokazuj granice przycięcia, marginesy itd."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Układ od prawej do lewej"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Wymuszaj układ ekranu od prawej do lewej dla wszystkich języków"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Przezroczysty pasek nawigacyjny"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Ustaw domyślnie przezroczyste tło paska nawigacyjnego"</string> <string name="window_blurs" msgid="6831008984828425106">"Zezwalaj na rozmycie na poziomie okna"</string> <string name="force_msaa" msgid="4081288296137775550">"Wymuszaj 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Włączaj 4x MSAA w aplikacjach OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Przenieś w prawo"</item> <item msgid="324200556467459329">"Przenieś w górę"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-pt-rBR/arrays.xml b/packages/SettingsLib/res/values-pt-rBR/arrays.xml index eff092216c0a..3b61e1a37e33 100644 --- a/packages/SettingsLib/res/values-pt-rBR/arrays.xml +++ b/packages/SettingsLib/res/values-pt-rBR/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtro ativado"</item> <item msgid="2779123106632690576">"Ativado"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Deixar apenas cabeçalhos da Access Control List"</item> + <item msgid="2776218217644557831">"Filtrar pacotes de mídia A2DP"</item> + <item msgid="8163235976612675092">"Filtrar canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Desativar"</item> + <item msgid="2505973306504851132">"Preencher com string de caracteres"</item> + <item msgid="5883011000629613855">"Deixar apenas o cabeçalho"</item> + <item msgid="1051534112762023603">"Remover totalmente"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (padrão)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml index 3a48c3d2b6a5..44110c283b1a 100644 --- a/packages/SettingsLib/res/values-pt-rBR/strings.xml +++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostrar limites de corte, margens, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forçar layout da direita p/ esquerda"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forçar a direção do layout da direita para a esquerda para todas as localidades"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegação transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Deixar o plano de fundo da barra de navegação transparente por padrão"</string> <string name="window_blurs" msgid="6831008984828425106">"Permitir desfoques de janela"</string> <string name="force_msaa" msgid="4081288296137775550">"Forçar 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Ativar 4x MSAA em apps OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mover para direita"</item> <item msgid="324200556467459329">"Mover para cima"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-pt-rPT/arrays.xml b/packages/SettingsLib/res/values-pt-rPT/arrays.xml index 0553aac032e8..9b472dd0d5cf 100644 --- a/packages/SettingsLib/res/values-pt-rPT/arrays.xml +++ b/packages/SettingsLib/res/values-pt-rPT/arrays.xml @@ -55,7 +55,7 @@ </string-array> <string-array name="hdcp_checking_summaries"> <item msgid="4045840870658484038">"Nunca utilizar a verificação HDCP"</item> - <item msgid="8254225038262324761">"Utilizar a verificação HDCP para conteúdo DRM apenas"</item> + <item msgid="8254225038262324761">"Usar a verificação HDCP para conteúdo DRM apenas"</item> <item msgid="6421717003037072581">"Usar sempre a verificação HDCP"</item> </string-array> <string-array name="bt_hci_snoop_log_entries"> @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrado ativado"</item> <item msgid="2779123106632690576">"Ativado"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Deixe apenas cabeçalhos de LCA (Lista de controlo de acesso)"</item> + <item msgid="2776218217644557831">"Filtre pacotes de multimédia A2DP"</item> + <item msgid="8163235976612675092">"Filtre o canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Desativar"</item> + <item msgid="2505973306504851132">"Preencha com uma string de carateres"</item> + <item msgid="5883011000629613855">"Deixe apenas o cabeçalho"</item> + <item msgid="1051534112762023603">"Remova totalmente"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (predefinição)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> @@ -93,7 +97,7 @@ <item msgid="8147982633566548515">"map14"</item> </string-array> <string-array name="bluetooth_a2dp_codec_titles"> - <item msgid="2494959071796102843">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="2494959071796102843">"Usar seleção do sistema (predefinido)"</item> <item msgid="4055460186095649420">"SBC"</item> <item msgid="720249083677397051">"AAC"</item> <item msgid="1049450003868150455">"Áudio <xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g>"</item> @@ -103,7 +107,7 @@ <item msgid="506175145534048710">"Opus"</item> </string-array> <string-array name="bluetooth_a2dp_codec_summaries"> - <item msgid="8868109554557331312">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="8868109554557331312">"Usar seleção do sistema (predefinido)"</item> <item msgid="9024885861221697796">"SBC"</item> <item msgid="4688890470703790013">"AAC"</item> <item msgid="8627333814413492563">"Áudio <xliff:g id="QUALCOMM">Qualcomm®</xliff:g> <xliff:g id="APTX">aptX™</xliff:g>"</item> @@ -113,38 +117,38 @@ <item msgid="7940970833006181407">"Opus"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_titles"> - <item msgid="926809261293414607">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="926809261293414607">"Usar seleção do sistema (predefinido)"</item> <item msgid="8003118270854840095">"44,1 kHz"</item> <item msgid="3208896645474529394">"48,0 kHz"</item> <item msgid="8420261949134022577">"88,2 kHz"</item> <item msgid="8887519571067543785">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_sample_rate_summaries"> - <item msgid="2284090879080331090">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="2284090879080331090">"Usar seleção do sistema (predefinido)"</item> <item msgid="1872276250541651186">"44,1 kHz"</item> <item msgid="8736780630001704004">"48,0 kHz"</item> <item msgid="7698585706868856888">"88,2 kHz"</item> <item msgid="8946330945963372966">"96,0 kHz"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_titles"> - <item msgid="2574107108483219051">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="2574107108483219051">"Usar seleção do sistema (predefinido)"</item> <item msgid="4671992321419011165">"16 bits/amostra"</item> <item msgid="1933898806184763940">"24 bits/amostra"</item> <item msgid="1212577207279552119">"32 bits/amostra"</item> </string-array> <string-array name="bluetooth_a2dp_codec_bits_per_sample_summaries"> - <item msgid="9196208128729063711">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="9196208128729063711">"Usar seleção do sistema (predefinido)"</item> <item msgid="1084497364516370912">"16 bits/amostra"</item> <item msgid="2077889391457961734">"24 bits/amostra"</item> <item msgid="3836844909491316925">"32 bits/amostra"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_titles"> - <item msgid="3014194562841654656">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="3014194562841654656">"Usar seleção do sistema (predefinido)"</item> <item msgid="5982952342181788248">"Mono"</item> <item msgid="927546067692441494">"Estéreo"</item> </string-array> <string-array name="bluetooth_a2dp_codec_channel_mode_summaries"> - <item msgid="1997302811102880485">"Utilizar seleção do sistema (predefinido)"</item> + <item msgid="1997302811102880485">"Usar seleção do sistema (predefinido)"</item> <item msgid="8005696114958453588">"Mono"</item> <item msgid="1333279807604675720">"Estéreo"</item> </string-array> diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml index 499477e4fbfd..893964b1fd60 100644 --- a/packages/SettingsLib/res/values-pt-rPT/strings.xml +++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml @@ -127,15 +127,15 @@ <string name="bluetooth_hid_profile_summary_connected" msgid="3923653977051684833">"Ligado a um dispositivo de entrada"</string> <string name="bluetooth_pan_user_profile_summary_connected" msgid="380469653827505727">"Lig. ao disposit. p/ acesso à Internet"</string> <string name="bluetooth_pan_nap_profile_summary_connected" msgid="3744773111299503493">"A partilhar lig. à Internet local c/ dispos."</string> - <string name="bluetooth_pan_profile_summary_use_for" msgid="7422039765025340313">"Utilizar para acesso à Internet"</string> - <string name="bluetooth_map_profile_summary_use_for" msgid="4453622103977592583">"Utilizar para o mapa"</string> - <string name="bluetooth_sap_profile_summary_use_for" msgid="6204902866176714046">"Utilizar para acesso ao SIM"</string> - <string name="bluetooth_a2dp_profile_summary_use_for" msgid="7324694226276491807">"Utilizar para áudio de multimédia"</string> - <string name="bluetooth_headset_profile_summary_use_for" msgid="808970643123744170">"Utilizar para áudio do telefone"</string> - <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Utilizar para transferência de ficheiros"</string> - <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Utilizar para entrada"</string> - <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Utilizar para aparelhos auditivos"</string> - <string name="bluetooth_le_audio_profile_summary_use_for" msgid="2778318636027348572">"Utilizar para LE_AUDIO"</string> + <string name="bluetooth_pan_profile_summary_use_for" msgid="7422039765025340313">"Usar para acesso à Internet"</string> + <string name="bluetooth_map_profile_summary_use_for" msgid="4453622103977592583">"Usar para o mapa"</string> + <string name="bluetooth_sap_profile_summary_use_for" msgid="6204902866176714046">"Usar para acesso ao SIM"</string> + <string name="bluetooth_a2dp_profile_summary_use_for" msgid="7324694226276491807">"Usar para áudio de multimédia"</string> + <string name="bluetooth_headset_profile_summary_use_for" msgid="808970643123744170">"Usar para áudio do telefone"</string> + <string name="bluetooth_opp_profile_summary_use_for" msgid="461981154387015457">"Usar para transferência de ficheiros"</string> + <string name="bluetooth_hid_profile_summary_use_for" msgid="4289460627406490952">"Usar para entrada"</string> + <string name="bluetooth_hearing_aid_profile_summary_use_for" msgid="7689393730163320483">"Usar para aparelhos auditivos"</string> + <string name="bluetooth_le_audio_profile_summary_use_for" msgid="2778318636027348572">"Usar para LE_AUDIO"</string> <string name="bluetooth_pairing_accept" msgid="2054232610815498004">"Sincr."</string> <string name="bluetooth_pairing_accept_all_caps" msgid="2734383073450506220">"SINCRONIZAR"</string> <string name="bluetooth_pairing_decline" msgid="6483118841204885890">"Cancelar"</string> @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Apresentar limites de clipes, margens, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forçar direção do esquema RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forçar dir. do esq. do ecrã p. RTL tds os locais"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegação transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Torne a cor de fundo da barra de navegação transparente por predefinição"</string> <string name="window_blurs" msgid="6831008984828425106">"Permitir esbater janelas"</string> <string name="force_msaa" msgid="4081288296137775550">"Forçar 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Ativar o 4x MSAA em aplicações OpenGL ES 2.0"</string> @@ -432,7 +434,7 @@ <string name="select_webview_provider_dialog_title" msgid="2444261109877277714">"Definir implementação WebView"</string> <string name="select_webview_provider_toast_text" msgid="8512254949169359848">"Esta opção já não é válida. Tente novamente."</string> <string name="picture_color_mode" msgid="1013807330552931903">"Modo de cor da imagem"</string> - <string name="picture_color_mode_desc" msgid="151780973768136200">"Utilizar sRGB"</string> + <string name="picture_color_mode_desc" msgid="151780973768136200">"Usar sRGB"</string> <string name="daltonizer_mode_disabled" msgid="403424372812399228">"Desativado"</string> <string name="daltonizer_mode_monochromacy" msgid="362060873835885014">"Monocromacia"</string> <string name="daltonizer_mode_deuteranomaly" msgid="3507284319584683963">"Deuteranomalia (vermelho-verde)"</string> @@ -504,9 +506,9 @@ <string name="retail_demo_reset_next" msgid="3688129033843885362">"Próximo"</string> <string name="retail_demo_reset_title" msgid="1866911701095959800">"Palavra-passe obrigatória"</string> <string name="active_input_method_subtypes" msgid="4232680535471633046">"Métodos de introdução activos"</string> - <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Utilizar idiomas do sistema"</string> + <string name="use_system_language_to_select_input_method_subtypes" msgid="4865195835541387040">"Usar idiomas do sistema"</string> <string name="failed_to_open_app_settings_toast" msgid="764897252657692092">"Falha ao abrir as definições para <xliff:g id="SPELL_APPLICATION_NAME">%1$s</xliff:g>"</string> - <string name="ime_security_warning" msgid="6547562217880551450">"Este método de introdução pode permitir a recolha de todo o texto que digitar, incluindo dados pessoais como, por exemplo, palavras-passe e números de cartões de crédito. Decorre da aplicação <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Utilizar este método de introdução?"</string> + <string name="ime_security_warning" msgid="6547562217880551450">"Este método de introdução pode permitir a recolha de todo o texto que digitar, incluindo dados pessoais como, por exemplo, palavras-passe e números de cartões de crédito. Decorre da aplicação <xliff:g id="IME_APPLICATION_NAME">%1$s</xliff:g>. Usar este método de introdução?"</string> <string name="direct_boot_unaware_dialog_message" msgid="7845398276735021548">"Nota: após reiniciar, só é possível iniciar esta aplicação quando o telemóvel for desbloqueado."</string> <string name="ims_reg_title" msgid="8197592958123671062">"Estado do registo IMS"</string> <string name="ims_reg_status_registered" msgid="884916398194885457">"Registado"</string> @@ -663,7 +665,7 @@ <string name="physical_keyboard_title" msgid="4811935435315835220">"Teclado físico"</string> <string name="keyboard_layout_dialog_title" msgid="3927180147005616290">"Escolha um esquema de teclado"</string> <string name="keyboard_layout_default_label" msgid="1997292217218546957">"Predefinição"</string> - <string name="turn_screen_on_title" msgid="3266937298097573424">"Ative o ecrã"</string> + <string name="turn_screen_on_title" msgid="3266937298097573424">"Ativação do ecrã"</string> <string name="allow_turn_screen_on" msgid="6194845766392742639">"Permitir a ativação do ecrã"</string> <string name="allow_turn_screen_on_description" msgid="43834403291575164">"Permita que uma app ative o ecrã. Se a autorização for concedida, a app pode ativar o ecrã em qualquer altura sem a sua intenção explícita."</string> <string name="bt_le_audio_broadcast_dialog_title" msgid="5392738488989777074">"Interromper a transmissão da app <xliff:g id="APP_NAME">%1$s</xliff:g>?"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mover para a direita"</item> <item msgid="324200556467459329">"Mover para cima"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-pt/arrays.xml b/packages/SettingsLib/res/values-pt/arrays.xml index eff092216c0a..3b61e1a37e33 100644 --- a/packages/SettingsLib/res/values-pt/arrays.xml +++ b/packages/SettingsLib/res/values-pt/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtro ativado"</item> <item msgid="2779123106632690576">"Ativado"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Deixar apenas cabeçalhos da Access Control List"</item> + <item msgid="2776218217644557831">"Filtrar pacotes de mídia A2DP"</item> + <item msgid="8163235976612675092">"Filtrar canal RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Desativar"</item> + <item msgid="2505973306504851132">"Preencher com string de caracteres"</item> + <item msgid="5883011000629613855">"Deixar apenas o cabeçalho"</item> + <item msgid="1051534112762023603">"Remover totalmente"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (padrão)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml index 3a48c3d2b6a5..44110c283b1a 100644 --- a/packages/SettingsLib/res/values-pt/strings.xml +++ b/packages/SettingsLib/res/values-pt/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Mostrar limites de corte, margens, etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Forçar layout da direita p/ esquerda"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Forçar a direção do layout da direita para a esquerda para todas as localidades"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Barra de navegação transparente"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Deixar o plano de fundo da barra de navegação transparente por padrão"</string> <string name="window_blurs" msgid="6831008984828425106">"Permitir desfoques de janela"</string> <string name="force_msaa" msgid="4081288296137775550">"Forçar 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Ativar 4x MSAA em apps OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Mover para direita"</item> <item msgid="324200556467459329">"Mover para cima"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ro/arrays.xml b/packages/SettingsLib/res/values-ro/arrays.xml index 303d669c4eae..f713051a7b40 100644 --- a/packages/SettingsLib/res/values-ro/arrays.xml +++ b/packages/SettingsLib/res/values-ro/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Este activat Filtrat"</item> <item msgid="2779123106632690576">"Activat"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Lasă doar anteturile ACL"</item> + <item msgid="2776218217644557831">"Filtrează pachetele media A2DP"</item> + <item msgid="8163235976612675092">"Filtrează canalul RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Dezactivează"</item> + <item msgid="2505973306504851132">"Umple cu un șir de caractere"</item> + <item msgid="5883011000629613855">"Lasă doar antetul"</item> + <item msgid="1051534112762023603">"Elimină complet"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (prestabilit)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml index e9afb3da12b4..97060f975c04 100644 --- a/packages/SettingsLib/res/values-ro/strings.xml +++ b/packages/SettingsLib/res/values-ro/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Afișează limitele clipului, marginile etc."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Direcție aspect dreapta - stânga"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Direcție obligatorie aspect ecran dreapta - stânga"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Bară de navigare transparentă"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Setează culoarea fundalului barei de navigare la transparentă în mod prestabilit"</string> <string name="window_blurs" msgid="6831008984828425106">"Permite estompări la nivel de fereastră"</string> <string name="force_msaa" msgid="4081288296137775550">"Forțați MSAA 4x"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Activează MSAA 4x în aplicațiile OpenGL ES 2.0"</string> @@ -516,7 +518,7 @@ <string name="wifi_tether_connected_summary" msgid="5282919920463340158">"{count,plural, =0{Niciun dispozitiv conectat}=1{Un dispozitiv conectat}few{# dispozitive conectate}other{# de dispozitive conectate}}"</string> <string name="accessibility_manual_zen_more_time" msgid="5141801092071134235">"Mai mult timp."</string> <string name="accessibility_manual_zen_less_time" msgid="6828877595848229965">"Mai puțin timp."</string> - <string name="cancel" msgid="5665114069455378395">"Anulați"</string> + <string name="cancel" msgid="5665114069455378395">"Anulează"</string> <string name="okay" msgid="949938843324579502">"OK"</string> <string name="done" msgid="381184316122520313">"Gata"</string> <string name="alarms_and_reminders_label" msgid="6918395649731424294">"Alarme și mementouri"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Deplasează la dreapta"</item> <item msgid="324200556467459329">"Deplasează în sus"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ru/arrays.xml b/packages/SettingsLib/res/values-ru/arrays.xml index 4772df984ff5..80ae696c67de 100644 --- a/packages/SettingsLib/res/values-ru/arrays.xml +++ b/packages/SettingsLib/res/values-ru/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Включены фильтры"</item> <item msgid="2779123106632690576">"Включено"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Только заголовки списка контроля доступа"</item> + <item msgid="2776218217644557831">"Фильтровать A2DP-медиапакеты"</item> + <item msgid="8163235976612675092">"Фильтровать RFCOMM-канал"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Отключить"</item> + <item msgid="2505973306504851132">"Заполнить строкой символов"</item> + <item msgid="5883011000629613855">"Оставить только заголовок"</item> + <item msgid="1051534112762023603">"Удалить полностью"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (по умолчанию)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml index 16788c3c828c..47bf5a0e9873 100644 --- a/packages/SettingsLib/res/values-ru/strings.xml +++ b/packages/SettingsLib/res/values-ru/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Показывать границы обрезки, поля и т. п."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Отразить интерфейс"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Принудительно расположить элементы интерфейса справа налево вне зависимости от региональных настроек"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Прозрачная панель навигации"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Сделать цвет фона панели навигации прозрачным по умолчанию"</string> <string name="window_blurs" msgid="6831008984828425106">"Размытие на уровне окон"</string> <string name="force_msaa" msgid="4081288296137775550">"Включить 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Включить 4x MSAA в приложениях OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Переместите палец вправо"</item> <item msgid="324200556467459329">"Переместите палец вверх"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-si/arrays.xml b/packages/SettingsLib/res/values-si/arrays.xml index 8de6a71d1dd4..01103f515ea6 100644 --- a/packages/SettingsLib/res/values-si/arrays.xml +++ b/packages/SettingsLib/res/values-si/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"සබල පෙරහන් කළ"</item> <item msgid="2779123106632690576">"සබලයි"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL ශීර්ෂයන් පමණක් තබන්න"</item> + <item msgid="2776218217644557831">"A2DP මාධ්ය පැකට් පෙරහන් කරන්න"</item> + <item msgid="8163235976612675092">"RFCOMM නාලිකාව පෙරහන් කරන්න"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"අබල කරන්න"</item> + <item msgid="2505973306504851132">"අනුලකුණු තන්තුවක් සමග පුරවන්න"</item> + <item msgid="5883011000629613855">"ශීර්ෂකය පමණක් තබන්න"</item> + <item msgid="1051534112762023603">"සම්පූර්ණයෙන්ම ඉවත් කරන්න"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (පෙරනිමි)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml index 5ba553d732c1..fbefa9239680 100644 --- a/packages/SettingsLib/res/values-si/strings.xml +++ b/packages/SettingsLib/res/values-si/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"ක්ලිප් සීමා, මායිම්, ආදිය පෙන්වන්න."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"බල RTL පිරිසැලසුම් දිශාව"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"සියලු පෙදෙසි සඳහා RTL වෙත බල තිර පිරිසැලසුම"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"පාරදෘශ්ය සංචලන තීරුව"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"සංචලන තීරු පසුබිම් වර්ණය පෙරනිමියෙන් පාරදෘශ්ය කරන්න"</string> <string name="window_blurs" msgid="6831008984828425106">"කවුළු මට්. බොඳ කි. ඉඩ දෙ."</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA බල කරන්න"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 යෙදුම්හි 4x MSAA සබල කරන්න"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"දකුණට ගෙන යන්න"</item> <item msgid="324200556467459329">"ඉහළට ගෙන යන්න"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-sk/arrays.xml b/packages/SettingsLib/res/values-sk/arrays.xml index f15dfb7629d3..5a6eb992446d 100644 --- a/packages/SettingsLib/res/values-sk/arrays.xml +++ b/packages/SettingsLib/res/values-sk/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Aktivované filtrované"</item> <item msgid="2779123106632690576">"Aktivované"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Ponechať iba hlavičky zoznamu prístupových práv"</item> + <item msgid="2776218217644557831">"Filtrovať balíky médií A2DP"</item> + <item msgid="8163235976612675092">"Filtrovať kanál RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Vypnúť"</item> + <item msgid="2505973306504851132">"Vyplniť reťazcom znakov"</item> + <item msgid="5883011000629613855">"Ponechať iba hlavičku"</item> + <item msgid="1051534112762023603">"Úplne odstrániť"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (predvolené)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml index 89ef9465b96f..80374e0f4260 100644 --- a/packages/SettingsLib/res/values-sk/strings.xml +++ b/packages/SettingsLib/res/values-sk/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Zobraziť vo výstrižku ohraničenie, okraje a pod."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Rozloženie sprava doľava"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Vynútiť pre všetky jazyky rozloženie obrazovky sprava doľava"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Priehľadný navigačný panel"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Nastaviť farbu pozadia navigačné panela predvolene priehľadnú"</string> <string name="window_blurs" msgid="6831008984828425106">"Povoliť rozmazanie na úrovni okna"</string> <string name="force_msaa" msgid="4081288296137775550">"Vynútiť 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Povoliť 4x MSAA v aplikáciách OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Posuňte doprava"</item> <item msgid="324200556467459329">"Presuňte nahor"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-sl/arrays.xml b/packages/SettingsLib/res/values-sl/arrays.xml index 9ef852c062c2..aff47ed32ea3 100644 --- a/packages/SettingsLib/res/values-sl/arrays.xml +++ b/packages/SettingsLib/res/values-sl/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Omogočeno filtrirano"</item> <item msgid="2779123106632690576">"Omogočeno"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Ohranitev samo glav ACL"</item> + <item msgid="2776218217644557831">"Filtriranje predstavnostnih paketov A2DP"</item> + <item msgid="8163235976612675092">"Filtriranje kanala RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Onemogoči"</item> + <item msgid="2505973306504851132">"Zapolnitev z nizom znakov"</item> + <item msgid="5883011000629613855">"Ohranitev samo glave"</item> + <item msgid="1051534112762023603">"Popolna odstranitev"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (privzeto)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml index dc65447e4351..6640b4363df5 100644 --- a/packages/SettingsLib/res/values-sl/strings.xml +++ b/packages/SettingsLib/res/values-sl/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Pokaži meje obrezovanja, obrobe ipd."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Vsili od desne proti levi"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Vsili smer postavitve na zaslonu od desne proti levi za vse jezike."</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Prosojna vrstica za krmarjenje"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Privzeta nastavitev prosojne barve ozadja vrstice za krmarjenje"</string> <string name="window_blurs" msgid="6831008984828425106">"Dovoli zameglitve na ravni okna"</string> <string name="force_msaa" msgid="4081288296137775550">"Vsili 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"V aplikacijah OpenGL ES 2.0 omogoči 4x MSAA."</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Premaknite se desno"</item> <item msgid="324200556467459329">"Premaknite se navzgor"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-sq/arrays.xml b/packages/SettingsLib/res/values-sq/arrays.xml index 89a316dcd6e7..60dba5b5016a 100644 --- a/packages/SettingsLib/res/values-sq/arrays.xml +++ b/packages/SettingsLib/res/values-sq/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Të aktivizuara të filtruara"</item> <item msgid="2779123106632690576">"Aktiv"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Mbaj vetëm titujt ACL"</item> + <item msgid="2776218217644557831">"Filtro paketat e medias A2DP"</item> + <item msgid="8163235976612675092">"Filtro kanalin RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Çaktivizo"</item> + <item msgid="2505973306504851132">"Plotëso me varg karakteresh"</item> + <item msgid="5883011000629613855">"Mbaj vetëm titullin"</item> + <item msgid="1051534112762023603">"Hiqe plotësisht"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (I parazgjedhur)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml index e61c34a41b61..589746669eb0 100644 --- a/packages/SettingsLib/res/values-sq/strings.xml +++ b/packages/SettingsLib/res/values-sq/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Shfaq konturet e klipit, hapësirat etj."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Detyro drejtimin e shkrimit nga e djathta në të majtë"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Ndrysho me detyrim drejtimin e planit të ekranit nga e djathta në të majtë për të gjitha vendet"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Shiriti transparent i navigimit"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Bëje, si parazgjedhje, transparente ngjyrën e sfondit të shiritit të navigimit"</string> <string name="window_blurs" msgid="6831008984828425106">"Lejo turbullimet në nivel dritareje"</string> <string name="force_msaa" msgid="4081288296137775550">"Detyro 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Aktivizo 4x MSAA në aplikacionet OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Lëvize djathtas"</item> <item msgid="324200556467459329">"Lëvize lart"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-sr/arrays.xml b/packages/SettingsLib/res/values-sr/arrays.xml index e76820e3368e..d74f55bdd418 100644 --- a/packages/SettingsLib/res/values-sr/arrays.xml +++ b/packages/SettingsLib/res/values-sr/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Омогућено филтрирано"</item> <item msgid="2779123106632690576">"Омогућено"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Задржите само ACL заглавља"</item> + <item msgid="2776218217644557831">"Филтрирајте A2DP медијске пакете"</item> + <item msgid="8163235976612675092">"Филтрирајте RFCOMM канал"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Онемогућите"</item> + <item msgid="2505973306504851132">"Испуните стрингом знакова"</item> + <item msgid="5883011000629613855">"Задржите само заглавље"</item> + <item msgid="1051534112762023603">"Уклоните у потпуности"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (подразумевано)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml index cfac256e4a94..32affcc3a46c 100644 --- a/packages/SettingsLib/res/values-sr/strings.xml +++ b/packages/SettingsLib/res/values-sr/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Приказује границе клипа, маргине итд."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Наметни смер распореда здесна налево"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Намеће смер распореда екрана здесна налево за све локалитете"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Прозирна трака за навигацију"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Нека боја позадине траке за навигацију буде подразумевано прозирна"</string> <string name="window_blurs" msgid="6831008984828425106">"Дозволи замагљења прозора"</string> <string name="force_msaa" msgid="4081288296137775550">"Наметни 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Омогућава 4x MSAA у OpenGL ES 2.0 апликацијама"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Померите надесно"</item> <item msgid="324200556467459329">"Померите нагоре"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-sv/arrays.xml b/packages/SettingsLib/res/values-sv/arrays.xml index 391f603721c2..5ff90cbf5b3e 100644 --- a/packages/SettingsLib/res/values-sv/arrays.xml +++ b/packages/SettingsLib/res/values-sv/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrering har aktiverats"</item> <item msgid="2779123106632690576">"Aktiverad"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Lämna bara ACL-rubriker"</item> + <item msgid="2776218217644557831">"Filtrera A2DP-mediepaket"</item> + <item msgid="8163235976612675092">"Filtrera RFCOMM-kanal"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Inaktivera"</item> + <item msgid="2505973306504851132">"Fyll med en sträng med tecken"</item> + <item msgid="5883011000629613855">"Lämna bara rubriken"</item> + <item msgid="1051534112762023603">"Ta bort fullständigt"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (standard)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml index 99b8c4f4a727..f60fc834302a 100644 --- a/packages/SettingsLib/res/values-sv/strings.xml +++ b/packages/SettingsLib/res/values-sv/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Visa gränser för videoklipp, marginaler m.m."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Tvinga fram RTL-layout"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Tvinga fram RTL-skärmlayout (hö–vä) för alla språk"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Genomskinligt navigeringsfält"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Gör bakgrundsfärgen genomskinlig för navigeringsfältet som standard"</string> <string name="window_blurs" msgid="6831008984828425106">"Tillåt oskärpa på fönsternivå"</string> <string name="force_msaa" msgid="4081288296137775550">"Tvinga 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Aktivera 4x MSAA i OpenGL ES 2.0-appar"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Flytta åt höger"</item> <item msgid="324200556467459329">"Flytta uppåt"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-sw/arrays.xml b/packages/SettingsLib/res/values-sw/arrays.xml index 1a33b6e4ce7c..30cc69f10c65 100644 --- a/packages/SettingsLib/res/values-sw/arrays.xml +++ b/packages/SettingsLib/res/values-sw/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Vichujio Vilivyowekwa"</item> <item msgid="2779123106632690576">"Imewashwa"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Acha vijajuu vya ACL pekee"</item> + <item msgid="2776218217644557831">"Chuja kifurushi cha maudhui cha A2DP"</item> + <item msgid="8163235976612675092">"Chuja kituo cha RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Zima"</item> + <item msgid="2505973306504851132">"Jaza ukitumia mfuatano wa herufi"</item> + <item msgid="5883011000629613855">"Acha kijajuu pekee"</item> + <item msgid="1051534112762023603">"Ondoa kabisa"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Chaguomsingi)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml index ce3068f66ee2..b6a3a62aa8df 100644 --- a/packages/SettingsLib/res/values-sw/strings.xml +++ b/packages/SettingsLib/res/values-sw/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Onyesha mipaka ya picha, kingo, nk."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Lazimisha uelekezaji wa muundo wa RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Lazimisha mkao wa skrini uwe wa kulia kwenda kushoto kwa lugha zote"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Sehemu angavu ya viungo muhimu"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Fanya rangi ya mandharinyuma ya sehemu ya viungo muhimu iwe angavu kwa chaguomsingi"</string> <string name="window_blurs" msgid="6831008984828425106">"Ruhusu ukungu wa kiwango cha dirisha"</string> <string name="force_msaa" msgid="4081288296137775550">"Lazimisha 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Wezesha 4x MSAA katika programu za OpenGL ES 2.0"</string> @@ -518,7 +520,7 @@ <string name="accessibility_manual_zen_less_time" msgid="6828877595848229965">"Muda kidogo."</string> <string name="cancel" msgid="5665114069455378395">"Ghairi"</string> <string name="okay" msgid="949938843324579502">"Sawa"</string> - <string name="done" msgid="381184316122520313">"Imemaliza"</string> + <string name="done" msgid="381184316122520313">"Nimemaliza"</string> <string name="alarms_and_reminders_label" msgid="6918395649731424294">"Ving\'ora na vikumbusho"</string> <string name="alarms_and_reminders_switch_title" msgid="4939393911531826222">"Ruhusu iweke kengele na vikumbusho"</string> <string name="alarms_and_reminders_title" msgid="8819933264635406032">"Kengele na vikumbusho"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Sogeza kulia"</item> <item msgid="324200556467459329">"Sogeza juu"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"Asilimia <xliff:g id="PERCENTAGE">%1$d</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/res/values-ta/arrays.xml b/packages/SettingsLib/res/values-ta/arrays.xml index 23eb2426b49f..5774bf9384ac 100644 --- a/packages/SettingsLib/res/values-ta/arrays.xml +++ b/packages/SettingsLib/res/values-ta/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"இயக்கப்பட்டு வடிகட்டப்பட்டது"</item> <item msgid="2779123106632690576">"இயக்கப்பட்டது"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACL தலைப்புகளை மட்டும் விட்டுவிடுதல்"</item> + <item msgid="2776218217644557831">"A2DP மீடியா பேக்கெட்டுகளை வடிகட்டுதல்"</item> + <item msgid="8163235976612675092">"RFCOMM சேனலை வடிகட்டுதல்"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"முடக்குதல்"</item> + <item msgid="2505973306504851132">"எழுத்துகளைக் கொண்ட வார்த்தையால் நிரப்புதல்"</item> + <item msgid="5883011000629613855">"தலைப்பை மட்டும் விட்டுவிடுதல்"</item> + <item msgid="1051534112762023603">"முழுமையாக அகற்றுதல்"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (இயல்பு)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml index ea128991bade..402aeb263fbf 100644 --- a/packages/SettingsLib/res/values-ta/strings.xml +++ b/packages/SettingsLib/res/values-ta/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"கிளிப் எல்லைகள், ஓரங்கள், மேலும் பலவற்றைக் காட்டு"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL தளவமைப்பின் திசையை வலியுறுத்து"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"எல்லா மொழிகளுக்கும் திரையின் தளவமைப்பு திசையை RTL க்கு மாற்றும்"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"தெளிவுத்திறனுடன் இருக்கும் வழிசெலுத்தல் பட்டி"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"வழிசெலுத்தல் பட்டியின் பின்னணி வண்ணத்தை இயல்பாகவே தெளிவுத்திறன் உடையதாக அமைக்கவும்"</string> <string name="window_blurs" msgid="6831008984828425106">"திரை-நிலை மங்கலை அனுமதி"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA ஐ வலியுறுத்து"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 பயன்பாடுகளில் 4x MSAA ஐ இயக்கு"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"வலதுபுறம் நகர்த்துங்கள்"</item> <item msgid="324200556467459329">"மேலே நகர்த்துங்கள்"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-te/arrays.xml b/packages/SettingsLib/res/values-te/arrays.xml index 0f62c1d8d842..db2307d9b618 100644 --- a/packages/SettingsLib/res/values-te/arrays.xml +++ b/packages/SettingsLib/res/values-te/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"ప్రారంభించబడింది ఫిల్టర్ చేయబడింది"</item> <item msgid="2779123106632690576">"ప్రారంభించబడింది"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ACLహెడర్లను మాత్రమే వదిలివేయండి"</item> + <item msgid="2776218217644557831">"A2DP మీడియా ప్యాకెట్లను ఫిల్టర్ చేయండి"</item> + <item msgid="8163235976612675092">"RFCOMM ఛానెల్ని ఫిల్టర్ చేయండి"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"డిజేబుల్ చేయండి"</item> + <item msgid="2505973306504851132">"అక్షరాల వాక్యంతో పూరించండి"</item> + <item msgid="5883011000629613855">"హెడర్ మాత్రమే ఉంచండి"</item> + <item msgid="1051534112762023603">"పూర్తిగా తీసివేయండి"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.4 (ఆటోమేటిక్ సెట్టింగ్)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml index ed91feaf4f58..0512a0d6ca0f 100644 --- a/packages/SettingsLib/res/values-te/strings.xml +++ b/packages/SettingsLib/res/values-te/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"క్లిప్ సరిహద్దులు, అంచులు మొ. చూపు"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL లేఅవుట్ దిశను నిర్బంధం చేయండి"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"అన్ని లొకేల్ల కోసం RTLకి స్క్రీన్ లేఅవుట్ దిశను నిర్భందించు"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"పారదర్శక నావిగేషన్ బార్"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"నావిగేషన్ బార్ బ్యాక్గ్రౌండ్ రంగును ఆటోమేటిక్గా పారదర్శకంగా చేయండి"</string> <string name="window_blurs" msgid="6831008984828425106">"విండో-స్థాయి బ్లర్ అనుమతించండి"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA అమలు తప్పనిసరి"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 యాప్లలో 4x MSAAను ప్రారంభించండి"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"కుడి వైపుగా జరపండి"</item> <item msgid="324200556467459329">"పైకి జరపండి"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-th/arrays.xml b/packages/SettingsLib/res/values-th/arrays.xml index 8d98cdb54fd3..21eba14cde76 100644 --- a/packages/SettingsLib/res/values-th/arrays.xml +++ b/packages/SettingsLib/res/values-th/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"เปิดใช้รายการที่กรอง"</item> <item msgid="2779123106632690576">"เปิดใช้"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"ออกจากส่วนหัว ACL เท่านั้น"</item> + <item msgid="2776218217644557831">"กรองแพ็กเก็ตสื่อ A2DP"</item> + <item msgid="8163235976612675092">"กรองแชแนล RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"ปิดใช้"</item> + <item msgid="2505973306504851132">"กรอกสตริงอักขระ"</item> + <item msgid="5883011000629613855">"ออกจากส่วนหัวเท่านั้น"</item> + <item msgid="1051534112762023603">"นำออกอย่างสมบูรณ์"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ค่าเริ่มต้น)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml index a1dec5863de7..89b8ce2ce99c 100644 --- a/packages/SettingsLib/res/values-th/strings.xml +++ b/packages/SettingsLib/res/values-th/strings.xml @@ -289,7 +289,7 @@ <string name="bluetooth_select_a2dp_codec_bits_per_sample_dialog_title" msgid="4898693684282596143">"ทริกเกอร์การเลือกตัวแปลงรหัส\nเสียงบลูทูธ: บิตต่อตัวอย่าง"</string> <string name="bluetooth_select_a2dp_codec_channel_mode" msgid="364277285688014427">"โหมดช่องสัญญาณเสียงบลูทูธ"</string> <string name="bluetooth_select_a2dp_codec_channel_mode_dialog_title" msgid="2076949781460359589">"ทริกเกอร์การเลือกตัวแปลงรหัส\nเสียงบลูทูธ: โหมดช่องสัญญาณ"</string> - <string name="bluetooth_select_a2dp_codec_ldac_playback_quality" msgid="3233402355917446304">"ตัวแปลงรหัสเสียงบลูทูธที่ใช้ LDAC: คุณภาพการเล่น"</string> + <string name="bluetooth_select_a2dp_codec_ldac_playback_quality" msgid="3233402355917446304">"ตัวแปลงสัญญาณเสียงบลูทูธที่ใช้ LDAC: คุณภาพการเล่น"</string> <string name="bluetooth_select_a2dp_codec_ldac_playback_quality_dialog_title" msgid="7274396574659784285">"ทริกเกอร์การเลือกตัวแปลงรหัส LDAC\nเสียงบลูทูธ: คุณภาพการเล่น"</string> <string name="bluetooth_select_a2dp_codec_streaming_label" msgid="2040810756832027227">"สตรีมมิง: <xliff:g id="STREAMING_PARAMETER">%1$s</xliff:g>"</string> <string name="select_private_dns_configuration_title" msgid="7887550926056143018">"DNS ส่วนตัว"</string> @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"แสดงหน้าปกคลิป ขอบ ฯลฯ"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"บังคับทิศทางการจัดวางขวาไปซ้าย"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"บังคับทิศทางการจัดวางหน้าจอเป็นขวาไปซ้ายสำหรับทุกภาษา"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"ทำให้แถบนำทางโปร่งใส"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"ทำให้สีพื้นหลังของแถบนำทางโปร่งใสโดยค่าเริ่มต้น"</string> <string name="window_blurs" msgid="6831008984828425106">"อนุญาตการเบลอระดับหน้าต่าง"</string> <string name="force_msaa" msgid="4081288296137775550">"บังคับใช้ 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"เปิดใช้งาน 4x MSAA ในแอปพลิเคชัน OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"ย้ายไปทางขวา"</item> <item msgid="324200556467459329">"ย้ายขึ้น"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-tl/arrays.xml b/packages/SettingsLib/res/values-tl/arrays.xml index ed47d3294280..9af30d6fed7b 100644 --- a/packages/SettingsLib/res/values-tl/arrays.xml +++ b/packages/SettingsLib/res/values-tl/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Na-enable Na-filter"</item> <item msgid="2779123106632690576">"Naka-enable"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Mga ACL header lang ang iwanan"</item> + <item msgid="2776218217644557831">"I-filter ang mga A2DP na media packet"</item> + <item msgid="8163235976612675092">"I-filter ang RFCOMM channel"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"I-disable"</item> + <item msgid="2505973306504851132">"Punan ng string ng mga character"</item> + <item msgid="5883011000629613855">"Header lang ang iwanan"</item> + <item msgid="1051534112762023603">"Ganap na alisin"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Default)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml index 7847da675b27..dbd3a8b7fb02 100644 --- a/packages/SettingsLib/res/values-tl/strings.xml +++ b/packages/SettingsLib/res/values-tl/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Ipakita ang mga hangganan ng clip, margin, atbp."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Ipilit ang RTL na dir. ng layout"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Ipilit ang RTL na direksyon ng screen layout sa lahat ng lokal"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Transparent na navigation bar"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Gawing transparent ang kulay ng background ng navigation bar bilang default"</string> <string name="window_blurs" msgid="6831008984828425106">"Payagan ang pag-blur sa antas ng window"</string> <string name="force_msaa" msgid="4081288296137775550">"Puwersahin ang 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Paganahin ang 4x MSAA sa OpenGL ES 2.0 na apps"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Ilipat pakanan"</item> <item msgid="324200556467459329">"Ilipat pataas"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-tr/arrays.xml b/packages/SettingsLib/res/values-tr/arrays.xml index 45580f5b4f2c..6d8821eb34c5 100644 --- a/packages/SettingsLib/res/values-tr/arrays.xml +++ b/packages/SettingsLib/res/values-tr/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Etkin Filtrelenmiş"</item> <item msgid="2779123106632690576">"Etkin"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Yalnızca EKL başlıklarını bırak"</item> + <item msgid="2776218217644557831">"A2DP medya paketlerini filtrele"</item> + <item msgid="8163235976612675092">"RFCOMM kanalını filtrele"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Devre dışı bırak"</item> + <item msgid="2505973306504851132">"Karakterlerden oluşan bir dizeyle doldur"</item> + <item msgid="5883011000629613855">"Yalnızca başlığı bırak"</item> + <item msgid="1051534112762023603">"Tamamen kaldır"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Varsayılan)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml index 1f56170f6294..628bd930786a 100644 --- a/packages/SettingsLib/res/values-tr/strings.xml +++ b/packages/SettingsLib/res/values-tr/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Klip sınırlarını, kenar boşluklarını vb. göster"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Sağdan sola düzenini zorla"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Tüm yerel ayarlar için sağdan sola ekran düzenini zorla"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Şeffaf gezinme çubuğu"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Gezinme çubuğu arka plan rengini varsayılan olarak şeffaf yap"</string> <string name="window_blurs" msgid="6831008984828425106">"Pencere bulanıklaştırmaya izin ver"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA\'yı zorla"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 uygulamalarda 4x MSAA\'yı etkinleştir"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Sağa taşı"</item> <item msgid="324200556467459329">"Yukarı taşı"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"%%<xliff:g id="PERCENTAGE">%1$d</xliff:g>"</string> </resources> diff --git a/packages/SettingsLib/res/values-uk/arrays.xml b/packages/SettingsLib/res/values-uk/arrays.xml index f97452c159c8..b606d07aeb63 100644 --- a/packages/SettingsLib/res/values-uk/arrays.xml +++ b/packages/SettingsLib/res/values-uk/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Увімкнено з фільтром"</item> <item msgid="2779123106632690576">"Увімкнено"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Залишити тільки заголовки ACL"</item> + <item msgid="2776218217644557831">"Фільтрувати за пакетами медіаданих A2DP"</item> + <item msgid="8163235976612675092">"Фільтрувати за каналом RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Вимкнути"</item> + <item msgid="2505973306504851132">"Заповнити рядком символів"</item> + <item msgid="5883011000629613855">"Залишити тільки заголовок"</item> + <item msgid="1051534112762023603">"Повністю вилучити"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (за умовчанням)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml index 92c0e11c29bd..15c24e80d7ba 100644 --- a/packages/SettingsLib/res/values-uk/strings.xml +++ b/packages/SettingsLib/res/values-uk/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Показувати межі роликів, поля тощо"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Макет письма справа наліво"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Застосовувати макет письма справа наліво для всіх мов"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Прозора панель навігації"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Зробити колір фону панелі навігації прозорим за умовчанням"</string> <string name="window_blurs" msgid="6831008984828425106">"Дозволити розмиття вікон"</string> <string name="force_msaa" msgid="4081288296137775550">"Примус. запустити 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Увімкнути 4x MSAA в програмах OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Перемістіть палець праворуч"</item> <item msgid="324200556467459329">"Перемістіть палець угору"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-ur/arrays.xml b/packages/SettingsLib/res/values-ur/arrays.xml index 74af32215d1b..6d4062d03477 100644 --- a/packages/SettingsLib/res/values-ur/arrays.xml +++ b/packages/SettingsLib/res/values-ur/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"فعال کردہ فلٹر کردہ"</item> <item msgid="2779123106632690576">"فعال"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"صرف ACL ہیڈر چھوڑ دیں"</item> + <item msgid="2776218217644557831">"A2DP میڈیا پیکٹ کو فلٹر کریں"</item> + <item msgid="8163235976612675092">"RFCOMM چینل کو فلٹر کریں"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"غیر فعال کریں"</item> + <item msgid="2505973306504851132">"حروف کی سٹرنگز کے ساتھ پُر کریں"</item> + <item msgid="5883011000629613855">"صرف ہیڈر چھوڑیں"</item> + <item msgid="1051534112762023603">"مکمل طور پر ہٹائیں"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (ڈیفالٹ)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml index 94bb5570127d..e3b95ae51852 100644 --- a/packages/SettingsLib/res/values-ur/strings.xml +++ b/packages/SettingsLib/res/values-ur/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"کلپ باؤنڈز، حاشیے وغیرہ دکھائیں"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"RTL لے آؤٹ سمت زبردستی نافذ کریں"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"سبھی زبانوں کیلئے اسکرین لے آؤٹ کی سمت کو RTL پر مجبور کریں"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"شفاف نیویگیشن بار"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"نیویگیشن بار کے پس منظر کے رنگ کو بطور ڈیفالٹ شفاف بنائیں"</string> <string name="window_blurs" msgid="6831008984828425106">"ونڈو کی سطح پر دھندلاپن کی اجازت دیں"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA زبردستی نافذ کریں"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ایپس میں 4x MSAA فعال کریں"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"بائيں منتقل کریں"</item> <item msgid="324200556467459329">"اوپر منتقل کریں"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-uz/arrays.xml b/packages/SettingsLib/res/values-uz/arrays.xml index 3e53ae6abaf0..4b08f47664d4 100644 --- a/packages/SettingsLib/res/values-uz/arrays.xml +++ b/packages/SettingsLib/res/values-uz/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Filtrlar yoniq"</item> <item msgid="2779123106632690576">"Yoniq"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Faqat ACL sarlavhalari qolsin"</item> + <item msgid="2776218217644557831">"A2DP media paketlarni filtrlash"</item> + <item msgid="8163235976612675092">"RFCOMM kanalini filtrlash"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Faolsizlantirish"</item> + <item msgid="2505973306504851132">"Qatorni harflar bilan toʻldiring"</item> + <item msgid="5883011000629613855">"Faqat sarlavha qolsin"</item> + <item msgid="1051534112762023603">"Butunlay olib tashlash"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (asosiy)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml index 48705dde8f76..503a3e02af9b 100644 --- a/packages/SettingsLib/res/values-uz/strings.xml +++ b/packages/SettingsLib/res/values-uz/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Klip, maydon va h.k. chegaralarini ko‘rsatish"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"O‘ngdan chapga qarab yozish"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Barcha tillarda o‘ngdan chapga qarab yozish"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Shaffof navigatsiya paneli"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Navigatsiya paneli fon rangini standart holatda shaffof qilish"</string> <string name="window_blurs" msgid="6831008984828425106">"Oyna xiralashga ruxsat"</string> <string name="force_msaa" msgid="4081288296137775550">"4x MSAA sozlamasini yoqish"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"OpenGL ES 2.0 ilovasidan 4x MSAAni yoqish"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Oʻngga siljitish"</item> <item msgid="324200556467459329">"Tepaga siljitish"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-vi/arrays.xml b/packages/SettingsLib/res/values-vi/arrays.xml index 649cb5cd7693..08f45509ccc8 100644 --- a/packages/SettingsLib/res/values-vi/arrays.xml +++ b/packages/SettingsLib/res/values-vi/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Đã bật và lọc"</item> <item msgid="2779123106632690576">"Đã bật"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Chỉ để lại tiêu đề ACL"</item> + <item msgid="2776218217644557831">"Lọc các gói nội dung nghe nhìn A2DP"</item> + <item msgid="8163235976612675092">"Lọc kênh RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Tắt"</item> + <item msgid="2505973306504851132">"Điền bằng chuỗi ký tự"</item> + <item msgid="5883011000629613855">"Chỉ để lại tiêu đề"</item> + <item msgid="1051534112762023603">"Xoá toàn bộ"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (Mặc định)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml index 1b7d651619ec..847cfaa4aa4a 100644 --- a/packages/SettingsLib/res/values-vi/strings.xml +++ b/packages/SettingsLib/res/values-vi/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Hiện viền của đoạn video, lề, v.v.."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Buộc hướng bố cục phải sang trái"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Buộc hướng bố cục màn hình phải sang trái cho tất cả ngôn ngữ"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Thanh điều hướng trong suốt"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Thiết lập màu nền của thanh điều hướng thành trong suốt theo mặc định"</string> <string name="window_blurs" msgid="6831008984828425106">"Cho phép làm mờ cửa sổ"</string> <string name="force_msaa" msgid="4081288296137775550">"Bắt buộc 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Bật 4x MSAA trong ứng dụng OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Di chuyển sang phải"</item> <item msgid="324200556467459329">"Di chuyển lên"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-zh-rCN/arrays.xml b/packages/SettingsLib/res/values-zh-rCN/arrays.xml index 13941af90c8d..1eb597ad42f8 100644 --- a/packages/SettingsLib/res/values-zh-rCN/arrays.xml +++ b/packages/SettingsLib/res/values-zh-rCN/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"已启用“已过滤”"</item> <item msgid="2779123106632690576">"已启用"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"只留下 ACL 标头"</item> + <item msgid="2776218217644557831">"过滤 A2DP 媒体数据包"</item> + <item msgid="8163235976612675092">"过滤 RFCOMM 通道"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"停用"</item> + <item msgid="2505973306504851132">"使用字符串填充"</item> + <item msgid="5883011000629613855">"只留下标头"</item> + <item msgid="1051534112762023603">"完全移除"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5(默认)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml index 171612446e41..a2aca7aa2b93 100644 --- a/packages/SettingsLib/res/values-zh-rCN/strings.xml +++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"显示剪辑边界、边距等。"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"强制使用从右到左的布局方向"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"强制将所有语言区域的屏幕布局方向改为从右到左"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"透明导航栏"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"默认将导航栏背景颜色设为透明"</string> <string name="window_blurs" msgid="6831008984828425106">"允许窗口级模糊处理"</string> <string name="force_msaa" msgid="4081288296137775550">"强制启用 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"在 OpenGL ES 2.0 应用中启用 4x MSAA"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"右移"</item> <item msgid="324200556467459329">"上移"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g>%%"</string> </resources> diff --git a/packages/SettingsLib/res/values-zh-rHK/arrays.xml b/packages/SettingsLib/res/values-zh-rHK/arrays.xml index 9b359ed4ea22..e14f7199715a 100644 --- a/packages/SettingsLib/res/values-zh-rHK/arrays.xml +++ b/packages/SettingsLib/res/values-zh-rHK/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"已啟用篩選"</item> <item msgid="2779123106632690576">"已啟用"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"只保留 ACL 標題"</item> + <item msgid="2776218217644557831">"篩選 A2DP 媒體封包"</item> + <item msgid="8163235976612675092">"篩選 RFCOMM 渠道"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"停用"</item> + <item msgid="2505973306504851132">"填入字元字串"</item> + <item msgid="5883011000629613855">"只保留標題"</item> + <item msgid="1051534112762023603">"完全移除"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (預設)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml index 56f17faf95d5..f49932dcc2ff 100644 --- a/packages/SettingsLib/res/values-zh-rHK/strings.xml +++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"顯示剪輯範圍、邊界等"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"強制使用從右至左的版面配置方向"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"強制將所有語言代碼的畫面配置方向改為從右至左"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"透明導覽列"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"使用透明色作為導覽列的預設背景顏色"</string> <string name="window_blurs" msgid="6831008984828425106">"允許視窗層級模糊處理"</string> <string name="force_msaa" msgid="4081288296137775550">"強制 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"在 OpenGL ES 2.0 應用程式中啟用 4x MSAA"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"向右移"</item> <item msgid="324200556467459329">"向上移"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-zh-rTW/arrays.xml b/packages/SettingsLib/res/values-zh-rTW/arrays.xml index 00362d828b91..16890be75957 100644 --- a/packages/SettingsLib/res/values-zh-rTW/arrays.xml +++ b/packages/SettingsLib/res/values-zh-rTW/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"已啟用篩選結果"</item> <item msgid="2779123106632690576">"已啟用"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"僅保留 ACL 標頭"</item> + <item msgid="2776218217644557831">"篩選 A2DP 媒體封包"</item> + <item msgid="8163235976612675092">"篩選 RFCOMM 管道"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"停用"</item> + <item msgid="2505973306504851132">"填入字元字串"</item> + <item msgid="5883011000629613855">"僅保留標頭"</item> + <item msgid="1051534112762023603">"完全移除"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"AVRCP 1.5 (預設)"</item> <item msgid="1637054408779685086">"AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml index 588c4f4b698e..c381ebd0c0c7 100644 --- a/packages/SettingsLib/res/values-zh-rTW/strings.xml +++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"顯示剪輯範圍、邊界等"</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"強制使用從右至左版面配置方向"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"強制將所有語言代碼的畫面配置方向改為從右至左"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"透明導覽列"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"使用透明色做為導覽列的預設背景顏色"</string> <string name="window_blurs" msgid="6831008984828425106">"允許視窗層級模糊處理"</string> <string name="force_msaa" msgid="4081288296137775550">"強制 4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"在 OpenGL ES 2.0 應用程式中啟用 4x MSAA"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"向右移"</item> <item msgid="324200556467459329">"向上移"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsLib/res/values-zu/arrays.xml b/packages/SettingsLib/res/values-zu/arrays.xml index ac3cb024fef8..d20c7db714f1 100644 --- a/packages/SettingsLib/res/values-zu/arrays.xml +++ b/packages/SettingsLib/res/values-zu/arrays.xml @@ -63,13 +63,17 @@ <item msgid="6336372935919715515">"Okuhlungiwe okunikwe amandla"</item> <item msgid="2779123106632690576">"Kunikwe amandla"</item> </string-array> - <!-- no translation found for bt_hci_snoop_log_filters_entries:0 (195768089203590086) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:1 (2776218217644557831) --> - <!-- no translation found for bt_hci_snoop_log_filters_entries:2 (8163235976612675092) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:0 (3961868665260627524) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:1 (2505973306504851132) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:2 (5883011000629613855) --> - <!-- no translation found for bt_hci_snoop_log_profile_filter_entries:3 (1051534112762023603) --> + <string-array name="bt_hci_snoop_log_filters_entries"> + <item msgid="195768089203590086">"Shiya kuphela onhlokweni be-ACL"</item> + <item msgid="2776218217644557831">"Hlunga amaphakethe wemidiya ye-A2DP"</item> + <item msgid="8163235976612675092">"Isiteshi se-RFCOMM"</item> + </string-array> + <string-array name="bt_hci_snoop_log_profile_filter_entries"> + <item msgid="3961868665260627524">"Khubaza"</item> + <item msgid="2505973306504851132">"Gcwalisa ngeyunithi yezinhlamvu"</item> + <item msgid="5883011000629613855">"Shiya unhlokweni kuphela"</item> + <item msgid="1051534112762023603">"Susa ngokugcwele"</item> + </string-array> <string-array name="bluetooth_avrcp_versions"> <item msgid="6603880723315236832">"I-AVRCP 1.5 (Okuzenzakalelayo)"</item> <item msgid="1637054408779685086">"I-AVRCP 1.3"</item> diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml index 6c3551071c72..f80515a9f0a7 100644 --- a/packages/SettingsLib/res/values-zu/strings.xml +++ b/packages/SettingsLib/res/values-zu/strings.xml @@ -371,6 +371,8 @@ <string name="debug_layout_summary" msgid="8825829038287321978">"Bonisa imikhawulo, imiphetho, njll, yesiqeshana."</string> <string name="force_rtl_layout_all_locales" msgid="8690762598501599796">"Phoqelela isikhombisi-ndlela sesakhiwo se-RTL"</string> <string name="force_rtl_layout_all_locales_summary" msgid="6663016859517239880">"Phoqelela isikhombisi-ndlela sesikrini ku-RTL kuzo zonke izifunda"</string> + <string name="transparent_navigation_bar" msgid="1933192171384678484">"Ibha yokuzula ebonisa ngale"</string> + <string name="transparent_navigation_bar_summary" msgid="5454359021817330722">"Yenza umbala wangemuva webha yokufuna ubonise ngale ngokuzenzakalelayo"</string> <string name="window_blurs" msgid="6831008984828425106">"Vumela ukufiphala kweleveli yewindi"</string> <string name="force_msaa" msgid="4081288296137775550">"Phoqelela i-4x MSAA"</string> <string name="force_msaa_summary" msgid="9070437493586769500">"Nika amandla i-4x MSAA ezinhlelweni zokusebenza ze-OpenGL ES 2.0"</string> @@ -679,4 +681,5 @@ <item msgid="7728484337962740316">"Yisa kwesokudla"</item> <item msgid="324200556467459329">"Khuphula"</item> </string-array> + <string name="font_scale_percentage" msgid="2624057443622817886">"<xliff:g id="PERCENTAGE">%1$d</xliff:g> %%"</string> </resources> diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java index 3fe12b3dab32..85623b26c589 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SystemSettingsValidators.java @@ -52,6 +52,7 @@ public class SystemSettingsValidators { || (val == BatteryManager.BATTERY_PLUGGED_AC) || (val == BatteryManager.BATTERY_PLUGGED_USB) || (val == BatteryManager.BATTERY_PLUGGED_WIRELESS) + || (val == BatteryManager.BATTERY_PLUGGED_DOCK) || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB)) @@ -64,7 +65,13 @@ public class SystemSettingsValidators { || (val == (BatteryManager.BATTERY_PLUGGED_AC | BatteryManager.BATTERY_PLUGGED_USB - | BatteryManager.BATTERY_PLUGGED_WIRELESS)); + | BatteryManager.BATTERY_PLUGGED_WIRELESS)) + || (val + == (BatteryManager.BATTERY_PLUGGED_AC + | BatteryManager.BATTERY_PLUGGED_DOCK)) + || (val + == (BatteryManager.BATTERY_PLUGGED_USB + | BatteryManager.BATTERY_PLUGGED_DOCK)); } catch (NumberFormatException e) { return false; } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java b/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java index a8eeec3c2f24..80030f7a7a47 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/GenerationRegistry.java @@ -50,10 +50,6 @@ final class GenerationRegistry { @GuardedBy("mLock") private final ArrayMap<Integer, ArrayMap<String, Integer>> mKeyToIndexMapMap = new ArrayMap<>(); - @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) - // Maximum number of backing stores allowed - static final int NUM_MAX_BACKING_STORE = 8; - @GuardedBy("mLock") private int mNumBackingStore = 0; @@ -65,8 +61,24 @@ final class GenerationRegistry { // The generation number is only increased when a new non-predefined setting is inserted private static final String DEFAULT_MAP_KEY_FOR_UNSET_SETTINGS = ""; - public GenerationRegistry(Object lock) { + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) + // Minimum number of backing stores; supports 3 users + static final int MIN_NUM_BACKING_STORE = 8; + // Maximum number of backing stores; supports 18 users + static final int MAX_NUM_BACKING_STORE = 38; + + private final int mMaxNumBackingStore; + + GenerationRegistry(Object lock, int maxNumUsers) { mLock = lock; + // Add some buffer to maxNumUsers to accommodate corner cases when the actual number of + // users in the system exceeds the limit + maxNumUsers = maxNumUsers + 2; + // Number of backing stores needed for N users is (N + N + 1 + 1) = N * 2 + 2 + // N Secure backing stores and N System backing stores, 1 Config and 1 Global for all users + // However, we always make sure that at least 3 users and at most 18 users are supported. + mMaxNumBackingStore = Math.min(Math.max(maxNumUsers * 2 + 2, MIN_NUM_BACKING_STORE), + MAX_NUM_BACKING_STORE); } /** @@ -195,7 +207,7 @@ final class GenerationRegistry { } if (backingStore == null) { try { - if (mNumBackingStore >= NUM_MAX_BACKING_STORE) { + if (mNumBackingStore >= mMaxNumBackingStore) { if (DEBUG) { Slog.e(LOG_TAG, "Error creating backing store - at capacity"); } @@ -275,4 +287,9 @@ final class GenerationRegistry { } return -1; } + + @VisibleForTesting(visibility = VisibleForTesting.Visibility.PRIVATE) + int getMaxNumBackingStores() { + return mMaxNumBackingStore; + } }
\ No newline at end of file diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 7e89bfce7255..721b3c49b17c 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -2831,7 +2831,7 @@ public class SettingsProvider extends ContentProvider { public SettingsRegistry() { mHandler = new MyHandler(getContext().getMainLooper()); - mGenerationRegistry = new GenerationRegistry(mLock); + mGenerationRegistry = new GenerationRegistry(mLock, UserManager.getMaxSupportedUsers()); mBackupManager = new BackupManager(getContext()); } diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 47abb35d01ab..e0e37200219c 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -265,7 +265,6 @@ public class SettingsBackupTest { Settings.Global.ENABLE_DELETION_HELPER_NO_THRESHOLD_TOGGLE, Settings.Global.ENABLE_DISKSTATS_LOGGING, Settings.Global.ENABLE_EPHEMERAL_FEATURE, - Settings.Global.ENABLE_RESTRICTED_BUCKET, Settings.Global.ENABLE_TARE, Settings.Global.DYNAMIC_POWER_SAVINGS_ENABLED, Settings.Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, diff --git a/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java b/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java index 586d6f73baad..12865f452e22 100644 --- a/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java +++ b/packages/SettingsProvider/test/src/com/android/providers/settings/GenerationRegistryTest.java @@ -36,7 +36,7 @@ import java.io.IOException; public class GenerationRegistryTest { @Test public void testGenerationsWithRegularSetting() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object()); + final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 2); final int secureKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, 0); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); @@ -93,7 +93,7 @@ public class GenerationRegistryTest { @Test public void testGenerationsWithConfigSetting() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object()); + final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 1); final String prefix = "test_namespace/"; final int configKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_CONFIG, 0); @@ -110,10 +110,10 @@ public class GenerationRegistryTest { @Test public void testMaxNumBackingStores() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object()); + final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 2); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); - for (int i = 0; i < GenerationRegistry.NUM_MAX_BACKING_STORE; i++) { + for (int i = 0; i < generationRegistry.getMaxNumBackingStores(); i++) { b.clear(); final int key = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, i); generationRegistry.addGenerationData(b, key, testSecureSetting); @@ -121,7 +121,7 @@ public class GenerationRegistryTest { } b.clear(); final int key = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, - GenerationRegistry.NUM_MAX_BACKING_STORE + 1); + generationRegistry.getMaxNumBackingStores() + 1); generationRegistry.addGenerationData(b, key, testSecureSetting); // Should fail to add generation because the number of backing stores has reached limit checkBundle(b, -1, -1, true); @@ -133,7 +133,7 @@ public class GenerationRegistryTest { @Test public void testMaxSizeBackingStore() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object()); + final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 1); final int secureKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, 0); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); @@ -153,7 +153,7 @@ public class GenerationRegistryTest { @Test public void testUnsetSettings() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object()); + final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 1); final int secureKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_SECURE, 0); final String testSecureSetting = "test_secure_setting"; Bundle b = new Bundle(); @@ -172,7 +172,7 @@ public class GenerationRegistryTest { @Test public void testGlobalSettings() throws IOException { - final GenerationRegistry generationRegistry = new GenerationRegistry(new Object()); + final GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 2); final int globalKey = SettingsState.makeKey(SettingsState.SETTINGS_TYPE_GLOBAL, 0); final String testGlobalSetting = "test_global_setting"; final Bundle b = new Bundle(); @@ -188,6 +188,18 @@ public class GenerationRegistryTest { assertThat(array).isEqualTo(array2); } + @Test + public void testNumberOfBackingStores() { + GenerationRegistry generationRegistry = new GenerationRegistry(new Object(), 0); + // Test that the capacity of the backing stores is always valid + assertThat(generationRegistry.getMaxNumBackingStores()).isEqualTo( + GenerationRegistry.MIN_NUM_BACKING_STORE); + generationRegistry = new GenerationRegistry(new Object(), 100); + // Test that the capacity of the backing stores is always valid + assertThat(generationRegistry.getMaxNumBackingStores()).isEqualTo( + GenerationRegistry.MAX_NUM_BACKING_STORE); + } + private void checkBundle(Bundle b, int expectedIndex, int expectedGeneration, boolean isNull) throws IOException { final MemoryIntArray array = getArray(b); diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp index 8b38debef942..941697b2392f 100644 --- a/packages/SystemUI/Android.bp +++ b/packages/SystemUI/Android.bp @@ -376,7 +376,7 @@ android_app { name: "SystemUIRobo-stub", defaults: [ "platform_app_defaults", - "SystemUI_app_defaults", + "SystemUI_optimized_defaults", "SystemUI_compose_defaults", ], manifest: "tests/AndroidManifest-base.xml", @@ -443,7 +443,7 @@ soong_config_module_type { } systemui_optimized_java_defaults { - name: "SystemUI_app_defaults", + name: "SystemUI_optimized_defaults", soong_config_variables: { SYSTEMUI_OPTIMIZE_JAVA: { optimize: { @@ -452,12 +452,10 @@ systemui_optimized_java_defaults { shrink: true, shrink_resources: true, proguard_compatibility: false, - proguard_flags_files: ["proguard.flags"], }, conditions_default: { optimize: { proguard_compatibility: false, - proguard_flags_files: ["proguard.flags"], }, }, }, @@ -468,7 +466,7 @@ android_app { name: "SystemUI", defaults: [ "platform_app_defaults", - "SystemUI_app_defaults", + "SystemUI_optimized_defaults", ], static_libs: [ "SystemUI-core", @@ -483,6 +481,9 @@ android_app { kotlincflags: ["-Xjvm-default=enable"], dxflags: ["--multi-dex"], + optimize: { + proguard_flags_files: ["proguard.flags"], + }, required: [ "privapp_whitelist_com.android.systemui", "wmshell.protolog.json.gz", diff --git a/packages/SystemUI/compose/features/src/com/android/systemui/multishade/ui/composable/MultiShade.kt b/packages/SystemUI/compose/features/src/com/android/systemui/multishade/ui/composable/MultiShade.kt index b9e38cf3cc60..99fe26ce1f3b 100644 --- a/packages/SystemUI/compose/features/src/com/android/systemui/multishade/ui/composable/MultiShade.kt +++ b/packages/SystemUI/compose/features/src/com/android/systemui/multishade/ui/composable/MultiShade.kt @@ -53,6 +53,7 @@ fun MultiShade( modifier: Modifier = Modifier, ) { val isScrimEnabled: Boolean by viewModel.isScrimEnabled.collectAsState() + val scrimAlpha: Float by viewModel.scrimAlpha.collectAsState() // TODO(b/273298030): find a different way to get the height constraint from its parent. BoxWithConstraints(modifier = modifier) { @@ -61,7 +62,7 @@ fun MultiShade( Scrim( modifier = Modifier.fillMaxSize(), remoteTouch = viewModel::onScrimTouched, - alpha = { viewModel.scrimAlpha.value }, + alpha = { scrimAlpha }, isScrimEnabled = isScrimEnabled, ) Shade( diff --git a/packages/SystemUI/res-keyguard/values-am/strings.xml b/packages/SystemUI/res-keyguard/values-am/strings.xml index 9cbb62780d65..4129f0759054 100644 --- a/packages/SystemUI/res-keyguard/values-am/strings.xml +++ b/packages/SystemUI/res-keyguard/values-am/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • በፍጥነት ኃይልን በመሙላት ላይ"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • በዝግታ ኃይልን በመሙላት ላይ"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ባትሪን ለመጠበቅ ኃይል መሙላት ተብቷል"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ተለዋዋጭን ኃይል በመሙላት ላይ ችግር"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"ለመክፈት ምናሌ ተጫን።"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"አውታረ መረብ ተቆልፏል"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"ምንም SIM የለም"</string> diff --git a/packages/SystemUI/res-keyguard/values-ar/strings.xml b/packages/SystemUI/res-keyguard/values-ar/strings.xml index ad931fe5c22f..b340d568ba76 100644 --- a/packages/SystemUI/res-keyguard/values-ar/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ar/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • جارٍ الشحن سريعًا"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • جارٍ الشحن ببطء"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • تم تحسين الشحن لحماية البطارية"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • مشكلة متعلّقة بجهاز الشحن الملحق"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"اضغط على \"القائمة\" لإلغاء التأمين."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"الشبكة مؤمّنة"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"لا تتوفر شريحة SIM."</string> diff --git a/packages/SystemUI/res-keyguard/values-as/strings.xml b/packages/SystemUI/res-keyguard/values-as/strings.xml index cdc260e01af1..cb446b9b2777 100644 --- a/packages/SystemUI/res-keyguard/values-as/strings.xml +++ b/packages/SystemUI/res-keyguard/values-as/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • দ্ৰুত গতিৰে চ্চাৰ্জ কৰি থকা হৈছে"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • লাহে লাহে চ্চাৰ্জ কৰি থকা হৈছে"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • বেটাৰী সুৰক্ষিত কৰিবলৈ চাৰ্জিং অপ্টিমাইজ কৰা হৈছে"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • চাৰ্জিঙৰ আনুষংগিক সামগ্ৰীত সমস্যা হৈছে"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"আনলক কৰিবলৈ মেনু টিপক।"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"নেটৱর্ক লক কৰা অৱস্থাত আছে"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"কোনো ছিম নাই"</string> diff --git a/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml b/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml index 30a55d1870f3..90a5a201fd73 100644 --- a/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res-keyguard/values-b+sr+Latn/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Brzo se puni"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Sporo se puni"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Punjenje je optimizovano da bi se zaštitila baterija"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problem sa dodatnim priborom za punjenje"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Pritisnite Meni da biste otključali."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Mreža je zaključana"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Nema SIM-a"</string> diff --git a/packages/SystemUI/res-keyguard/values-be/strings.xml b/packages/SystemUI/res-keyguard/values-be/strings.xml index 844ed93971df..8127353166e1 100644 --- a/packages/SystemUI/res-keyguard/values-be/strings.xml +++ b/packages/SystemUI/res-keyguard/values-be/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ідзе хуткая зарадка"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ідзе павольная зарадка"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • У мэтах зберажэння акумулятара зарадка аптымізавана"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Праблема з зараднай прыладай"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Націсніце кнопку \"Меню\", каб разблакіраваць."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Сетка заблакіравана"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Няма SIM-карты"</string> diff --git a/packages/SystemUI/res-keyguard/values-bn/strings.xml b/packages/SystemUI/res-keyguard/values-bn/strings.xml index cb25c990ba8c..414eb51cb93a 100644 --- a/packages/SystemUI/res-keyguard/values-bn/strings.xml +++ b/packages/SystemUI/res-keyguard/values-bn/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • দ্রুত চার্জ হচ্ছে"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ধীরে চার্জ হচ্ছে"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ব্যাটারি ভাল রাখতে চার্জিং অপ্টিমাইজ করা হয়েছে"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • চার্জিং অ্যাক্সেসরিতে সমস্যা রয়েছে"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"আনলক করতে মেনুতে টিপুন।"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"নেটওয়ার্ক লক করা আছে"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"কোনও সিম নেই"</string> diff --git a/packages/SystemUI/res-keyguard/values-ca/strings.xml b/packages/SystemUI/res-keyguard/values-ca/strings.xml index 185461f2aaba..7dac29da5ac4 100644 --- a/packages/SystemUI/res-keyguard/values-ca/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ca/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • S\'està carregant ràpidament"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • S\'està carregant lentament"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Càrrega optimitzada per protegir la bateria"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problema relacionat amb l\'accessori de càrrega"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Prem Menú per desbloquejar."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"La xarxa està bloquejada"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"No hi ha cap SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-cs/strings.xml b/packages/SystemUI/res-keyguard/values-cs/strings.xml index f2ebe8043450..fcd3231c7451 100644 --- a/packages/SystemUI/res-keyguard/values-cs/strings.xml +++ b/packages/SystemUI/res-keyguard/values-cs/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Rychlé nabíjení"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Pomalé nabíjení"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Optimalizované nabíjení za účelem ochrany baterie"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problém s nabíjecím příslušenstvím"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Klávesy odemknete stisknutím tlačítka nabídky."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Síť je blokována"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Žádná SIM karta"</string> diff --git a/packages/SystemUI/res-keyguard/values-da/strings.xml b/packages/SystemUI/res-keyguard/values-da/strings.xml index aedfa5844833..e0cc87dc4730 100644 --- a/packages/SystemUI/res-keyguard/values-da/strings.xml +++ b/packages/SystemUI/res-keyguard/values-da/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader hurtigt"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Oplader langsomt"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Opladning er optimeret for at beskytte batteriet"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problem med opladertilbehør"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Tryk på menuen for at låse op."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Netværket er låst"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Intet SIM-kort"</string> diff --git a/packages/SystemUI/res-keyguard/values-de/strings.xml b/packages/SystemUI/res-keyguard/values-de/strings.xml index 294bb686b2b1..9c7fab5097db 100644 --- a/packages/SystemUI/res-keyguard/values-de/strings.xml +++ b/packages/SystemUI/res-keyguard/values-de/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Wird schnell geladen"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Wird langsam geladen"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Optimiertes Laden zur Akkuschonung"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problem mit dem Ladezubehör"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Zum Entsperren die Menütaste drücken."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Netzwerk gesperrt"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Keine SIM-Karte"</string> diff --git a/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml b/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml index fec15b40a0ac..03608ce8ca62 100644 --- a/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml +++ b/packages/SystemUI/res-keyguard/values-es-rUS/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando rápidamente"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando lentamente"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Carga optimizada para proteger la batería"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problema con el accesorio de carga"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Presiona Menú para desbloquear."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Bloqueada para la red"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"No hay ninguna tarjeta SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-es/strings.xml b/packages/SystemUI/res-keyguard/values-es/strings.xml index 04e02d820b3d..6ff17cacc3a0 100644 --- a/packages/SystemUI/res-keyguard/values-es/strings.xml +++ b/packages/SystemUI/res-keyguard/values-es/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando rápidamente"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando lentamente"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Carga optimizada para proteger la batería"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problema con el accesorio de carga"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Pulsa el menú para desbloquear la pantalla."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Bloqueada para la red"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"No hay ninguna SIM."</string> diff --git a/packages/SystemUI/res-keyguard/values-fa/strings.xml b/packages/SystemUI/res-keyguard/values-fa/strings.xml index edb4761550ca..e88b4b32f287 100644 --- a/packages/SystemUI/res-keyguard/values-fa/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fa/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • درحال شارژ سریع"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • آهستهآهسته شارژ میشود"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • برای محافظت از باتری، شارژ بهینه میشود"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • در شارژ وسیله جانبی مشکلی وجود دارد"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"برای باز کردن قفل روی «منو» فشار دهید."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"شبکه قفل شد"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"سیمکارتی وجود ندارد"</string> diff --git a/packages/SystemUI/res-keyguard/values-fi/strings.xml b/packages/SystemUI/res-keyguard/values-fi/strings.xml index e6b1400c1dd0..17928c75f655 100644 --- a/packages/SystemUI/res-keyguard/values-fi/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fi/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ladataan nopeasti"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ladataan hitaasti"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Lataus optimoitu akun suojaamiseksi"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ongelma laturin kanssa"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Poista lukitus painamalla Valikkoa."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Verkko lukittu"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Ei SIM-korttia"</string> diff --git a/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml b/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml index 57e4664b0302..7978fda1a355 100644 --- a/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fr-rCA/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"En recharge rapide : <xliff:g id="PERCENTAGE">%s</xliff:g>"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"En recharge lente : <xliff:g id="PERCENTAGE">%s</xliff:g>"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge optimisée pour protéger la pile"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problème concernant l\'accessoire de recharge"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Appuyez sur la touche Menu pour déverrouiller l\'appareil."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Réseau verrouillé"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Aucune carte SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-fr/strings.xml b/packages/SystemUI/res-keyguard/values-fr/strings.xml index 81f003482c3f..67ce8b19b6f2 100644 --- a/packages/SystemUI/res-keyguard/values-fr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-fr/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge rapide…"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge lente"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Recharge optimisée pour protéger la batterie"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problème de recharge de l\'accessoire"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Appuyez sur \"Menu\" pour déverrouiller le clavier."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Réseau verrouillé"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Aucune SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-gl/strings.xml b/packages/SystemUI/res-keyguard/values-gl/strings.xml index 43d41e1939d3..c1159e8f6f08 100644 --- a/packages/SystemUI/res-keyguard/values-gl/strings.xml +++ b/packages/SystemUI/res-keyguard/values-gl/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando rapidamente"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Cargando lentamente"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Carga optimizada para protexer a batería"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problema co accesorio de carga"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Preme Menú para desbloquear."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Bloqueada pola rede"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Non hai ningunha SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-gu/strings.xml b/packages/SystemUI/res-keyguard/values-gu/strings.xml index 252439701725..8ef5dc202b3e 100644 --- a/packages/SystemUI/res-keyguard/values-gu/strings.xml +++ b/packages/SystemUI/res-keyguard/values-gu/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ઝડપથી ચાર્જિંગ"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ધીમેથી ચાર્જિંગ"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • બૅટરીની સુરક્ષા કરવા માટે, ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ચાર્જિંગ ઍક્સેસરીમાં સમસ્યા"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"અનલૉક કરવા માટે મેનૂ દબાવો."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"નેટવર્ક લૉક થયું"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"કોઈ સિમ કાર્ડ નથી"</string> diff --git a/packages/SystemUI/res-keyguard/values-hy/strings.xml b/packages/SystemUI/res-keyguard/values-hy/strings.xml index 0ecc55c3164e..e85f61cd79df 100644 --- a/packages/SystemUI/res-keyguard/values-hy/strings.xml +++ b/packages/SystemUI/res-keyguard/values-hy/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Արագ լիցքավորում"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Դանդաղ լիցքավորում"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Մարտկոցը պաշտպանելու համար լիցքավորումն օպտիմալացվել է"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Լիցքավորիչի հետ կապված խնդիր"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Ապակողպելու համար սեղմեք Ընտրացանկը:"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Ցանցը կողպված է"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM քարտ չկա"</string> diff --git a/packages/SystemUI/res-keyguard/values-in/strings.xml b/packages/SystemUI/res-keyguard/values-in/strings.xml index 39f6553888fa..bc00d744ecbb 100644 --- a/packages/SystemUI/res-keyguard/values-in/strings.xml +++ b/packages/SystemUI/res-keyguard/values-in/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Mengisi daya dengan cepat"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Mengisi daya dengan lambat"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Pengisian daya dioptimalkan untuk melindungi baterai"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Masalah dengan aksesori pengisian daya"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Tekan Menu untuk membuka kunci."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Jaringan terkunci"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Tidak ada SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-is/strings.xml b/packages/SystemUI/res-keyguard/values-is/strings.xml index c06109d08932..1d93e0832fb9 100644 --- a/packages/SystemUI/res-keyguard/values-is/strings.xml +++ b/packages/SystemUI/res-keyguard/values-is/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Hröð hleðsla"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Hæg hleðsla"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Hleðsla fínstillt til að vernda rafhlöðuna"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Vandamál með hleðslubúnað"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Ýttu á valmyndarhnappinn til að taka úr lás."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Net læst"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Ekkert SIM-kort"</string> diff --git a/packages/SystemUI/res-keyguard/values-it/strings.xml b/packages/SystemUI/res-keyguard/values-it/strings.xml index cc05beea7db9..51a86df8bfe7 100644 --- a/packages/SystemUI/res-keyguard/values-it/strings.xml +++ b/packages/SystemUI/res-keyguard/values-it/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ricarica veloce"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ricarica lenta"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ricarica ottimizzata per proteggere la batteria"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problema relativo all\'accessorio di ricarica"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Premi Menu per sbloccare."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Rete bloccata"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Nessuna SIM presente"</string> diff --git a/packages/SystemUI/res-keyguard/values-ka/strings.xml b/packages/SystemUI/res-keyguard/values-ka/strings.xml index eb96a9e5c46c..6b570619d762 100644 --- a/packages/SystemUI/res-keyguard/values-ka/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ka/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • სწრაფად იტენება"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ნელა იტენება"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • დატენვა ოპტიმიზირებულია ბატარეის დასაცავად"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • დამტენი დამხმარე მოწყობილობის პრობლემა"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"განსაბლოკად დააჭირეთ მენიუს."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"ქსელი ჩაკეტილია"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM არ არის"</string> diff --git a/packages/SystemUI/res-keyguard/values-kk/strings.xml b/packages/SystemUI/res-keyguard/values-kk/strings.xml index 90519df1974c..db031d6b73f4 100644 --- a/packages/SystemUI/res-keyguard/values-kk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-kk/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Жылдам зарядталуда"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Баяу зарядталуда"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Батареяны қорғау үшін зарядтау оңтайландырылды"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Зарядтау құрылғысына қатысты мәселе туындады."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Ашу үшін \"Мәзір\" пернесін басыңыз."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Желі құлыптаулы"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM картасы жоқ."</string> diff --git a/packages/SystemUI/res-keyguard/values-ky/strings.xml b/packages/SystemUI/res-keyguard/values-ky/strings.xml index 5cf8ad30937d..23afa381bb69 100644 --- a/packages/SystemUI/res-keyguard/values-ky/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ky/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Тез кубатталууда"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Жай кубатталууда"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Батареяны коргоо үчүн кубаттоо процесси оптималдаштырылды"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Кубаттоочу шайманда көйгөй бар"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Кулпуну ачуу үчүн Менюну басыңыз."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Тармак кулпуланган"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM карта жок"</string> diff --git a/packages/SystemUI/res-keyguard/values-lo/strings.xml b/packages/SystemUI/res-keyguard/values-lo/strings.xml index 7e3cd8931348..408e916adbd2 100644 --- a/packages/SystemUI/res-keyguard/values-lo/strings.xml +++ b/packages/SystemUI/res-keyguard/values-lo/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ກຳລັງສາກແບບດ່ວນ"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ກຳລັງສາກແບບຊ້າ"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ການສາກຖືກປັບໃຫ້ເໝາະສົມເພື່ອປົກປ້ອງແບັດເຕີຣີ"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ບັນຫາກັບອຸປະກອນເສີມໃນການສາກ"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"ກົດ \"ເມນູ\" ເພື່ອປົດລັອກ."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"ເຄືອຂ່າຍຖືກລັອກ"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"ບໍ່ມີຊິມ"</string> diff --git a/packages/SystemUI/res-keyguard/values-lt/strings.xml b/packages/SystemUI/res-keyguard/values-lt/strings.xml index 23601d3fc391..b60f2b7adce6 100644 --- a/packages/SystemUI/res-keyguard/values-lt/strings.xml +++ b/packages/SystemUI/res-keyguard/values-lt/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Greitai įkraunama"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Lėtai įkraunama"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Įkrovimas optimizuotas siekiant apsaugoti akumuliatorių"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Su įkrovimo priedu susijusi problema"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Paspauskite meniu, jei norite atrakinti."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Tinklas užrakintas"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Nėra SIM kortelės"</string> diff --git a/packages/SystemUI/res-keyguard/values-lv/strings.xml b/packages/SystemUI/res-keyguard/values-lv/strings.xml index e66a0186df05..e8cd99b26cbb 100644 --- a/packages/SystemUI/res-keyguard/values-lv/strings.xml +++ b/packages/SystemUI/res-keyguard/values-lv/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Notiek ātrā uzlāde"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Notiek lēnā uzlāde"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Uzlāde optimizēta, lai saudzētu akumulatoru"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problēma ar uzlādes ierīci"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Lai atbloķētu, nospiediet izvēlnes ikonu."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Tīkls ir bloķēts."</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Nav SIM kartes"</string> diff --git a/packages/SystemUI/res-keyguard/values-mk/strings.xml b/packages/SystemUI/res-keyguard/values-mk/strings.xml index 28d698898ac2..b35be97c4f39 100644 --- a/packages/SystemUI/res-keyguard/values-mk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-mk/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Брзо полнење"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Бавно полнење"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Полнењето е оптимизирано за да се заштити батеријата"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Проблем со додатокот за полнење"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Притиснете „Мени“ за отклучување."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Мрежата е заклучена"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Нема SIM-картичка"</string> diff --git a/packages/SystemUI/res-keyguard/values-mn/strings.xml b/packages/SystemUI/res-keyguard/values-mn/strings.xml index 1b36541d9ebf..2e941ba62371 100644 --- a/packages/SystemUI/res-keyguard/values-mn/strings.xml +++ b/packages/SystemUI/res-keyguard/values-mn/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Хурдан цэнэглэж байна"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Удаан цэнэглэж байна"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Батарейг хамгаалахын тулд цэнэглэх явцыг оновчилсон"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Цэнэглэх хэрэгсэлд асуудал гарлаа"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Түгжээг тайлах бол цэсийг дарна уу."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Сүлжээ түгжигдсэн"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM байхгүй"</string> diff --git a/packages/SystemUI/res-keyguard/values-mr/strings.xml b/packages/SystemUI/res-keyguard/values-mr/strings.xml index 400d884e6a2a..74b3d39bd050 100644 --- a/packages/SystemUI/res-keyguard/values-mr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-mr/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • वेगाने चार्ज होत आहे"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • सावकाश चार्ज होत आहे"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • बॅटरीचे संरक्षण करण्यासाठी चार्जिंग ऑप्टिमाइझ केले आहे"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • चार्जिंगच्या ॲक्सेसरीसंबंधित समस्या"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"अनलॉक करण्यासाठी मेनू दाबा."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"नेटवर्क लॉक केले"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"सिम नाही"</string> diff --git a/packages/SystemUI/res-keyguard/values-nb/strings.xml b/packages/SystemUI/res-keyguard/values-nb/strings.xml index a9a051e07fbb..abc00056809a 100644 --- a/packages/SystemUI/res-keyguard/values-nb/strings.xml +++ b/packages/SystemUI/res-keyguard/values-nb/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Lader raskt"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Lader sakte"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ladingen er optimalisert for å beskytte batteriet"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problem med ladetilbehøret"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Trykk på menyknappen for å låse opp."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Nettverket er låst"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Ingen SIM-kort"</string> diff --git a/packages/SystemUI/res-keyguard/values-ne/strings.xml b/packages/SystemUI/res-keyguard/values-ne/strings.xml index f53361014167..d835f42b22a4 100644 --- a/packages/SystemUI/res-keyguard/values-ne/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ne/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • द्रुत गतिमा चार्ज गरिँदै छ"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • मन्द गतिमा चार्ज गरिँदै"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ब्याट्री जोगाउन चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिएको छ"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • चार्ज गर्ने एक्सेसरीमा कुनै समस्या आयो"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"अनलक गर्न मेनु थिच्नुहोस्।"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"नेटवर्क लक भएको छ"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM कार्ड हालिएको छैन"</string> diff --git a/packages/SystemUI/res-keyguard/values-pa/strings.xml b/packages/SystemUI/res-keyguard/values-pa/strings.xml index bf435ee30e78..383eee58d54b 100644 --- a/packages/SystemUI/res-keyguard/values-pa/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pa/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ਤੇਜ਼ੀ ਨਾਲ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ਬੈਟਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • ਚਾਰਜ ਕਰਨ ਵਾਲੀ ਐਕਸੈਸਰੀ ਸੰਬੰਧੀ ਸਮੱਸਿਆ"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"ਅਣਲਾਕ ਕਰਨ ਲਈ \"ਮੀਨੂ\" ਦਬਾਓ।"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"ਨੈੱਟਵਰਕ ਲਾਕ ਕੀਤਾ ਗਿਆ"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"ਕੋਈ ਸਿਮ ਨਹੀਂ ਹੈ"</string> diff --git a/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml b/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml index 5a5212e13e2f..e0d3eb015fa5 100644 --- a/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res-keyguard/values-pt-rPT/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • A carregar rapidamente…"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • A carregar lentamente…"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Carregamento otimizado para proteger a bateria"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problema com o acessório de carregamento"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Prima Menu para desbloquear."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Rede bloqueada"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Sem SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-ro/strings.xml b/packages/SystemUI/res-keyguard/values-ro/strings.xml index 473029373e6d..0a5538fe2904 100644 --- a/packages/SystemUI/res-keyguard/values-ro/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ro/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Se încarcă rapid"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Se încarcă lent"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Încărcarea este optimizată pentru a proteja bateria"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Problemă legată de accesoriul de încărcare"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Apasă pe Meniu pentru a debloca."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Rețea blocată"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Niciun card SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-ru/strings.xml b/packages/SystemUI/res-keyguard/values-ru/strings.xml index 792af9d467b7..39bf861c4b80 100644 --- a/packages/SystemUI/res-keyguard/values-ru/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ru/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"Идет быстрая зарядка (<xliff:g id="PERCENTAGE">%s</xliff:g>)"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"Идет медленная зарядка (<xliff:g id="PERCENTAGE">%s</xliff:g>)"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Зарядка оптимизирована для защиты батареи"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Проблема с зарядным устройством"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Для разблокировки нажмите \"Меню\"."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Сеть заблокирована"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM-карта отсутствует"</string> diff --git a/packages/SystemUI/res-keyguard/values-sr/strings.xml b/packages/SystemUI/res-keyguard/values-sr/strings.xml index 98d9029dcd01..a26d7e815c59 100644 --- a/packages/SystemUI/res-keyguard/values-sr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sr/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Брзо се пуни"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Споро се пуни"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Пуњење је оптимизовано да би се заштитила батерија"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Проблем са додатним прибором за пуњење"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Притисните Мени да бисте откључали."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Мрежа је закључана"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Нема SIM-а"</string> diff --git a/packages/SystemUI/res-keyguard/values-sv/strings.xml b/packages/SystemUI/res-keyguard/values-sv/strings.xml index 22e7fdb71a9f..623532b3bc2e 100644 --- a/packages/SystemUI/res-keyguard/values-sv/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sv/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Laddas snabbt"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Laddas långsamt"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Laddningen har optimerats för att skydda batteriet"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Ett problem uppstod med att ladda tillbehöret"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Lås upp genom att trycka på Meny."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Nätverk låst"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Inget SIM-kort"</string> diff --git a/packages/SystemUI/res-keyguard/values-sw/strings.xml b/packages/SystemUI/res-keyguard/values-sw/strings.xml index bdf5b00fd7bb..96309e198638 100644 --- a/packages/SystemUI/res-keyguard/values-sw/strings.xml +++ b/packages/SystemUI/res-keyguard/values-sw/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Inachaji kwa kasi"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Inachaji pole pole"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Hali ya kuchaji imeboreshwa ili kulinda betri"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Kifuasi cha kuchaji kina hitilafu"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Bonyeza Menyu ili kufungua."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Mtandao umefungwa"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Hakuna SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-ta/strings.xml b/packages/SystemUI/res-keyguard/values-ta/strings.xml index f23c83900da8..9f85a972b956 100644 --- a/packages/SystemUI/res-keyguard/values-ta/strings.xml +++ b/packages/SystemUI/res-keyguard/values-ta/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • வேகமாகச் சார்ஜாகிறது"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • மெதுவாகச் சார்ஜாகிறது"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • பேட்டரியைப் பாதுகாக்க சார்ஜிங் மேம்படுத்தப்பட்டுள்ளது"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • சார்ஜரில் சிக்கல் உள்ளது"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"அன்லாக் செய்ய மெனுவை அழுத்தவும்."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"நெட்வொர்க் பூட்டப்பட்டது"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"சிம் இல்லை"</string> diff --git a/packages/SystemUI/res-keyguard/values-tr/strings.xml b/packages/SystemUI/res-keyguard/values-tr/strings.xml index 2ee4e67d2cd1..ae8be96d25c3 100644 --- a/packages/SystemUI/res-keyguard/values-tr/strings.xml +++ b/packages/SystemUI/res-keyguard/values-tr/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Hızlı şarj oluyor"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Yavaş şarj oluyor"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Şarj işlemi pili korumak üzere optimize edildi"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Şarj aksesuarı ile ilgili sorun"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Kilidi açmak için Menü\'ye basın."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Ağ kilitli"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"SIM yok"</string> diff --git a/packages/SystemUI/res-keyguard/values-uk/strings.xml b/packages/SystemUI/res-keyguard/values-uk/strings.xml index 52daa8e3c111..3b3b20cb70be 100644 --- a/packages/SystemUI/res-keyguard/values-uk/strings.xml +++ b/packages/SystemUI/res-keyguard/values-uk/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Швидке заряджання"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Повільне заряджання"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Заряджання оптимізовано, щоб захистити акумулятор"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Проблема із зарядним пристроєм"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Натисніть меню, щоб розблокувати."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Мережу заблоковано"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Немає SIM-карти"</string> diff --git a/packages/SystemUI/res-keyguard/values-vi/strings.xml b/packages/SystemUI/res-keyguard/values-vi/strings.xml index 287363d5091e..79b9f0646b17 100644 --- a/packages/SystemUI/res-keyguard/values-vi/strings.xml +++ b/packages/SystemUI/res-keyguard/values-vi/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Đang sạc nhanh"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Đang sạc chậm"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Quá trình sạc được tối ưu hoá để bảo vệ pin"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • Có vấn đề với phụ kiện sạc"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"Nhấn vào Menu để mở khóa."</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"Mạng đã bị khóa"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"Không có SIM"</string> diff --git a/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml b/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml index d69bbc0bc2e4..8eeb8a3f2b90 100644 --- a/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res-keyguard/values-zh-rHK/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 快速充電中"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 慢速充電中"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 為保護電池,系統已優化充電"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 充電配件發生問題"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"按下 [選單] 即可解鎖。"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"網絡已鎖定"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"沒有 SIM 卡"</string> diff --git a/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml b/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml index c11959c0fdf6..781cf4446d16 100644 --- a/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res-keyguard/values-zh-rTW/strings.xml @@ -31,8 +31,7 @@ <string name="keyguard_plugged_in_charging_fast" msgid="4386594091107340426">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 快速充電中"</string> <string name="keyguard_plugged_in_charging_slowly" msgid="217655355424210">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 慢速充電中"</string> <string name="keyguard_plugged_in_charging_limited" msgid="1053130519456324630">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 為保護電池,充電效能已最佳化"</string> - <!-- no translation found for keyguard_plugged_in_incompatible_charger (3687961801947819076) --> - <skip /> + <string name="keyguard_plugged_in_incompatible_charger" msgid="3687961801947819076">"<xliff:g id="PERCENTAGE">%s</xliff:g> • 充電配件有問題"</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="8448804180089936954">"按選單鍵解鎖。"</string> <string name="keyguard_network_locked_message" msgid="407096292844868608">"網路已鎖定"</string> <string name="keyguard_missing_sim_message_short" msgid="685029586173458728">"沒有 SIM 卡"</string> diff --git a/packages/SystemUI/res-product/values-af/strings.xml b/packages/SystemUI/res-product/values-af/strings.xml index 8d416b31bd84..1fab1d40833c 100644 --- a/packages/SystemUI/res-product/values-af/strings.xml +++ b/packages/SystemUI/res-product/values-af/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Jy het die foon <xliff:g id="NUMBER">%d</xliff:g> keer verkeerd probeer ontsluit. Die werkprofiel sal verwyder word, wat alle profieldata sal uitvee."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Jy het jou ontsluitpatroon <xliff:g id="NUMBER_0">%1$d</xliff:g> keer verkeerd geteken. Na nóg <xliff:g id="NUMBER_1">%2$d</xliff:g> onsuksesvolle pogings sal jy gevra word om jou e-posrekening te gebruik om jou tablet te ontsluit.\n\n Probeer weer oor <xliff:g id="NUMBER_2">%3$d</xliff:g> sekondes."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Jy het jou ontsluitpatroon <xliff:g id="NUMBER_0">%1$d</xliff:g> keer verkeerd geteken. Na nóg <xliff:g id="NUMBER_1">%2$d</xliff:g> onsuksesvolle pogings sal jy gevra word om jou e-posrekening te gebruik om jou foon te ontsluit.\n\n Probeer weer oor <xliff:g id="NUMBER_2">%3$d</xliff:g> sekondes."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Die vingerafdruksensor is op die aan/af-skakelaar. Dit is die plat knoppie langs die verhewe volumeknoppie aan die kant van die tablet.\n\nDie skerm skakel af wanneer iemand die aan/af-skakelaar druk."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Die vingerafdruksensor is op die aan/af-skakelaar. Dit is die plat knoppie langs die verhewe volumeknoppie aan die kant van die toestel.\n\nDie skerm skakel af wanneer iemand die aan/af-skakelaar druk."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Die vingerafdruksensor is op die aan/af-skakelaar. Dit is die plat knoppie langs die verhewe volumeknoppie aan die kant van die foon.\n\nDie skerm skakel af wanneer iemand die aan/af-skakelaar druk."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Die vingerafdruksensor is op die aan/af-skakelaar. Dit is die plat knoppie langs die verhewe volumeknoppie aan die kant van die tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Die vingerafdruksensor is op die aan/af-skakelaar. Dit is die plat knoppie langs die verhewe volumeknoppie aan die kant van die toestel."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Die vingerafdruksensor is op die aan/af-skakelaar. Dit is die plat knoppie langs die verhewe volumeknoppie aan die kant van die foon."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Ontsluit jou foon vir meer opsies"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Ontsluit jou tablet vir meer opsies"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Ontsluit jou toestel vir meer opsies"</string> diff --git a/packages/SystemUI/res-product/values-am/strings.xml b/packages/SystemUI/res-product/values-am/strings.xml index ca062e1a6587..ab55d22ed059 100644 --- a/packages/SystemUI/res-product/values-am/strings.xml +++ b/packages/SystemUI/res-product/values-am/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ስልኩን <xliff:g id="NUMBER">%d</xliff:g> ጊዜ ትክክል ባልሆነ መልኩ ለመክፈት ሞክረዋል። የስራ መገለጫው ይወገዳል፣ ይህም ሁሉንም የመገለጫ ውሂብ ይሰርዛል።"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"የመክፈቻ ስርዓተ ጥለቱን <xliff:g id="NUMBER_0">%1$d</xliff:g> ጊዜ በትክክል አልሳሉትም። ከ<xliff:g id="NUMBER_1">%2$d</xliff:g> ተጨማሪ ያልተሳኩ ሙከራዎች በኋላ የኢሜይል መለያ ተጠቅመው ጡባዊዎን እንዲከፍቱ ይጠየቃሉ።\n\n ከ<xliff:g id="NUMBER_2">%3$d</xliff:g> ከሰከንዶች በኋላ እንደገና ይሞክሩ።"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"የመክፈቻ ስርዓተ ጥለቱን <xliff:g id="NUMBER_0">%1$d</xliff:g> ጊዜ በትክክል አልሳሉትም። ከ<xliff:g id="NUMBER_1">%2$d</xliff:g> ተጨማሪ ያልተሳኩ ሙከራዎች በኋላ የኢሜይል መለያ ተጠቅመው ስልክዎን እንዲከፍቱ ይጠየቃሉ።\n\nእባክዎ ከ<xliff:g id="NUMBER_2">%3$d</xliff:g> ሰከንዶች በኋላ እንደገና ይሞክሩ።"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"የጣት አሻራ ዳሳሹ የማብሪያ/ማጥፊያ ቁልፉ ላይ ነው። በጡባዊው ጫፍ ላይ ከፍ ካለው የድምፅ አዝራር ቀጥሎ ያለው ጠፍጣፋ አዝራር ነው።\n\nየማብሪያ/ማጥፊያ ቁልፉን መጫን ማያ ገጹን ያጠፋዋል።"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"የጣት አሻራ ዳሳሹ የማብሪያ/ማጥፊያ ቁልፉ ላይ ነው። በመሣሪያው ጫፍ ላይ ከፍ ካለው የድምፅ አዝራር ቀጥሎ ያለው ጠፍጣፋ አዝራር ነው።\n\nየማብሪያ/ማጥፊያ ቁልፉን መጫን ማያ ገጹን ያጠፋዋል።"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"የጣት አሻራ ዳሳሹ የማብሪያ/ማጥፊያ ቁልፉ ላይ ነው። በስልኩ ጫፍ ላይ ከፍ ካለው የድምፅ አዝራር ቀጥሎ ያለው ጠፍጣፋ አዝራር ነው።\n\nየማብሪያ/ማጥፊያ ቁልፉን መጫን ማያ ገጹን ያጠፋዋል።"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"የጣት አሻራ ዳሳሹ የማብሪያ/ማጥፊያ ቁልፉ ላይ ነው። በጡባዊው ጫፍ ላይ ከፍ ካለው የድምፅ አዝራር ቀጥሎ ያለው ጠፍጣፋ አዝራር ነው።"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"የጣት አሻራ ዳሳሹ የማብሪያ/ማጥፊያ ቁልፉ ላይ ነው። በመሣሪያው ጫፍ ላይ ከፍ ካለው የድምፅ አዝራር ቀጥሎ ያለው ጠፍጣፋ አዝራር ነው።"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"የጣት አሻራ ዳሳሹ የማብሪያ/ማጥፊያ ቁልፉ ላይ ነው። በስልኩ ጫፍ ላይ ከፍ ካለው የድምፅ አዝራር ቀጥሎ ያለው ጠፍጣፋ አዝራር ነው።"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ለተጨማሪ አማራጮች የእርስዎን ስልክ ይክፈቱ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ለተጨማሪ አማራጮች የእርስዎን ጡባዊ ይክፈቱ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ለተጨማሪ አማራጮች የእርስዎን መሣሪያ ይክፈቱ"</string> diff --git a/packages/SystemUI/res-product/values-ar/strings.xml b/packages/SystemUI/res-product/values-ar/strings.xml index 6955f20c2b9a..1664d6fcd7ff 100644 --- a/packages/SystemUI/res-product/values-ar/strings.xml +++ b/packages/SystemUI/res-product/values-ar/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"أخطأت في محاولة فتح قفل الهاتف <xliff:g id="NUMBER">%d</xliff:g> مرة. ستتم إزالة الملف الشخصي للعمل، ومن ثم يتم حذف جميع بياناته."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"رسمت نقش فتح القفل بشكل غير صحيح <xliff:g id="NUMBER_0">%1$d</xliff:g> مرة. بعد إجراء <xliff:g id="NUMBER_1">%2$d</xliff:g> محاولة غير ناجحة أخرى، ستُطالَب بفتح قفل الجهاز اللوحي باستخدام معلومات حساب بريد إلكتروني.\n\n يُرجى إعادة المحاولة خلال <xliff:g id="NUMBER_2">%3$d</xliff:g> ثانية."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"رسمت نقش فتح القفل بشكل غير صحيح <xliff:g id="NUMBER_0">%1$d</xliff:g> مرة. بعد إجراء <xliff:g id="NUMBER_1">%2$d</xliff:g> محاولة غير ناجحة أخرى، ستُطالَب بفتح قفل الهاتف باستخدام حساب بريد إلكتروني.\n\n يُرجى إعادة المحاولة خلال <xliff:g id="NUMBER_2">%3$d</xliff:g> ثانية."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"توجد أداة استشعار بصمة الإصبع على زر التشغيل. زر التشغيل هو الزر المسطّح بجانب زرّي التحكم بمستوى الصوت البارزين في الجزء الجانبي من الجهاز اللوحي.\n\nيؤدي الضغط على زر التشغيل إلى إطفاء الشاشة."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"توجد أداة استشعار بصمة الإصبع على زر التشغيل. زر التشغيل هو الزر المسطّح بجانب زرّي التحكم بمستوى الصوت البارزين في الجزء الجانبي من الجهاز.\n\nيؤدي الضغط على زر التشغيل إلى إطفاء الشاشة."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"توجد أداة استشعار بصمة الإصبع على زر التشغيل. زر التشغيل هو الزر المسطّح بجانب زرّي التحكم بمستوى الصوت البارزين في الجزء الجانبي من الهاتف.\n\nيؤدي الضغط على زر التشغيل إلى إطفاء الشاشة."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"توجد أداة استشعار بصمة الإصبع على زر التشغيل. زر التشغيل هو الزر المسطّح بجانب زرَّي التحكّم بمستوى الصوت البارزَين في الجزء الجانبي من الجهاز اللوحي."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"توجد أداة استشعار بصمة الإصبع على زر التشغيل. زر التشغيل هو الزر المسطّح بجانب زرَّي التحكّم بمستوى الصوت البارزَين في الجزء الجانبي من الجهاز."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"توجد أداة استشعار بصمة الإصبع على زر التشغيل. زر التشغيل هو الزر المسطّح بجانب زرَّي التحكّم بمستوى الصوت البارزَين في الجزء الجانبي من الهاتف."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"يمكنك فتح قفل هاتفك للوصول إلى مزيد من الخيارات."</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"يمكنك فتح قفل جهازك اللوحي للوصول إلى مزيد من الخيارات."</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"يمكنك فتح قفل جهازك للوصول إلى مزيد من الخيارات."</string> diff --git a/packages/SystemUI/res-product/values-as/strings.xml b/packages/SystemUI/res-product/values-as/strings.xml index 687feae4f507..05c69b838e10 100644 --- a/packages/SystemUI/res-product/values-as/strings.xml +++ b/packages/SystemUI/res-product/values-as/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"আপুনি ফ’নটো আনলক কৰিবলৈ <xliff:g id="NUMBER">%d</xliff:g> বাৰ ভুলকৈ প্ৰয়াস কৰিছে। কৰ্মস্থানৰ প্ৰ’ফাইলটো আঁতৰোৱা হ’ব, যিয়ে প্ৰ’ফাইলটোৰ আটাইবোৰ ডেটা মচি পেলাব।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"আপুনি নিজৰ আনলক কৰা আৰ্হিটো <xliff:g id="NUMBER_0">%1$d</xliff:g> বাৰ ভুলকৈ আঁকিছে। আৰু <xliff:g id="NUMBER_1">%2$d</xliff:g> বাৰ ভুলকৈ প্ৰয়াস কৰাৰ পাছত আপোনাক নিজৰ টেবলেটটো এটা ইমেইল একাউণ্টৰ জৰিয়তে আনলক কৰিবলৈ কোৱা হ’ব।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ছেকেণ্ডৰ পাছত পুনৰ চেষ্টা কৰক।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"আপুনি নিজৰ আনলক কৰা আৰ্হিটো <xliff:g id="NUMBER_0">%1$d</xliff:g> বাৰ ভুলকৈ আঁকিছে। আৰু <xliff:g id="NUMBER_1">%2$d</xliff:g> বাৰ ভুলকৈ প্ৰয়াস কৰাৰ পাছত আপোনাক নিজৰ ফ’নটো এটা ইমেইল একাউণ্টৰ জৰিয়তে আনলক কৰিবলৈ কোৱা হ’ব।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ছেকেণ্ডৰ পাছত পুনৰ চেষ্টা কৰক।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো পাৱাৰ বুটামটোত আছে। এইটো হৈছে টেবলেটটোৰ প্ৰান্তত থকা ভলিউম বঢ়োৱা বুটামটোৰ কাষত থকা সমতল বুটামটো।\n\nপাৱাৰ বুটাম টিপিলে স্ক্ৰীনখন অফ হৈ যায়।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো পাৱাৰ বুটামটোত আছে। এইটো হৈছে ডিভাইচটোৰ প্ৰান্তত থকা ভলিউম বঢ়োৱা বুটামটোৰ কাষত থকা সমতল বুটামটো।\n\nপাৱাৰ বুটাম টিপিলে স্ক্ৰীনখন অফ হৈ যায়।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো পাৱাৰ বুটামটোত আছে। এইটো হৈছে ফ’নটোৰ প্ৰান্তত থকা ভলিউম বঢ়োৱা বুটামটোৰ কাষত থকা সমতল বুটামটো।\n\nপাৱাৰ বুটাম টিপিলে স্ক্ৰীনখন অফ হৈ যায়।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো পাৱাৰ বুটামটোত আছে। এইটো হৈছে টেবলেটটোৰ প্ৰান্তত থকা উঠঙা ভলিউমৰ বুটামটোৰ কাষত থকা চেপেটা বুটামটো।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো পাৱাৰ বুটামটোত আছে। এইটো হৈছে ডিভাইচটোৰ প্ৰান্তত থকা উঠঙা ভলিউমৰ বুটামটোৰ কাষত থকা চেপেটা বুটামটো।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰটো পাৱাৰ বুটামটোত আছে। এইটো হৈছে ফ’নটোৰ প্ৰান্তত থকা উঠঙা ভলিউমৰ বুটামটোৰ কাষত থকা চেপেটা বুটামটো।"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"অধিক বিকল্পৰ বাবে আপোনাৰ ফ’নটো আনলক কৰক"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"অধিক বিকল্পৰ বাবে আপোনাৰ টেবলেটটো আনলক কৰক"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"অধিক বিকল্পৰ বাবে আপোনাৰ ডিভাইচটো আনলক কৰক"</string> diff --git a/packages/SystemUI/res-product/values-az/strings.xml b/packages/SystemUI/res-product/values-az/strings.xml index 848b88db3d2a..3cc7d8cb9492 100644 --- a/packages/SystemUI/res-product/values-az/strings.xml +++ b/packages/SystemUI/res-product/values-az/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Telefonun kilidini açmaq üçün <xliff:g id="NUMBER">%d</xliff:g> dəfə yanlış cəhd etmisiniz. İş profili silinəcək və bütün data ləğv ediləcək."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Kilid açma modelini <xliff:g id="NUMBER_0">%1$d</xliff:g> dəfə yanlış çəkmisiniz. Daha <xliff:g id="NUMBER_1">%2$d</xliff:g> uğursuz cəhddən sonra planşet kilidini e-poçt hesabınızla açmaq tələb olunacaq.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> saniyə sonra cəhd edin."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Kilid açma modelini artıq <xliff:g id="NUMBER_0">%1$d</xliff:g> dəfə yanlış çəkmisiniz. Daha <xliff:g id="NUMBER_1">%2$d</xliff:g> uğursuz cəhddən sonra telefon kilidini e-poçt hesabınızla açmaq tələb olunacaq.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> saniyə sonra cəhd edin."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Barmaq izi sensoru enerji düyməsinin üzərindədir. Bu, planşetin kənarındakı qabarıq səs düyməsinin yanındakı yastı düymədir.\n\nEnerji düyməsini basdıqda ekran sönür."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Barmaq izi sensoru enerji düyməsinin üzərindədir. Bu, cihazın kənarındakı qabarıq səs düyməsinin yanındakı yastı düymədir.\n\nEnerji düyməsini basdıqda ekran sönür."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Barmaq izi sensoru enerji düyməsinin üzərindədir. Bu, telefonun kənarındakı qabarıq səs düyməsinin yanındakı yastı düymədir.\n\nEnerji düyməsini basdıqda ekran sönür."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Barmaq izi sensoru enerji düyməsinin üzərindədir. Bu, planşetin kənarındakı qabarıq səs düyməsinin yanındakı yastı düymədir."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Barmaq izi sensoru enerji düyməsinin üzərindədir. Bu, cihazın kənarındakı qabarıq səs düyməsinin yanındakı yastı düymədir."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Barmaq izi sensoru enerji düyməsinin üzərindədir. Bu, telefonun kənarındakı qabarıq səs düyməsinin yanındakı yastı düymədir."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Daha çox seçim üçün telefonu kiliddən çıxarın"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Daha çox seçim üçün planşeti kiliddən çıxarın"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Daha çox seçim üçün cihazı kiliddən çıxarın"</string> diff --git a/packages/SystemUI/res-product/values-b+sr+Latn/strings.xml b/packages/SystemUI/res-product/values-b+sr+Latn/strings.xml index 6d480bf4ad45..07d8c9449314 100644 --- a/packages/SystemUI/res-product/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res-product/values-b+sr+Latn/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Pogrešno ste pokušali da otključate telefon <xliff:g id="NUMBER">%d</xliff:g> puta. Uklonićemo poslovni profil, čime se brišu svi podaci sa profila."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Netačno ste nacrtali šablon za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. Ako pogrešno pokušate još <xliff:g id="NUMBER_1">%2$d</xliff:g> puta, zatražićemo da otključate tablet pomoću imejl naloga.\n\n Probajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> sek."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Netačno ste nacrtali šablon za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. Ako pogrešno pokušate još <xliff:g id="NUMBER_1">%2$d</xliff:g> puta, zatražićemo da otključate telefon pomoću imejl naloga.\n\n Probajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> sek."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Senzor za otisak prsta se nalazi na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na ivici tableta.\n\nPritiskom na dugme za uključivanje isključuje se ekran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Senzor za otisak prsta se nalazi na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na ivici uređaja.\n\nPritiskom na dugme za uključivanje isključuje se ekran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Senzor za otisak prsta se nalazi na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na ivici telefona.\n\nPritiskom na dugme za uključivanje isključuje se ekran."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Senzor za otisak prsta se nalazi na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na ivici tableta."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Senzor za otisak prsta se nalazi na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na ivici uređaja."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Senzor za otisak prsta se nalazi na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na ivici telefona."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Otključajte telefon za još opcija"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Otključajte tablet za još opcija"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Otključajte uređaj za još opcija"</string> diff --git a/packages/SystemUI/res-product/values-be/strings.xml b/packages/SystemUI/res-product/values-be/strings.xml index 132a6052d723..e9c491a64735 100644 --- a/packages/SystemUI/res-product/values-be/strings.xml +++ b/packages/SystemUI/res-product/values-be/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Вы не змаглі разблакіраваць тэлефон столькі разоў: <xliff:g id="NUMBER">%d</xliff:g>. Працоўны профіль будзе выдалены, і гэта прывядзе да выдалення ўсіх даных у профілі."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Вы няправільна ўвялі ўзор разблакіроўкі столькі разоў: <xliff:g id="NUMBER_0">%1$d</xliff:g>. Пасля яшчэ некалькіх няўдалых спроб (<xliff:g id="NUMBER_1">%2$d</xliff:g>) вам будзе прапанавана разблакіраваць планшэт, увайшоўшы ва ўліковы запіс электроннай пошты.\n\n Паўтарыце спробу праз <xliff:g id="NUMBER_2">%3$d</xliff:g> с."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Вы няправільна ўвялі ўзор разблакіроўкі столькі разоў: <xliff:g id="NUMBER_0">%1$d</xliff:g>. Пасля яшчэ некалькіх няўдалых спроб (<xliff:g id="NUMBER_1">%2$d</xliff:g>) вам будзе прапанавана разблакіраваць тэлефон, увайшоўшы ва ўліковы запіс электроннай пошты.\n\n Паўтарыце спробу праз <xliff:g id="NUMBER_2">%3$d</xliff:g> с."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Сканер адбіткаў пальцаў знаходзіцца на кнопцы сілкавання. Гэта плоская кнопка побач з выпуклай кнопкай гучнасці на бакавой грані планшэта.\n\nНацісканне кнопкі сілкавання выключае экран."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Сканер адбіткаў пальцаў знаходзіцца на кнопцы сілкавання. Гэта плоская кнопка побач з выпуклай кнопкай гучнасці на бакавой грані прылады.\n\nНацісканне кнопкі сілкавання выключае экран."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Сканер адбіткаў пальцаў знаходзіцца на кнопцы сілкавання. Гэта плоская кнопка побач з выпуклай кнопкай гучнасці на бакавой грані тэлефона.\n\nНацісканне кнопкі сілкавання выключае экран."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Сканер адбіткаў пальцаў знаходзіцца на кнопцы сілкавання. Гэта плоская кнопка побач з выпуклай кнопкай гучнасці на бакавой грані планшэта."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Сканер адбіткаў пальцаў знаходзіцца на кнопцы сілкавання. Гэта плоская кнопка побач з выпуклай кнопкай гучнасці на бакавой грані прылады."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Сканер адбіткаў пальцаў знаходзіцца на кнопцы сілкавання. Гэта плоская кнопка побач з выпуклай кнопкай гучнасці на бакавой грані тэлефона."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Каб адкрыць іншыя параметры, разблакіруйце тэлефон"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Каб адкрыць іншыя параметры, разблакіруйце планшэт"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Каб адкрыць іншыя параметры, разблакіруйце прыладу"</string> diff --git a/packages/SystemUI/res-product/values-bg/strings.xml b/packages/SystemUI/res-product/values-bg/strings.xml index 586f156d0d11..35425585ac4f 100644 --- a/packages/SystemUI/res-product/values-bg/strings.xml +++ b/packages/SystemUI/res-product/values-bg/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Опитахте да отключите телефона и сбъркахте <xliff:g id="NUMBER">%d</xliff:g> пъти. Служебният потребителски профил ще бъде премахнат, при което ще се изтрият всички данни за него."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Начертахте неправилно фигурата си за отключване <xliff:g id="NUMBER_0">%1$d</xliff:g> пъти. След още <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни опита ще бъдете помолени да отключите таблета си посредством имейл адрес.\n\n Опитайте отново след <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Начертахте неправилно фигурата си за отключване <xliff:g id="NUMBER_0">%1$d</xliff:g> пъти. След още <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни опита ще бъдете помолени да отключите телефона посредством имейл адрес.\n\n Опитайте отново след <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Сензорът за отпечатъци се намира върху бутона за захранване. Този бутон е плосък и е разположен на ръба на таблета до повдигнатия бутон за силата на звука.\n\nС натискането на бутона за захранване се изключва екранът."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Сензорът за отпечатъци се намира върху бутона за захранване. Този бутон е плосък и е разположен на ръба на устройството до повдигнатия бутон за силата на звука.\n\nС натискането на бутона за захранване се изключва екранът."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Сензорът за отпечатъци се намира върху бутона за захранване. Този бутон е плосък и е разположен на ръба на телефона до повдигнатия бутон за силата на звука.\n\nС натискането на бутона за захранване се изключва екранът."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Сензорът за отпечатъци се намира върху бутона за захранване. Този бутон е плосък и е разположен на ръба на таблета до повдигнатия бутон за силата на звука."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Сензорът за отпечатъци се намира върху бутона за захранване. Този бутон е плосък и е разположен на ръба на устройството до повдигнатия бутон за силата на звука."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Сензорът за отпечатъци се намира върху бутона за захранване. Този бутон е плосък и е разположен на ръба на телефона до повдигнатия бутон за силата на звука."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Отключете телефона си за още опции"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Отключете таблета си за още опции"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Отключете устройството си за още опции"</string> diff --git a/packages/SystemUI/res-product/values-bn/strings.xml b/packages/SystemUI/res-product/values-bn/strings.xml index 322fb63a7e4a..0984de29e497 100644 --- a/packages/SystemUI/res-product/values-bn/strings.xml +++ b/packages/SystemUI/res-product/values-bn/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"আপনি <xliff:g id="NUMBER">%d</xliff:g> বার ভুল পদ্ধতিতে ফোন আনলক করার চেষ্টা করেছেন। অফিস প্রোফাইলটি সরিয়ে দেওয়া হবে, যার ফলে প্রোফাইলের সমস্ত ডেটা মুছে যাবে।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"আপনি <xliff:g id="NUMBER_0">%1$d</xliff:g> বার ভুল পদ্ধতিতে প্যাটার্ন আনলক করার চেষ্টা করেছেন। আরও <xliff:g id="NUMBER_1">%2$d</xliff:g> বার এটি করলে আপনাকে প্যাটার্ন আনলক করতে একটি ইমেল অ্যাকাউন্ট ব্যবহার করতে বলা হবে।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> সেকেন্ড পরে আবার চেষ্টা করুন।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"আপনি <xliff:g id="NUMBER_0">%1$d</xliff:g> বার ভুল পদ্ধতিতে প্যাটার্ন আনলক করার চেষ্টা করেছেন। আরও <xliff:g id="NUMBER_1">%2$d</xliff:g> বার এটি করলে আপনাকে প্যাটার্ন আনলক করতে একটি ইমেল অ্যাকাউন্ট ব্যবহারের করতে বলা হবে।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> সেকেন্ড পরে আবার চেষ্টা করুন।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"\'পাওয়ার\' বোতামের উপরে ফিঙ্গারপ্রিন্ট সেন্সর আছে। এটি ট্যাবলেটের প্রান্তে উঁচু \'ভলিউম\' বোতামের পাশে থাকা চ্যাপ্টা বোতাম।\n\n\'পাওয়ার\' বোতাম প্রেস করলে স্ক্রিন বন্ধ হয়ে যায়।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"\'পাওয়ার\' বোতামের উপরে ফিঙ্গারপ্রিন্ট সেন্সর আছে। এটি ডিভাইসের প্রান্তে উঁচু \'ভলিউম\' বোতামের পাশে থাকা চ্যাপ্টা বোতাম।\n\n\'পাওয়ার\' বোতাম প্রেস করলে স্ক্রিন বন্ধ হয়ে যায়।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"\'পাওয়ার\' বোতামের উপরে ফিঙ্গারপ্রিন্ট সেন্সর আছে। এটি ফোনের প্রান্তে উঁচু \'ভলিউম\' বোতামের পাশে থাকা চ্যাপ্টা বোতাম।\n\n\'পাওয়ার\' বোতাম প্রেস করলে স্ক্রিন বন্ধ হয়ে যায়।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"\'পাওয়ার\' বোতামের উপরে ফিঙ্গারপ্রিন্ট সেন্সর দেওয়া হয়েছে। ট্যাবলেটের প্রান্তে একটু বাইরে বেরিয়ে থাকা ভলিউমের বোতামের ঠিক পাশে এই ফ্ল্যাট বোতামটি আপনি খুঁজে পাবেন।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"\'পাওয়ার\' বোতামের উপরে ফিঙ্গারপ্রিন্ট সেন্সর দেওয়া হয়েছে। ডিভাইসের সাইডে একটু বাইরে বেরিয়ে থাকা ভলিউমের বোতামের ঠিক পাশে এই ফ্ল্যাট বোতামটি আপনি খুঁজে পাবেন।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"\'পাওয়ার\' বোতামের উপরে ফিঙ্গারপ্রিন্ট সেন্সর দেওয়া হয়েছে। ফোনের প্রান্তে একটু বাইরে বেরিয়ে থাকা ভলিউমের বোতামের ঠিক পাশে এই ফ্ল্যাট বোতামটি আপনি খুঁজে পাবেন।"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"আরও বিকল্প দেখতে আপনার ফোন আনলক করুন"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"আরও বিকল্প দেখতে আপনার ট্যাবলেট আনলক করুন"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"আরও বিকল্প দেখতে আপনার ডিভাইস আনলক করুন"</string> diff --git a/packages/SystemUI/res-product/values-bs/strings.xml b/packages/SystemUI/res-product/values-bs/strings.xml index ac1771f56db5..576fac40f29b 100644 --- a/packages/SystemUI/res-product/values-bs/strings.xml +++ b/packages/SystemUI/res-product/values-bs/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Pokušali ste neispravno otključati telefon <xliff:g id="NUMBER">%d</xliff:g> puta. Radni profil će se ukloniti i svi podaci s profila će se izbrisati."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Pogrešno ste nacrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. U slučaju još <xliff:g id="NUMBER_1">%2$d</xliff:g> pokušaja bez uspjeha, od vas će se tražiti da otključate tablet pomoću računa e-pošte. \n\n Pokušajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Pogrešno ste nacrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> puta. U slučaju još <xliff:g id="NUMBER_1">%2$d</xliff:g> pokušaja bez uspjeha, od vas će se tražiti da otključate telefon pomoću računa e-pošte. \n\n Pokušajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Senzor za otisak prsta je na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na rubu tableta.\n\nPritiskanjem dugmeta za uključivanje isključuje se ekran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Senzor za otisak prsta je na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na rubu uređaja.\n\nPritiskanjem dugmeta za uključivanje isključuje se ekran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Senzor za otisak prsta je na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na rubu telefona.\n\nPritiskanjem dugmeta za uključivanje isključuje se ekran."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Senzor za otisak prsta je na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na rubu tableta."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Senzor za otisak prsta je na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na rubu uređaja."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Senzor za otisak prsta je na dugmetu za uključivanje. To je ravno dugme pored izdignutog dugmeta za jačinu zvuka na rubu telefona."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Otključajte telefon za više opcija"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Otključajte tablet za više opcija"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Otključajte uređaj za više opcija"</string> diff --git a/packages/SystemUI/res-product/values-ca/strings.xml b/packages/SystemUI/res-product/values-ca/strings.xml index 9b5469ae8b8a..d8d4a4763a49 100644 --- a/packages/SystemUI/res-product/values-ca/strings.xml +++ b/packages/SystemUI/res-product/values-ca/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Has provat de desbloquejar el telèfon <xliff:g id="NUMBER">%d</xliff:g> vegades de manera incorrecta. El perfil de treball se suprimirà, juntament amb totes les dades que contingui."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Has dibuixat el patró de desbloqueig <xliff:g id="NUMBER_0">%1$d</xliff:g> vegades de manera incorrecta. Si falles <xliff:g id="NUMBER_1">%2$d</xliff:g> vegades més, se\'t demanarà que desbloquegis la tauleta amb un compte de correu electrònic.\n\n Torna-ho a provar d\'aquí a <xliff:g id="NUMBER_2">%3$d</xliff:g> segons."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Has dibuixat el patró de desbloqueig <xliff:g id="NUMBER_0">%1$d</xliff:g> vegades de manera incorrecta. Si falles <xliff:g id="NUMBER_1">%2$d</xliff:g> vegades més, se\'t demanarà que desbloquegis el telèfon amb un compte de correu electrònic.\n\n Torna-ho a provar d\'aquí a <xliff:g id="NUMBER_2">%3$d</xliff:g> segons."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"El sensor d\'empremtes digitals es troba al botó d\'engegada. És el botó pla situat al costat del botó de volum amb relleu al lateral de la tauleta.\n\nEn prémer el botó d\'engegada, la pantalla es desactiva."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"El sensor d\'empremtes digitals es troba al botó d\'engegada. És el botó pla situat al costat del botó de volum amb relleu al lateral del dispositiu.\n\nEn prémer el botó d\'engegada, la pantalla es desactiva."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"El sensor d\'empremtes digitals es troba al botó d\'engegada. És el botó pla situat al costat del botó de volum amb relleu al lateral del telèfon.\n\nEn prémer el botó d\'engegada, la pantalla es desactiva."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"El sensor d\'empremtes digitals es troba al botó d\'engegada. És el botó pla situat al costat del botó de volum amb relleu al lateral de la tauleta."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"El sensor d\'empremtes digitals es troba al botó d\'engegada. És el botó pla situat al costat del botó de volum amb relleu al lateral del dispositiu."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"El sensor d\'empremtes digitals es troba al botó d\'engegada. És el botó pla situat al costat del botó de volum amb relleu al lateral del telèfon."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloqueja el teu telèfon per veure més opcions"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloqueja la teva tauleta per veure més opcions"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloqueja el teu dispositiu per veure més opcions"</string> diff --git a/packages/SystemUI/res-product/values-cs/strings.xml b/packages/SystemUI/res-product/values-cs/strings.xml index a1c169164082..47881bd9c5d2 100644 --- a/packages/SystemUI/res-product/values-cs/strings.xml +++ b/packages/SystemUI/res-product/values-cs/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Již <xliff:g id="NUMBER">%d</xliff:g>krát jste se pokusili odemknout telefon nesprávným způsobem. Pracovní profil bude odstraněn, čímž budou smazána všechna jeho data."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Již <xliff:g id="NUMBER_0">%1$d</xliff:g>krát jste nesprávně zadali své bezpečnostní gesto. Po <xliff:g id="NUMBER_1">%2$d</xliff:g>dalších neúspěšných pokusech budete požádáni o odemčení tabletu pomocí e-mailového účtu.\n\n Zkuste to znovu za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Již <xliff:g id="NUMBER_0">%1$d</xliff:g>krát jste nesprávně zadali své bezpečnostní gesto. Po <xliff:g id="NUMBER_1">%2$d</xliff:g> dalších neúspěšných pokusech budete požádáni o odemčení telefonu pomocí e-mailového účtu.\n\n Zkuste to znovu za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Snímač otisků prstů je na vypínači. Je to ploché tlačítko vedle vystouplého tlačítka hlasitosti na hraně tabletu.\n\nStisknutím vypínače vypnete obrazovku."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Snímač otisků prstů je na vypínači. Je to ploché tlačítko vedle vystouplého tlačítka hlasitosti na hraně zařízení.\n\nStisknutím vypínače vypnete obrazovku."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Snímač otisků prstů je na vypínači. Je to ploché tlačítko vedle vystouplého tlačítka hlasitosti na hraně telefonu.\n\nStisknutím vypínače vypnete obrazovku."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Snímač otisků prstů je na vypínači. Je to ploché tlačítko vedle vystouplého tlačítka hlasitosti na hraně tabletu."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Snímač otisků prstů je na vypínači. Je to ploché tlačítko vedle vystouplého tlačítka hlasitosti na hraně zařízení."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Snímač otisků prstů je na vypínači. Je to ploché tlačítko vedle vystouplého tlačítka hlasitosti na hraně telefonu."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Chcete-li zobrazit další možnosti, odemkněte telefon"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Chcete-li zobrazit další možnosti, odemkněte tablet"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Chcete-li zobrazit další možnosti, odemkněte zařízení"</string> diff --git a/packages/SystemUI/res-product/values-da/strings.xml b/packages/SystemUI/res-product/values-da/strings.xml index 87e1c5e62588..47531e7da1c4 100644 --- a/packages/SystemUI/res-product/values-da/strings.xml +++ b/packages/SystemUI/res-product/values-da/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Du har forsøgt at låse telefonen op med den forkerte adgangskode <xliff:g id="NUMBER">%d</xliff:g> gange. Arbejdsprofilen fjernes, hvilket sletter alle profildata."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Du har tegnet dit oplåsningsmønster forkert <xliff:g id="NUMBER_0">%1$d</xliff:g> gange. Efter endnu <xliff:g id="NUMBER_1">%2$d</xliff:g> mislykkede forsøg bliver du bedt om at låse din tablet op ved hjælp af en mailkonto.\n\n Prøv igen om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Du har tegnet dit oplåsningsmønster forkert <xliff:g id="NUMBER_0">%1$d</xliff:g> gange. Efter endnu <xliff:g id="NUMBER_1">%2$d</xliff:g> mislykkede forsøg bliver du bedt om at låse din telefon op ved hjælp af en mailkonto.\n\n Prøv igen om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Fingeraftrykssensoren sidder på afbryderknappen. Det er den flade knap ud for den hævede lydstyrkeknap på din tablets kant.\n\nNår du trykker på afbryderknappen, slukkes skærmen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Fingeraftrykssensoren sidder på afbryderknappen. Det er den flade knap ud for den hævede lydstyrkeknap på enhedens kant.\n\nNår du trykker på afbryderknappen, slukkes skærmen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Fingeraftrykssensoren sidder på afbryderknappen. Det er den flade knap ud for den hævede lydstyrkeknap på telefonens kant.\n\nNår du trykker på afbryderknappen, slukkes skærmen."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Fingeraftrykssensoren sidder på afbryderknappen. Det er den flade knap ved siden af den hævede lydstyrkeknap på siden af din tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Fingeraftrykssensoren sidder på afbryderknappen. Det er den flade knap ved siden af den hævede lydstyrkeknap på siden af enheden."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Fingeraftrykssensoren sidder på afbryderknappen. Det er den flade knap ved siden af den hævede lydstyrkeknap på siden af telefonen."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Lås din telefon op for at se flere valgmuligheder"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Lås din tablet op for at se flere valgmuligheder"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Lås din enhed op for at se flere valgmuligheder"</string> diff --git a/packages/SystemUI/res-product/values-de/strings.xml b/packages/SystemUI/res-product/values-de/strings.xml index e0683eb05484..9c0b7680e5a7 100644 --- a/packages/SystemUI/res-product/values-de/strings.xml +++ b/packages/SystemUI/res-product/values-de/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Du hast <xliff:g id="NUMBER">%d</xliff:g>-mal erfolglos versucht, das Smartphone zu entsperren. Das Arbeitsprofil wird nun entfernt und alle Profildaten werden gelöscht."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Du hast dein Entsperrungsmuster <xliff:g id="NUMBER_0">%1$d</xliff:g>-mal falsch gezeichnet. Nach <xliff:g id="NUMBER_1">%2$d</xliff:g> weiteren erfolglosen Versuchen wirst du aufgefordert, dein Tablet mithilfe eines E-Mail-Kontos zu entsperren.\n\n Versuche es in <xliff:g id="NUMBER_2">%3$d</xliff:g> Sekunden noch einmal."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Du hast dein Entsperrungsmuster <xliff:g id="NUMBER_0">%1$d</xliff:g>-mal falsch gezeichnet. Nach <xliff:g id="NUMBER_1">%2$d</xliff:g> weiteren erfolglosen Versuchen wirst du aufgefordert, dein Smartphone mithilfe eines E-Mail-Kontos zu entsperren.\n\n Versuche es in <xliff:g id="NUMBER_2">%3$d</xliff:g> Sekunden noch einmal."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Der Fingerabdrucksensor befindet sich auf der Ein-/Aus-Taste. Das ist die flache Taste neben der erhöhten Lautstärketaste an der Seite des Tablets.\n\nWenn du die Ein-/Aus-Taste drückst, schaltet sich das Display aus."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Der Fingerabdrucksensor befindet sich auf der Ein-/Aus-Taste. Das ist die flache Taste neben der erhöhten Lautstärketaste an der Seite des Geräts.\n\nWenn du die Ein-/Aus-Taste drückst, schaltet sich das Display aus."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Der Fingerabdrucksensor befindet sich auf der Ein-/Aus-Taste. Das ist die flache Taste neben der erhöhten Lautstärketaste an der Seite des Smartphones.\n\nWenn du die Ein-/Aus-Taste drückst, schaltet sich das Display aus."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Der Fingerabdrucksensor befindet sich auf der Ein-/Aus-Taste. Das ist die flache Taste neben der erhöhten Lautstärketaste am Rand des Tablets."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Der Fingerabdrucksensor befindet sich auf der Ein-/Aus-Taste. Das ist die flache Taste neben der erhöhten Lautstärketaste am Rand des Geräts."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Der Fingerabdrucksensor befindet sich auf der Ein-/Aus-Taste. Das ist die flache Taste neben der erhöhten Lautstärketaste am Rand des Smartphones."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Entsperre dein Smartphone für weitere Optionen"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Entsperre dein Tablet für weitere Optionen"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Entsperre dein Gerät für weitere Optionen"</string> diff --git a/packages/SystemUI/res-product/values-el/strings.xml b/packages/SystemUI/res-product/values-el/strings.xml index 5b571d854af1..139fa04603b2 100644 --- a/packages/SystemUI/res-product/values-el/strings.xml +++ b/packages/SystemUI/res-product/values-el/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Δοκιμάσατε να ξεκλειδώσετε το τηλέφωνο <xliff:g id="NUMBER">%d</xliff:g> φορές χωρίς επιτυχία. Το προφίλ εργασίας θα καταργηθεί και θα διαγραφούν όλα τα δεδομένα προφίλ."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Σχεδιάσατε το μοτίβο ξεκλειδώματος εσφαλμένα <xliff:g id="NUMBER_0">%1$d</xliff:g> φορές. Μετά από <xliff:g id="NUMBER_1">%2$d</xliff:g> ακόμα ανεπιτυχείς προσπάθειες, θα σας ζητηθεί να ξεκλειδώσετε το tablet με τη χρήση ενός λογαριασμού ηλεκτρονικού ταχυδρομείου.\n\n Δοκιμάστε να συνδεθείτε ξανά σε <xliff:g id="NUMBER_2">%3$d</xliff:g> δευτερόλεπτα."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Σχεδιάσατε το μοτίβο ξεκλειδώματος εσφαλμένα <xliff:g id="NUMBER_0">%1$d</xliff:g> φορές. Μετά από <xliff:g id="NUMBER_1">%2$d</xliff:g> ακόμα ανεπιτυχείς προσπάθειες, θα σας ζητηθεί να ξεκλειδώσετε το τηλέφωνό σας με τη χρήση ενός λογαριασμού ηλεκτρονικού ταχυδρομείου.\n\n Δοκιμάστε ξανά σε <xliff:g id="NUMBER_2">%3$d</xliff:g> δευτερόλεπτα."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Ο αισθητήρας δακτυλικών αποτυπωμάτων βρίσκεται στο κουμπί λειτουργίας. Είναι το επίπεδο κουμπί δίπλα στο ανυψωμένο κουμπί έντασης ήχου στο άκρο του tablet.\n\nΜε πάτημα του κουμπιού λειτουργίας απενεργοποιείται η οθόνη."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Ο αισθητήρας δακτυλικών αποτυπωμάτων βρίσκεται στο κουμπί λειτουργίας. Είναι το επίπεδο κουμπί δίπλα στο ανυψωμένο κουμπί έντασης ήχου στο άκρο της συσκευής.\n\nΜε πάτημα του κουμπιού λειτουργίας απενεργοποιείται η οθόνη."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Ο αισθητήρας δακτυλικών αποτυπωμάτων βρίσκεται στο κουμπί λειτουργίας. Είναι το επίπεδο κουμπί δίπλα στο ανυψωμένο κουμπί έντασης ήχου στο άκρο του τηλεφώνου.\n\nΜε πάτημα του κουμπιού λειτουργίας απενεργοποιείται η οθόνη."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Ο αισθητήρας δακτυλικών αποτυπωμάτων βρίσκεται στο κουμπί λειτουργίας. Είναι το επίπεδο κουμπί δίπλα στο ανυψωμένο κουμπί έντασης ήχου στο άκρο του tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Ο αισθητήρας δακτυλικών αποτυπωμάτων βρίσκεται στο κουμπί λειτουργίας. Είναι το επίπεδο κουμπί δίπλα στο ανυψωμένο κουμπί έντασης ήχου στο άκρο της συσκευής."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Ο αισθητήρας δακτυλικών αποτυπωμάτων βρίσκεται στο κουμπί λειτουργίας. Είναι το επίπεδο κουμπί δίπλα στο ανυψωμένο κουμπί έντασης ήχου στο άκρο του τηλεφώνου."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Ξεκλειδώστε το τηλέφωνό σας για περισσότερες επιλογές"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Ξεκλειδώστε το tablet για περισσότερες επιλογές"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Ξεκλειδώστε τη συσκευή σας για περισσότερες επιλογές"</string> diff --git a/packages/SystemUI/res-product/values-en-rAU/strings.xml b/packages/SystemUI/res-product/values-en-rAU/strings.xml index 46c1dc533aee..6356fc2e674a 100644 --- a/packages/SystemUI/res-product/values-en-rAU/strings.xml +++ b/packages/SystemUI/res-product/values-en-rAU/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"You have incorrectly attempted to unlock the phone <xliff:g id="NUMBER">%d</xliff:g> times. The work profile will be removed, which will delete all profile data."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your tablet using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.\n\nPressing the power button turns off the screen."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Unlock your phone for more options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Unlock your tablet for more options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Unlock your device for more options"</string> diff --git a/packages/SystemUI/res-product/values-en-rCA/strings.xml b/packages/SystemUI/res-product/values-en-rCA/strings.xml index 37d10000e9a0..df6533694fa9 100644 --- a/packages/SystemUI/res-product/values-en-rCA/strings.xml +++ b/packages/SystemUI/res-product/values-en-rCA/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"You have incorrectly attempted to unlock the phone <xliff:g id="NUMBER">%d</xliff:g> times. The work profile will be removed, which will delete all profile data."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your tablet using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.\n\nPressing the power button turns off the screen."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Unlock your phone for more options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Unlock your tablet for more options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Unlock your device for more options"</string> diff --git a/packages/SystemUI/res-product/values-en-rGB/strings.xml b/packages/SystemUI/res-product/values-en-rGB/strings.xml index 46c1dc533aee..6356fc2e674a 100644 --- a/packages/SystemUI/res-product/values-en-rGB/strings.xml +++ b/packages/SystemUI/res-product/values-en-rGB/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"You have incorrectly attempted to unlock the phone <xliff:g id="NUMBER">%d</xliff:g> times. The work profile will be removed, which will delete all profile data."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your tablet using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.\n\nPressing the power button turns off the screen."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Unlock your phone for more options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Unlock your tablet for more options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Unlock your device for more options"</string> diff --git a/packages/SystemUI/res-product/values-en-rIN/strings.xml b/packages/SystemUI/res-product/values-en-rIN/strings.xml index 46c1dc533aee..6356fc2e674a 100644 --- a/packages/SystemUI/res-product/values-en-rIN/strings.xml +++ b/packages/SystemUI/res-product/values-en-rIN/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"You have incorrectly attempted to unlock the phone <xliff:g id="NUMBER">%d</xliff:g> times. The work profile will be removed, which will delete all profile data."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your tablet using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.\n\nPressing the power button turns off the screen."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Unlock your phone for more options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Unlock your tablet for more options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Unlock your device for more options"</string> diff --git a/packages/SystemUI/res-product/values-en-rXC/strings.xml b/packages/SystemUI/res-product/values-en-rXC/strings.xml index 141ec046886b..4a7d0ad92f03 100644 --- a/packages/SystemUI/res-product/values-en-rXC/strings.xml +++ b/packages/SystemUI/res-product/values-en-rXC/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"You have incorrectly attempted to unlock the phone <xliff:g id="NUMBER">%d</xliff:g> times. The work profile will be removed, which will delete all profile data."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your tablet using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"You have incorrectly drawn your unlock pattern <xliff:g id="NUMBER_0">%1$d</xliff:g> times. After <xliff:g id="NUMBER_1">%2$d</xliff:g> more unsuccessful attempts, you will be asked to unlock your phone using an email account.\n\n Try again in <xliff:g id="NUMBER_2">%3$d</xliff:g> seconds."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device.\n\nPressing the power button turns off the screen."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone.\n\nPressing the power button turns off the screen."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the device."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"The fingerprint sensor is on the power button. It’s the flat button next to the raised volume button on the edge of the phone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Unlock your phone for more options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Unlock your tablet for more options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Unlock your device for more options"</string> diff --git a/packages/SystemUI/res-product/values-es-rUS/strings.xml b/packages/SystemUI/res-product/values-es-rUS/strings.xml index 4364a6ffda75..3a2230465a8f 100644 --- a/packages/SystemUI/res-product/values-es-rUS/strings.xml +++ b/packages/SystemUI/res-product/values-es-rUS/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Intentaste desbloquear el teléfono <xliff:g id="NUMBER">%d</xliff:g> veces de manera incorrecta. Se quitará el perfil de trabajo, lo que borrará todos los datos asociados."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Dibujaste el patrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de manera incorrecta. Después de <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos más, se te solicitará que desbloquees la tablet mediante una cuenta de correo electrónico.\n\n Vuelve a intentarlo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Dibujaste el patrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de manera incorrecta. Después de <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos más, se te solicitará que desbloquees el dispositivo mediante una cuenta de correo electrónico.\n\n Vuelve a intentarlo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"El sensor de huellas dactilares está en el botón de encendido. Es el botón plano que está junto al botón de volumen en relieve, en el borde de la tablet.\n\nSi presionas el botón de encendido, se apaga la pantalla."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"El sensor de huellas dactilares está en el botón de encendido. Es el botón plano que está junto al botón de volumen en relieve, en el borde del dispositivo.\n\nSi presionas el botón de encendido, se apaga la pantalla."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"El sensor de huellas dactilares está en el botón de encendido. Es el botón plano que está junto al botón de volumen en relieve, en el borde del teléfono.\n\nSi presionas el botón de encendido, se apaga la pantalla."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"El sensor de huellas dactilares está en el botón de encendido. Es el botón plano que está junto al botón de volumen en relieve, en el borde de la tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"El sensor de huellas dactilares está en el botón de encendido. Es el botón plano que está junto al botón de volumen en relieve, en el borde del dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"El sensor de huellas dactilares está en el botón de encendido. Es el botón plano que está junto al botón de volumen en relieve, en el borde del teléfono."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloquea el teléfono para ver más opciones"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloquea la tablet para ver más opciones"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloquea el dispositivo para ver más opciones"</string> diff --git a/packages/SystemUI/res-product/values-es/strings.xml b/packages/SystemUI/res-product/values-es/strings.xml index 2e6a2ae08de3..84ebe29bcdfa 100644 --- a/packages/SystemUI/res-product/values-es/strings.xml +++ b/packages/SystemUI/res-product/values-es/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Has intentado desbloquear el teléfono de forma incorrecta <xliff:g id="NUMBER">%d</xliff:g> veces. Se quitará este perfil de trabajo y se eliminarán todos sus datos."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Has dibujado un patrón de desbloqueo incorrecto <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Si se producen <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos más, se te pedirá que desbloquees el tablet con una cuenta de correo electrónico.\n\n Vuelve a intentarlo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Has dibujado un patrón de desbloqueo incorrecto <xliff:g id="NUMBER_0">%1$d</xliff:g> veces. Si se producen <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos más, se te pedirá que desbloquees el teléfono con una cuenta de correo electrónico.\n\n Vuelve a intentarlo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"El sensor de huellas digitales está en el botón de encendido. Es el botón plano situado junto al botón de volumen con relieve en el lateral del tablet.\n\nAl pulsar el botón de encendido, se apagará la pantalla."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"El sensor de huellas digitales está en el botón de encendido. Es el botón plano situado junto al botón de volumen con relieve en el lateral del dispositivo.\n\nAl pulsar el botón de encendido, se apagará la pantalla."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"El sensor de huellas digitales está en el botón de encendido. Es el botón plano situado junto al botón de volumen con relieve en el lateral del teléfono.\n\nAl pulsar el botón de encendido, se apagará la pantalla."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"El sensor de huellas digitales está en el botón de encendido. Es el botón plano situado junto al botón de volumen con relieve en el lateral de la tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"El sensor de huellas digitales está en el botón de encendido. Es el botón plano situado junto al botón de volumen con relieve en el lateral del dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"El sensor de huellas digitales está en el botón de encendido. Es el botón plano situado junto al botón de volumen con relieve en el lateral del teléfono."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloquea el teléfono para ver más opciones"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloquea el tablet para ver más opciones"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloquea el dispositivo para ver más opciones"</string> diff --git a/packages/SystemUI/res-product/values-et/strings.xml b/packages/SystemUI/res-product/values-et/strings.xml index 5abd1ca21b57..4d8af24167a1 100644 --- a/packages/SystemUI/res-product/values-et/strings.xml +++ b/packages/SystemUI/res-product/values-et/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Olete püüdnud <xliff:g id="NUMBER">%d</xliff:g> korda telefoni valesti avada. Tööprofiil eemaldatakse ja kõik profiiliandmed kustutatakse."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Joonistasite oma avamismustri <xliff:g id="NUMBER_0">%1$d</xliff:g> korda valesti. Pärast veel <xliff:g id="NUMBER_1">%2$d</xliff:g> ebaõnnestunud katset palutakse teil tahvelarvuti avada meilikontoga.\n\n Proovige uuesti <xliff:g id="NUMBER_2">%3$d</xliff:g> sekundi pärast."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Joonistasite oma avamismustri <xliff:g id="NUMBER_0">%1$d</xliff:g> korda valesti. Pärast veel <xliff:g id="NUMBER_1">%2$d</xliff:g> ebaõnnestunud katset palutakse teil telefon avada meilikontoga.\n\n Proovige uuesti <xliff:g id="NUMBER_2">%3$d</xliff:g> sekundi pärast."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Sõrmejäljeandur asub toitenupul. See on tahvelarvuti küljel helitugevuse kõrgendatud nupu kõrval olev lame nupp.\n\nToitenupu vajutamisel lülitatakse ekraan välja."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Sõrmejäljeandur asub toitenupul. See on seadme küljel helitugevuse kõrgendatud nupu kõrval olev lame nupp.\n\nToitenupu vajutamisel lülitatakse ekraan välja."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Sõrmejäljeandur asub toitenupul. See on telefoni küljel helitugevuse kõrgendatud nupu kõrval olev lame nupp.\n\nToitenupu vajutamisel lülitatakse ekraan välja."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Sõrmejäljeandur asub toitenupul. See on tahvelarvuti küljel helitugevuse kõrgendatud nupu kõrval olev lame nupp."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Sõrmejäljeandur asub toitenupul. See on seadme küljel helitugevuse kõrgendatud nupu kõrval olev lame nupp."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Sõrmejäljeandur asub toitenupul. See on telefoni küljel helitugevuse kõrgendatud nupu kõrval olev lame nupp."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Lisavalikute nägemiseks avage oma telefon"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Lisavalikute nägemiseks avage oma tahvelarvuti"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Lisavalikute nägemiseks avage oma seade"</string> diff --git a/packages/SystemUI/res-product/values-eu/strings.xml b/packages/SystemUI/res-product/values-eu/strings.xml index 6d67390722de..dcb1ead60b12 100644 --- a/packages/SystemUI/res-product/values-eu/strings.xml +++ b/packages/SystemUI/res-product/values-eu/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"<xliff:g id="NUMBER">%d</xliff:g> aldiz saiatu zara telefonoa desblokeatzen, baina huts egin duzu denetan. Laneko profila kendu egingo da eta, ondorioz, profileko datu guztiak ezabatuko dira."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Desblokeatzeko eredua oker marraztu duzu <xliff:g id="NUMBER_0">%1$d</xliff:g> aldiz. Beste <xliff:g id="NUMBER_1">%2$d</xliff:g> aldiz oker marrazten baduzu, tableta posta-kontu baten bidez desblokeatzeko eskatuko dizugu.\n\n Saiatu berriro <xliff:g id="NUMBER_2">%3$d</xliff:g> segundo barru."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Desblokeatzeko eredua oker marraztu duzu <xliff:g id="NUMBER_0">%1$d</xliff:g> aldiz. Beste <xliff:g id="NUMBER_1">%2$d</xliff:g> aldiz oker marrazten baduzu, telefonoa posta-kontu baten bidez desblokeatzeko eskatuko dizugu.\n\n Saiatu berriro <xliff:g id="NUMBER_2">%3$d</xliff:g> segundo barru."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Hatz-marken sentsorea etengailuan dago. Tabletaren ertzeko bolumen-botoi goratuaren ondoan dagoen botoi laua da.\n\nEtengailua sakatuz gero, pantaila itzaliko da."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Hatz-marken sentsorea etengailuan dago. Gailuaren ertzeko bolumen-botoi goratuaren ondoan dagoen botoi laua da.\n\nEtengailua sakatuz gero, pantaila itzaliko da."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Hatz-marken sentsorea etengailuan dago. Telefonoaren ertzeko bolumen-botoi goratuaren ondoan dagoen botoi laua da.\n\nEtengailua sakatuz gero, pantaila itzaliko da."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Hatz-marken sentsorea etengailuan dago. Tabletaren ertzeko bolumen-botoi goratuaren ondoan dagoen botoi laua da."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Hatz-marken sentsorea etengailuan dago. Gailuaren ertzeko bolumen-botoi goratuaren ondoan dagoen botoi laua da."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Hatz-marken sentsorea etengailuan dago. Telefonoaren ertzeko bolumen-botoi goratuaren ondoan dagoen botoi laua da."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desblokeatu telefonoa aukera gehiago ikusteko"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desblokeatu tableta aukera gehiago ikusteko"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desblokeatu gailua aukera gehiago ikusteko"</string> diff --git a/packages/SystemUI/res-product/values-fa/strings.xml b/packages/SystemUI/res-product/values-fa/strings.xml index 62efff0edfb6..a8612611752d 100644 --- a/packages/SystemUI/res-product/values-fa/strings.xml +++ b/packages/SystemUI/res-product/values-fa/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"<xliff:g id="NUMBER">%d</xliff:g> تلاش ناموفق برای باز کردن قفل تلفن داشتهاید. نمایه کاری پاک میشود که با آن همه دادههای نمایه حذف میشود."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"الگوی بازگشایی قفل را <xliff:g id="NUMBER_0">%1$d</xliff:g> بار اشتباه کشیدهاید. بعداز <xliff:g id="NUMBER_1">%2$d</xliff:g> تلاش ناموفق، از شما خواسته میشود که بااستفاده از یک حساب ایمیل قفل رایانه لوحیتان را باز کنید.\n\n لطفاً پساز <xliff:g id="NUMBER_2">%3$d</xliff:g> ثانیه دوباره امتحان کنید."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"الگوی بازگشایی قفل را <xliff:g id="NUMBER_0">%1$d</xliff:g> بار اشتباه کشیدهاید. پساز <xliff:g id="NUMBER_1">%2$d</xliff:g> تلاش ناموفق، از شما خواسته میشود که بااستفاده از یک حساب ایمیل قفل تلفن را باز کنید.\n\n لطفاً پساز <xliff:g id="NUMBER_2">%3$d</xliff:g> ثانیه دوباره امتحان کنید."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"حسگر اثر انگشت روی دکمه روشن/خاموش قرار دارد. این همان دکمه مسطحی است که کنار دکمه برآمده صدا در لبه رایانه لوحی قرار دارد.\n\nفشار دادن دکمه روشن/خاموش، صفحهنمایش را خاموش میکند."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"حسگر اثر انگشت روی دکمه روشن/خاموش قرار دارد. این همان دکمه مسطحی است که کنار دکمه برآمده صدا در لبه دستگاه قرار دارد.\n\nفشار دادن دکمه روشن/خاموش، صفحهنمایش را خاموش میکند."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"حسگر اثر انگشت روی دکمه روشن/خاموش قرار دارد. این همان دکمه مسطحی است که کنار دکمه برآمده صدا در لبه تلفن قرار دارد.\n\nفشار دادن دکمه روشن/خاموش، صفحهنمایش را خاموش میکند."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"حسگر اثر انگشت روی دکمه روشن/خاموش قرار دارد. این همان دکمه مسطحی است که در کنار دکمه برآمده صدا در لبه رایانه لوحی قرار دارد."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"حسگر اثر انگشت روی دکمه روشن/خاموش قرار دارد. این همان دکمه مسطحی است که در کنار دکمه برآمده صدا در لبه دستگاه قرار دارد."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"حسگر اثر انگشت روی دکمه روشن/خاموش قرار دارد. این همان دکمه مسطحی است که در کنار دکمه برآمده صدا در لبه تلفن قرار دارد."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"برای گزینههای بیشتر، قفل تلفن را باز کنید"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"برای گزینههای بیشتر، قفل رایانه لوحی را باز کنید"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"برای گزینههای بیشتر، قفل دستگاه را باز کنید"</string> diff --git a/packages/SystemUI/res-product/values-fi/strings.xml b/packages/SystemUI/res-product/values-fi/strings.xml index da3592dd69b5..c6db4fef14d5 100644 --- a/packages/SystemUI/res-product/values-fi/strings.xml +++ b/packages/SystemUI/res-product/values-fi/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Yritit avata puhelimen lukituksen virheellisillä tiedoilla <xliff:g id="NUMBER">%d</xliff:g> kertaa. Työprofiili ja kaikki sen data poistetaan."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Piirsit lukituksenpoistokuvion väärin <xliff:g id="NUMBER_0">%1$d</xliff:g> kertaa. Jos piirrät kuvion väärin vielä <xliff:g id="NUMBER_1">%2$d</xliff:g> kertaa, sinua pyydetään avaamaan tabletin lukitus sähköpostitilin avulla.\n\n Yritä uudelleen <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunnin kuluttua."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Piirsit lukituksenpoistokuvion väärin <xliff:g id="NUMBER_0">%1$d</xliff:g> kertaa. Jos piirrät kuvion väärin vielä <xliff:g id="NUMBER_1">%2$d</xliff:g> kertaa, sinua pyydetään avaamaan puhelimesi lukitus sähköpostitilin avulla.\n\n Yritä uudelleen <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunnin kuluttua."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Sormenjälkitunnistin on virtapainikkeessa. Se on litteä painike koholla olevan äänenvoimakkuuspainikkeen vieressä tabletin sivussa.\n\nJos painat virtapainiketta, näyttö sammuu."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Sormenjälkitunnistin on virtapainikkeessa. Se on litteä painike koholla olevan äänenvoimakkuuspainikkeen vieressä laitteen sivussa.\n\nJos painat virtapainiketta, näyttö sammuu."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Sormenjälkitunnistin on virtapainikkeessa. Se on litteä painike koholla olevan äänenvoimakkuuspainikkeen vieressä puhelimen sivussa.\n\nJos painat virtapainiketta, näyttö sammuu."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Sormenjälkitunnistin on virtapainikkeessa. Se on litteä painike koholla olevan äänenvoimakkuuspainikkeen vieressä tabletin sivussa."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Sormenjälkitunnistin on virtapainikkeessa. Se on litteä painike koholla olevan äänenvoimakkuuspainikkeen vieressä laitteen sivussa."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Sormenjälkitunnistin on virtapainikkeessa. Se on litteä painike koholla olevan äänenvoimakkuuspainikkeen vieressä puhelimen sivussa."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Avaa puhelimen lukitus, niin näet enemmän vaihtoehtoja"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Avaa tabletin lukitus, niin näet enemmän vaihtoehtoja"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Avaa laitteen lukitus, niin näet enemmän vaihtoehtoja"</string> diff --git a/packages/SystemUI/res-product/values-fr-rCA/strings.xml b/packages/SystemUI/res-product/values-fr-rCA/strings.xml index bc01dde4b6ea..3862796fdc09 100644 --- a/packages/SystemUI/res-product/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res-product/values-fr-rCA/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Vous avez tenté de déverrouiller ce téléphone à <xliff:g id="NUMBER">%d</xliff:g> reprises. Le profil professionnel sera supprimé, ce qui entraîne la suppression de toutes ses données."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Vous avez dessiné un schéma de déverrouillage incorrect à <xliff:g id="NUMBER_0">%1$d</xliff:g> reprises. Si vous échouez encore <xliff:g id="NUMBER_1">%2$d</xliff:g> fois, vous devrez déverrouiller votre tablette à l\'aide d\'un compte de courriel.\n\nVeuillez réessayer dans <xliff:g id="NUMBER_2">%3$d</xliff:g> secondes."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Vous avez dessiné un schéma de déverrouillage incorrect à <xliff:g id="NUMBER_0">%1$d</xliff:g> reprises. Si vous échouez encore <xliff:g id="NUMBER_1">%2$d</xliff:g> fois, vous devrez déverrouiller votre téléphone à l\'aide d\'un compte de courriel.\n\nVeuillez réessayer dans <xliff:g id="NUMBER_2">%3$d</xliff:g> secondes."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord de la tablette.\n\nEn appuyant sur l\'interrupteur, vous éteignez l\'écran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord de l\'appareil.\n\nEn appuyant sur l\'interrupteur, vous éteignez l\'écran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord du téléphone.\n\nEn appuyant sur l\'interrupteur, vous éteignez l\'écran."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord de la tablette."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord de l\'appareil."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Le capteur d\'empreintes digitales est situé sur l\'interrupteur. Il s\'agit du bouton plat situé à côté du bouton de volume surélevé, sur le bord du téléphone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Déverrouillez votre téléphone pour afficher davantage d\'options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Déverrouillez votre tablette pour afficher davantage d\'options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Déverrouillez votre appareil pour afficher davantage d\'options"</string> diff --git a/packages/SystemUI/res-product/values-fr/strings.xml b/packages/SystemUI/res-product/values-fr/strings.xml index 0fc6fdad1654..d874882a90c5 100644 --- a/packages/SystemUI/res-product/values-fr/strings.xml +++ b/packages/SystemUI/res-product/values-fr/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Vous avez tenté de déverrouiller le téléphone à <xliff:g id="NUMBER">%d</xliff:g> reprises. Le profil professionnel et toutes les données associées vont être supprimés."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Vous avez dessiné un schéma de déverrouillage incorrect à <xliff:g id="NUMBER_0">%1$d</xliff:g> reprises. Si vous échouez encore <xliff:g id="NUMBER_1">%2$d</xliff:g> fois, vous devrez déverrouiller votre tablette à l\'aide d\'un compte de messagerie électronique.\n\nRéessayez dans <xliff:g id="NUMBER_2">%3$d</xliff:g> secondes."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Vous avez dessiné un schéma de déverrouillage incorrect à <xliff:g id="NUMBER_0">%1$d</xliff:g> reprises. Si vous échouez encore <xliff:g id="NUMBER_1">%2$d</xliff:g> fois, vous devrez déverrouiller votre téléphone à l\'aide d\'un compte de messagerie électronique.\n\nRéessayez dans <xliff:g id="NUMBER_2">%3$d</xliff:g> secondes."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Le lecteur d\'empreinte digitale se trouve sur le bouton Marche/Arrêt. C\'est le bouton plat à côté du bouton de volume en relief sur un bord de la tablette.\n\nAppuyer sur le bouton Marche/Arrêt éteint l\'écran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Le lecteur d\'empreinte digitale se trouve sur le bouton Marche/Arrêt. C\'est le bouton plat à côté du bouton de volume en relief sur un bord de l\'appareil.\n\nAppuyer sur le bouton Marche/Arrêt éteint l\'écran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Le lecteur d\'empreinte digitale se trouve sur le bouton Marche/Arrêt. C\'est le bouton plat à côté du bouton de volume en relief sur un bord du téléphone.\n\nAppuyer sur le bouton Marche/Arrêt éteint l\'écran."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Le lecteur d\'empreinte digitale est sur le bouton Marche/Arrêt. C\'est le bouton plat à côté du bouton de volume en relief sur un bord de la tablette."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Le lecteur d\'empreinte digitale est sur le bouton Marche/Arrêt. C\'est le bouton plat à côté du bouton de volume en relief sur un bord de l\'appareil."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Le lecteur d\'empreinte digitale est sur le bouton Marche/Arrêt. C\'est le bouton plat à côté du bouton de volume en relief sur un bord du téléphone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Déverrouillez votre téléphone pour obtenir plus d\'options"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Déverrouillez votre tablette pour obtenir plus d\'options"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Déverrouillez votre appareil pour obtenir plus d\'options"</string> diff --git a/packages/SystemUI/res-product/values-gl/strings.xml b/packages/SystemUI/res-product/values-gl/strings.xml index c27408ecf17b..b3e03caf4908 100644 --- a/packages/SystemUI/res-product/values-gl/strings.xml +++ b/packages/SystemUI/res-product/values-gl/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Tentaches desbloquear o teléfono <xliff:g id="NUMBER">%d</xliff:g> veces de forma incorrecta. Quitarase o perfil de traballo e, por conseguinte, todos os seus datos."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear a tableta a través dunha conta de correo electrónico.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Debuxaches o padrón de desbloqueo <xliff:g id="NUMBER_0">%1$d</xliff:g> veces de forma incorrecta. Se realizas <xliff:g id="NUMBER_1">%2$d</xliff:g> intentos incorrectos máis, terás que desbloquear o teléfono a través dunha conta de correo electrónico.\n\n Téntao de novo en <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"O sensor de impresión dixital está no botón de acendido. É o botón plano que está ao lado do botón de volume con relevo, no lateral da tableta.\n\nAo premer o botón de acendido, apágase a pantalla."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"O sensor de impresión dixital está no botón de acendido. É o botón plano que está ao lado do botón de volume con relevo, no lateral do dispositivo.\n\nAo premer o botón de acendido, apágase a pantalla."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"O sensor de impresión dixital está no botón de acendido. É o botón plano que está ao lado do botón de volume con relevo, no lateral do teléfono.\n\nAo premer o botón de acendido, apágase a pantalla."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"O sensor de impresión dixital está no botón de acendido. É o botón plano que se atopa a carón do botón de volume con relevo, no lateral da tableta."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"O sensor de impresión dixital está no botón de acendido. É o botón plano que se atopa a carón do botón de volume con relevo, no lateral do dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"O sensor de impresión dixital está no botón de acendido. É o botón plano que se atopa a carón do botón de volume con relevo, no lateral do teléfono."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloquea o teléfono para ver máis opcións"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloquea a tableta para ver máis opcións"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloquea o dispositivo para ver máis opcións"</string> diff --git a/packages/SystemUI/res-product/values-gu/strings.xml b/packages/SystemUI/res-product/values-gu/strings.xml index f7a225674896..4621be3dfe6f 100644 --- a/packages/SystemUI/res-product/values-gu/strings.xml +++ b/packages/SystemUI/res-product/values-gu/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"તમે ફોનને <xliff:g id="NUMBER">%d</xliff:g> વખત ખોટી રીતે અનલૉક કરવાનો પ્રયાસ કર્યો છે. આ કાર્યાલયની પ્રોફાઇલ કાઢી નાખવામાં આવશે, જે તમામ પ્રોફાઇલ ડેટાને ડિલીટ કરી દેશે."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"તમે તમારી અનલૉક પૅટર્ન <xliff:g id="NUMBER_0">%1$d</xliff:g> વખત ખોટી રીતે દોરી છે. વધુ <xliff:g id="NUMBER_1">%2$d</xliff:g> અસફળ પ્રયાસો પછી, તમને એક ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને તમારા ટૅબ્લેટને અનલૉક કરવાનું કહેવામાં આવશે.\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> સેકન્ડમાં ફરી પ્રયાસ કરો."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"તમે તમારી અનલૉક પૅટર્ન <xliff:g id="NUMBER_0">%1$d</xliff:g> વખત ખોટી રીતે દોરી છે. વધુ <xliff:g id="NUMBER_1">%2$d</xliff:g> અસફળ પ્રયાસો પછી, તમને ઇમેઇલ એકાઉન્ટનો ઉપયોગ કરીને તમારા ફોનને અનલૉક કરવાનું કહેવામાં આવશે.\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> સેકન્ડમાં ફરીથી પ્રયાસ કરો."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ફિંગરપ્રિન્ટ સેન્સર પાવર બટન પર છે. તે ટૅબ્લેટની કિનારીએ આવેલા ઉપસેલા વૉલ્યૂમ બટનની બાજુમાં આવેલું સપાટ બટન છે.\n\nપાવર બટન દબાવવાથી સ્ક્રીન બંધ થાય છે."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ફિંગરપ્રિન્ટ સેન્સર પાવર બટન પર છે. તે ડિવાઇસની કિનારીએ આવેલા ઉપસેલા વૉલ્યૂમ બટનની બાજુમાં આવેલું સપાટ બટન છે.\n\nપાવર બટન દબાવવાથી સ્ક્રીન બંધ થાય છે."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ફિંગરપ્રિન્ટ સેન્સર પાવર બટન પર છે. તે ફોનની કિનારીએ આવેલા ઉપસેલા વૉલ્યૂમ બટનની બાજુમાં આવેલું સપાટ બટન છે.\n\nપાવર બટન દબાવવાથી સ્ક્રીન બંધ થાય છે."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ફિંગરપ્રિન્ટ સેન્સર પાવર બટન પર છે. તે ટૅબ્લેટની કિનારીએ આવેલા ઉપસેલા વૉલ્યૂમ બટનની બાજુમાં આવેલું સપાટ બટન છે."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ફિંગરપ્રિન્ટ સેન્સર પાવર બટન પર છે. તે ડિવાઇસની કિનારીએ આવેલા ઉપસેલા વૉલ્યૂમ બટનની બાજુમાં આવેલું સપાટ બટન છે."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ફિંગરપ્રિન્ટ સેન્સર પાવર બટન પર છે. તે ફોનની કિનારીએ આવેલા ઉપસેલા વૉલ્યૂમ બટનની બાજુમાં આવેલું સપાટ બટન છે."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"વધુ વિકલ્પો માટે તમારા ફોનને અનલૉક કરો"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"વધુ વિકલ્પો માટે તમારા ટૅબ્લેટને અનલૉક કરો"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"વધુ વિકલ્પો માટે તમારા ડિવાઇસને અનલૉક કરો"</string> diff --git a/packages/SystemUI/res-product/values-hi/strings.xml b/packages/SystemUI/res-product/values-hi/strings.xml index 0fa377d73d4c..4c69df502dc9 100644 --- a/packages/SystemUI/res-product/values-hi/strings.xml +++ b/packages/SystemUI/res-product/values-hi/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"आप फ़ोन को अनलॉक करने के लिए <xliff:g id="NUMBER">%d</xliff:g> बार गलत पासवर्ड डाल चुके हैं. इसकी वजह से वर्क प्रोफ़ाइल को हटा दिया जाएगा जिससे उपयोगकर्ता की प्रोफ़ाइल का सारा डेटा मिट जाएगा."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"आपने लॉक खोलने के पैटर्न को <xliff:g id="NUMBER_0">%1$d</xliff:g> बार गलत तरीके से बनाया है. इसलिए, <xliff:g id="NUMBER_1">%2$d</xliff:g> और गलत पैटर्न बनाने के बाद, टैबलेट को अनलॉक करने के लिए आपसे ईमेल खाते का इस्तेमाल करने को कहा जाएगा.\n\n अनलॉक करने के लिए <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंड में फिर से कोशिश करें."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"आपने लॉक खोलने के पैटर्न को <xliff:g id="NUMBER_0">%1$d</xliff:g> बार गलत तरीके से बनाया है. इसलिए, <xliff:g id="NUMBER_1">%2$d</xliff:g> और गलत पैटर्न बनाने के बाद, आपसे फ़ोन को अनलॉक करने के लिए ईमेल खाते का इस्तेमाल करने को कहा जाएगा.\n\n अनलॉक करने के लिए <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंड में फिर से कोशिश करें."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"फ़िंगरप्रिंट सेंसर, पावर बटन पर होता है. यह टैबलेट के किनारे पर मौजूद एक फ़्लैट बटन होता है, जो कि आपको आवाज़ कम या ज़्यादा करने वाले उभरे हुए बटन के नीचे मिलेगा.\n\nपावर बटन दबाने से स्क्रीन बंद हो जाती है."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"फ़िंगरप्रिंट सेंसर, पावर बटन पर होता है. यह डिवाइस के किनारे पर मौजूद एक फ़्लैट बटन होता है, जो कि आपको आवाज़ कम या ज़्यादा करने वाले उभरे हुए बटन के नीचे मिलेगा.\n\nपावर बटन दबाने से स्क्रीन बंद हो जाती है."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"फ़िंगरप्रिंट सेंसर, पावर बटन पर होता है. यह फ़ोन के किनारे पर मौजूद एक फ़्लैट बटन होता है, जो कि आपको आवाज़ कम या ज़्यादा करने वाले उभरे हुए बटन के नीचे मिलेगा.\n\nपावर बटन दबाने से स्क्रीन बंद हो जाती है."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"फ़िंगरप्रिंट सेंसर, पावर बटन पर होता है. यह टैबलेट के किनारे पर मौजूद एक फ़्लैट बटन होता है, जो कि आपको आवाज़ कम या ज़्यादा करने वाले उभरे हुए बटन के बगल में मिलेगा."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"फ़िंगरप्रिंट सेंसर, पावर बटन पर होता है. यह डिवाइस के किनारे पर मौजूद एक फ़्लैट बटन होता है, जो कि आपको आवाज़ कम या ज़्यादा करने वाले उभरे हुए बटन के बगल में मिलेगा."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"फ़िंगरप्रिंट सेंसर, पावर बटन पर होता है. यह फ़ोन के किनारे पर मौजूद एक फ़्लैट बटन होता है, जो कि आपको आवाज़ कम या ज़्यादा करने वाले उभरे हुए बटन के बगल में मिलेगा."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ज़्यादा विकल्प देखने के लिए, अपना फ़ोन अनलॉक करें"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ज़्यादा विकल्प देखने के लिए, अपना टैबलेट अनलॉक करें"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ज़्यादा विकल्प देखने के लिए, अपना डिवाइस अनलॉक करें"</string> diff --git a/packages/SystemUI/res-product/values-hr/strings.xml b/packages/SystemUI/res-product/values-hr/strings.xml index f467291cf04b..a7bd4b0a2747 100644 --- a/packages/SystemUI/res-product/values-hr/strings.xml +++ b/packages/SystemUI/res-product/values-hr/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Neuspješno ste pokušali otključati telefon <xliff:g id="NUMBER">%d</xliff:g> put/a. Radni će se profil ukloniti, a time će se izbrisati i svi njegovi podaci."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Netočno ste iscrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> put/a. Nakon još <xliff:g id="NUMBER_1">%2$d</xliff:g> pokušaja morat ćete otključati tablet pomoću računa e-pošte.\n\n Pokušajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Netočno ste iscrtali uzorak za otključavanje <xliff:g id="NUMBER_0">%1$d</xliff:g> put/a. Nakon još <xliff:g id="NUMBER_1">%2$d</xliff:g> pokušaja morat ćete otključati telefon pomoću računa e-pošte.\n\n Pokušajte ponovo za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Senzor otiska prsta nalazi se na tipki za uključivanje/isključivanje. To je ravni gumb pored izdignutog gumba za glasnoću na rubu tableta.\n\nPritiskom na tipku za uključivanje/isključivanje isključuje se zaslon."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Senzor otiska prsta nalazi se na tipki za uključivanje/isključivanje. To je ravni gumb pored izdignutog gumba za glasnoću na rubu uređaja.\n\nPritiskom na tipku za uključivanje/isključivanje isključuje se zaslon."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Senzor otiska prsta nalazi se na tipki za uključivanje/isključivanje. To je ravni gumb pored izdignutog gumba za glasnoću na rubu telefona.\n\nPritiskom na tipku za uključivanje/isključivanje isključuje se zaslon."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Senzor otiska prsta nalazi se na tipki za uključivanje/isključivanje. To je ravni gumb pored izdignutog gumba za glasnoću na rubu tableta."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Senzor otiska prsta nalazi se na tipki za uključivanje/isključivanje. To je ravni gumb pored izdignutog gumba za glasnoću na rubu uređaja."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Senzor otiska prsta nalazi se na tipki za uključivanje/isključivanje. To je ravni gumb pored izdignutog gumba za glasnoću na rubu telefona."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Za više opcija otključajte telefon"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Za više opcija otključajte tablet"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Za više opcija otključajte uređaj"</string> diff --git a/packages/SystemUI/res-product/values-hu/strings.xml b/packages/SystemUI/res-product/values-hu/strings.xml index d5f44e9f199c..75c10e9e9ddd 100644 --- a/packages/SystemUI/res-product/values-hu/strings.xml +++ b/packages/SystemUI/res-product/values-hu/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"<xliff:g id="NUMBER">%d</xliff:g> alkalommal próbálkozott sikertelenül a telefon zárolásának feloldásával. A rendszer eltávolítja a munkaprofilt, és ezzel a profil összes adata törlődik."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"<xliff:g id="NUMBER_0">%1$d</xliff:g> alkalommal helytelenül rajzolta le a feloldási mintát. További <xliff:g id="NUMBER_1">%2$d</xliff:g> sikertelen kísérlet után e-mail-fiók használatával kell feloldania táblagépét.\n\nPróbálja újra <xliff:g id="NUMBER_2">%3$d</xliff:g> másodperc múlva."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"<xliff:g id="NUMBER_0">%1$d</xliff:g> alkalommal helytelenül rajzolta le a feloldási mintát. További <xliff:g id="NUMBER_1">%2$d</xliff:g> sikertelen kísérlet után e-mail-fiók használatával kell feloldania telefonját.\n\nPróbálja újra <xliff:g id="NUMBER_2">%3$d</xliff:g> másodperc múlva."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Az ujjlenyomat-érzékelő a bekapcsológombon található. A kiemelkedő hangerőgomb melletti lapos gomb a táblagép szélén.\n\nA bekapcsológomb lenyomásával kikapcsol a képernyő."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Az ujjlenyomat-érzékelő a bekapcsológombon található. A kiemelkedő hangerőgomb melletti lapos gomb az eszköz szélén.\n\nA bekapcsológomb lenyomásával kikapcsol a képernyő."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Az ujjlenyomat-érzékelő a bekapcsológombon található. A kiemelkedő hangerőgomb melletti lapos gomb a telefon szélén.\n\nA bekapcsológomb lenyomásával kikapcsol a képernyő."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Az ujjlenyomat-érzékelő a bekapcsológombon található. Ez a kiemelkedő hangerőgomb melletti lapos gomb a táblagép szélén."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Az ujjlenyomat-érzékelő a bekapcsológombon található. Ez a kiemelkedő hangerőgomb melletti lapos gomb az eszköz szélén."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Az ujjlenyomat-érzékelő a bekapcsológombon található. Ez a kiemelkedő hangerőgomb melletti lapos gomb a telefon szélén."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"További lehetőségekért oldja fel a telefont"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"További lehetőségekért oldja fel a táblagépet"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"További lehetőségekért oldja fel az eszközt"</string> diff --git a/packages/SystemUI/res-product/values-hy/strings.xml b/packages/SystemUI/res-product/values-hy/strings.xml index 74d115bb30f5..3ebc72f5c8c0 100644 --- a/packages/SystemUI/res-product/values-hy/strings.xml +++ b/packages/SystemUI/res-product/values-hy/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Դուք կատարել եք հեռախոսն ապակողպելու <xliff:g id="NUMBER">%d</xliff:g> անհաջող փորձ: Աշխատանքային պրոֆիլը կհեռացվի, և պրոֆիլի բոլոր տվյալները կջնջվեն:"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Դուք կատարել եք ապակողպման նախշը մուտքագրելու <xliff:g id="NUMBER_0">%1$d</xliff:g> անհաջող փորձ: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզանից կպահանջվի ապակողպել պլանշետը էլփոստի հաշվի միջոցով։\n\n Խնդրում ենք կրկին փորձել <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Դուք <xliff:g id="NUMBER_0">%1$d</xliff:g> անգամ սխալ եք հավաքել ձեր ապակողպման նմուշը: Եվս <xliff:g id="NUMBER_1">%2$d</xliff:g> անհաջող փորձից հետո ձեզ կառաջարկվի ապակողպել հեռախոսը` օգտագործելով էլփոստի հաշիվ:\n\n Կրկին փորձեք <xliff:g id="NUMBER_2">%3$d</xliff:g> վայրկյանից:"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Մատնահետքերի սկաները սնուցման կոճակի վրա է։ Այն հարթ կոճակն է՝ ձայնի ուժգնության ուռուցիկ կոճակի կողքին, պլանշետի եզրային մասում։\n\nՍնուցման կոճակի սեղմումով էկրանն անջատվում է։"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Մատնահետքերի սկաները սնուցման կոճակի վրա է։ Այն հարթ կոճակն է՝ ձայնի ուժգնության ուռուցիկ կոճակի կողքին, սարքի եզրային մասում։\n\nՍնուցման կոճակի սեղմումով էկրանն անջատվում է։"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Մատնահետքերի սկաները սնուցման կոճակի վրա է։ Այն հարթ կոճակ է՝ ձայնի ուժգնության ուռուցիկ կոճակի կողքին, հեռախոսի եզրային մասում։\n\nՍնուցման կոճակի սեղմումով էկրանն անջատվում է։"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Մատնահետքերի սկաները սնուցման կոճակի վրա է։ Այն հարթ կոճակ է ձայնի ուժգնության ուռուցիկ կոճակի կողքին՝ պլանշետի եզրային մասում։"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Մատնահետքերի սկաները սնուցման կոճակի վրա է։ Այն հարթ կոճակ է ձայնի ուժգնության ուռուցիկ կոճակի կողքին՝ սարքի եզրային մասում։"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Մատնահետքերի սկաները սնուցման կոճակի վրա է։ Այն հարթ կոճակ է ձայնի ուժգնության ուռուցիկ կոճակի կողքին՝ հեռախոսի եզրային մասում։"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Ապակողպեք ձեր հեռախոսը՝ լրացուցիչ կարգավորումները տեսնելու համար"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Ապակողպեք ձեր պլանշետը՝ լրացուցիչ կարգավորումները տեսնելու համար"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Ապակողպեք ձեր սարքը՝ լրացուցիչ կարգավորումները տեսնելու համար"</string> diff --git a/packages/SystemUI/res-product/values-in/strings.xml b/packages/SystemUI/res-product/values-in/strings.xml index d4363b8fc612..af1895ce5ebd 100644 --- a/packages/SystemUI/res-product/values-in/strings.xml +++ b/packages/SystemUI/res-product/values-in/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Anda telah <xliff:g id="NUMBER">%d</xliff:g> kali berupaya membuka kunci ponsel dengan tidak benar. Profil kerja akan dihapus, sehingga semua data profil akan dihapus."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Anda telah <xliff:g id="NUMBER_0">%1$d</xliff:g> kali salah menggambar pola pembuka kunci. Setelah <xliff:g id="NUMBER_1">%2$d</xliff:g> lagi upaya yang tidak berhasil, Anda akan diminta membuka kunci tablet menggunakan akun email.\n\n Coba lagi dalam <xliff:g id="NUMBER_2">%3$d</xliff:g> detik."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Anda telah <xliff:g id="NUMBER_0">%1$d</xliff:g> kali salah menggambar pola pembuka kunci. Setelah <xliff:g id="NUMBER_1">%2$d</xliff:g> lagi upaya yang tidak berhasil, Anda akan diminta membuka kunci ponsel menggunakan akun email.\n\n Coba lagi dalam <xliff:g id="NUMBER_2">%3$d</xliff:g> detik."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Sensor sidik jari ada di tombol daya. Tombol ini berupa tombol datar di samping tombol volume timbul di tepi tablet.\n\nMenekan tombol daya akan menonaktifkan layar."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Sensor sidik jari ada di tombol daya. Tombol ini berupa tombol datar di samping tombol volume timbul di tepi perangkat.\n\nMenekan tombol daya akan menonaktifkan layar."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Sensor sidik jari ada di tombol daya. Tombol ini berupa tombol datar di samping tombol volume timbul di tepi ponsel.\n\nMenekan tombol daya akan menonaktifkan layar."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Sensor sidik jari ada di tombol daya. Tombol ini berupa tombol datar di samping tombol volume timbul di tepi tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Sensor sidik jari ada di tombol daya. Tombol ini berupa tombol datar di samping tombol volume timbul di tepi perangkat."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Sensor sidik jari ada di tombol daya. Tombol ini berupa tombol datar di samping tombol volume timbul di tepi ponsel."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Buka kunci ponsel untuk melihat opsi lainnya"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Buka kunci tablet untuk melihat opsi lainnya"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Buka kunci perangkat untuk melihat opsi lainnya"</string> diff --git a/packages/SystemUI/res-product/values-is/strings.xml b/packages/SystemUI/res-product/values-is/strings.xml index 4923f1bcef7e..1e42255aa2c3 100644 --- a/packages/SystemUI/res-product/values-is/strings.xml +++ b/packages/SystemUI/res-product/values-is/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Þú hefur gert <xliff:g id="NUMBER">%d</xliff:g> árangurslausar tilraunir til að opna símann. Vinnusniðið verður fjarlægt, með þeim afleiðingum að öllum gögnum þess verður eytt."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Þú hefur teiknað rangt opnunarmynstur <xliff:g id="NUMBER_0">%1$d</xliff:g> sinnum. Eftir <xliff:g id="NUMBER_1">%2$d</xliff:g> árangurslausar tilraunir í viðbót verðurðu beðin(n) um að opna spjaldtölvuna með tölvupóstreikningi.\n\n Reyndu aftur eftir <xliff:g id="NUMBER_2">%3$d</xliff:g> sekúndur."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Þú hefur teiknað rangt opnunarmynstur <xliff:g id="NUMBER_0">%1$d</xliff:g> sinnum. Eftir <xliff:g id="NUMBER_1">%2$d</xliff:g> árangurslausar tilraunir í viðbót verðurðu beðin(n) um að opna símann með tölvupóstreikningi.\n\n Reyndu aftur eftir <xliff:g id="NUMBER_2">%3$d</xliff:g> sekúndur."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Fingrafaralesarinn er á aflrofanum. Það er flati hnappurinn við hliðina á upphleypta hljóðstyrkshnappnum á hlið spjaldtölvunnar.\n\nÞegar ýtt er á aflrofann slokknar á skjánum."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Fingrafaralesarinn er á aflrofanum. Það er flati hnappurinn við hliðina á upphleypta hljóðstyrkshnappnum á hlið tækisins.\n\nÞegar ýtt er á aflrofann slokknar á skjánum."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Fingrafaralesarinn er á aflrofanum. Það er flati hnappurinn við hliðina á upphleypta hljóðstyrkshnappnum á hlið símans.\n\nÞegar ýtt er á aflrofann slokknar á skjánum."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Fingrafaralesarinn er á aflrofanum. Það er flati hnappurinn við hliðina á upphleypta hljóðstyrkshnappnum á hlið spjaldtölvunnar."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Fingrafaralesarinn er á aflrofanum. Það er flati hnappurinn við hliðina á upphleypta hljóðstyrkshnappnum á hlið tækisins."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Fingrafaralesarinn er á aflrofanum. Það er flati hnappurinn við hliðina á upphleypta hljóðstyrkshnappnum á hlið símans."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Taktu símann úr lás til að fá fleiri valkosti"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Taktu spjaldtölvuna úr lás til að fá fleiri valkosti"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Taktu tækið úr lás til að fá fleiri valkosti"</string> diff --git a/packages/SystemUI/res-product/values-it/strings.xml b/packages/SystemUI/res-product/values-it/strings.xml index 7718e2870d59..982afb9cd9cd 100644 --- a/packages/SystemUI/res-product/values-it/strings.xml +++ b/packages/SystemUI/res-product/values-it/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Hai tentato di sbloccare il telefono senza riuscirci per <xliff:g id="NUMBER">%d</xliff:g> volte. Il profilo di lavoro verrà rimosso e verranno quindi eliminati tutti i dati associati."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"<xliff:g id="NUMBER_0">%1$d</xliff:g> tentativi errati di inserimento della sequenza di sblocco. Dopo altri <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativi falliti, ti verrà chiesto di sbloccare il tablet con un account email.\n\n Riprova tra <xliff:g id="NUMBER_2">%3$d</xliff:g> secondi."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"<xliff:g id="NUMBER_0">%1$d</xliff:g> tentativi errati di inserimento della sequenza di sblocco. Dopo altri <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativi falliti, ti verrà chiesto di sbloccare il telefono con un account email.\n\n Riprova tra <xliff:g id="NUMBER_2">%3$d</xliff:g> secondi."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Il sensore di impronte digitali si trova sul tasto di accensione. Si tratta del tasto piatto accanto al tasto del volume in rilievo sulla parte laterale del tablet.\n\nSe premi il tasto di accensione viene disattivato lo schermo."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Il sensore di impronte digitali si trova sul tasto di accensione. Si tratta del tasto piatto accanto al tasto del volume in rilievo sulla parte laterale del dispositivo.\n\nSe premi il tasto di accensione viene disattivato lo schermo."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Il sensore di impronte digitali si trova sul tasto di accensione. Si tratta del tasto piatto accanto al tasto del volume in rilievo sulla parte laterale del telefono.\n\nSe premi il tasto di accensione viene disattivato lo schermo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Il sensore di impronte digitali si trova sul tasto di accensione. Si tratta del tasto piatto accanto al tasto del volume in rilievo sulla parte laterale del tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Il sensore di impronte digitali si trova sul tasto di accensione. Si tratta del tasto piatto accanto al tasto del volume in rilievo sulla parte laterale del dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Il sensore di impronte digitali si trova sul tasto di accensione. Si tratta del tasto piatto accanto al tasto del volume in rilievo sulla parte laterale del telefono."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Sblocca il telefono per visualizzare altre opzioni"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Sblocca il tablet per visualizzare altre opzioni"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Sblocca il dispositivo per visualizzare altre opzioni"</string> diff --git a/packages/SystemUI/res-product/values-iw/strings.xml b/packages/SystemUI/res-product/values-iw/strings.xml index b32f21b0f599..71779f30d8b5 100644 --- a/packages/SystemUI/res-product/values-iw/strings.xml +++ b/packages/SystemUI/res-product/values-iw/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ניסית לבטל את נעילת הטלפון <xliff:g id="NUMBER">%d</xliff:g> פעמים. פרופיל העבודה יוסר וכל נתוני הפרופיל יימחקו."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"שרטטת קו ביטול נעילה שגוי <xliff:g id="NUMBER_0">%1$d</xliff:g> פעמים. לאחר <xliff:g id="NUMBER_1">%2$d</xliff:g> ניסיונות כושלים נוספים, ,תישלח אליך בקשה לבטל את נעילת הטאבלט באמצעות חשבון אימייל.\n\n יש לנסות שוב בעוד <xliff:g id="NUMBER_2">%3$d</xliff:g> שניות."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"שרטטת קו ביטול נעילה שגוי <xliff:g id="NUMBER_0">%1$d</xliff:g> פעמים. לאחר <xliff:g id="NUMBER_1">%2$d</xliff:g> ניסיונות כושלים נוספים, תישלח אליך בקשה לבטל את נעילת הטלפון באמצעות חשבון אימייל.\n\n יש לנסות שוב בעוד <xliff:g id="NUMBER_2">%3$d</xliff:g> שניות."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"חיישן טביעת האצבע נמצא על לחצן ההפעלה. זה הלחצן השטוח ליד הלחצן הבולט של עוצמת הקול בפינת הטאבלט.\n\nלחיצה על לחצן ההפעלה מכבה את המסך."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"חיישן טביעת האצבע נמצא על לחצן ההפעלה. זה הלחצן השטוח ליד הלחצן הבולט של עוצמת הקול בפינת המכשיר.\n\nלחיצה על לחצן ההפעלה מכבה את המסך."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"חיישן טביעת האצבע נמצא על לחצן ההפעלה. זה הלחצן השטוח ליד הלחצן הבולט של עוצמת הקול בפינת הטלפון.\n\nלחיצה על לחצן ההפעלה מכבה את המסך."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"חיישן טביעות האצבע נמצא על לחצן ההפעלה. זה הלחצן השטוח ליד הלחצן הבולט של עוצמת הקול בשולי הטאבלט."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"חיישן טביעות האצבע נמצא על לחצן ההפעלה. זה הלחצן השטוח ליד הלחצן הבולט של עוצמת הקול בשולי המכשיר."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"חיישן טביעות האצבע נמצא על לחצן ההפעלה. זה הלחצן השטוח ליד הלחצן הבולט של עוצמת הקול בשולי הטלפון."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"לאפשרויות נוספות, יש לבטל את נעילת הטלפון"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"לאפשרויות נוספות, יש לבטל את נעילת הטאבלט"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"לאפשרויות נוספות, יש לבטל את נעילת המכשיר"</string> diff --git a/packages/SystemUI/res-product/values-ja/strings.xml b/packages/SystemUI/res-product/values-ja/strings.xml index 19e00d124c51..68f030b8c3c1 100644 --- a/packages/SystemUI/res-product/values-ja/strings.xml +++ b/packages/SystemUI/res-product/values-ja/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"スマートフォンのロック解除に <xliff:g id="NUMBER">%d</xliff:g> 回失敗しました。仕事用プロファイルは削除され、プロファイルのデータはすべて消去されます。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"ロック解除パターンの入力を <xliff:g id="NUMBER_0">%1$d</xliff:g> 回間違えました。あと <xliff:g id="NUMBER_1">%2$d</xliff:g> 回間違えると、タブレットのロック解除にメール アカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後にもう一度お試しください。"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"ロック解除パターンの入力を <xliff:g id="NUMBER_0">%1$d</xliff:g> 回間違えました。あと <xliff:g id="NUMBER_1">%2$d</xliff:g> 回間違えると、スマートフォンのロック解除にメール アカウントが必要になります。\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後にもう一度お試しください。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"指紋認証センサーは電源ボタンに内蔵されています。タブレットの端にある盛り上がった音量ボタンの横のフラットなボタンです。\n\n電源ボタンを押すと画面が OFF になります。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"指紋認証センサーは電源ボタンに内蔵されています。デバイスの端にある盛り上がった音量ボタンの横のフラットなボタンです。\n\n電源ボタンを押すと画面が OFF になります。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"指紋認証センサーは電源ボタンに内蔵されています。スマートフォンの端にある盛り上がった音量ボタンの横のフラットなボタンです。\n\n電源ボタンを押すと画面が OFF になります。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"指紋認証センサーは電源ボタンに内蔵されています。タブレット側面のボタンのうち、音量ボタンの横にあるフラットなボタンです。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"指紋認証センサーは電源ボタンに内蔵されています。デバイス側面のボタンのうち、音量ボタンの横にあるフラットなボタンです。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"指紋認証センサーは電源ボタンに内蔵されています。スマートフォン側面のボタンのうち、音量ボタンの横にあるフラットなボタンです。"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"スマートフォンのロックを解除してその他のオプションを表示する"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"タブレットのロックを解除してその他のオプションを表示する"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"デバイスのロックを解除してその他のオプションを表示する"</string> diff --git a/packages/SystemUI/res-product/values-ka/strings.xml b/packages/SystemUI/res-product/values-ka/strings.xml index fe6fcbdd1929..34fc24c36d6e 100644 --- a/packages/SystemUI/res-product/values-ka/strings.xml +++ b/packages/SystemUI/res-product/values-ka/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"თქვენ არასწორად ცადეთ ტელეფონის განბლოკვა <xliff:g id="NUMBER">%d</xliff:g>-ჯერ. ამის გამო, სამსახურის პროფილი ამოიშლება, რაც პროფილის ყველა მონაცემის წაშლას გამოიწვევს."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"თქვენ არასწორად დახატეთ თქვენი განბლოკვის ნიმუში <xliff:g id="NUMBER_0">%1$d</xliff:g>-ჯერ. კიდევ <xliff:g id="NUMBER_1">%2$d</xliff:g> წარუმატებელი მცდელობის შემდეგ მოგთხოვთ, ტაბლეტი თქვენი ელფოსტის ანგარიშის მეშვეობით განბლოკოთ.\n\n ცადეთ ხელახლა <xliff:g id="NUMBER_2">%3$d</xliff:g> წამში."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"თქვენ არასწორად დახატეთ თქვენი განბლოკვის ნიმუში <xliff:g id="NUMBER_0">%1$d</xliff:g>-ჯერ. კიდევ <xliff:g id="NUMBER_1">%2$d</xliff:g> წარუმატებელი მცდელობის შემდეგ მოგთხოვთ, ტელეფონი თქვენი ელფოსტის ანგარიშის მეშვეობით განბლოკოთ.\n\n ცადეთ ხელახლა <xliff:g id="NUMBER_2">%3$d</xliff:g> წამში."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"თითის ანაბეჭდის სენსორი ჩართვის ღილაკზეა. ეს არის ბრტყელი ღილაკი ხმის აწევის ღილაკის გვერდით ტაბლეტის კიდეზე.\n\nჩართვის ღილაკზე დაწკაპუნება გამორთავს ეკრანს."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"თითის ანაბეჭდის სენსორი ჩართვის ღილაკზეა. ეს არის ბრტყელი ღილაკი ხმის აწევის ღილაკის გვერდით მოწყობილობის კიდეზე.\n\nჩართვის ღილაკზე დაწკაპუნება გამორთავს ეკრანს."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"თითის ანაბეჭდის სენსორი ჩართვის ღილაკზეა. ეს არის ბრტყელი ღილაკი ხმის აწევის ღილაკის გვერდით ტელეფონის კიდეზე.\n\nჩართვის ღილაკზე დაწკაპუნება გამორთავს ეკრანს."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"თითის ანაბეჭდის სენსორი ჩართვის ღილაკზეა. ეს არის ბრტყელი ღილაკი ხმის აწევის ღილაკის გვერდით, ტაბლეტის კიდეში."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"თითის ანაბეჭდის სენსორი ჩართვის ღილაკზეა. ეს არის ბრტყელი ღილაკი ხმის აწევის ღილაკის გვერდით, მოწყობილობის კიდეში."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"თითის ანაბეჭდის სენსორი ჩართვის ღილაკზეა. ეს არის ბრტყელი ღილაკი ხმის აწევის ღილაკის გვერდით, ტელეფონის კიდეში."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"მეტი ვარიანტის სანახავად განბლოკეთ თქვენი ტელეფონი"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"მეტი ვარიანტის სანახავად განბლოკეთ თქვენი ტაბლეტი"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"მეტი ვარიანტის სანახავად განბლოკეთ თქვენი მოწყობილობა"</string> diff --git a/packages/SystemUI/res-product/values-kk/strings.xml b/packages/SystemUI/res-product/values-kk/strings.xml index 3f9490764ac1..73b637eba8c5 100644 --- a/packages/SystemUI/res-product/values-kk/strings.xml +++ b/packages/SystemUI/res-product/values-kk/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Телефон құлпын ашуға <xliff:g id="NUMBER">%d</xliff:g> рет сәтсіз әрекет жасалды. Жұмыс профилі өшіріліп, оның бүкіл деректері жойылады."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Құлыпты ашу өрнегі <xliff:g id="NUMBER_0">%1$d</xliff:g> рет қате енгізілді. <xliff:g id="NUMBER_1">%2$d</xliff:g> әрекет қалды. Одан кейін планшетті аккаунт арқылы ашу сұралады. \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундтан кейін әрекетті қайталаңыз."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Құлыпты ашу өрнегі <xliff:g id="NUMBER_0">%1$d</xliff:g> рет қате енгізілді. <xliff:g id="NUMBER_1">%2$d</xliff:g> әрекет қалды. Одан кейін телефонды аккаунт арқылы ашу сұралады. \n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундтан кейін әрекетті қайталаңыз."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Саусақ ізін оқу сканері қуат түймесінде орналасқан. Ол – планшеттің шетіндегі шығыңқы дыбыс деңгейі түймесінің жанында орналасқан жалпақ түйме.\n\nҚуат түймесі басылса, экран өшеді."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Саусақ ізін оқу сканері қуат түймесінде орналасқан. Ол – құрылғының шетіндегі шығыңқы дыбыс деңгейі түймесінің жанында орналасқан жалпақ түйме.\n\nҚуат түймесі басылса, экран өшеді."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Саусақ ізін оқу сканері қуат түймесінде орналасқан. Ол – телефонның шетіндегі шығыңқы дыбыс деңгейі түймесінің жанында орналасқан жалпақ түйме.\n\nҚуат түймесі басылса, экран өшеді."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Саусақ ізін оқу сканері қуат түймесінде орналасқан. Ол – планшет шетіндегі шығыңқы дыбыс деңгейі түймесінің жанында орналасқан жалпақ түйме."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Саусақ ізін оқу сканері қуат түймесінде орналасқан. Ол – құрылғы шетіндегі шығыңқы дыбыс деңгейі түймесінің жанында орналасқан жалпақ түйме."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Саусақ ізін оқу сканері қуат түймесінде орналасқан. Ол – телефон шетіндегі шығыңқы дыбыс деңгейі түймесінің жанында орналасқан жалпақ түйме."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Басқа опцияларды көру үшін телефон құлпын ашыңыз."</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Басқа опцияларды көру үшін планшет құлпын ашыңыз."</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Басқа опцияларды көру үшін құрылғы құлпын ашыңыз."</string> diff --git a/packages/SystemUI/res-product/values-km/strings.xml b/packages/SystemUI/res-product/values-km/strings.xml index 46bf9af865d1..611ee94a28b2 100644 --- a/packages/SystemUI/res-product/values-km/strings.xml +++ b/packages/SystemUI/res-product/values-km/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"អ្នកបានព្យាយាមដោះសោទូរសព្ទនេះមិនត្រឹមត្រូវចំនួន <xliff:g id="NUMBER">%d</xliff:g> ដងហើយ។ កម្រងព័ត៌មានការងារនេះនឹងត្រូវបានលុប ហើយវានឹងលុបទិន្នន័យកម្រងព័ត៌មានទាំងអស់។"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"អ្នកបានគូរលំនាំដោះសោរបស់អ្នកមិនត្រឹមត្រូវចំនួន <xliff:g id="NUMBER_0">%1$d</xliff:g> ដងហើយ។ បន្ទាប់ពីមានការព្យាយាមដោះសោចំនួន <xliff:g id="NUMBER_1">%2$d</xliff:g> ដងទៀតមិនទទួលបានជោគជ័យ អ្នកនឹងត្រូវបានស្នើឱ្យដោះសោថេប្លេតរបស់អ្នក ដោយប្រើគណនីអ៊ីមែល។\n\n សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេល <xliff:g id="NUMBER_2">%3$d</xliff:g> វិនាទីទៀត។"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"អ្នកបានគូរលំនាំដោះសោរបស់អ្នកមិនត្រឹមត្រូវចំនួន <xliff:g id="NUMBER_0">%1$d</xliff:g> ដងហើយ។ បន្ទាប់ពីមានការព្យាយាមដោះសោចំនួន <xliff:g id="NUMBER_1">%2$d</xliff:g> ដងទៀតមិនទទួលបានជោគជ័យ អ្នកនឹងត្រូវបានស្នើឱ្យដោះសោទូរសព្ទរបស់អ្នកដោយប្រើគណនីអ៊ីមែល។\n\n សូមព្យាយាមម្ដងទៀតក្នុងរយៈពេល <xliff:g id="NUMBER_2">%3$d</xliff:g> វិនាទីទៀត។"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"សេនស័រចាប់ស្នាមម្រាមដៃស្ថិតនៅលើប៊ូតុងថាមពល។ វាជាប៊ូតុងរាបស្មើនៅជាប់នឹងប៊ូតុងកម្រិតសំឡេងដែលលៀនចេញមកនៅលើគែមថេប្លេត។\n\nការចុចប៊ូតុងថាមពលនឹងបិទអេក្រង់។"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"សេនស័រចាប់ស្នាមម្រាមដៃស្ថិតនៅលើប៊ូតុងថាមពល។ វាជាប៊ូតុងរាបស្មើនៅជាប់នឹងប៊ូតុងកម្រិតសំឡេងដែលលៀនចេញមកនៅលើគែមឧបករណ៍។\n\nការចុចប៊ូតុងថាមពលនឹងបិទអេក្រង់។"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"សេនស័រចាប់ស្នាមម្រាមដៃស្ថិតនៅលើប៊ូតុងថាមពល។ វាជាប៊ូតុងរាបស្មើនៅជាប់នឹងប៊ូតុងកម្រិតសំឡេងដែលលៀនចេញមកនៅលើគែមទូរសព្ទ។\n\nការចុចប៊ូតុងថាមពលនឹងបិទអេក្រង់។"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"សេនស័រចាប់ស្នាមម្រាមដៃស្ថិតនៅលើប៊ូតុងថាមពល។ វាជាប៊ូតុងរាបស្មើនៅជាប់នឹងប៊ូតុងកម្រិតសំឡេងដែលលៀនចេញមកនៅលើគែមថេប្លេត។"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"សេនស័រចាប់ស្នាមម្រាមដៃស្ថិតនៅលើប៊ូតុងថាមពល។ វាជាប៊ូតុងរាបស្មើនៅជាប់នឹងប៊ូតុងកម្រិតសំឡេងដែលលៀនចេញមកនៅលើគែមឧបករណ៍។"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"សេនស័រចាប់ស្នាមម្រាមដៃស្ថិតនៅលើប៊ូតុងថាមពល។ វាជាប៊ូតុងរាបស្មើនៅជាប់នឹងប៊ូតុងកម្រិតសំឡេងដែលលៀនចេញមកនៅលើគែមទូរសព្ទ។"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ដោះសោទូរសព្ទរបស់អ្នកសម្រាប់ជម្រើសច្រើនទៀត"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ដោះសោថេប្លេតរបស់អ្នកសម្រាប់ជម្រើសច្រើនទៀត"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ដោះសោឧបករណ៍របស់អ្នកសម្រាប់ជម្រើសច្រើនទៀត"</string> diff --git a/packages/SystemUI/res-product/values-kn/strings.xml b/packages/SystemUI/res-product/values-kn/strings.xml index 44bcf550cffc..371c36abaf7f 100644 --- a/packages/SystemUI/res-product/values-kn/strings.xml +++ b/packages/SystemUI/res-product/values-kn/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ಫೋನ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಲು ನೀವು <xliff:g id="NUMBER">%d</xliff:g> ಬಾರಿ ತಪ್ಪಾಗಿ ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ. ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ, ಇದು ಪ್ರೊಫೈಲ್ನ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸುತ್ತದೆ."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"ನಿಮ್ಮ ಅನ್ಲಾಕ್ ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ನೀವು <xliff:g id="NUMBER_0">%1$d</xliff:g> ಬಾರಿ ತಪ್ಪಾಗಿ ಡ್ರಾ ಮಾಡಿರುವಿರಿ. <xliff:g id="NUMBER_1">%2$d</xliff:g> ಕ್ಕೂ ಹೆಚ್ಚಿನ ವಿಫಲ ಪ್ರಯತ್ನಗಳ ಬಳಿಕ, ನಿಮ್ಮ ಇಮೇಲ್ ಖಾತೆಯನ್ನು ಬಳಸಿ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ಲಾಕ್ ಮಾಡಲು ನಿಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"ನಿಮ್ಮ ಅನ್ಲಾಕ್ ಪ್ಯಾಟರ್ನ್ ಅನ್ನು ನೀವು <xliff:g id="NUMBER_0">%1$d</xliff:g> ಬಾರಿ ತಪ್ಪಾಗಿ ಡ್ರಾ ಮಾಡಿರುವಿರಿ. <xliff:g id="NUMBER_1">%2$d</xliff:g> ಕ್ಕೂ ಹೆಚ್ಚಿನ ವಿಫಲ ಪ್ರಯತ್ನಗಳ ಬಳಿಕ, ಇಮೇಲ್ ಖಾತೆಯನ್ನು ಬಳಸಿ ನಿಮ್ಮ ಫೋನ್ ಅನ್ಲಾಕ್ ಮಾಡಲು ನಿಮ್ಮನ್ನು ಕೇಳಲಾಗುತ್ತದೆ.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಪವರ್ ಬಟನ್ನಲ್ಲಿದೆ. ಇದು ಟ್ಯಾಬ್ಲೆಟ್ನ ಅಂಚಿನಲ್ಲಿರುವ ಎತ್ತರಿಸಿದ ವಾಲ್ಯೂಮ್ ಬಟನ್ನ ಪಕ್ಕದಲ್ಲಿರುವ ಚಪ್ಪಟೆ ಬಟನ್ ಆಗಿದೆ.\n\nಪವರ್ ಬಟನ್ ಅನ್ನು ಒತ್ತುವುದರಿಂದ ಸ್ಕ್ರೀನ್ ಆಫ್ ಆಗುತ್ತದೆ."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಪವರ್ ಬಟನ್ನಲ್ಲಿದೆ. ಇದು ಸಾಧನದ ಅಂಚಿನಲ್ಲಿರುವ ಎತ್ತರಿಸಿದ ವಾಲ್ಯೂಮ್ ಬಟನ್ನ ಪಕ್ಕದಲ್ಲಿರುವ ಚಪ್ಪಟೆ ಬಟನ್ ಆಗಿದೆ.\n\nಪವರ್ ಬಟನ್ ಅನ್ನು ಒತ್ತುವುದರಿಂದ ಸ್ಕ್ರೀನ್ ಆಫ್ ಆಗುತ್ತದೆ."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಪವರ್ ಬಟನ್ನಲ್ಲಿದೆ. ಇದು ಫೋನ್ ಅಂಚಿನಲ್ಲಿರುವ ಎತ್ತರಿಸಿದ ವಾಲ್ಯೂಮ್ ಬಟನ್ನ ಪಕ್ಕದಲ್ಲಿರುವ ಚಪ್ಪಟೆ ಬಟನ್ ಆಗಿದೆ.\n\nಪವರ್ ಬಟನ್ ಅನ್ನು ಒತ್ತುವುದರಿಂದ ಸ್ಕ್ರೀನ್ ಆಫ್ ಆಗುತ್ತದೆ."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಪವರ್ ಬಟನ್ನಲ್ಲಿದೆ. ಇದು ಟ್ಯಾಬ್ಲೆಟ್ನ ಅಂಚಿನಲ್ಲಿರುವ ಎತ್ತರಿಸಿದ ವಾಲ್ಯೂಮ್ ಬಟನ್ನ ಪಕ್ಕದಲ್ಲಿರುವ ಫ್ಲಾಟ್ ಬಟನ್ ಆಗಿದೆ."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಪವರ್ ಬಟನ್ನಲ್ಲಿದೆ. ಇದು ಸಾಧನದ ಅಂಚಿನಲ್ಲಿರುವ ಎತ್ತರಿಸಿದ ವಾಲ್ಯೂಮ್ ಬಟನ್ನ ಪಕ್ಕದಲ್ಲಿರುವ ಫ್ಲಾಟ್ ಬಟನ್ ಆಗಿದೆ."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ಫಿಂಗರ್ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್ ಪವರ್ ಬಟನ್ನಲ್ಲಿದೆ. ಇದು ಫೋನ್ನ ಅಂಚಿನಲ್ಲಿರುವ ಎತ್ತರಿಸಿದ ವಾಲ್ಯೂಮ್ ಬಟನ್ನ ಪಕ್ಕದಲ್ಲಿರುವ ಫ್ಲಾಟ್ ಬಟನ್ ಆಗಿದೆ."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳಿಗಾಗಿ ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳಿಗಾಗಿ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ಹೆಚ್ಚಿನ ಆಯ್ಕೆಗಳಿಗಾಗಿ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್ಲಾಕ್ ಮಾಡಿ"</string> diff --git a/packages/SystemUI/res-product/values-ko/strings.xml b/packages/SystemUI/res-product/values-ko/strings.xml index d9ca69937bb6..b2624521811d 100644 --- a/packages/SystemUI/res-product/values-ko/strings.xml +++ b/packages/SystemUI/res-product/values-ko/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"휴대전화 잠금 해제에 <xliff:g id="NUMBER">%d</xliff:g>번 실패했습니다. 직장 프로필과 모든 프로필 데이터가 삭제됩니다."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"잠금 해제 패턴을 <xliff:g id="NUMBER_0">%1$d</xliff:g>회 잘못 그렸습니다. <xliff:g id="NUMBER_1">%2$d</xliff:g>회 더 실패하면 이메일 계정을 사용하여 태블릿을 잠금 해제해야 합니다.\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>초 후에 다시 시도해 주세요."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"잠금 해제 패턴을 <xliff:g id="NUMBER_0">%1$d</xliff:g>회 잘못 그렸습니다. <xliff:g id="NUMBER_1">%2$d</xliff:g>회 더 실패하면 이메일 계정을 사용하여 휴대전화를 잠금 해제해야 합니다.\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g>초 후에 다시 시도해 주세요."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"지문 센서는 전원 버튼에 있습니다. 태블릿 옆면의 튀어나온 볼륨 버튼 옆에 있는 평평한 버튼입니다.\n\n전원 버튼을 누르면 화면이 꺼집니다."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"지문 센서는 전원 버튼에 있습니다. 기기 옆면의 튀어나온 볼륨 버튼 옆에 있는 평평한 버튼입니다.\n\n전원 버튼을 누르면 화면이 꺼집니다."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"지문 센서는 전원 버튼에 있습니다. 휴대전화 옆면의 튀어나온 볼륨 버튼 옆에 있는 평평한 버튼입니다.\n\n전원 버튼을 누르면 화면이 꺼집니다."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"지문 센서는 전원 버튼에 있습니다. 태블릿 옆면에 있는 튀어나온 볼륨 버튼 옆의 평평한 버튼입니다."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"지문 센서는 전원 버튼에 있습니다. 기기 옆면에 있는 튀어나온 볼륨 버튼 옆의 평평한 버튼입니다."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"지문 센서는 전원 버튼에 있습니다. 휴대전화 옆면에 있는 튀어나온 볼륨 버튼 옆의 평평한 버튼입니다."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"더 많은 옵션을 확인하려면 휴대전화를 잠금 해제하세요."</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"더 많은 옵션을 확인하려면 태블릿을 잠금 해제하세요."</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"더 많은 옵션을 확인하려면 기기를 잠금 해제하세요."</string> diff --git a/packages/SystemUI/res-product/values-ky/strings.xml b/packages/SystemUI/res-product/values-ky/strings.xml index 9e22bfee9de8..0f6acfcd0ec7 100644 --- a/packages/SystemUI/res-product/values-ky/strings.xml +++ b/packages/SystemUI/res-product/values-ky/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Телефондун кулпусун <xliff:g id="NUMBER">%d</xliff:g> жолу туура эмес ачууга аракет жасадыңыз. Жумуш профили өчүрүлүп, андагы бардык нерселер өчүрүлөт."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Графикалык ачкычты <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес тарттыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> ийгиликсиз аракеттен кийин планшетиңизди бөгөттөн электрондук почтаңыз аркылуу чыгаруу талап кылынат.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секунддан кийин кайра аракеттениңиз."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Графикалык ачкычты <xliff:g id="NUMBER_0">%1$d</xliff:g> жолу туура эмес тарттыңыз. Дагы <xliff:g id="NUMBER_1">%2$d</xliff:g> ийгиликсиз аракеттен кийин телефонуңузду бөгөттөн электрондук почтаңыз аркылуу чыгаруу талап кылынат.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секунддан кийин кайра аракеттениңиз."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Манжа изинин сенсору кубат баскычында жайгашкан. Бул планшеттин четиндеги үндү катуулатуу/акырындатуу баскычынын жанындагы жалпак баскыч.\n\nКубат баскычы басылса, экран өчөт."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Манжа изинин сенсору кубат баскычында жайгашкан. Ал түзмөктүн четиндеги үндү катуулатуу/акырындатуу баскычынын жанындагы жалпак баскыч.\n\nКубат баскычы басылса, экран өчөт."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Манжа изинин сенсору кубат баскычында жайгашкан. Ал телефондун четиндеги үндү катуулатуу/акырындатуу баскычынын жанындагы жалпак баскыч.\n\nКубат баскычы басылса, экран өчөт."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Манжа изинин сенсору кубат баскычында жайгашкан. Бул планшеттин четиндеги үндү катуулатуу/акырындатуу баскычынын (көтөрүлгөн) жанындагы жалпак баскыч."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Манжа изинин сенсору кубат баскычында жайгашкан. Бул түзмөктүн четиндеги үндү катуулатуу/акырындатуу баскычынын (көтөрүлгөн) жанындагы жалпак баскыч."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Манжа изинин сенсору кубат баскычында жайгашкан. Бул телефондун четиндеги үндү катуулатуу/акырындатуу баскычынын (көтөрүлгөн) жанындагы жалпак баскыч."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Дагы башка параметрлерди көрүү үчүн телефонуңуздун кулпусун ачыңыз"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Дагы башка параметрлерди көрүү үчүн планшетиңиздин кулпусун ачыңыз"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Дагы башка параметрлерди көрүү үчүн түзмөгүңүздүн кулпусун ачыңыз"</string> diff --git a/packages/SystemUI/res-product/values-lo/strings.xml b/packages/SystemUI/res-product/values-lo/strings.xml index b02256751e1f..fee741dceb28 100644 --- a/packages/SystemUI/res-product/values-lo/strings.xml +++ b/packages/SystemUI/res-product/values-lo/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ທ່ານພະຍາຍາມປົດລັອກໂທລະສັບຜິດ <xliff:g id="NUMBER">%d</xliff:g> ເທື່ອແລ້ວ. ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຈະຖືກລຶບອອກ, ເຊິ່ງຈະລຶບຂໍ້ມູນໂປຣໄຟລ໌ທັງໝົດອອກນຳ."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"ທ່ານແຕ້ມຮູບແບບປົດລັອກຜິດ <xliff:g id="NUMBER_0">%1$d</xliff:g> ເທື່ອແລ້ວ. ຫຼັງຈາກແຕ້ມຜິດອີກ <xliff:g id="NUMBER_1">%2$d</xliff:g> ເທື່ອ, ທ່ານຈະຖືກຖາມໃຫ້ປົດລັອກແທັບເລັດຂອງທ່ານດ້ວຍການເຂົ້າສູ່ລະບົບໂດຍໃຊ້ອີເມວຂອງທ່ານ.\n\n ກະລຸນາລອງໃໝ່ໃນອີກ <xliff:g id="NUMBER_2">%3$d</xliff:g> ວິນາທີ."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"ທ່ານແຕ້ມຮູບແບບປົດລັອກຜິດ <xliff:g id="NUMBER_0">%1$d</xliff:g> ເທື່ອແລ້ວ. ຫຼັງຈາກແຕ້ມຜິດອີກ <xliff:g id="NUMBER_1">%2$d</xliff:g> ເທື່ອ, ທ່ານຈະຖືກຖາມໃຫ້ປົດໂທລະສັບຂອງທ່ານດ້ວຍການເຂົ້າສູ່ລະບົບໂດຍໃຊ້ບັນຊີອີເມວ.\n\n ກະລຸນາລອງໃໝ່ໃນອີກ <xliff:g id="NUMBER_2">%3$d</xliff:g> ວິນາທີ."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ເຊັນເຊີລາຍນິ້ວມືແມ່ນຢູ່ປຸ່ມເປີດປິດ. ມັນເປັນປຸ່ມຮາບພຽງທີ່ຢູ່ຖັດຈາກປຸ່ມລະດັບສຽງທີ່ຍົກຂຶ້ນມາຢູ່ຂອບຂອງແທັບເລັດ.\n\nການກົດປຸ່ມເປີດປິດຈະປິດໜ້າຈໍ."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ເຊັນເຊີລາຍນິ້ວມືແມ່ນຢູ່ປຸ່ມເປີດປິດ. ມັນເປັນປຸ່ມຮາບພຽງທີ່ຢູ່ຖັດຈາກປຸ່ມລະດັບສຽງທີ່ຍົກຂຶ້ນມາຢູ່ຂອບຂອງອຸປະກອນ.\n\nການກົດປຸ່ມເປີດປິດຈະປິດໜ້າຈໍ."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ເຊັນເຊີລາຍນິ້ວມືແມ່ນຢູ່ປຸ່ມເປີດປິດ. ມັນເປັນປຸ່ມຮາບພຽງທີ່ຢູ່ຖັດຈາກປຸ່ມລະດັບສຽງທີ່ຍົກຂຶ້ນມາຢູ່ຂອບຂອງໂທລະສັບ.\n\nການກົດປຸ່ມເປີດປິດຈະປິດໜ້າຈໍ."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ເຊັນເຊີລາຍນິ້ວມືແມ່ນຢູ່ປຸ່ມເປີດປິດ. ມັນເປັນປຸ່ມແປໆທີ່ຢູ່ຖັດຈາກປຸ່ມລະດັບສຽງຢູ່ຂອບຂອງແທັບເລັດ."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ເຊັນເຊີລາຍນິ້ວມືແມ່ນຢູ່ປຸ່ມເປີດປິດ. ມັນເປັນປຸ່ມແປໆທີ່ຢູ່ຖັດຈາກປຸ່ມລະດັບສຽງຢູ່ຂອບຂອງອຸປະກອນ."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ເຊັນເຊີລາຍນິ້ວມືແມ່ນຢູ່ປຸ່ມເປີດປິດ. ມັນເປັນປຸ່ມແປໆທີ່ຢູ່ຖັດຈາກປຸ່ມລະດັບສຽງຢູ່ຂອບຂອງໂທລະສັບ."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ປົດລັອກໂທລະສັບຂອງທ່ານເພື່ອໃຊ້ຕົວເລືອກເພີ່ມເຕີມ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ປົດລັອກແທັບເລັດຂອງທ່ານເພື່ອໃຊ້ຕົວເລືອກເພີ່ມເຕີມ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ປົດລັອກອຸປະກອນຂອງທ່ານເພື່ອໃຊ້ຕົວເລືອກເພີ່ມເຕີມ"</string> diff --git a/packages/SystemUI/res-product/values-lt/strings.xml b/packages/SystemUI/res-product/values-lt/strings.xml index 945a45e04317..3035e4ff510f 100644 --- a/packages/SystemUI/res-product/values-lt/strings.xml +++ b/packages/SystemUI/res-product/values-lt/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"<xliff:g id="NUMBER">%d</xliff:g> kart. nesėkmingai bandėte atrakinti telefoną. Darbo profilis bus pašalintas ir visi profilio duomenys bus ištrinti."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"<xliff:g id="NUMBER_0">%1$d</xliff:g> kart. netinkamai nupiešėte atrakinimo piešinį. Po dar <xliff:g id="NUMBER_1">%2$d</xliff:g> nesėkm. band. būsite paprašyti atrakinti planšetinį kompiuterį naudodami el. pašto paskyrą.\n\n Bandykite dar kartą po <xliff:g id="NUMBER_2">%3$d</xliff:g> sek."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"<xliff:g id="NUMBER_0">%1$d</xliff:g> kart. netinkamai nupiešėte atrakinimo piešinį. Po dar <xliff:g id="NUMBER_1">%2$d</xliff:g> nesėkm. band. būsite paprašyti atrakinti telefoną naudodami el. pašto paskyrą.\n\n Bandykite dar kartą po <xliff:g id="NUMBER_2">%3$d</xliff:g> sek."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Piršto atspaudo jutiklis yra ant maitinimo mygtuko. Tai yra plokščias mygtukas šalia iškilusio garsumo mygtuko ant planšetinio kompiuterio krašto.\n\nPaspaudus maitinimo mygtuką išjungiamas ekranas."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Piršto atspaudo jutiklis yra ant maitinimo mygtuko. Tai yra plokščias mygtukas šalia iškilusio garsumo mygtuko ant įrenginio krašto.\n\nPaspaudus maitinimo mygtuką išjungiamas ekranas."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Piršto atspaudo jutiklis yra ant maitinimo mygtuko. Tai yra plokščias mygtukas šalia iškilusio garsumo mygtuko ant telefono krašto.\n\nPaspaudus maitinimo mygtuką išjungiamas ekranas."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Piršto atspaudo jutiklis yra ant maitinimo mygtuko. Tai yra plokščias mygtukas šalia iškilusio garsumo mygtuko ant planšetinio kompiuterio krašto."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Piršto atspaudo jutiklis yra ant maitinimo mygtuko. Tai yra plokščias mygtukas šalia iškilusio garsumo mygtuko ant įrenginio krašto."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Piršto atspaudo jutiklis yra ant maitinimo mygtuko. Tai yra plokščias mygtukas šalia iškilusio garsumo mygtuko ant telefono krašto."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Atrakinkite telefoną, kad galėtumėte naudoti daugiau parinkčių"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Atrakinkite planšetinį kompiuterį, kad galėtumėte naudoti daugiau parinkčių"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Atrakinkite įrenginį, kad galėtumėte naudoti daugiau parinkčių"</string> diff --git a/packages/SystemUI/res-product/values-lv/strings.xml b/packages/SystemUI/res-product/values-lv/strings.xml index a7842bdd0646..8e9c064d7ef2 100644 --- a/packages/SystemUI/res-product/values-lv/strings.xml +++ b/packages/SystemUI/res-product/values-lv/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Jūs <xliff:g id="NUMBER">%d</xliff:g> reizi(-es) nesekmīgi mēģinājāt atbloķēt tālruni. Darba profils tiks noņemts, kā arī visi profila dati tiks dzēsti."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Jūs <xliff:g id="NUMBER_0">%1$d</xliff:g> reizi(-es) nepareizi norādījāt atbloķēšanas kombināciju. Pēc vēl <xliff:g id="NUMBER_1">%2$d</xliff:g> neveiksmīga(-iem) mēģinājuma(-iem) planšetdators būs jāatbloķē, izmantojot e-pasta kontu.\n\nMēģiniet vēlreiz pēc <xliff:g id="NUMBER_2">%3$d</xliff:g> sekundes(-ēm)."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Jūs <xliff:g id="NUMBER_0">%1$d</xliff:g> reizi(-es) nepareizi norādījāt atbloķēšanas kombināciju. Pēc vēl <xliff:g id="NUMBER_1">%2$d</xliff:g> nesekmīga(-iem) mēģinājuma(-iem) tālrunis būs jāatbloķē, izmantojot e-pasta kontu.\n\nMēģiniet vēlreiz pēc <xliff:g id="NUMBER_2">%3$d</xliff:g> sekundes(-ēm)."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Pirksta nospieduma sensors atrodas uz barošanas pogas. Barošanas poga ir plakanā poga, kas atrodas blakus augstākai skaļuma pogai planšetdatora sānos.\n\nNospiežot barošanas pogu, tiek izslēgts ekrāns."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Pirksta nospieduma sensors atrodas uz barošanas pogas. Barošanas poga ir plakanā poga, kas atrodas blakus augstākai skaļuma pogai ierīces sānos.\n\nNospiežot barošanas pogu, tiek izslēgts ekrāns."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Pirksta nospieduma sensors atrodas uz barošanas pogas. Barošanas poga ir plakanā poga, kas atrodas blakus augstākai skaļuma pogai tālruņa sānos.\n\nNospiežot barošanas pogu, tiek izslēgts ekrāns."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Pirksta nospieduma sensors atrodas uz barošanas pogas. Tā ir plakanā poga, kas atrodas blakus augstākai skaļuma pogai planšetdatora sānos."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Pirksta nospieduma sensors atrodas uz barošanas pogas. Tā ir plakanā poga, kas atrodas blakus augstākai skaļuma pogai ierīces sānos."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Pirksta nospieduma sensors atrodas uz barošanas pogas. Tā ir plakanā poga, kas atrodas blakus augstākai skaļuma pogai tālruņa sānos."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Atbloķējiet tālruni, lai skatītu citas opcijas."</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Atbloķējiet planšetdatoru, lai skatītu citas opcijas."</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Atbloķējiet ierīci, lai skatītu citas opcijas."</string> diff --git a/packages/SystemUI/res-product/values-mk/strings.xml b/packages/SystemUI/res-product/values-mk/strings.xml index 23649d3075fe..6d34f97a2d87 100644 --- a/packages/SystemUI/res-product/values-mk/strings.xml +++ b/packages/SystemUI/res-product/values-mk/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Погрешно се обидовте да го отклучите телефонот <xliff:g id="NUMBER">%d</xliff:g> пати. Работниот профил ќе се отстрани, со што ќе се избришат сите податоци на профилот."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Погрешно ја употребивте вашата шема на отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараме да го отклучите таблетот со сметка на е-пошта.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Погрешно ја употребивте вашата шема на отклучување <xliff:g id="NUMBER_0">%1$d</xliff:g> пати. По уште <xliff:g id="NUMBER_1">%2$d</xliff:g> неуспешни обиди, ќе побараме да го отклучите телефонот со сметка на е-пошта.\n\n Обидете се повторно за <xliff:g id="NUMBER_2">%3$d</xliff:g> секунди."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Сензорот за отпечатоци се наоѓа на копчето за вклучување. Тоа е рамното копче веднаш до подигнатото копче за јачина на звук на работ на таблетот.\n\nАко го притиснете копчето за вклучување, ќе се исклучи екранот."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Сензорот за отпечатоци се наоѓа на копчето за вклучување. Тоа е рамното копче веднаш до подигнатото копче за јачина на звук на работ на уредот.\n\nАко го притиснете копчето за вклучување, ќе се исклучи екранот."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Сензорот за отпечатоци се наоѓа на копчето за вклучување. Тоа е рамното копче веднаш до подигнатото копче за јачина на звук на работ на телефонот.\n\nАко го притиснете копчето за вклучување, ќе се исклучи екранот."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Сензорот за отпечатоци се наоѓа на копчето за вклучување. Тоа е рамното копче веднаш до подигнатото копче за јачина на звук на работ од таблетот."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Сензорот за отпечатоци се наоѓа на копчето за вклучување. Тоа е рамното копче веднаш до подигнатото копче за јачина на звук на работ од уредот."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Сензорот за отпечатоци се наоѓа на копчето за вклучување. Тоа е рамното копче веднаш до подигнатото копче за јачина на звук на работ од телефонот."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Отклучето го вашиот телефон за повеќе опции"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Отклучето го вашиот таблет за повеќе опции"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Отклучето го вашиот уред за повеќе опции"</string> diff --git a/packages/SystemUI/res-product/values-ml/strings.xml b/packages/SystemUI/res-product/values-ml/strings.xml index 23a8a500aa0a..d1e7b4b023ec 100644 --- a/packages/SystemUI/res-product/values-ml/strings.xml +++ b/packages/SystemUI/res-product/values-ml/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"നിങ്ങൾ <xliff:g id="NUMBER">%d</xliff:g> തവണ തെറ്റായ രീതിയിൽ ഫോൺ അൺലോക്ക് ചെയ്യാൻ ശ്രമിച്ചു. ഔദ്യോഗിക പ്രൊഫൈൽ നീക്കം ചെയ്യപ്പെടുകയും, അതുവഴി എല്ലാ പ്രൊഫൈൽ ഡാറ്റയും ഇല്ലാതാകുകയും ചെയ്യും."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"നിങ്ങൾ <xliff:g id="NUMBER_0">%1$d</xliff:g> തവണ തെറ്റായ രീതിയിൽ അൺലോക്ക് പാറ്റേൺ വരച്ചു. <xliff:g id="NUMBER_1">%2$d</xliff:g> ശ്രമങ്ങൾ കൂടി പരാജയപ്പെട്ടാൽ, ഒരു ഇമെയിൽ അക്കൗണ്ടുപയോഗിച്ച് ടാബ്ലെറ്റ് അൺലോക്ക് ചെയ്യാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> സെക്കന്റ് കഴിഞ്ഞ് വീണ്ടും ശ്രമിക്കുക."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"നിങ്ങൾ <xliff:g id="NUMBER_0">%1$d</xliff:g> തവണ തെറ്റായ രീതിയിൽ അൺലോക്ക് പാറ്റേൺ വരച്ചു. <xliff:g id="NUMBER_1">%2$d</xliff:g> ശ്രമങ്ങൾ കൂടി പരാജയപ്പെട്ടാൽ, ഒരു ഇമെയിൽ അക്കൗണ്ടുപയോഗിച്ച് ഫോൺ അൺലോക്ക് ചെയ്യാൻ നിങ്ങളോട് ആവശ്യപ്പെടും.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> സെക്കന്റ് കഴിഞ്ഞ് വീണ്ടും ശ്രമിക്കുക."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"പവർ ബട്ടണിലാണ് ഫിംഗർപ്രിന്റ് സെൻസർ ഉള്ളത്. ടാബ്ലെറ്റിന്റെ അരികിൽ ഉയർന്ന് നിൽക്കുന്ന ശബ്ദ ബട്ടണിന്റെ അടുത്തുള്ള പരന്ന ബട്ടൺ ആണ് ഇത്.\n\nപവർ ബട്ടൺ അമർത്തുമ്പോൾ സ്ക്രീൻ ഓഫാകും."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"പവർ ബട്ടണിലാണ് ഫിംഗർപ്രിന്റ് സെൻസർ ഉള്ളത്. ഉപകരണത്തിന്റെ അരികിൽ ഉയർന്ന് നിൽക്കുന്ന ശബ്ദ ബട്ടണിന്റെ അടുത്തുള്ള പരന്ന ബട്ടൺ ആണ് ഇത്.\n\nപവർ ബട്ടൺ അമർത്തുമ്പോൾ സ്ക്രീൻ ഓഫാകും."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"പവർ ബട്ടണിലാണ് ഫിംഗർപ്രിന്റ് സെൻസർ ഉള്ളത്. ഫോണിന്റെ അരികിൽ ഉയർന്ന് നിൽക്കുന്ന ശബ്ദ ബട്ടണിന്റെ അടുത്തുള്ള പരന്ന ബട്ടൺ ആണ് ഇത്.\n\nപവർ ബട്ടൺ അമർത്തുമ്പോൾ സ്ക്രീൻ ഓഫാകും."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"പവർ ബട്ടണിലാണ് ഫിംഗർപ്രിന്റ് സെൻസർ ഉള്ളത്. ടാബ്ലെറ്റിന്റെ അറ്റത്ത് ഉയർന്ന് നിൽക്കുന്ന ശബ്ദ ബട്ടണിന്റെ അടുത്തുള്ള പരന്ന ബട്ടൺ ആണ് ഇത്."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"പവർ ബട്ടണിലാണ് ഫിംഗർപ്രിന്റ് സെൻസർ ഉള്ളത്. ഉപകരണത്തിന്റെ അറ്റത്ത് ഉയർന്ന് നിൽക്കുന്ന ശബ്ദ ബട്ടണിന്റെ അടുത്തുള്ള പരന്ന ബട്ടൺ ആണ് ഇത്."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"പവർ ബട്ടണിലാണ് ഫിംഗർപ്രിന്റ് സെൻസർ ഉള്ളത്. ഫോണിന്റെ അറ്റത്ത് ഉയർന്ന് നിൽക്കുന്ന ശബ്ദ ബട്ടണിന്റെ അടുത്തുള്ള പരന്ന ബട്ടൺ ആണ് ഇത്."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"കൂടുതൽ ഓപ്ഷനുകൾക്ക് നിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യുക"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"കൂടുതൽ ഓപ്ഷനുകൾക്ക് നിങ്ങളുടെ ടാബ്ലെറ്റ് അൺലോക്ക് ചെയ്യുക"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"കൂടുതൽ ഓപ്ഷനുകൾക്ക് നിങ്ങളുടെ ഉപകരണം അൺലോക്ക് ചെയ്യുക"</string> diff --git a/packages/SystemUI/res-product/values-mn/strings.xml b/packages/SystemUI/res-product/values-mn/strings.xml index f0fce01ef1b6..1cc1a1c05aa4 100644 --- a/packages/SystemUI/res-product/values-mn/strings.xml +++ b/packages/SystemUI/res-product/values-mn/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Та утасны түгжээг тайлах оролдлогыг <xliff:g id="NUMBER">%d</xliff:g> удаа буруу хийсэн байна. Ажлын профайлыг устгах бөгөөд ингэснээр профайлын бүх өгөгдлийг устгах болно."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Та тайлах хээгээ <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурсан байна. Дахин <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа буруу зурсны дараа та имэйл бүртгэл ашиглан таблетынхаа түгжээг тайлах шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундийн дараа дахин оролдоно уу."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Та тайлах хээгээ <xliff:g id="NUMBER_0">%1$d</xliff:g> удаа буруу зурсан байна. Дахин <xliff:g id="NUMBER_1">%2$d</xliff:g> удаа буруу зурсны дараа та имэйл бүртгэл ашиглан утасныхаа түгжээг тайлах шаардлагатай болно.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> секундийн дараа дахин оролдоно уу."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Хурууны хээ мэдрэгч асаах/унтраах товчин дээр байдаг. Энэ нь таблетын ирмэг дээрх дууны түвшний товгор товчлуурын хажууд байх хавтгай товчлуур юм.\n\nАсаах/унтраах товчийг дарснаар дэлгэц унтарна."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Хурууны хээ мэдрэгч асаах/унтраах товчин дээр байдаг. Энэ нь төхөөрөмжийн ирмэг дээрх дууны түвшний товгор товчлуурын хажууд байх хавтгай товчлуур юм.\n\nАсаах/унтраах товчийг дарснаар дэлгэц унтарна."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Хурууны хээ мэдрэгч асаах/унтраах товчин дээр байдаг. Энэ нь утасны ирмэг дээрх дууны түвшний товгор товчлуурын хажууд байх хавтгай товчлуур юм.\n\nАсаах/унтраах товчийг дарснаар дэлгэц унтарна."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Хурууны хээ мэдрэгч асаах/унтраах товчин дээр байдаг. Энэ нь таблетын ирмэг дээрх дууны түвшний товгор товчлуурын хажууд байх хавтгай товчлуур юм."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Хурууны хээ мэдрэгч асаах/унтраах товчин дээр байдаг. Энэ нь төхөөрөмжийн ирмэг дээрх дууны түвшний товгор товчлуурын хажууд байх хавтгай товчлуур юм."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Хурууны хээ мэдрэгч асаах/унтраах товчин дээр байдаг. Энэ нь утасны ирмэг дээрх дууны түвшний товгор товчлуурын хажууд байх хавтгай товчлуур юм."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Бусад сонголтыг харахын тулд утасныхаа түгжээг тайлна уу"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Бусад сонголтыг харахын тулд таблетынхаа түгжээг тайлна уу"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Бусад сонголтыг харахын тулд төхөөрөмжийнхөө түгжээг тайлна уу"</string> diff --git a/packages/SystemUI/res-product/values-mr/strings.xml b/packages/SystemUI/res-product/values-mr/strings.xml index e76b185b90e7..feb960456790 100644 --- a/packages/SystemUI/res-product/values-mr/strings.xml +++ b/packages/SystemUI/res-product/values-mr/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"तुम्ही फोन अनलॉक करण्याचा <xliff:g id="NUMBER">%d</xliff:g> वेळा चुकीच्या पद्धतीने प्रयत्न केला आहे. कार्य प्रोफाइल काढली जाईल, त्यामुळे सर्व प्रोफाइल डेटा हटवला जाईल."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"तुम्ही तुमचा अनलॉक पॅटर्न <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, तुम्हाला ईमेल खाते वापरून तुमचा टॅबलेट अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"तुम्ही तुमचा अनलॉक पॅटर्न <xliff:g id="NUMBER_0">%1$d</xliff:g> वेळा चुकीच्या पद्धतीने काढला आहे. आणखी <xliff:g id="NUMBER_1">%2$d</xliff:g> अयशस्वी प्रयत्नांनंतर, तुम्हाला ईमेल खाते वापरून तुमचा फोन अनलॉक करण्यास सांगितले जाईल.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकंदांमध्ये पुन्हा प्रयत्न करा."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"फिंगरप्रिंट सेन्सर हे पॉवर बटणावर आहे. हे टॅबलेटच्या कडेला वरती आलेल्या व्हॉल्यूम बटणाच्या बाजूला असलेले सपाट बटण आहे.\n\nपॉवर बटण प्रेस केल्याने स्क्रीन बंद होते."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"फिंगरप्रिंट सेन्सर हे पॉवर बटणावर आहे. हे डिव्हाइसच्या कडेला वरती आलेल्या व्हॉल्यूम बटणाच्या बाजूला असलेले सपाट बटण आहे.\n\nपॉवर बटण प्रेस केल्याने स्क्रीन बंद होते."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"फिंगरप्रिंट सेन्सर हे पॉवर बटणावर आहे. हे फोनच्या कडेला वरती आलेल्या व्हॉल्यूम बटणाच्या बाजूला असलेले सपाट बटण आहे.\n\nपॉवर बटण प्रेस केल्याने स्क्रीन बंद होते."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"फिंगरप्रिंट सेन्सर हे पॉवर बटणावर आहे. टॅबलेटच्या कडेला वर आलेल्या व्हॉल्यूम बटणाच्या बाजूला असलेले सपाट बटण म्हणजे पॉवर बटण."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"फिंगरप्रिंट सेन्सर हे पॉवर बटणावर आहे. डिव्हाइसच्या कडेला वरती आलेल्या व्हॉल्यूम बटणाच्या बाजूला असलेले सपाट बटण म्हणजे पॉवर बटण."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"फिंगरप्रिंट सेन्सर हे पॉवर बटणावर आहे. फोनच्या कडेला वर आलेल्या व्हॉल्यूम बटणाच्या बाजूला असलेले सपाट बटण म्हणजे पॉवर बटण."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"आणखी पर्यायांसाठी तुमचा फोन अनलॉक करा"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"आणखी पर्यायांसाठी तुमचा टॅबलेट अनलॉक करा"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"आणखी पर्यायांसाठी तुमचे डिव्हाइस अनलॉक करा"</string> diff --git a/packages/SystemUI/res-product/values-ms/strings.xml b/packages/SystemUI/res-product/values-ms/strings.xml index 1db5ded16a78..e1e69761caf9 100644 --- a/packages/SystemUI/res-product/values-ms/strings.xml +++ b/packages/SystemUI/res-product/values-ms/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Anda telah salah membuka kunci telefon sebanyak <xliff:g id="NUMBER">%d</xliff:g> kali. Profil kerja ini akan dialih keluar sekali gus memadamkan semua data profil."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Anda telah tersilap lukis corak buka kunci sebanyak <xliff:g id="NUMBER_0">%1$d</xliff:g> kali. Selepas <xliff:g id="NUMBER_1">%2$d</xliff:g> lagi percubaan yang gagal, anda akan diminta membuka kunci tablet anda menggunakan akaun e-mel.\n\n Cuba lagi dalam <xliff:g id="NUMBER_2">%3$d</xliff:g> saat."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Anda telah tersilap lukis corak buka kunci sebanyak <xliff:g id="NUMBER_0">%1$d</xliff:g> kali. Selepas <xliff:g id="NUMBER_1">%2$d</xliff:g> lagi percubaan yang gagal, anda akan diminta membuka kunci telefon anda menggunakan akaun e-mel.\n\n Cuba lagi dalam <xliff:g id="NUMBER_2">%3$d</xliff:g> saat."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Penderia cap jari berada pada butang kuasa. Penderia cap jari ialah butang rata yang terletak bersebelahan butang kelantangan yang timbul pada bahagian tepi tablet.\n\nPenekanan butang kuasa akan mematikan skrin."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Penderia cap jari berada pada butang kuasa. Penderia cap jari ialah butang rata yang terletak bersebelahan butang kelantangan yang timbul pada bahagian tepi peranti.\n\nPenekanan butang kuasa akan mematikan skrin."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Penderia cap jari berada pada butang kuasa. Penderia cap jari ialah butang rata yang terletak bersebelahan butang kelantangan yang timbul pada bahagian tepi telefon.\n\nPenekanan butang kuasa akan mematikan skrin."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Penderia cap jari berada pada butang kuasa. Penderia cap jari ialah butang leper yang terletak bersebelahan butang kelantangan timbul pada bahagian tepi tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Penderia cap jari berada pada butang kuasa. Penderia cap jari ialah butang leper yang terletak bersebelahan butang kelantangan timbul pada bahagian tepi peranti."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Penderia cap jari berada pada butang kuasa. Penderia cap jari ialah butang leper yang terletak bersebelahan butang kelantangan timbul pada bahagian tepi telefon."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Buka kunci telefon anda untuk mendapatkan lagi pilihan"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Buka kunci tablet anda untuk mendapatkan lagi pilihan"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Buka kunci peranti anda untuk mendapatkan lagi pilihan"</string> diff --git a/packages/SystemUI/res-product/values-my/strings.xml b/packages/SystemUI/res-product/values-my/strings.xml index 7b5630200687..4ec1ff6e3bde 100644 --- a/packages/SystemUI/res-product/values-my/strings.xml +++ b/packages/SystemUI/res-product/values-my/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ဖုန်းကို <xliff:g id="NUMBER">%d</xliff:g> ကြိမ် မှားယွင်းစွာ လော့ခ်ဖွင့်ရန် ကြိုးစားခဲ့ပါသည်။ အလုပ်ပရိုဖိုင်ကို ဖယ်ရှားလိုက်မည်ဖြစ်ပြီး ပရိုဖိုင်ဒေတာ အားလုံးကိုလည်း ဖျက်လိုက်ပါမည်။"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"သင်သည် သင်၏ လော့ခ်ဖွင့်ခြင်းပုံစံကို <xliff:g id="NUMBER_0">%1$d</xliff:g> ကြိမ် မှားယွင်းစွာ ဆွဲခဲ့ပါသည်။ <xliff:g id="NUMBER_1">%2$d</xliff:g> ကြိမ် ထပ်မံမှားယွင်းပြီးသည့်နောက်တွင် သင့်အီးမေးလ်အကောင့်အား အသုံးပြု၍ တက်ဘလက်ကို လော့ခ်ဖွင့်ရန် တောင်းဆိုသွားပါမည်။\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> စက္ကန့်အကြာတွင် ထပ်စမ်းကြည့်ပါ။"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"သင်သည် သင်၏ လော့ခ်ဖွင့်ခြင်းပုံစံကို <xliff:g id="NUMBER_0">%1$d</xliff:g> ကြိမ် မှားယွင်းစွာ ဆွဲခဲ့ပါသည်။ <xliff:g id="NUMBER_1">%2$d</xliff:g> ကြိမ် ထပ်မံမှားယွင်းပြီးသည့်နောက်တွင် သင့်အီးမေးလ်အကောင့်အား အသုံးပြု၍ ဖုန်းကို လော့ခ်ဖွင့်ရန် တောင်းဆိုသွားပါမည်။\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> စက္ကန့်အကြာတွင် ထပ်စမ်းကြည့်ပါ။"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"လက်ဗွေ အာရုံခံကိရိယာသည် ဖွင့်ပိတ်ခလုတ်ပေါ်တွင် ရှိသည်။ တက်ဘလက်ဘေးဘက်ရှိ မြင့်တက်နေသည့်အသံထိန်း ခလုတ်၏ ကပ်လျက်ရှိ ခလုတ်ပြားဖြစ်သည်။\n\nဖွင့်ပိတ်ခလုတ်ကိုနှိပ်ပါက ဖန်သားပြင်ပိတ်သွားမည်။"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"လက်ဗွေ အာရုံခံကိရိယာသည် ဖွင့်ပိတ်ခလုတ်ပေါ်တွင် ရှိသည်။ စက်ဘေးဘက်ရှိ မြင့်တက်နေသည့်အသံထိန်း ခလုတ်၏ ကပ်လျက်ရှိ ခလုတ်ပြားဖြစ်သည်။\n\nဖွင့်ပိတ်ခလုတ်ကိုနှိပ်ပါက ဖန်သားပြင်ပိတ်သွားမည်။"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"လက်ဗွေ အာရုံခံကိရိယာသည် ဖွင့်ပိတ်ခလုတ်ပေါ်တွင် ရှိသည်။ ဖုန်းဘေးဘက်ရှိ မြင့်တက်နေသည့်အသံထိန်း ခလုတ်၏ ကပ်လျက်ရှိ ခလုတ်ပြားဖြစ်သည်။\n\nဖွင့်ပိတ်ခလုတ်ကိုနှိပ်ပါက ဖန်သားပြင်ပိတ်သွားမည်။"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"လက်ဗွေ အာရုံခံကိရိယာသည် ဖွင့်ပိတ်ခလုတ်ပေါ်တွင် ရှိသည်။ တက်ဘလက်၏ဘေးဘက်ရှိ အသံထိန်းခလုတ်ဖုသီးနှင့် ကပ်လျက်မှ ခလုတ်ပြားဖြစ်သည်။"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"လက်ဗွေ အာရုံခံကိရိယာသည် ဖွင့်ပိတ်ခလုတ်ပေါ်တွင် ရှိသည်။ စက်၏ဘေးဘက်ရှိ အသံထိန်းခလုတ်ဖုသီးနှင့် ကပ်လျက်မှ ခလုတ်ပြားဖြစ်သည်။"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"လက်ဗွေ အာရုံခံကိရိယာသည် ဖွင့်ပိတ်ခလုတ်ပေါ်တွင် ရှိသည်။ ဖုန်း၏ဘေးဘက်ရှိ အသံထိန်းခလုတ်ဖုသီးနှင့် ကပ်လျက်မှ ခလုတ်ပြားဖြစ်သည်။"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"နောက်ထပ် ထိန်းချုပ်မှုများအတွက် သင့်ဖုန်းကို လော့ခ်ဖွင့်ပါ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"နောက်ထပ် ထိန်းချုပ်မှုများအတွက် သင့်တက်ဘလက်ကို လော့ခ်ဖွင့်ပါ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"နောက်ထပ် ထိန်းချုပ်မှုများအတွက် သင့်စက်ကို လော့ခ်ဖွင့်ပါ"</string> diff --git a/packages/SystemUI/res-product/values-nb/strings.xml b/packages/SystemUI/res-product/values-nb/strings.xml index 621b393417a1..4b16a43c8f09 100644 --- a/packages/SystemUI/res-product/values-nb/strings.xml +++ b/packages/SystemUI/res-product/values-nb/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Du har gjort feil i forsøket på å låse opp telefonen <xliff:g id="NUMBER">%d</xliff:g> ganger. Jobbprofilen blir fjernet, og alle profildataene blir slettet."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Du har tegnet opplåsingsmønsteret feil <xliff:g id="NUMBER_0">%1$d</xliff:g> ganger. Etter ytterligere <xliff:g id="NUMBER_1">%2$d</xliff:g> nye mislykkede forsøk blir du bedt om å låse opp nettbrettet via en e-postkonto.\n\n Prøv på nytt om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Du har tegnet opplåsingsmønsteret feil <xliff:g id="NUMBER_0">%1$d</xliff:g> ganger. Etter ytterligere <xliff:g id="NUMBER_1">%2$d</xliff:g> nye mislykkede forsøk blir du bedt om å låse opp telefonen via en e-postkonto.\n\n Prøv på nytt om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Fingeravtrykkssensoren er på av/på-knappen. Det er den flate knappen ved siden av den opphøyde volumknappen på kanten av nettbrettet.\n\nHvis du trykker på av/på-knappen, slås skjermen av."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Fingeravtrykkssensoren er på av/på-knappen. Det er den flate knappen ved siden av den opphøyde volumknappen på kanten av enheten.\n\nHvis du trykker på av/på-knappen, slås skjermen av."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Fingeravtrykkssensoren er på av/på-knappen. Det er den flate knappen ved siden av den opphøyde volumknappen på kanten av telefonen.\n\nHvis du trykker på av/på-knappen, slås skjermen av."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Fingeravtrykkssensoren er på av/på-knappen. Det er den flate knappen ved siden av den hevede volumknappen på siden av nettbrettet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Fingeravtrykkssensoren er på av/på-knappen. Det er den flate knappen ved siden av den hevede volumknappen på siden av enheten."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Fingeravtrykkssensoren er på av/på-knappen. Det er den flate knappen ved siden av den hevede volumknappen på siden av telefonen."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Lås opp telefonen din for å få flere alternativer"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Lås opp nettbrettet ditt for å få flere alternativer"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Lås opp enheten din for å få flere alternativer"</string> diff --git a/packages/SystemUI/res-product/values-ne/strings.xml b/packages/SystemUI/res-product/values-ne/strings.xml index 5a56c54fd608..7276e232ee26 100644 --- a/packages/SystemUI/res-product/values-ne/strings.xml +++ b/packages/SystemUI/res-product/values-ne/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"तपाईंले <xliff:g id="NUMBER">%d</xliff:g> पटक गलत तरिकाले फोन अनलक गर्ने प्रयास गर्नुभएको छ। कार्य प्रोफाइललाई यसका सबै डेटा मेटिने गरी हटाइने छ।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"तपाईंले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक आफ्नो अनलक गर्ने ढाँचा गलत रूपमा कोर्नुभयो। थप <xliff:g id="NUMBER_1">%2$d</xliff:g> पटक असफल प्रयास गरेपछि, तपाईंलाई एउटा इमेल खाता प्रयोग गरेर आफ्नो ट्याब्लेट अनलक गर्न आग्रह गरिने छ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डमा फेरि प्रयास गर्नुहोस्।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"तपाईंले <xliff:g id="NUMBER_0">%1$d</xliff:g> पटक आफ्नो अनलक गर्ने ढाँचा गलत रूपमा कोर्नुभयो। थप <xliff:g id="NUMBER_1">%2$d</xliff:g> पटक असफल प्रयास गरेपछि, तपाईंलाई एउटा इमेल खाता प्रयोग गरेर आफ्नो फोन अनलक गर्न आग्रह गरिने छ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> सेकेन्डमा फेरि प्रयास गर्नुहोस्।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"फिंगरप्रिन्ट सेन्सर पावर बटनमा छ। यो बटन ट्याब्लेटको किनारामा रहेको थोरै उचालिएको भोल्युम बटनको छेउमा रहेको समतल बटन हो।\n\nतपाईंले पावर बटन थिच्नुभयो भने स्क्रिन अफ हुन्छ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"फिंगरप्रिन्ट सेन्सर पावर बटनमा छ। यो बटन डिभाइसको किनारामा रहेको थोरै उचालिएको भोल्युम बटनको छेउमा रहेको समतल बटन हो।\n\nतपाईंले पावर बटन थिच्नुभयो भने स्क्रिन अफ हुन्छ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"फिंगरप्रिन्ट सेन्सर पावर बटनमा छ। यो बटन फोनको किनारामा रहेको थोरै उचालिएको भोल्युम बटनको छेउमा रहेको समतल बटन हो।\n\nतपाईंले पावर बटन थिच्नुभयो भने स्क्रिन अफ हुन्छ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"फिंगरप्रिन्ट सेन्सर पावर बटनमा हुन्छ। यो ट्याब्लेटको किनारामा रहेको थोरै उचालिएको भोल्युम बटनको छेउमा रहेको चेप्टो बटन नै पावर बटन हो।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"फिंगरप्रिन्ट सेन्सर पावर बटनमा हुन्छ। यो डिभाइसको किनारामा रहेको थोरै उचालिएको भोल्युम बटनको छेउमा रहेको चेप्टो बटन नै पावर बटन हो।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"फिंगरप्रिन्ट सेन्सर पावर बटनमा हुन्छ। यो फोनको किनारामा रहेको थोरै उचालिएको भोल्युम बटनको छेउमा रहेको चेप्टो बटन नै पावर बटन हो।"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"थप विकल्पहरू हेर्न आफ्नो फोन अनलक गर्नुहोस्"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"थप विकल्पहरू हेर्न आफ्नो ट्याब्लेट अनलक गर्नुहोस्"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"थप विकल्पहरू हेर्न आफ्नो डिभाइस अनलक गर्नुहोस्"</string> diff --git a/packages/SystemUI/res-product/values-nl/strings.xml b/packages/SystemUI/res-product/values-nl/strings.xml index b2343c3fd73d..6109e17942f3 100644 --- a/packages/SystemUI/res-product/values-nl/strings.xml +++ b/packages/SystemUI/res-product/values-nl/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Je hebt <xliff:g id="NUMBER">%d</xliff:g> mislukte pogingen ondernomen om de telefoon te ontgrendelen. Het werkprofiel wordt verwijderd, waardoor alle profielgegevens worden verwijderd."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Je hebt je ontgrendelingspatroon <xliff:g id="NUMBER_0">%1$d</xliff:g> keer onjuist getekend. Na nog eens <xliff:g id="NUMBER_1">%2$d</xliff:g> mislukte pogingen wordt je gevraagd je tablet te ontgrendelen via een e-mailaccount.\n\n Probeer het over <xliff:g id="NUMBER_2">%3$d</xliff:g> seconden opnieuw."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Je hebt je ontgrendelingspatroon <xliff:g id="NUMBER_0">%1$d</xliff:g> keer onjuist getekend. Na nog eens <xliff:g id="NUMBER_1">%2$d</xliff:g> mislukte pogingen wordt je gevraagd je telefoon te ontgrendelen via een e-mailaccount.\n\n Probeer het over <xliff:g id="NUMBER_2">%3$d</xliff:g> seconden opnieuw."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Je vindt de vingerafdruksensor onder de aan/uit-knop. Het is de platte knop naast de verhoogde volumeknop aan de zijkant van de tablet.\n\nAls je op de aan/uit-knop drukt, gaat het scherm uit."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Je vindt de vingerafdruksensor onder de aan/uit-knop. Het is de platte knop naast de verhoogde volumeknop aan de zijkant van het apparaat.\n\nAls je op de aan/uit-knop drukt, gaat het scherm uit."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Je vindt de vingerafdruksensor onder de aan/uit-knop. Het is de platte knop naast de verhoogde volumeknop aan de zijkant van de telefoon.\n\nAls je op de aan/uit-knop drukt, gaat het scherm uit."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Je vindt de vingerafdruksensor onder de aan/uit-knop. Het is de platte knop naast de verhoogde volumeknop aan de zijkant van de tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Je vindt de vingerafdruksensor onder de aan/uit-knop. Het is de platte knop naast de verhoogde volumeknop aan de zijkant van het apparaat."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Je vindt de vingerafdruksensor onder de aan/uit-knop. Het is de platte knop naast de verhoogde volumeknop aan de zijkant van de telefoon."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Ontgrendel je telefoon voor meer opties"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Ontgrendel je tablet voor meer opties"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Ontgrendel je apparaat voor meer opties"</string> diff --git a/packages/SystemUI/res-product/values-or/strings.xml b/packages/SystemUI/res-product/values-or/strings.xml index 85efb09b20e7..dde1aa88db3e 100644 --- a/packages/SystemUI/res-product/values-or/strings.xml +++ b/packages/SystemUI/res-product/values-or/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ଆପଣ ଫୋନ୍କୁ ଅନ୍ଲକ୍ କରିବାକୁ<xliff:g id="NUMBER">%d</xliff:g>ଥର ଭୁଲ ପ୍ରୟାସ କରିଛନ୍ତି। କାର୍ଯ୍ୟ ପ୍ରୋଫାଇଲ୍ ବାହାର କରିଦିଆଯିବ, ଯାହା ଫଳରେ ସମସ୍ତ ପ୍ରୋଫାଇଲ୍ ଡାଟା ଡିଲିଟ୍ ହେବ।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"ଆପଣ ଆପଣଙ୍କ ଅନ୍ଲକ୍ ପାଟର୍ନକୁ <xliff:g id="NUMBER_0">%1$d</xliff:g>ଥର ଭୁଲ ଭାବେ ଡ୍ର କରିଛନ୍ତି। ଆଉ <xliff:g id="NUMBER_1">%2$d</xliff:g>ଟି ଭୁଲ ପ୍ରୟାସ ପରେ ଆପଣଙ୍କୁ ଏକ ଇମେଲ୍ ଆକାଉଣ୍ଟ ବ୍ୟବହାର କରି ଆପଣଙ୍କ ଟାବ୍ଲୋଟ୍କୁ ଅନ୍ଲକ୍ କରିବା ପାଇଁ କୁହାଯିବ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ସେକେଣ୍ଡ ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"ଆପଣ ଆପଣଙ୍କ ଅନ୍ଲକ୍ ପାଟର୍ନକୁ <xliff:g id="NUMBER_0">%1$d</xliff:g>ଥର ଭୁଲ ଭାବେ ଡ୍ର କରିଛନ୍ତି। ଆଉ <xliff:g id="NUMBER_1">%2$d</xliff:g>ଟି ଭୁଲ ପ୍ରୟାସ ପରେ ଆପଣଙ୍କୁ ଏକ ଇମେଲ୍ ଆକାଉଣ୍ଟ ବ୍ୟବହାର କରି ଆପଣଙ୍କ ଫୋନ୍କୁ ଅନ୍ଲକ୍ କରିବା ପାଇଁ କୁହାଯିବ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ସେକେଣ୍ଡ ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ଟିପଚିହ୍ନ ସେନ୍ସର ପାୱାର ବଟନରେ ଅଛି। ଟାବଲେଟର ଧାରରେ ଥିବା ବଢ଼ାଯାଇଥିବା ଭଲ୍ୟୁମ ବଟନ ପାଖରେ ଏହା ଫ୍ଲାଟ ବଟନ ଅଟେ।\n\nପାୱାର ବଟନକୁ ଦବାଇବା ଦ୍ୱାରା ସ୍କ୍ରିନ ବନ୍ଦ ହୋଇଥାଏ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ଟିପଚିହ୍ନ ସେନ୍ସର ପାୱାର ବଟନରେ ଅଛି। ଡିଭାଇସର ଧାରରେ ଥିବା ବଢ଼ାଯାଇଥିବା ଭଲ୍ୟୁମ ବଟନ ପାଖରେ ଏହା ଫ୍ଲାଟ ବଟନ ଅଟେ।\n\nପାୱାର ବଟନକୁ ଦବାଇବା ଦ୍ୱାରା ସ୍କ୍ରିନ ବନ୍ଦ ହୋଇଥାଏ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ଟିପଚିହ୍ନ ସେନ୍ସର ପାୱାର ବଟନରେ ଅଛି। ଫୋନର ଧାରରେ ଥିବା ବଢ଼ାଯାଇଥିବା ଭଲ୍ୟୁମ ବଟନ ପାଖରେ ଏହା ଫ୍ଲାଟ ବଟନ ଅଟେ।\n\nପାୱାର ବଟନକୁ ଦବାଇବା ଦ୍ୱାରା ସ୍କ୍ରିନ ବନ୍ଦ ହୋଇଥାଏ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ଟିପଚିହ୍ନ ସେନ୍ସର ପାୱାର ବଟନରେ ଅଛି। ଏହା ଟାବଲେଟର ଧାରରେ ବଢ଼ାଯାଇଥିବା ଭଲ୍ୟୁମ ବଟନ ପାଖରେ ଥିବା ଫ୍ଲାଟ ବଟନ ଅଟେ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ଟିପଚିହ୍ନ ସେନ୍ସର ପାୱାର ବଟନରେ ଅଛି। ଏହା ଡିଭାଇସର ଧାରରେ ବଢ଼ାଯାଇଥିବା ଭଲ୍ୟୁମ ବଟନ ପାଖରେ ଥିବା ଫ୍ଲାଟ ବଟନ ଅଟେ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ଟିପଚିହ୍ନ ସେନ୍ସର ପାୱାର ବଟନରେ ଅଛି। ଏହା ଫୋନର ଧାରରେ ବଢ଼ାଯାଇଥିବା ଭଲ୍ୟୁମ ବଟନ ପାଖରେ ଥିବା ଫ୍ଲାଟ ବଟନ ଅଟେ।"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଆପଣଙ୍କ ଫୋନ୍ ଅନଲକ୍ କରନ୍ତୁ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଆପଣଙ୍କ ଟାବଲେଟ୍ ଅନଲକ୍ କରନ୍ତୁ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସ୍ ଅନଲକ୍ କରନ୍ତୁ"</string> diff --git a/packages/SystemUI/res-product/values-pa/strings.xml b/packages/SystemUI/res-product/values-pa/strings.xml index 149e58f16b0f..38fd890416c3 100644 --- a/packages/SystemUI/res-product/values-pa/strings.xml +++ b/packages/SystemUI/res-product/values-pa/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ਤੁਸੀਂ <xliff:g id="NUMBER">%d</xliff:g> ਵਾਰ ਗਲਤ ਢੰਗ ਨਾਲ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਹੈ। ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਜਿਸ ਨਾਲ ਸਾਰਾ ਪ੍ਰੋਫਾਈਲ ਡਾਟਾ ਮਿਟ ਜਾਵੇਗਾ।"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਣਲਾਕ ਪੈਟਰਨ ਗਲਤ ਢੰਗ ਨਾਲ ਉਲੀਕਿਆ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣੇ ਟੈਬਲੈੱਟ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਵੇਗਾ।\n\n<xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"ਤੁਸੀਂ <xliff:g id="NUMBER_0">%1$d</xliff:g> ਵਾਰ ਆਪਣਾ ਅਣਲਾਕ ਪੈਟਰਨ ਗਲਤ ਢੰਗ ਨਾਲ ਡ੍ਰਾ ਕੀਤਾ ਹੈ। <xliff:g id="NUMBER_1">%2$d</xliff:g> ਹੋਰ ਅਸਫਲ ਕੋਸ਼ਿਸ਼ਾਂ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਨੂੰ ਇੱਕ ਈਮੇਲ ਖਾਤਾ ਵਰਤਦੇ ਹੋਏ ਆਪਣਾ ਫ਼ੋਨ ਅਣਲਾਕ ਕਰਨ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਪਾਵਰ ਬਟਨ \'ਤੇ ਹੈ। ਇਹ ਟੈਬਲੈੱਟ ਦੇ ਕਿਨਾਰੇ \'ਤੇ ਅਜਿਹਾ ਸਮਤਲ ਬਟਨ ਹੁੰਦਾ ਹੈ ਜੋ ਉੱਭਰੇ ਹੋਏ ਅਵਾਜ਼ ਬਟਨ ਦੇ ਅੱਗੇ ਹੁੰਦਾ ਹੈ।\n\nਪਾਵਰ ਬਟਨ ਦਬਾਉਣ ਨਾਲ ਸਕ੍ਰੀਨ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਪਾਵਰ ਬਟਨ \'ਤੇ ਹੈ। ਇਹ ਡੀਵਾਈਸ ਦੇ ਕਿਨਾਰੇ \'ਤੇ ਅਜਿਹਾ ਸਮਤਲ ਬਟਨ ਹੁੰਦਾ ਹੈ ਜੋ ਉੱਭਰੇ ਹੋਏ ਅਵਾਜ਼ ਬਟਨ ਦੇ ਅੱਗੇ ਹੁੰਦਾ ਹੈ।\n\nਪਾਵਰ ਬਟਨ ਦਬਾਉਣ ਨਾਲ ਸਕ੍ਰੀਨ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ।"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਪਾਵਰ ਬਟਨ \'ਤੇ ਹੈ। ਇਹ ਫ਼ੋਨ ਦੇ ਕਿਨਾਰੇ \'ਤੇ ਅਜਿਹਾ ਸਮਤਲ ਬਟਨ ਹੁੰਦਾ ਹੈ ਜੋ ਉੱਭਰੇ ਹੋਏ ਅਵਾਜ਼ ਬਟਨ ਦੇ ਅੱਗੇ ਹੁੰਦਾ ਹੈ।\n\nਪਾਵਰ ਬਟਨ ਦਬਾਉਣ ਨਾਲ ਸਕ੍ਰੀਨ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਪਾਵਰ ਬਟਨ \'ਤੇ ਹੈ। ਇਹ ਟੈਬਲੈੱਟ ਦੇ ਕਿਨਾਰੇ \'ਤੇ ਅਜਿਹਾ ਸਮਤਲ ਬਟਨ ਹੁੰਦਾ ਹੈ ਜੋ ਉੱਭਰੇ ਹੋਏ ਅਵਾਜ਼ ਬਟਨ ਦੇ ਅੱਗੇ ਹੁੰਦਾ ਹੈ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਪਾਵਰ ਬਟਨ \'ਤੇ ਹੈ। ਇਹ ਡੀਵਾਈਸ ਦੇ ਕਿਨਾਰੇ \'ਤੇ ਅਜਿਹਾ ਸਮਤਲ ਬਟਨ ਹੁੰਦਾ ਹੈ ਜੋ ਉੱਭਰੇ ਹੋਏ ਅਵਾਜ਼ ਬਟਨ ਦੇ ਅੱਗੇ ਹੁੰਦਾ ਹੈ।"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ ਪਾਵਰ ਬਟਨ \'ਤੇ ਹੈ। ਇਹ ਫ਼ੋਨ ਦੇ ਕਿਨਾਰੇ \'ਤੇ ਅਜਿਹਾ ਸਮਤਲ ਬਟਨ ਹੁੰਦਾ ਹੈ ਜੋ ਉੱਭਰੇ ਹੋਏ ਅਵਾਜ਼ ਬਟਨ ਦੇ ਅੱਗੇ ਹੁੰਦਾ ਹੈ।"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਆਪਣਾ ਫ਼ੋਨ ਅਣਲਾਕ ਕਰੋ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਆਪਣਾ ਟੈਬਲੈੱਟ ਅਣਲਾਕ ਕਰੋ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਆਪਣਾ ਡੀਵਾਈਸ ਅਣਲਾਕ ਕਰੋ"</string> diff --git a/packages/SystemUI/res-product/values-pl/strings.xml b/packages/SystemUI/res-product/values-pl/strings.xml index dcd2736db5fb..7dc2dedfd601 100644 --- a/packages/SystemUI/res-product/values-pl/strings.xml +++ b/packages/SystemUI/res-product/values-pl/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Po raz <xliff:g id="NUMBER">%d</xliff:g> próbowano nieprawidłowo odblokować telefon. Profil służbowy zostanie usunięty, co spowoduje skasowanie wszystkich jego danych."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Po raz <xliff:g id="NUMBER_0">%1$d</xliff:g> nieprawidłowo narysowano wzór odblokowania. Po kolejnych <xliff:g id="NUMBER_1">%2$d</xliff:g> nieudanych próbach konieczne będzie odblokowanie tabletu przy użyciu konta e-mail.\n\n Spróbuj ponownie za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Po raz <xliff:g id="NUMBER_0">%1$d</xliff:g> nieprawidłowo narysowano wzór odblokowania. Po kolejnych <xliff:g id="NUMBER_1">%2$d</xliff:g> nieudanych próbach konieczne będzie odblokowanie telefonu przy użyciu konta e-mail.\n\n Spróbuj ponownie za <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Czytnik linii papilarnych znajduje się na przycisku zasilania. To płaski przycisk przy uniesionym przycisku głośności na krawędzi tabletu.\n\nNaciśnięcie przycisku zasilania wyłącza ekran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Czytnik linii papilarnych znajduje się na przycisku zasilania. To płaski przycisk przy uniesionym przycisku głośności na krawędzi urządzenia.\n\nNaciśnięcie przycisku zasilania wyłącza ekran."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Czytnik linii papilarnych znajduje się na przycisku zasilania. To płaski przycisk przy uniesionym przycisku głośności na krawędzi telefonu.\n\nNaciśnięcie przycisku zasilania wyłącza ekran."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Czytnik linii papilarnych znajduje się na przycisku zasilania. To płaski przycisk przy uniesionym przycisku głośności na krawędzi tabletu."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Czytnik linii papilarnych znajduje się na przycisku zasilania. To płaski przycisk przy uniesionym przycisku głośności na krawędzi urządzenia."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Czytnik linii papilarnych znajduje się na przycisku zasilania. To płaski przycisk przy uniesionym przycisku głośności na krawędzi telefonu."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Odblokuj telefon, by wyświetlić więcej opcji"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Odblokuj tablet, by wyświetlić więcej opcji"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Odblokuj urządzenie, by wyświetlić więcej opcji"</string> diff --git a/packages/SystemUI/res-product/values-pt-rBR/strings.xml b/packages/SystemUI/res-product/values-pt-rBR/strings.xml index 319072135c7e..53efe3e984d8 100644 --- a/packages/SystemUI/res-product/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res-product/values-pt-rBR/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Você tentou desbloquear o smartphone incorretamente <xliff:g id="NUMBER">%d</xliff:g> vezes. O perfil de trabalho será removido, o que excluirá todos os dados do perfil."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Você desenhou seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas incorretas, será solicitado que você use uma conta de e-mail para desbloquear o tablet.\n\n Tente novamente em <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Você desenhou seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas incorretas, será solicitado que você use uma conta de e-mail para desbloquear o smartphone.\n\n Tente novamente em <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do tablet.\n\nAo pressionar o botão liga/desliga, a tela é desativada."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do dispositivo.\n\nAo pressionar o botão liga/desliga, a tela é desativada."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do smartphone.\n\nAo pressionar o botão liga/desliga, a tela é desativada."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do smartphone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloqueie seu smartphone para ver mais opções"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloqueie seu tablet para ver mais opções"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloqueie seu dispositivo para ver mais opções"</string> diff --git a/packages/SystemUI/res-product/values-pt-rPT/strings.xml b/packages/SystemUI/res-product/values-pt-rPT/strings.xml index a801da15ad62..29a200112732 100644 --- a/packages/SystemUI/res-product/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res-product/values-pt-rPT/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Tentou desbloquear incorretamente o telemóvel <xliff:g id="NUMBER">%d</xliff:g> vezes. O perfil de trabalho será removido, o que eliminará todos os dados do mesmo."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Desenhou o padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Após mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas sem êxito, ser-lhe-á pedido para desbloquear o tablet através de uma conta de email.\n\n Tente novamente dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Desenhou o padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Após mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas sem êxito, ser-lhe-á pedido para desbloquear o telemóvel através de uma conta de email.\n\n Tente novamente dentro de <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"O sensor de impressões digitais encontra-se no botão ligar/desligar. É o botão plano junto ao botão de volume com relevo na extremidade do tablet.\n\nPremir o botão ligar/desligar desativa o ecrã."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"O sensor de impressões digitais encontra-se no botão ligar/desligar. É o botão plano junto ao botão de volume com relevo na extremidade do dispositivo.\n\nPremir o botão ligar/desligar desativa o ecrã."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"O sensor de impressões digitais encontra-se no botão ligar/desligar. É o botão plano junto ao botão de volume com relevo na extremidade do telemóvel.\n\nPremir o botão ligar/desligar desativa o ecrã."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"O sensor de impressões digitais encontra-se no botão ligar/desligar. É o botão sem relevo junto ao botão de volume com relevo na extremidade do tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"O sensor de impressões digitais encontra-se no botão ligar/desligar. É o botão sem relevo junto ao botão de volume com relevo na extremidade do dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"O sensor de impressões digitais encontra-se no botão ligar/desligar. É o botão sem relevo junto ao botão de volume com relevo na extremidade do telemóvel."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloqueie o telemóvel para obter mais opções."</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloqueie o tablet para obter mais opções."</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloqueie o dispositivo para obter mais opções."</string> diff --git a/packages/SystemUI/res-product/values-pt/strings.xml b/packages/SystemUI/res-product/values-pt/strings.xml index 319072135c7e..53efe3e984d8 100644 --- a/packages/SystemUI/res-product/values-pt/strings.xml +++ b/packages/SystemUI/res-product/values-pt/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Você tentou desbloquear o smartphone incorretamente <xliff:g id="NUMBER">%d</xliff:g> vezes. O perfil de trabalho será removido, o que excluirá todos os dados do perfil."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Você desenhou seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas incorretas, será solicitado que você use uma conta de e-mail para desbloquear o tablet.\n\n Tente novamente em <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Você desenhou seu padrão de desbloqueio incorretamente <xliff:g id="NUMBER_0">%1$d</xliff:g> vezes. Se fizer mais <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativas incorretas, será solicitado que você use uma conta de e-mail para desbloquear o smartphone.\n\n Tente novamente em <xliff:g id="NUMBER_2">%3$d</xliff:g> segundos."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do tablet.\n\nAo pressionar o botão liga/desliga, a tela é desativada."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do dispositivo.\n\nAo pressionar o botão liga/desliga, a tela é desativada."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do smartphone.\n\nAo pressionar o botão liga/desliga, a tela é desativada."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do dispositivo."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"O sensor de impressão digital fica no botão liga/desliga. Ele é plano e está ao lado do botão de volume na borda do smartphone."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Desbloqueie seu smartphone para ver mais opções"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Desbloqueie seu tablet para ver mais opções"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Desbloqueie seu dispositivo para ver mais opções"</string> diff --git a/packages/SystemUI/res-product/values-ro/strings.xml b/packages/SystemUI/res-product/values-ro/strings.xml index 101ebe7f74f4..cd08dee9e442 100644 --- a/packages/SystemUI/res-product/values-ro/strings.xml +++ b/packages/SystemUI/res-product/values-ro/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Ai făcut <xliff:g id="NUMBER">%d</xliff:g> încercări incorecte de deblocare a telefonului. Profilul de serviciu va fi eliminat, iar toate datele profilului vor fi șterse."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Ai desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, ți se va solicita să deblochezi tableta cu ajutorul unui cont de e-mail.\n\n Încearcă din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> secunde."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Ai desenat incorect modelul pentru deblocare de <xliff:g id="NUMBER_0">%1$d</xliff:g> ori. După încă <xliff:g id="NUMBER_1">%2$d</xliff:g> încercări nereușite, ți se va solicita să deblochezi telefonul cu ajutorul unui cont de e-mail.\n\n Încearcă din nou peste <xliff:g id="NUMBER_2">%3$d</xliff:g> secunde."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Senzorul de amprentă se află pe butonul de pornire. Este butonul plat de lângă butonul de volum în relief de pe marginea tabletei.\n\nDacă apeși butonul de pornire, ecranul se va dezactiva."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Senzorul de amprentă se află pe butonul de pornire. Este butonul plat de lângă butonul de volum în relief de pe marginea dispozitivului.\n\nDacă apeși butonul de pornire, ecranul se va dezactiva."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Senzorul de amprentă se află pe butonul de pornire. Este butonul plat de lângă butonul de volum în relief de pe marginea telefonului.\n\nDacă apeși butonul de pornire, ecranul se va dezactiva."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Senzorul de amprentă se află pe butonul de pornire. Este butonul plat de lângă butonul de volum în relief de pe marginea tabletei."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Senzorul de amprentă se află pe butonul de pornire. Este butonul plat de lângă butonul de volum în relief de pe marginea dispozitivului."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Senzorul de amprentă se află pe butonul de pornire. Este butonul plat de lângă butonul de volum în relief de pe marginea telefonului."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Deblochează telefonul pentru mai multe opțiuni"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Deblochează tableta pentru mai multe opțiuni"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Deblochează dispozitivul pentru mai multe opțiuni"</string> diff --git a/packages/SystemUI/res-product/values-ru/strings.xml b/packages/SystemUI/res-product/values-ru/strings.xml index 32e18c4edac5..1649c0294927 100644 --- a/packages/SystemUI/res-product/values-ru/strings.xml +++ b/packages/SystemUI/res-product/values-ru/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Вы несколько раз (<xliff:g id="NUMBER">%d</xliff:g>) не смогли разблокировать телефон. Рабочий профиль и все его данные будут удалены."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Вы несколько раз (<xliff:g id="NUMBER_0">%1$d</xliff:g>) ввели неверный графический ключ. Осталось попыток: <xliff:g id="NUMBER_1">%2$d</xliff:g>. В случае неудачи вам будет предложено разблокировать планшет с помощью аккаунта электронной почты.\n\nПовторите попытку через <xliff:g id="NUMBER_2">%3$d</xliff:g> сек."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Вы несколько раз (<xliff:g id="NUMBER_0">%1$d</xliff:g>) ввели неверный графический ключ. Осталось попыток: <xliff:g id="NUMBER_1">%2$d</xliff:g>. В случае неудачи вам будет предложено разблокировать телефон с помощью аккаунта электронной почты.\n\nПовторите попытку через <xliff:g id="NUMBER_2">%3$d</xliff:g> сек."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Сканер отпечатков пальцев находится на кнопке питания. Это плоская кнопка рядом с приподнятой кнопкой регулировки громкости на боковой стороне устройства.\n\nНажав кнопку питания, вы выключите экран."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Сканер отпечатков пальцев находится на кнопке питания. Это плоская кнопка рядом с приподнятой кнопкой регулировки громкости на боковой стороне устройства.\n\nНажав кнопку питания, вы выключите экран."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Сканер отпечатков пальцев находится на кнопке питания. Это плоская кнопка рядом с приподнятой кнопкой регулировки громкости на боковой стороне устройства.\n\nНажав кнопку питания, вы выключите экран."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Сканер отпечатков пальцев находится на кнопке питания. Она плоская и расположена рядом с приподнятой кнопкой регулировки громкости на боковой стороне планшета."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Сканер отпечатков пальцев находится на кнопке питания. Она плоская и расположена рядом с приподнятой кнопкой регулировки громкости на боковой стороне устройства."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Сканер отпечатков пальцев находится на кнопке питания. Она плоская и расположена рядом с приподнятой кнопкой регулировки громкости на боковой стороне телефона."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Чтобы посмотреть дополнительные параметры, разблокируйте телефон."</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Чтобы посмотреть дополнительные параметры, разблокируйте планшет."</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Чтобы посмотреть дополнительные параметры, разблокируйте устройство."</string> diff --git a/packages/SystemUI/res-product/values-si/strings.xml b/packages/SystemUI/res-product/values-si/strings.xml index bbd7aa563419..4ab2a4bc2e56 100644 --- a/packages/SystemUI/res-product/values-si/strings.xml +++ b/packages/SystemUI/res-product/values-si/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"ඔබ දුරකථනය අගුළු හැරීමට <xliff:g id="NUMBER">%d</xliff:g> වරක් වැරදියට උත්සාහ කර ඇත. කාර්යාල පැතිකඩ ඉවත් කරනු ඇති අතර, එය සියලු පැතිකඩ දත්ත මකනු ඇත."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"ඔබ අගුළු ඇරිමේ රටාව <xliff:g id="NUMBER_0">%1$d</xliff:g> වතාවක් වැරදියට ඇඳ ඇත. තවත් අසාර්ථක උත්සාහ <xliff:g id="NUMBER_1">%2$d</xliff:g> කින් පසුව, ඊ-තැපැල් ගිණුම භාවිතා කරමින් ඔබගේ ටැබ්ලටයේ අගුළු ඇරීමට ඔබට පවසනු ඇත.\n\n නැවත තත්පර <xliff:g id="NUMBER_2">%3$d</xliff:g> කින් උත්සාහ කරන්න."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"ඔබ වැරදියට <xliff:g id="NUMBER_0">%1$d</xliff:g> වතාවක් ඔබගේ අගුළු හැරීමේ රටාව ඇඳ ඇත. අසාර්ථක උත්සහ කිරීම් <xliff:g id="NUMBER_1">%2$d</xliff:g> න් පසුව, ඔබගේ ඊ-තැපැල් ලිපිනය භාවිතයෙන් ඔබගේ දුරකථනය අගුළු හැරීමට ඔබගෙන් අසයි.\n\n තත්පර <xliff:g id="NUMBER_2">%3$d</xliff:g> න් පසුව නැවත උත්සහ කරන්න."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"ඇඟිලි සලකුණු සංවේදකය බල බොත්තම මත ඇත. එය ටැබ්ලටයෙහි කෙළවරේ ඇති ඉහළ හඬ පරිමා බොත්තම අසල ඇති පැතලි බොත්තමයි.\n\nබල බොත්තම එබීම තිරය ක්රියා විරහිත කරයි."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"ඇඟිලි සලකුණු සංවේදකය බල බොත්තම මත ඇත. එය උපාංගයෙහි කෙළවරේ ඇති ඉහළ හඬ පරිමා බොත්තම අසල ඇති පැතලි බොත්තමයි.\n\nබල බොත්තම එබීම තිරය ක්රියා විරහිත කරයි."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"ඇඟිලි සලකුණු සංවේදකය බල බොත්තම මත ඇත. එය දුරකථනයෙහි කෙළවරේ ඇති ඉහළ හඬ පරිමා බොත්තම අසල ඇති පැතලි බොත්තමයි.\n\nබල බොත්තම එබීම තිරය ක්රියා විරහිත කරයි."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"ඇඟිලි සලකුණු සංවේදකය බල බොත්තම මත ඇත. එය ටැබ්ලටයෙහි කෙළවර ඇති ඉහළ හඬ පරිමා බොත්තම අසල ඇති පැතලි බොත්තමයි."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"ඇඟිලි සලකුණු සංවේදකය බල බොත්තම මත ඇත. එය උපාංගයෙහි කෙළවර ඇති ඉහළ හඬ පරිමා බොත්තම අසල ඇති පැතලි බොත්තමයි."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"ඇඟිලි සලකුණු සංවේදකය බල බොත්තම මත ඇත. එය දුරකථනයෙහි කෙළවර ඇති ඉහළ හඬ පරිමා බොත්තම අසල ඇති පැතලි බොත්තමයි."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"තව විකල්ප සඳහා ඔබේ දුරකථනය අගුලු හරින්න"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"තව විකල්ප සඳහා ඔබේ ටැබ්ලට් පරිගණකය අගුලු හරින්න"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"තව විකල්ප සඳහා ඔබේ උපාංගය අගුලු හරින්න"</string> diff --git a/packages/SystemUI/res-product/values-sk/strings.xml b/packages/SystemUI/res-product/values-sk/strings.xml index 4a142081a6fb..21bcc2a24fd8 100644 --- a/packages/SystemUI/res-product/values-sk/strings.xml +++ b/packages/SystemUI/res-product/values-sk/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Telefón ste sa pokúsili <xliff:g id="NUMBER">%d</xliff:g>‑krát nesprávne odomknúť. Pracovný profil bude odstránený spolu so všetkými údajmi."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"<xliff:g id="NUMBER_0">%1$d</xliff:g>‑krát ste nesprávne nakreslili svoj bezpečnostný vzor. Po <xliff:g id="NUMBER_1">%2$d</xliff:g> ďalších neúspešných pokusoch sa zobrazí výzva na odomknutie tabletu pomocou e‑mailového účtu.\n\n Skúste to znova o <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Už ste <xliff:g id="NUMBER_0">%1$d</xliff:g>‑krát nesprávne nakreslili svoj bezpečnostný vzor. Po <xliff:g id="NUMBER_1">%2$d</xliff:g> ďalších neúspešných pokusoch sa zobrazí výzva na odomknutie telefónu pomocou e‑mailového účtu.\n\n Skúste to znova o <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Senzor odtlačkov prstov je na vypínači. Ide o ploché tlačidlo vedľa vypuklého tlačidla hlasitosti na okraji tabletu.\n\nStlačením vypínača vypnete obrazovku."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Senzor odtlačkov prstov je na vypínači. Ide o ploché tlačidlo vedľa vypuklého tlačidla hlasitosti na okraji zariadenia.\n\nStlačením vypínača vypnete obrazovku."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Senzor odtlačkov prstov je na vypínači. Ide o ploché tlačidlo vedľa vypuklého tlačidla hlasitosti na okraji telefónu.\n\nStlačením vypínača vypnete obrazovku."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Senzor odtlačkov prstov je na vypínači. Je to ploché tlačidlo vedľa vypuklého tlačidla hlasitosti na okraji tabletu."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Senzor odtlačkov prstov je na vypínači. Je to ploché tlačidlo vedľa vypuklého tlačidla hlasitosti na okraji zariadenia."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Senzor odtlačkov prstov je na vypínači. Je to ploché tlačidlo vedľa vypuklého tlačidla hlasitosti na okraji telefónu."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Ak chcete zobraziť ďalšie možnosti, odomknite telefón"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Ak chcete zobraziť ďalšie možnosti, odomknite tablet"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Ak chcete zobraziť ďalšie možnosti, odomknite zariadenie"</string> diff --git a/packages/SystemUI/res-product/values-sl/strings.xml b/packages/SystemUI/res-product/values-sl/strings.xml index 811933566e7f..95191a4b8d6f 100644 --- a/packages/SystemUI/res-product/values-sl/strings.xml +++ b/packages/SystemUI/res-product/values-sl/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Telefon ste neuspešno poskusili odkleniti <xliff:g id="NUMBER">%d</xliff:g>-krat. Delovni profil bo odstranjen in vsi podatki profila bodo izbrisani."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Vzorec za odklepanje ste <xliff:g id="NUMBER_0">%1$d</xliff:g>-krat napačno vnesli. Če ga neuspešno poskusite vnesti še <xliff:g id="NUMBER_1">%2$d</xliff:g>-krat, boste pozvani, da tablični računalnik odklenete z e-poštnim računom.\n\nPoskusite znova čez <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Vzorec za odklepanje ste <xliff:g id="NUMBER_0">%1$d</xliff:g>-krat napačno vnesli. Če ga neuspešno poskusite vnesti še <xliff:g id="NUMBER_1">%2$d</xliff:g>-krat, boste pozvani, da telefon odklenete z e-poštnim računom.\n\nPoskusite znova čez <xliff:g id="NUMBER_2">%3$d</xliff:g> s."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Tipalo prstnih odtisov je na gumbu za vklop. To je ploski gumb ob izbočenem gumbu za glasnost na robu tabličnega računalnika.\n\nČe pritisnete gumb za vklop, se zaslon izklopi."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Tipalo prstnih odtisov je na gumbu za vklop. To je ploski gumb ob izbočenem gumbu za glasnost na robu naprave.\n\nČe pritisnete gumb za vklop, se zaslon izklopi."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Tipalo prstnih odtisov je na gumbu za vklop. To je ploski gumb ob izbočenem gumbu za glasnost na robu telefona.\n\nČe pritisnete gumb za vklop, se zaslon izklopi."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Tipalo prstnih odtisov je na gumbu za vklop. To je ploski gumb ob izbočenem gumbu za glasnost na robu tabličnega računalnika."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Tipalo prstnih odtisov je na gumbu za vklop. To je ploski gumb ob izbočenem gumbu za glasnost na robu naprave."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Tipalo prstnih odtisov je na gumbu za vklop. To je ploski gumb ob izbočenem gumbu za glasnost na robu telefona."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Za več možnosti odklenite telefon"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Za več možnosti odklenite tablični računalnik"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Za več možnosti odklenite napravo"</string> diff --git a/packages/SystemUI/res-product/values-sq/strings.xml b/packages/SystemUI/res-product/values-sq/strings.xml index 0b7b77d457ad..435966eb4685 100644 --- a/packages/SystemUI/res-product/values-sq/strings.xml +++ b/packages/SystemUI/res-product/values-sq/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Ke tentuar <xliff:g id="NUMBER">%d</xliff:g> herë pa sukses për ta shkyçur telefonin. Profili i punës do të hiqet, gjë që do të fshijë të gjitha të dhënat e profilit."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Ke vizatuar <xliff:g id="NUMBER_0">%1$d</xliff:g> herë pa sukses motivin tënd të shkyçjes. Pas <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativave të tjera të pasuksesshme, do të të duhet ta shkyçësh tabletin duke përdorur një llogari email-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%3$d</xliff:g> sekonda."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Ke vizatuar <xliff:g id="NUMBER_0">%1$d</xliff:g> herë pa sukses motivin tënd. Pas <xliff:g id="NUMBER_1">%2$d</xliff:g> tentativave të tjera të pasuksesshme, do të të duhet ta shkyçësh telefonin duke përdorur një llogari email-i.\n\n Provo sërish për <xliff:g id="NUMBER_2">%3$d</xliff:g> sekonda."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Sensori i gjurmës së gishtit është në butonin e energjisë. Ai është butoni i rrafshët pranë butonit të ngritur të volumit në anë të tabletit.\n\nShtypja e butonit të energjisë e fik ekranin."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Sensori i gjurmës së gishtit është në butonin e energjisë. Ai është butoni i rrafshët pranë butonit të ngritur të volumit në anë të pajisjes.\n\nShtypja e butonit të energjisë e fik ekranin."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Sensori i gjurmës së gishtit është në butonin e energjisë. Ai është butoni i rrafshët pranë butonit të ngritur të volumit në anë të telefonit.\n\nShtypja e butonit të energjisë e fik ekranin."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Sensori i gjurmës së gishtit është në butonin e energjisë. Ai është butoni i rrafshët pranë butonit të ngritur të volumit në anë të tabletit."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Sensori i gjurmës së gishtit është në butonin e energjisë. Ai është butoni i rrafshët pranë butonit të ngritur të volumit në anë të pajisjes."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Sensori i gjurmës së gishtit është në butonin e energjisë. Ai është butoni i rrafshët pranë butonit të ngritur të volumit në anë të telefonit."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Shkyçe telefonin për më shumë opsione"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Shkyçe tabletin për më shumë opsione"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Shkyçe pajisjen për më shumë opsione"</string> diff --git a/packages/SystemUI/res-product/values-sr/strings.xml b/packages/SystemUI/res-product/values-sr/strings.xml index 00269da5afeb..4c458a4493d1 100644 --- a/packages/SystemUI/res-product/values-sr/strings.xml +++ b/packages/SystemUI/res-product/values-sr/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Погрешно сте покушали да откључате телефон <xliff:g id="NUMBER">%d</xliff:g> пута. Уклонићемо пословни профил, чиме се бришу сви подаци са профила."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Нетачно сте нацртали шаблон за откључавање <xliff:g id="NUMBER_0">%1$d</xliff:g> пута. Ако погрешно покушате још <xliff:g id="NUMBER_1">%2$d</xliff:g> пута, затражићемо да откључате таблет помоћу имејл налога.\n\n Пробајте поново за <xliff:g id="NUMBER_2">%3$d</xliff:g> сек."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Нетачно сте нацртали шаблон за откључавање <xliff:g id="NUMBER_0">%1$d</xliff:g> пута. Ако погрешно покушате још <xliff:g id="NUMBER_1">%2$d</xliff:g> пута, затражићемо да откључате телефон помоћу имејл налога.\n\n Пробајте поново за <xliff:g id="NUMBER_2">%3$d</xliff:g> сек."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Сензор за отисак прста се налази на дугмету за укључивање. То је равно дугме поред издигнутог дугмета за јачину звука на ивици таблета.\n\nПритиском на дугме за укључивање искључује се екран."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Сензор за отисак прста се налази на дугмету за укључивање. То је равно дугме поред издигнутог дугмета за јачину звука на ивици уређаја.\n\nПритиском на дугме за укључивање искључује се екран."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Сензор за отисак прста се налази на дугмету за укључивање. То је равно дугме поред издигнутог дугмета за јачину звука на ивици телефона.\n\nПритиском на дугме за укључивање искључује се екран."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Сензор за отисак прста се налази на дугмету за укључивање. То је равно дугме поред издигнутог дугмета за јачину звука на ивици таблета."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Сензор за отисак прста се налази на дугмету за укључивање. То је равно дугме поред издигнутог дугмета за јачину звука на ивици уређаја."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Сензор за отисак прста се налази на дугмету за укључивање. То је равно дугме поред издигнутог дугмета за јачину звука на ивици телефона."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Откључајте телефон за још опција"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Откључајте таблет за још опција"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Откључајте уређај за још опција"</string> diff --git a/packages/SystemUI/res-product/values-sv/strings.xml b/packages/SystemUI/res-product/values-sv/strings.xml index c0c1a1088b8b..e2bbfa1915ff 100644 --- a/packages/SystemUI/res-product/values-sv/strings.xml +++ b/packages/SystemUI/res-product/values-sv/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Du har försökt låsa upp telefonen på ett felaktigt sätt <xliff:g id="NUMBER">%d</xliff:g> gånger. Jobbprofilen tas bort och all profildata raderas."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Du har ritat ditt grafiska lösenord fel <xliff:g id="NUMBER_0">%1$d</xliff:g> gånger. Efter ytterligare <xliff:g id="NUMBER_1">%2$d</xliff:g> försök måste du låsa upp surfplattan med hjälp av ett e-postkonto.\n\n Försök igen om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Du har ritat ditt grafiska lösenord fel <xliff:g id="NUMBER_0">%1$d</xliff:g> gånger. Efter ytterligare <xliff:g id="NUMBER_1">%2$d</xliff:g> försök måste du låsa upp telefonen med hjälp av ett e-postkonto.\n\n Försök igen om <xliff:g id="NUMBER_2">%3$d</xliff:g> sekunder."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Fingeravtryckssensorn sitter på av/på-knappen. Det är den platta knappen bredvid den upphöjda volymknappen på kanten av surfplattan.\n\nOm du trycker på av/på-knappen stängs skärmen av."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Fingeravtryckssensorn sitter på av/på-knappen. Det är den platta knappen bredvid den upphöjda volymknappen på kanten av enheten.\n\nOm du trycker på av/på-knappen stängs skärmen av."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Fingeravtryckssensorn sitter på av/på-knappen. Det är den platta knappen bredvid den upphöjda volymknappen på kanten av telefonen.\n\nOm du trycker på av/på-knappen stängs skärmen av."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Fingeravtryckssensorn sitter på av/på-knappen. Det är den platta knappen bredvid den upphöjda volymknappen på surfplattans kant."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Fingeravtryckssensorn sitter på av/på-knappen. Det är den platta knappen bredvid den upphöjda volymknappen på enhetens kant."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Fingeravtryckssensorn sitter på av/på-knappen. Det är den platta knappen bredvid den upphöjda volymknappen på telefonens kant."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Lås upp telefonen för fler alternativ"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Lås upp surfplattan för fler alternativ"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Lås upp enheten för fler alternativ"</string> diff --git a/packages/SystemUI/res-product/values-sw/strings.xml b/packages/SystemUI/res-product/values-sw/strings.xml index 8edbede88e98..2ebc3ebe3ca2 100644 --- a/packages/SystemUI/res-product/values-sw/strings.xml +++ b/packages/SystemUI/res-product/values-sw/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Umejaribu kufungua simu mara <xliff:g id="NUMBER">%d</xliff:g> bila mafanikio. Wasifu wa kazini utaondolewa, hatua itakayofuta data yote ya wasifu."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Umeweka mchoro usio sahihi wa kufungua skrini mara <xliff:g id="NUMBER_0">%1$d</xliff:g>. Baada ya majaribio <xliff:g id="NUMBER_1">%2$d</xliff:g> zaidi bila mafanikio, utaombwa ufungue kompyuta yako kibao kwa kutumia akaunti ya barua pepe.\n\n Jaribu tena baada ya sekunde <xliff:g id="NUMBER_2">%3$d</xliff:g>."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Umeweka mchoro usio sahihi wa kufungua skrini mara <xliff:g id="NUMBER_0">%1$d</xliff:g>. Ukikosea mara nyingine <xliff:g id="NUMBER_1">%2$d</xliff:g>, utaombwa ufungue simu yako kwa kutumia akaunti ya barua pepe.\n\n Jaribu tena baada ya sekunde <xliff:g id="NUMBER_2">%3$d</xliff:g>."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Kitambuzi cha alama ya kidole kinapatikana kwenye kitufe cha kuwasha/kuzima. Ni kitufe bapa pembeni pa kitufe cha sauti kilichoinuka kwenye ukingo wa kompyuta kibao.\n\nUkibonyeza kitufe cha kuwasha/kuzima skrini itazima."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Kitambuzi cha alama ya kidole kinapatikana kwenye kitufe cha kuwasha/kuzima. Ni kitufe bapa pembeni pa kitufe cha sauti kilichoinuka kwenye ukingo wa kifaa.\n\nUkibonyeza kitufe cha kuwasha/kuzima skrini itazima."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Kitambuzi cha alama ya kidole kinapatikana kwenye kitufe cha kuwasha/kuzima. Ni kitufe bapa pembeni pa kitufe cha sauti kilichoinuka kwenye ukingo wa simu.\n\nUkibonyeza kitufe cha kuwasha/kuzima skrini itazima."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Kitambuzi cha alama ya kidole kinapatikana kwenye kitufe cha kuwasha/kuzima. Ni kitufe bapa pembeni pa kitufe cha sauti kilichoinuka kwenye ukingo wa kompyuta kibao."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Kitambuzi cha alama ya kidole kinapatikana kwenye kitufe cha kuwasha/kuzima. Ni kitufe bapa pembeni pa kitufe cha sauti kilichoinuka kwenye ukingo wa kifaa."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Kitambuzi cha alama ya kidole kinapatikana kwenye kitufe cha kuwasha/kuzima. Ni kitufe bapa pembeni pa kitufe cha sauti kilichoinuka kwenye ukingo wa simu."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Fungua simu yako ili upate chaguo zaidi"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Fungua kompyuta yako kibao ili upate chaguo zaidi"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Fungua kifaa chako ili upate chaguo zaidi"</string> diff --git a/packages/SystemUI/res-product/values-ta/strings.xml b/packages/SystemUI/res-product/values-ta/strings.xml index 84c9f4dccdcc..967afedf5309 100644 --- a/packages/SystemUI/res-product/values-ta/strings.xml +++ b/packages/SystemUI/res-product/values-ta/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"மொபைலை அன்லாக் செய்ய, <xliff:g id="NUMBER">%d</xliff:g> முறை தவறாக முயன்றுவிட்டதனால் பணிக் கணக்கு அகற்றப்படும். இதனால் அதிலுள்ள அனைத்துச் சுயவிவரத் தரவும் நீக்கப்படும்."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"அன்லாக் பேட்டர்னை, <xliff:g id="NUMBER_0">%1$d</xliff:g> முறை தவறாக வரைந்துவிட்டீர்கள். இன்னும் <xliff:g id="NUMBER_1">%2$d</xliff:g> முறை தவறாக வரைந்தால், மின்னஞ்சல் கணக்கைப் பயன்படுத்தி டேப்லெட்டை அன்லாக் செய்யும்படி கேட்கப்படுவீர்கள்.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> வினாடிகளில் மீண்டும் முயலவும்."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"அன்லாக் பேட்டர்னை, <xliff:g id="NUMBER_0">%1$d</xliff:g> முறை தவறாக வரைந்துவிட்டீர்கள். இன்னும் <xliff:g id="NUMBER_1">%2$d</xliff:g> முறை தவறாக வரைந்தால், மின்னஞ்சல் கணக்கைப் பயன்படுத்தி மொபைலை அன்லாக் செய்யும்படி கேட்கப்படுவீர்கள்.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> வினாடிகளில் மீண்டும் முயலவும்."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"\'கைரேகை சென்சார்\' பவர் பட்டனில் உள்ளது. இது டேப்லெட்டின் விளிம்பில் சற்று மேலெழும்பிய ஒலியளவு பட்டனுக்கு அருகில் இருக்கும் தட்டையான பட்டனாகும்.\n\nபவர் பட்டனை அழுத்தினால் திரை ஆஃப் ஆகும்."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"\'கைரேகை சென்சார்\' பவர் பட்டனில் உள்ளது. இது சாதனத்தின் விளிம்பில் சற்று மேலெழும்பிய ஒலியளவு பட்டனுக்கு அருகில் இருக்கும் தட்டையான பட்டனாகும்.\n\nபவர் பட்டனை அழுத்தினால் திரை ஆஃப் ஆகும்."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"\'கைரேகை சென்சார்\' பவர் பட்டனில் உள்ளது. இது மொபைலின் விளிம்பில் சற்று மேலெழும்பிய ஒலியளவு பட்டனுக்கு அருகில் இருக்கும் தட்டையான பட்டனாகும்.\n\nபவர் பட்டனை அழுத்தினால் திரை ஆஃப் ஆகும்."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"\'கைரேகை சென்சார்\' பவர் பட்டனில் உள்ளது. இது டேப்லெட்டின் விளிம்பில் சற்று மேலெழும்பிய ஒலியளவு பட்டனுக்கு அடுத்துள்ள தட்டையான பட்டனாகும்."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"\'கைரேகை சென்சார்\' பவர் பட்டனில் உள்ளது. இது சாதனத்தின் விளிம்பில் சற்று மேலெழும்பிய ஒலியளவு பட்டனுக்கு அடுத்துள்ள தட்டையான பட்டனாகும்."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"\'கைரேகை சென்சார்\' பவர் பட்டனில் உள்ளது. இது மொபைலின் விளிம்பில் சற்று மேலெழும்பிய ஒலியளவு பட்டனுக்கு அடுத்துள்ள தட்டையான பட்டனாகும்."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"மேலும் விருப்பங்களுக்கு மொபைலை அன்லாக் செய்யவும்"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"மேலும் விருப்பங்களுக்கு டேப்லெட்டை அன்லாக் செய்யவும்"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"மேலும் விருப்பங்களுக்குச் சாதனத்தை அன்லாக் செய்யவும்"</string> diff --git a/packages/SystemUI/res-product/values-te/strings.xml b/packages/SystemUI/res-product/values-te/strings.xml index 1f66c5016886..98b2189de684 100644 --- a/packages/SystemUI/res-product/values-te/strings.xml +++ b/packages/SystemUI/res-product/values-te/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"మీరు ఫోన్ను అన్లాక్ చేయడానికి <xliff:g id="NUMBER">%d</xliff:g> సార్లు తప్పు ప్రయత్నాలు చేశారు. కార్యాలయ ప్రొఫైల్ తీసివేయబడుతుంది, దీని వలన ప్రొఫైల్ డేటా మొత్తం తొలగించబడుతుంది."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"మీరు మీ అన్లాక్ నమూనాను <xliff:g id="NUMBER_0">%1$d</xliff:g> సార్లు తప్పుగా గీసారు. మరో <xliff:g id="NUMBER_1">%2$d</xliff:g> ప్రయత్నాలలో విఫలమైతే, మీరు ఈమెయిల్ ఖాతాను ఉపయోగించి మీ టాబ్లెట్ను అన్లాక్ చేయాల్సి వస్తుంది.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> సెకన్లలో మళ్లీ ప్రయత్నించండి."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"మీరు మీ అన్లాక్ నమూనాను <xliff:g id="NUMBER_0">%1$d</xliff:g> సార్లు తప్పుగా గీసారు. మరో <xliff:g id="NUMBER_1">%2$d</xliff:g> ప్రయత్నాలలో విఫలమైతే, మీరు ఈమెయిల్ ఖాతాను ఉపయోగించి మీ ఫోన్ను అన్లాక్ చేయాల్సి వస్తుంది.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> సెకన్లలో మళ్లీ ప్రయత్నించండి."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"వేలిముద్ర సెన్సార్ పవర్ బటన్పై ఉంది. ఇది టాబ్లెట్ అంచున వాల్యూమ్ పెంచడానికి ఉపయోగించే వాల్యూమ్ బటన్ పక్కన ఉన్న ఫ్లాట్ బటన్.\n\nపవర్ బటన్ను నొక్కితే స్క్రీన్ ఆఫ్ అవుతుంది."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"వేలిముద్ర సెన్సార్ పవర్ బటన్పై ఉంది. ఇది పరికరం అంచున వాల్యూమ్ పెంచడానికి ఉపయోగించే వాల్యూమ్ బటన్ పక్కన ఉన్న ఫ్లాట్ బటన్.\n\nపవర్ బటన్ను నొక్కితే స్క్రీన్ ఆఫ్ అవుతుంది."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"వేలిముద్ర సెన్సార్ పవర్ బటన్పై ఉంది. ఇది ఫోన్ అంచున వాల్యూమ్ పెంచడానికి ఉపయోగించే వాల్యూమ్ బటన్ పక్కన ఉన్న ఫ్లాట్ బటన్.\n\nపవర్ బటన్ను నొక్కితే స్క్రీన్ ఆఫ్ అవుతుంది."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"వేలిముద్ర సెన్సార్ పవర్ బటన్పై ఉంది. ఇది, ఈ టాబ్లెట్ అంచున ఉబ్బెత్తుగా ఉన్న వాల్యూమ్ బటన్ పక్కన ఉన్న ఫ్లాట్ బటన్."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"వేలిముద్ర సెన్సార్ పవర్ బటన్పై ఉంది. ఇది, ఈ పరికరం అంచున ఉబ్బెత్తుగా ఉన్న వాల్యూమ్ బటన్ పక్కన ఉన్న ఫ్లాట్ బటన్."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"వేలిముద్ర సెన్సార్ పవర్ బటన్పై ఉంది. ఇది, ఈ ఫోన్ అంచున ఉబ్బెత్తుగా ఉన్న వాల్యూమ్ బటన్ పక్కన ఉన్న ఫ్లాట్ బటన్."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"మరిన్ని ఆప్షన్ల కోసం మీ ఫోన్ను అన్లాక్ చేయండి"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"మరిన్ని ఆప్షన్ల కోసం మీ టాబ్లెట్ను అన్లాక్ చేయండి"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"మరిన్ని ఆప్షన్ల కోసం మీ పరికరాన్ని అన్లాక్ చేయండి"</string> diff --git a/packages/SystemUI/res-product/values-th/strings.xml b/packages/SystemUI/res-product/values-th/strings.xml index e78cbc44f98c..e3d5640b3981 100644 --- a/packages/SystemUI/res-product/values-th/strings.xml +++ b/packages/SystemUI/res-product/values-th/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"คุณปลดล็อกโทรศัพท์ไม่ถูกต้อง <xliff:g id="NUMBER">%d</xliff:g> ครั้งแล้ว ระบบจะนำโปรไฟล์งานออก ซึ่งจะเป็นการลบข้อมูลทั้งหมดในโปรไฟล์"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"คุณวาดรูปแบบการปลดล็อกไม่ถูกต้อง <xliff:g id="NUMBER_0">%1$d</xliff:g> ครั้งแล้ว หากทำไม่สำเร็จอีก <xliff:g id="NUMBER_1">%2$d</xliff:g> ครั้ง ระบบจะขอให้คุณปลดล็อกแท็บเล็ตโดยใช้บัญชีอีเมล\n\n โปรดลองอีกครั้งใน <xliff:g id="NUMBER_2">%3$d</xliff:g> วินาที"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"คุณวาดรูปแบบการปลดล็อกไม่ถูกต้อง <xliff:g id="NUMBER_0">%1$d</xliff:g> ครั้งแล้ว หากทำไม่สำเร็จอีก <xliff:g id="NUMBER_1">%2$d</xliff:g> ครั้ง ระบบจะขอให้คุณปลดล็อกโทรศัพท์โดยใช้บัญชีอีเมล\n\n โปรดลองอีกครั้งในอีก <xliff:g id="NUMBER_2">%3$d</xliff:g> วินาที"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"เซ็นเซอร์ลายนิ้วมืออยู่ที่ปุ่มเปิด/ปิด ซึ่งเป็นปุ่มแบนข้างปุ่มนูนที่ใช้ปรับระดับเสียงตรงบริเวณขอบของแท็บเล็ต\n\nการกดปุ่มเปิด/ปิดจะเป็นการปิดหน้าจอ"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"เซ็นเซอร์ลายนิ้วมืออยู่ที่ปุ่มเปิด/ปิด ซึ่งเป็นปุ่มแบนข้างปุ่มนูนที่ใช้ปรับระดับเสียงตรงบริเวณขอบของอุปกรณ์\n\nการกดปุ่มเปิด/ปิดจะเป็นการปิดหน้าจอ"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"เซ็นเซอร์ลายนิ้วมืออยู่ที่ปุ่มเปิด/ปิด ซึ่งเป็นปุ่มแบนข้างปุ่มนูนที่ใช้ปรับระดับเสียงตรงบริเวณขอบของโทรศัพท์\n\nการกดปุ่มเปิด/ปิดจะเป็นการปิดหน้าจอ"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"เซ็นเซอร์ลายนิ้วมืออยู่ที่ปุ่มเปิด/ปิด ซึ่งเป็นปุ่มแบนข้างปุ่มนูนที่ใช้ปรับระดับเสียงตรงบริเวณขอบของแท็บเล็ต"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"เซ็นเซอร์ลายนิ้วมืออยู่ที่ปุ่มเปิด/ปิด ซึ่งเป็นปุ่มแบนข้างปุ่มนูนที่ใช้ปรับระดับเสียงตรงบริเวณขอบของอุปกรณ์"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"เซ็นเซอร์ลายนิ้วมืออยู่ที่ปุ่มเปิด/ปิด ซึ่งเป็นปุ่มแบนข้างปุ่มนูนที่ใช้ปรับระดับเสียงตรงบริเวณขอบของโทรศัพท์"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"ปลดล็อกโทรศัพท์เพื่อดูตัวเลือกเพิ่มเติม"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"ปลดล็อกแท็บเล็ตเพื่อดูตัวเลือกเพิ่มเติม"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"ปลดล็อกอุปกรณ์เพื่อดูตัวเลือกเพิ่มเติม"</string> diff --git a/packages/SystemUI/res-product/values-tl/strings.xml b/packages/SystemUI/res-product/values-tl/strings.xml index 4adad1ff2548..4c286eb4d81b 100644 --- a/packages/SystemUI/res-product/values-tl/strings.xml +++ b/packages/SystemUI/res-product/values-tl/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"<xliff:g id="NUMBER">%d</xliff:g> (na) beses mo nang sinubukang i-unlock ang telepono gamit ang maling password. Aalisin ang profile sa trabaho, na magiging dahilan para ma-delete ang lahat ng data sa profile."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"<xliff:g id="NUMBER_0">%1$d</xliff:g> (na) beses kang nagkamali sa pagguhit ng iyong pattern sa pag-unlock. Pagkatapos ng <xliff:g id="NUMBER_1">%2$d</xliff:g> pang hindi matagumpay na pagsubok, hihilingin sa iyong i-unlock ang tablet mo gamit ang isang email account.\n\n Subukan ulit sa loob ng <xliff:g id="NUMBER_2">%3$d</xliff:g> (na) segundo."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"<xliff:g id="NUMBER_0">%1$d</xliff:g> (na) beses kang nagkamali sa pagguhit ng iyong pattern sa pag-unlock. Pagkatapos ng <xliff:g id="NUMBER_1">%2$d</xliff:g> pang hindi matagumpay na pagsubok, hihilingin sa iyong i-unlock ang telepono mo gamit ang isang email account.\n\n Subukan ulit sa loob ng <xliff:g id="NUMBER_2">%3$d</xliff:g> (na) segundo."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Nasa power button ang sensor para sa fingerprint. Ito ang flat na button sa tabi ng nakaangat na button ng volume sa gilid ng tablet.\n\nMamamatay ang screen kapag pinindot ang power button."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Nasa power button ang sensor para sa fingerprint. Ito ang flat na button sa tabi ng nakaangat na button ng volume sa gilid ng device.\n\nMamamatay ang screen kapag pinindot ang power button."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Nasa power button ang sensor para sa fingerprint. Ito ang flat na button sa tabi ng nakaangat na button ng volume sa gilid ng telepono.\n\nMamamatay ang screen kapag pinindot ang power button."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Nasa power button ang sensor para sa fingerprint. Ito ang flat na button sa tabi ng nakaangat na button ng volume sa gilid ng tablet."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Nasa power button ang sensor para sa fingerprint. Ito ang flat na button sa tabi ng nakaangat na button ng volume sa gilid ng device."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Nasa power button ang sensor para sa fingerprint. Ito ang flat na button sa tabi ng nakaangat na button ng volume sa gilid ng telepono."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"I-unlock ang iyong telepono para sa higit pang opsyon"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"I-unlock ang iyong tablet para sa higit pang opsyon"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"I-unlock ang iyong device para sa higit pang opsyon"</string> diff --git a/packages/SystemUI/res-product/values-tr/strings.xml b/packages/SystemUI/res-product/values-tr/strings.xml index 53c60546503e..b376e9806c0e 100644 --- a/packages/SystemUI/res-product/values-tr/strings.xml +++ b/packages/SystemUI/res-product/values-tr/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Telefonun kilidini <xliff:g id="NUMBER">%d</xliff:g> kez hatalı bir şekilde açmayı denediniz. İş profili kaldırılacak ve tüm profil verileri silinecektir."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Kilit açma deseninizi <xliff:g id="NUMBER_0">%1$d</xliff:g> kez hatalı çizdiniz. <xliff:g id="NUMBER_1">%2$d</xliff:g> başarısız deneme daha yaparsanız tabletinizin kilidini bir e-posta hesabı kullanarak açmanız istenir.\n<xliff:g id="NUMBER_2">%3$d</xliff:g>\n saniye içinde tekrar deneyin."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Kilit açma deseninizi <xliff:g id="NUMBER_0">%1$d</xliff:g> kez yanlış çizdiniz. <xliff:g id="NUMBER_1">%2$d</xliff:g> başarısız deneme daha yaparsanız telefonunuzu bir e-posta hesabı kullanarak açmanız istenir.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> saniye içinde tekrar deneyin."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Parmak izi sensörü güç düğmesinin üzerindedir. Bu sensör, tabletin kenarındaki ses yükseltme düğmesinin yanında bulunan düz düğmedir.\n\nGüç düğmesine bastığınızda ekran kapanır."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Parmak izi sensörü güç düğmesinin üzerindedir. Bu sensör, cihazın kenarındaki ses yükseltme düğmesinin yanında bulunan düz düğmedir.\n\nGüç düğmesine bastığınızda ekran kapanır."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Parmak izi sensörü güç düğmesinin üzerindedir. Bu sensör, telefonun kenarındaki ses yükseltme düğmesinin yanında bulunan düz düğmedir.\n\nGüç düğmesine bastığınızda ekran kapanır."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Parmak izi sensörü güç düğmesinin üzerindedir. Bu sensör, tabletin kenarındaki standart ses düğmesinin yanında bulunan düz düğmedir."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Parmak izi sensörü güç düğmesinin üzerindedir. Bu sensör, cihazın kenarındaki standart ses düğmesinin yanında bulunan düz düğmedir."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Parmak izi sensörü güç düğmesinin üzerindedir. Bu sensör, telefonun kenarındaki standart ses düğmesinin yanında bulunan düz düğmedir."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Diğer seçenekler için telefonunuzun kilidini açın"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Diğer seçenekler için tabletinizin kilidini açın"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Diğer seçenekler için cihazınızın kilidini açın"</string> diff --git a/packages/SystemUI/res-product/values-uk/strings.xml b/packages/SystemUI/res-product/values-uk/strings.xml index ef62fff8d3f6..ed0762b1b936 100644 --- a/packages/SystemUI/res-product/values-uk/strings.xml +++ b/packages/SystemUI/res-product/values-uk/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Кількість невдалих спроб розблокувати телефон: <xliff:g id="NUMBER">%d</xliff:g>. Буде видалено робочий профіль і всі його дані."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Ключ розблокування неправильно намальовано стільки разів: <xliff:g id="NUMBER_0">%1$d</xliff:g>. Залишилося спроб: <xliff:g id="NUMBER_1">%2$d</xliff:g>. У разі невдачі з\'явиться запит розблокувати планшет за допомогою облікового запису електронної пошти.\n\n Повторіть спробу за <xliff:g id="NUMBER_2">%3$d</xliff:g> с."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Ключ розблокування неправильно намальовано стільки разів: <xliff:g id="NUMBER_0">%1$d</xliff:g>. Залишилося спроб: <xliff:g id="NUMBER_1">%2$d</xliff:g>. У разі невдачі з\'явиться запит розблокувати телефон за допомогою облікового запису електронної пошти.\n\n Повторіть спробу за <xliff:g id="NUMBER_2">%3$d</xliff:g> с."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Сканер відбитків пальців розташовано на кнопці живлення. Це плоска кнопка, розташована поруч із кнопкою збільшення гучності на бічній крайці планшета.\n\nЯкщо натиснути кнопку живлення, екран вимкнеться."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Сканер відбитків пальців розташовано на кнопці живлення. Це плоска кнопка, розташована поруч із кнопкою збільшення гучності на бічній крайці пристрою.\n\nЯкщо натиснути кнопку живлення, екран вимкнеться."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Сканер відбитків пальців розташовано на кнопці живлення. Це плоска кнопка, розташована поруч із кнопкою збільшення гучності на бічній крайці телефона.\n\nЯкщо натиснути кнопку живлення, екран вимкнеться."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Сканер відбитків пальців розташовано на кнопці живлення. Це плоска кнопка поруч із випуклою кнопкою гучності на бічній крайці планшета."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Сканер відбитків пальців розташовано на кнопці живлення. Це плоска кнопка поруч із випуклою кнопкою гучності на бічній крайці пристрою."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Сканер відбитків пальців розташовано на кнопці живлення. Це плоска кнопка поруч із випуклою кнопкою гучності на бічній крайці телефона."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Розблокуйте телефон, щоб переглянути інші параметри"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Розблокуйте планшет, щоб переглянути інші параметри"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Розблокуйте пристрій, щоб переглянути інші параметри"</string> diff --git a/packages/SystemUI/res-product/values-ur/strings.xml b/packages/SystemUI/res-product/values-ur/strings.xml index e272a33f27f1..c706aba42a70 100644 --- a/packages/SystemUI/res-product/values-ur/strings.xml +++ b/packages/SystemUI/res-product/values-ur/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"آپ نے فون کو غیر مقفل کرنے کیلئے <xliff:g id="NUMBER">%d</xliff:g> بار غلط طریقے سے کوشش کی ہے۔ دفتری پروفائل ہٹا دی جائے گی، جس سے پروفائل کا سبھی ڈیٹا حذف ہو جائے گا۔"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"آپ نے اپنا غیر مقفل کرنے کا پیٹرن <xliff:g id="NUMBER_0">%1$d</xliff:g> بار غلط طریقے سے ڈرا کیا ہے۔ <xliff:g id="NUMBER_1">%2$d</xliff:g> مزید ناکام کوششوں کے بعد، آپ سے ایک ای میل اکاؤنٹ استعمال کر کے اپنا ٹیبلیٹ غیر مقفل کرنے کو کہا جائے گا۔\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> سیکنڈ میں دوبارہ کوشش کریں۔"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"آپ نے اپنا غیر مقفل کرنے کا پیٹرن <xliff:g id="NUMBER_0">%1$d</xliff:g> بار غلط طریقے سے ڈرا کیا ہے۔ <xliff:g id="NUMBER_1">%2$d</xliff:g> مزید ناکام کوششوں کے بعد، آپ سے ایک ای میل اکاؤنٹ استعمال کر کے اپنا فون غیر مقفل کرنے کو کہا جائے گا۔\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> سیکنڈ میں دوبارہ کوشش کریں۔"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"فنگر پرنٹ سینسر پاور بٹن پر موجود ہے۔ یہ ٹیبلیٹ کے کنارے پر ابھرے ہوئے والیوم بٹن کے آگے والا ہموار بٹن ہے۔\n\nپاور بٹن دبانے سے اسکرین آف ہو جاتی ہے۔"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"فنگر پرنٹ سینسر پاور بٹن پر موجود ہے۔ یہ آلے کے کنارے پر ابھرے ہوئے والیوم بٹن کے آگے والا ہموار بٹن ہے۔\n\nپاور بٹن دبانے سے اسکرین آف ہو جاتی ہے۔"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"فنگر پرنٹ سینسر پاور بٹن پر موجود ہے۔ یہ فون کے کنارے پر ابھرے ہوئے والیوم بٹن کے آگے والا ہموار بٹن ہے۔\n\nپاور بٹن دبانے سے اسکرین آف ہو جاتی ہے۔"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"فنگر پرنٹ سینسر پاور بٹن پر موجود ہے۔ یہ ٹیبلیٹ کے کنارے پر ابھرے ہوئے والیوم بٹن کے آگے والا ہموار بٹن ہے۔"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"فنگر پرنٹ سینسر پاور بٹن پر موجود ہے۔ یہ آلے کے کنارے پر ابھرے ہوئے والیوم بٹن کے آگے والا ہموار بٹن ہے۔"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"فنگر پرنٹ سینسر پاور بٹن پر موجود ہے۔ یہ فون کے کنارے پر ابھرے ہوئے والیوم بٹن کے آگے والا ہموار بٹن ہے۔"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"مزید اختیارات کے لیے اپنا فون غیر مقفل کریں"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"مزید اختیارات کے لیے اپنا ٹیبلیٹ غیر مقفل کریں"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"مزید اختیارات کے لیے اپنا آلہ غیر مقفل کریں"</string> diff --git a/packages/SystemUI/res-product/values-uz/strings.xml b/packages/SystemUI/res-product/values-uz/strings.xml index d23f5414775f..3afa1592747c 100644 --- a/packages/SystemUI/res-product/values-uz/strings.xml +++ b/packages/SystemUI/res-product/values-uz/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Siz telefonni qulfdan chiqarish uchun <xliff:g id="NUMBER">%d</xliff:g> marta xato urinish qildingiz. Endi ish profili oʻchirib tashlanadi va undagi barcha maʼlumotlar ham oʻchib ketadi."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Grafik kalit <xliff:g id="NUMBER_0">%1$d</xliff:g> marta xato chizildi. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan keyin sizdan emailingizdan foydalanib, planshet qulfini ochishingiz soʻraladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan keyin yana urinib koʻring."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Grafik kalit <xliff:g id="NUMBER_0">%1$d</xliff:g> marta xato chizildi. <xliff:g id="NUMBER_1">%2$d</xliff:g> marta muvaffaqiyatsiz urinishdan keyin sizdan emailngizdan foydalanib, telefon qulfini ochishingiz soʻraladi.\n\n <xliff:g id="NUMBER_2">%3$d</xliff:g> soniyadan keyin qayta urinib koʻring."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Barmoq izi sensori quvvat tugmasida joylashgan. U tekis tugma planshetning yon chekkasida tovush balandligi tugmasining yonida joylashgan\n\nQuvvat tugmasi bosilganda ekran oʻchadi."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Barmoq izi sensori quvvat tugmasida joylashgan. U tekis tugma qurilmaning yon chekkasida tovush balandligi tugmasining yonida joylashgan.\n\nQuvvat tugmasi bosilganda ekran oʻchadi."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Barmoq izi sensori quvvat tugmasida joylashgan. U tekis tugma telefonning yon chekkasida tovush balandligi tugmasining yonida joylashgan\n\nQuvvat tugmasi bosilganda ekran oʻchadi."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Barmoq izi sensori quvvat tugmasida joylashgan. U tekis tugma planshetning yon chekkasida tovush balandligi tugmasining yonida joylashgan."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Barmoq izi sensori quvvat tugmasida joylashgan. U tekis tugma qurilmaning yon chekkasida tovush balandligi tugmasining yonida joylashgan."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Barmoq izi sensori quvvat tugmasida joylashgan. U tekis tugma telefonning yon chekkasida tovush balandligi tugmasining yonida joylashgan."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Boshqa parametrlar uchun telefoningiz qulfini oching"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Boshqa parametrlar uchun planshetingiz qulfini oching"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Boshqa parametrlar uchun qurilmangiz qulfini oching"</string> diff --git a/packages/SystemUI/res-product/values-vi/strings.xml b/packages/SystemUI/res-product/values-vi/strings.xml index ff87ea80c2a5..6e121c611fcf 100644 --- a/packages/SystemUI/res-product/values-vi/strings.xml +++ b/packages/SystemUI/res-product/values-vi/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Bạn đã mở khóa điện thoại sai <xliff:g id="NUMBER">%d</xliff:g> lần. Hồ sơ công việc sẽ bị xóa, tức là tất cả dữ liệu hồ sơ sẽ bị xóa."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Bạn đã vẽ không chính xác hình mở khóa <xliff:g id="NUMBER_0">%1$d</xliff:g> lần. Sau <xliff:g id="NUMBER_1">%2$d</xliff:g> lần thử không thành công nữa, bạn sẽ được yêu cầu mở khóa máy tính bảng bằng tài khoản email.\n\n Hãy thử lại sau <xliff:g id="NUMBER_2">%3$d</xliff:g> giây."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Bạn đã vẽ không chính xác hình mở khóa <xliff:g id="NUMBER_0">%1$d</xliff:g> lần. Sau <xliff:g id="NUMBER_1">%2$d</xliff:g> lần thử không thành công nữa, bạn sẽ được yêu cầu mở khóa điện thoại bằng tài khoản email.\n\n Hãy thử lại sau <xliff:g id="NUMBER_2">%3$d</xliff:g> giây."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Cảm biến vân tay nằm trên nút nguồn. Đó là nút phẳng bên cạnh nút tăng âm lượng trên cạnh của máy tính bảng.\n\nKhi bạn nhấn nút nguồn, màn hình sẽ tắt."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Cảm biến vân tay nằm trên nút nguồn. Đó là nút phẳng bên cạnh nút tăng âm lượng trên cạnh của thiết bị.\n\nKhi bạn nhấn nút nguồn, màn hình sẽ tắt."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Cảm biến vân tay nằm trên nút nguồn. Đó là nút phẳng bên cạnh nút tăng âm lượng trên cạnh của điện thoại.\n\nKhi bạn nhấn nút nguồn, màn hình sẽ tắt."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Cảm biến vân tay nằm trên nút nguồn. Đó là nút phẳng cạnh nút âm lượng nhô lên trên cạnh của máy tính bảng."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Cảm biến vân tay nằm trên nút nguồn. Đó là nút phẳng cạnh nút âm lượng nhô lên trên cạnh của thiết bị."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Cảm biến vân tay nằm trên nút nguồn. Đó là nút phẳng cạnh nút âm lượng nhô lên trên cạnh của điện thoại."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Mở khóa điện thoại của bạn để xem thêm tùy chọn"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Mở khóa máy tính bảng của bạn để xem thêm tùy chọn"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Mở khóa thiết bị của bạn để xem thêm tùy chọn"</string> diff --git a/packages/SystemUI/res-product/values-zh-rCN/strings.xml b/packages/SystemUI/res-product/values-zh-rCN/strings.xml index f51437e6e872..a60982f8982a 100644 --- a/packages/SystemUI/res-product/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res-product/values-zh-rCN/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"您尝试解锁手机后失败的次数已达 <xliff:g id="NUMBER">%d</xliff:g> 次。系统将移除此工作资料,而这将删除所有的工作资料数据。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"您已 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次画错解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次后仍不成功,系统就会要求您使用自己的电子邮件帐号解锁平板电脑。\n\n请在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒后重试。"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"您已 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次画错解锁图案。如果再尝试 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次后仍不成功,系统就会要求您使用自己的电子邮件帐号解锁手机。\n\n请在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒后重试。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"指纹传感器在电源按钮上。电源按钮是一个扁平按钮,位于平板电脑边缘凸起的音量按钮旁边。\n\n按下电源按钮会关闭屏幕。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"指纹传感器在电源按钮上。电源按钮是一个扁平按钮,位于设备边缘凸起的音量按钮旁边。\n\n按下电源按钮会关闭屏幕。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"指纹传感器在电源按钮上。电源按钮是一个扁平按钮,位于手机边缘凸起的音量按钮旁边。\n\n按下电源按钮会关闭屏幕。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"指纹传感器在电源按钮上。电源按钮是一个扁平按钮,位于平板电脑边缘凸起的音量按钮旁边。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"指纹传感器在电源按钮上。电源按钮是一个扁平按钮,位于设备边缘凸起的音量按钮旁边。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"指纹传感器在电源按钮上。电源按钮是一个扁平按钮,位于手机边缘凸起的音量按钮旁边。"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"解锁手机即可查看更多选项"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"解锁平板电脑即可查看更多选项"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"解锁设备即可查看更多选项"</string> diff --git a/packages/SystemUI/res-product/values-zh-rHK/strings.xml b/packages/SystemUI/res-product/values-zh-rHK/strings.xml index 0d529f9e5601..9e5539835b53 100644 --- a/packages/SystemUI/res-product/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res-product/values-zh-rHK/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"您嘗試解鎖手機已失敗 <xliff:g id="NUMBER">%d</xliff:g> 次。系統將移除此工作設定檔,而所有設定檔資料亦會一併刪除。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"您已畫錯解鎖圖案 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次。如果之後再嘗試 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次仍未成功,系統會要求您透過電郵帳戶解鎖平板電腦。\n\n請在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後再試一次。"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"您已畫錯解鎖圖案 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次。如果之後再嘗試 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次仍未成功,系統會要求您透過電郵帳戶解鎖手機。\n\n請在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後再試一次。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"指紋感應器位於開關按鈕上,開關按鈕形狀扁平,位於平板電腦邊緣凸起的音量按鈕旁。\n\n按下開關按鈕即可關閉螢幕。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"指紋感應器位於開關按鈕上,開關按鈕形狀扁平,位於裝置邊緣凸起的音量按鈕旁。\n\n按下開關按鈕即可關閉螢幕。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"指紋感應器位於開關按鈕上,開關按鈕形狀扁平,位於手機邊緣凸起的音量按鈕旁。\n\n按下開關按鈕即可關閉螢幕。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"指紋感應器位於開關按鈕上,開關按鈕形狀扁平,位於平板電腦邊緣凸起的音量按鈕旁。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"指紋感應器位於開關按鈕上,開關按鈕形狀扁平,位於裝置邊緣凸起的音量按鈕旁。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"指紋感應器位於開關按鈕上,開關按鈕形狀扁平,位於手機邊緣凸起的音量按鈕旁。"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"解鎖手機以存取更多選項"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"解鎖平板電腦以存取更多選項"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"解鎖裝置以存取更多選項"</string> diff --git a/packages/SystemUI/res-product/values-zh-rTW/strings.xml b/packages/SystemUI/res-product/values-zh-rTW/strings.xml index 4715cdbe7194..ae512e0659f8 100644 --- a/packages/SystemUI/res-product/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res-product/values-zh-rTW/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"你嘗試解鎖手機已失敗 <xliff:g id="NUMBER">%d</xliff:g> 次。你的工作資料夾將遭到移除,所有設定檔資料也會一併遭到刪除。"</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"你的解鎖圖案已畫錯 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次,目前還剩 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次機會。如果失敗次數超過限制,系統會要求你透過電子郵件帳戶將平板電腦解鎖。\n\n請在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後再試一次。"</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"你的解鎖圖案已畫錯 <xliff:g id="NUMBER_0">%1$d</xliff:g> 次,目前還剩 <xliff:g id="NUMBER_1">%2$d</xliff:g> 次機會。如果失敗次數超過限制,系統會要求你透過電子郵件帳戶將手機解鎖。\n\n請在 <xliff:g id="NUMBER_2">%3$d</xliff:g> 秒後再試一次。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"指紋感應器在電源鍵上。電源鍵形狀扁平,位於平板電腦側邊的調高音量按鈕旁。\n\n按下電源鍵可關閉螢幕。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"指紋感應器在電源鍵上。電源鍵形狀扁平,位於裝置側邊的調高音量按鈕旁。\n\n按下電源鍵可關閉螢幕。"</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"指紋感應器在電源鍵上。電源鍵形狀扁平,位於手機側邊的調高音量按鈕旁。\n\n按下電源鍵可關閉螢幕。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"指紋感應器在電源鍵上。電源鍵的形狀是扁平的,位在平板電腦側邊凸起的音量按鈕旁。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"指紋感應器在電源鍵上。電源鍵的形狀是扁平的,位在裝置側邊凸起的音量按鈕旁。"</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"指紋感應器在電源鍵上。電源鍵的形狀是扁平的,位在手機側邊凸起的音量按鈕旁。"</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"解鎖手機可查看更多選項"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"解鎖平板電腦可查看更多選項"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"解鎖裝置可查看更多選項"</string> diff --git a/packages/SystemUI/res-product/values-zu/strings.xml b/packages/SystemUI/res-product/values-zu/strings.xml index 26a6f4e79265..6b20014c17b8 100644 --- a/packages/SystemUI/res-product/values-zu/strings.xml +++ b/packages/SystemUI/res-product/values-zu/strings.xml @@ -40,9 +40,9 @@ <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4682221342671290678">"Uzame ngokungalungile ukuvula ifoni izikhathi ezingu-<xliff:g id="NUMBER">%d</xliff:g>. Iphrofayela yomsebenzi izosuswa, okuzosusa yonke idatha yephrofayela."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="1860049973474855672">"Udwebe ngokungalungile iphethini yakho yokuvula ngezikhathi ezingu-<xliff:g id="NUMBER_0">%1$d</xliff:g>. Ngemuva kwemizamo engaphumelelanga kaningi engu-<xliff:g id="NUMBER_1">%2$d</xliff:g>, uzocelwa ukuthi uvule ithebulethi yakho usebenzisa i-akhawunti ye-imeyili.\n\nZama futhi kumasekhondi angu-<xliff:g id="NUMBER_2">%3$d</xliff:g>."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="44112553371516141">"Ukulayisha ungenisa iphathini yakho yokuvula ngendlela engalungile izikhathi ezi-<xliff:g id="NUMBER_0">%1$d</xliff:g> Emva kweminye imizamo engu-<xliff:g id="NUMBER_1">%2$d</xliff:g>, uzocelwa ukuvula ifoni yakho usebenzisa ukungena ngemvume ku-Google\n\n Zame futhi emumva kwengu- <xliff:g id="NUMBER_2">%3$d</xliff:g> imizuzwana."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="1242939073723573315">"Inzwa yesigxivizo somunwe esenkinobhweni yamandla. Yinkinobho eyisicaba eduze kwenkinobho yevolumu ephakanyisiwe emaphethelweni ethebulethi.\n\nUkucindezela inkinobho yamandla kuvala isikrini."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="7305137594359170451">"Inzwa yesigxivizo somunwe esenkinobhweni yamandla. Yinkinobho eyisicaba eduze kwenkinobho yevolumu ephakanyisiwe emaphethelweni edivayisi.\n\nUkucindezela inkinobho yamandla kuvala isikrini."</string> - <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="3238514774114999081">"Inzwa yesigxivizo somunwe esenkinobhweni yamandla. Yinkinobho eyisicaba eduze kwenkinobho yevolumu ephakanyisiwe emaphethelweni efoni.\n\nUkucindezela inkinobho yamandla kuvala isikrini."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="tablet" msgid="3726972508570143945">"Inzwa yesigxivizo somunwe esenkinobhweni yamandla. Inkinobho eyisicaba eduze kwenkinobho yevolumu ephakanyisiwe emaphethelweni wethebulethi."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="device" msgid="2929467060295094725">"Inzwa yesigxivizo somunwe esenkinobhweni yamandla. Inkinobho eyisicaba eduze kwenkinobho yevolumu ephakanyisiwe emaphethelweni edivayisi."</string> + <string name="security_settings_sfps_enroll_find_sensor_message" product="default" msgid="8582726566542997639">"Inzwa yesigxivizo somunwe esenkinobhweni yamandla. Inkinobho eyisicaba eduze kwenkinobho yevolumu ephakanyisiwe emaphethelweni efoni."</string> <string name="global_action_lock_message" product="default" msgid="7092460751050168771">"Vula ifoni yakho ukuthola okunye okungakhethwa"</string> <string name="global_action_lock_message" product="tablet" msgid="1024230056230539493">"Vula ithebulethi yakho ukuthola okunye okungakhethwa"</string> <string name="global_action_lock_message" product="device" msgid="3165224897120346096">"Vula idivayisi yakho ukuthola okunye okungakhethwa"</string> diff --git a/packages/SystemUI/res/layout/chipbar.xml b/packages/SystemUI/res/layout/chipbar.xml index a3171784903f..762dcdced9c4 100644 --- a/packages/SystemUI/res/layout/chipbar.xml +++ b/packages/SystemUI/res/layout/chipbar.xml @@ -55,7 +55,7 @@ android:layout_height="wrap_content" android:layout_weight="1" android:textSize="@dimen/chipbar_text_size" - android:textColor="@android:color/system_accent2_900" + android:textColor="@color/chipbar_text_and_icon_color" android:alpha="0.0" /> diff --git a/packages/SystemUI/res/layout/status_bar_user_chip_container.xml b/packages/SystemUI/res/layout/status_bar_user_chip_container.xml index b374074958cb..80f5d87bec00 100644 --- a/packages/SystemUI/res/layout/status_bar_user_chip_container.xml +++ b/packages/SystemUI/res/layout/status_bar_user_chip_container.xml @@ -24,7 +24,7 @@ android:orientation="horizontal" android:layout_marginEnd="@dimen/status_bar_user_chip_end_margin" android:background="@drawable/status_bar_user_chip_bg" - android:visibility="visible" > + android:visibility="gone" > <ImageView android:id="@+id/current_user_avatar" android:layout_width="@dimen/status_bar_user_chip_avatar_size" android:layout_height="@dimen/status_bar_user_chip_avatar_size" diff --git a/packages/SystemUI/res/raw/biometricprompt_rear_landscape_base.json b/packages/SystemUI/res/raw/biometricprompt_rear_landscape_base.json deleted file mode 100644 index 49c1c40f7f4f..000000000000 --- a/packages/SystemUI/res/raw/biometricprompt_rear_landscape_base.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.8.1","fr":60,"ip":0,"op":21,"w":340,"h":340,"nm":"BiometricPrompt_Rear_Landscape_Base_Foldable","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 18","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[169.478,169.749,0],"ix":2,"l":2},"a":{"a":0,"k":[-48.123,-30.19,0],"ix":1,"l":2},"s":{"a":0,"k":[132,132,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":900,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey400","cl":"grey400","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"black circle matte","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey904","cl":"grey904","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-62.577,35.536,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.552,0.087],[0,0]],"o":[[0,0],[0,-3.287],[0,0],[0,0]],"v":[[-2.301,8.869],[-2.301,-3.772],[2.301,-9.806],[2.301,9.806]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"black circle matte 2","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue401","cl":"blue401","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-62.577,-27.655,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,3.286],[0,0],[-2.552,0.086],[0,0]],"o":[[0,0],[0,-3.286],[0,0],[-2.552,-0.086]],"v":[[-2.301,16.282],[-2.301,-16.281],[2.301,-22.313],[2.301,22.313]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"black circle matte 3","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Finger 2","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":-129,"s":[-67]},{"t":-29,"s":[0]}],"ix":10},"p":{"a":0,"k":[-75.352,41.307,0],"ix":2,"l":2},"a":{"a":0,"k":[94.648,211.307,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.72,-5.642],[0,0],[-9.394,-0.562],[-0.298,-0.038]],"o":[[-5.153,4.329],[3.882,-16.05],[0.31,0.019],[-0.044,0.75]],"v":[[0.863,12.222],[-8.931,14.755],[8.005,-15.108],[8.931,-15.021]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.792156875134,0.454901963472,0.376470595598,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[81.486,130.081],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 9","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.459,6.045],[-5.153,4.329],[-0.044,0.75],[3.116,-24.664],[5.23,-22.052],[8.666,11.92],[-2.9,9.135]],"o":[[0,0],[6.72,-5.642],[12.723,1.335],[-2.369,18.762],[-13.993,-5.333],[2.255,-5.502],[1.843,-5.815]],"v":[[-9.99,-18.348],[-0.196,-20.881],[7.872,-48.124],[21.578,-9.331],[12.104,48.124],[-22.574,21.555],[-14.791,-0.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.713725507259,0.384313732386,0.282352954149,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[82.545,163.184],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 8","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"black circle matte 4","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".grey903","cl":"grey903","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-18.345,-92.442,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.07,0],[0,0],[-8.27,0],[0,0]],"o":[[0,0],[0,8.269],[0,0],[-14.024,-17.379]],"v":[[-29.778,-14.252],[-29.778,-0.721],[-14.805,14.252],[29.778,14.252]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"black circle matte 5","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey902","cl":"grey902","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-15.947,-30.19,0],"ix":2,"l":2},"a":{"a":0,"k":[154.053,139.81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.3,0.367],[0,0],[-2.364,0.157],[0,0]],"o":[[0,0],[2.3,-0.367],[0,0],[-2.364,-0.157]],"v":[[-3.5,75.533],[-3.5,-75.533],[3.5,-76.312],[3.5,76.312]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[113.225,139.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 7","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,8.269],[0,0],[2.181,-0.187],[0,0],[-2.23,0],[0,42.252],[10.593,13.127],[0,0]],"o":[[0,0],[-2.23,0],[0,0],[2.181,0.187],[42.252,0],[0,-18.182],[0,0],[-8.27,0]],"v":[[-34.946,-62.973],[-34.946,-76.504],[-41.558,-76.201],[-41.558,76.201],[-34.946,76.504],[41.558,0],[24.61,-48],[-19.973,-48]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[156.824,139.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 5","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".black 2","cl":"black","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-48.123,-30.19,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.833],"y":[1,1,1]},"o":{"x":[0.7,0.7,0.167],"y":[0,0,0]},"t":-129,"s":[0,0,100]},{"t":-79,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".grey700","cl":"grey700","parent":15,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-56.481,-59.936,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.767,0],[0,0],[0,-3.767],[0,0],[-3.767,0],[0,0],[0,3.767],[0,0]],"o":[[0,0],[-3.767,0],[0,0],[0,3.767],[0,0],[3.767,0],[0,0],[0,-3.767]],"v":[[46.055,-14.479],[-46.056,-14.479],[-52.876,-7.659],[-52.876,7.658],[-46.056,14.479],[46.055,14.479],[52.876,7.658],[52.876,-7.659]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".grey901","cl":"grey901","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[16.485,2.727,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[50,50,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.184,0],[0,0],[0,0],[0,0],[0,-4.375]],"o":[[0,4.184],[0,0],[0,0],[0,0],[4.375,0],[0,0]],"v":[[114.116,92.129],[106.54,99.705],[7.788,99.705],[7.788,-99.704],[106.161,-99.704],[114.116,-91.749]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[5.707,0],[0,0],[1.894,-1.05],[0.886,0.346],[0,0],[2.166,0],[0,0],[0,-5.707],[0,0],[0,-1.46],[0,0],[-1.133,-0.038],[0,0],[0,-1.459],[0,0],[-1.133,-0.038],[0,0],[-5.708,0],[0,0],[-1.894,1.05],[-0.846,-0.289],[0,0],[-2.166,0],[0,0],[0,5.706],[0,0]],"o":[[0,0],[-2.166,0],[-0.883,0.354],[0,0],[-1.895,-1.05],[0,0],[-5.708,0],[0,0],[-1.133,0.038],[0,0],[0,1.46],[0,0],[-1.133,0.038],[0,0],[0,1.46],[0,0],[0,5.707],[0,0],[2.165,0],[0.833,-0.334],[0,0],[1.894,1.05],[0,0],[5.707,0],[0,0],[0,-5.707]],"v":[[106.16,-102.082],[8.455,-102.082],[2.265,-100.48],[-0.488,-100.468],[-0.519,-100.48],[-6.71,-102.082],[-104.116,-102.082],[-114.45,-91.748],[-114.45,-36.119],[-116.494,-33.44],[-116.494,-18.979],[-114.45,-16.3],[-114.45,-0.877],[-116.494,1.802],[-116.494,28.704],[-114.45,31.383],[-114.45,91.749],[-104.116,102.083],[-6.495,102.083],[-0.305,100.481],[2.294,100.425],[2.395,100.481],[9.872,102.083],[106.161,102.083],[116.494,91.75],[116.494,-91.748]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.529411792755,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0}],"markers":[{"tm":255,"cm":"","dr":0},{"tm":364,"cm":"","dr":0},{"tm":482,"cm":"","dr":0},{"tm":600,"cm":"","dr":0}]}
\ No newline at end of file diff --git a/packages/SystemUI/res/raw/biometricprompt_rear_portrait_base.json b/packages/SystemUI/res/raw/biometricprompt_rear_portrait_base.json deleted file mode 100644 index 9ea0d35e1de2..000000000000 --- a/packages/SystemUI/res/raw/biometricprompt_rear_portrait_base.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.8.1","fr":60,"ip":0,"op":21,"w":340,"h":340,"nm":"BiometricPrompt_Rear_Portrait_Base_Foldable","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 18","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":90,"ix":10},"p":{"a":0,"k":[169.478,169.749,0],"ix":2,"l":2},"a":{"a":0,"k":[-48.123,-30.19,0],"ix":1,"l":2},"s":{"a":0,"k":[132,132,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":900,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey400","cl":"grey400","parent":14,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"black circle matte","parent":14,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey904","cl":"grey904","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-62.577,35.536,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.552,0.087],[0,0]],"o":[[0,0],[0,-3.287],[0,0],[0,0]],"v":[[-2.301,8.869],[-2.301,-3.772],[2.301,-9.806],[2.301,9.806]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"black circle matte 2","parent":14,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue401","cl":"blue401","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-62.577,-27.655,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,3.286],[0,0],[-2.552,0.086],[0,0]],"o":[[0,0],[0,-3.286],[0,0],[-2.552,-0.086]],"v":[[-2.301,16.282],[-2.301,-16.281],[2.301,-22.313],[2.301,22.313]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"black circle matte 3","parent":14,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Finger 3","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":-2,"ix":10},"p":{"a":0,"k":[260.134,83.782,0],"ix":2,"l":2},"a":{"a":0,"k":[302.634,38.782,0],"ix":1,"l":2},"s":{"a":0,"k":[178,178,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-4.262,5.076],[0,0],[-0.424,-7.095],[-0.028,-0.225]],"o":[[3.269,-3.892],[-12.123,2.932],[0.015,0.234],[0.567,-0.034]],"v":[[9.232,0.652],[11.145,-6.746],[-11.412,6.046],[-11.346,6.746]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.792156875134,0.454901963472,0.376470595598,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[241.281,55.033],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 5","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.565,-1.102],[3.269,-3.892],[0.566,-0.033],[-18.63,2.353],[-16.656,3.951],[9.004,6.546],[6.9,-2.19]],"o":[[0,0],[-4.262,5.076],[1.008,9.61],[14.171,-1.79],[-4.028,-10.569],[-4.156,1.703],[-4.392,1.392]],"v":[[-13.858,-7.546],[-15.771,-0.148],[-36.349,5.946],[-7.047,16.299],[36.349,9.142],[16.281,-17.051],[-0.156,-11.172]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.713725507259,0.384313732386,0.282352954149,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[266.285,55.833],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 4","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":900,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"black circle matte 4","parent":14,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey903","cl":"grey903","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-18.345,-92.442,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.07,0],[0,0],[-8.27,0],[0,0]],"o":[[0,0],[0,8.269],[0,0],[-14.024,-17.379]],"v":[[-29.778,-14.252],[-29.778,-0.721],[-14.805,14.252],[29.778,14.252]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"black circle matte 5","parent":14,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".grey902","cl":"grey902","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-15.947,-30.19,0],"ix":2,"l":2},"a":{"a":0,"k":[154.053,139.81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.3,0.367],[0,0],[-2.364,0.157],[0,0]],"o":[[0,0],[2.3,-0.367],[0,0],[-2.364,-0.157]],"v":[[-3.5,75.533],[-3.5,-75.533],[3.5,-76.312],[3.5,76.312]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[113.225,139.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 7","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,8.269],[0,0],[2.181,-0.187],[0,0],[-2.23,0],[0,42.252],[10.593,13.127],[0,0]],"o":[[0,0],[-2.23,0],[0,0],[2.181,0.187],[42.252,0],[0,-18.182],[0,0],[-8.27,0]],"v":[[-34.946,-62.973],[-34.946,-76.504],[-41.558,-76.201],[-41.558,76.201],[-34.946,76.504],[41.558,0],[24.61,-48],[-19.973,-48]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[156.824,139.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 5","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".black 2","cl":"black","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-48.123,-30.19,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.833],"y":[1,1,1]},"o":{"x":[0.7,0.7,0.167],"y":[0,0,0]},"t":-129,"s":[0,0,100]},{"t":-79,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".grey700","cl":"grey700","parent":16,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-56.481,-59.936,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.767,0],[0,0],[0,-3.767],[0,0],[-3.767,0],[0,0],[0,3.767],[0,0]],"o":[[0,0],[-3.767,0],[0,0],[0,3.767],[0,0],[3.767,0],[0,0],[0,-3.767]],"v":[[46.055,-14.479],[-46.056,-14.479],[-52.876,-7.659],[-52.876,7.658],[-46.056,14.479],[46.055,14.479],[52.876,7.658],[52.876,-7.659]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".grey901","cl":"grey901","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[16.485,2.727,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[50,50,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.184,0],[0,0],[0,0],[0,0],[0,-4.375]],"o":[[0,4.184],[0,0],[0,0],[0,0],[4.375,0],[0,0]],"v":[[114.116,92.129],[106.54,99.705],[7.788,99.705],[7.788,-99.704],[106.161,-99.704],[114.116,-91.749]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[5.707,0],[0,0],[1.894,-1.05],[0.886,0.346],[0,0],[2.166,0],[0,0],[0,-5.707],[0,0],[0,-1.46],[0,0],[-1.133,-0.038],[0,0],[0,-1.459],[0,0],[-1.133,-0.038],[0,0],[-5.708,0],[0,0],[-1.894,1.05],[-0.846,-0.289],[0,0],[-2.166,0],[0,0],[0,5.706],[0,0]],"o":[[0,0],[-2.166,0],[-0.883,0.354],[0,0],[-1.895,-1.05],[0,0],[-5.708,0],[0,0],[-1.133,0.038],[0,0],[0,1.46],[0,0],[-1.133,0.038],[0,0],[0,1.46],[0,0],[0,5.707],[0,0],[2.165,0],[0.833,-0.334],[0,0],[1.894,1.05],[0,0],[5.707,0],[0,0],[0,-5.707]],"v":[[106.16,-102.082],[8.455,-102.082],[2.265,-100.48],[-0.488,-100.468],[-0.519,-100.48],[-6.71,-102.082],[-104.116,-102.082],[-114.45,-91.748],[-114.45,-36.119],[-116.494,-33.44],[-116.494,-18.979],[-114.45,-16.3],[-114.45,-0.877],[-116.494,1.802],[-116.494,28.704],[-114.45,31.383],[-114.45,91.749],[-104.116,102.083],[-6.495,102.083],[-0.305,100.481],[2.294,100.425],[2.395,100.481],[9.872,102.083],[106.161,102.083],[116.494,91.75],[116.494,-91.748]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.529411792755,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0}],"markers":[{"tm":255,"cm":"","dr":0},{"tm":364,"cm":"","dr":0},{"tm":482,"cm":"","dr":0},{"tm":600,"cm":"","dr":0}]}
\ No newline at end of file diff --git a/packages/SystemUI/res/raw/biometricprompt_rear_portrait_reverse_base.json b/packages/SystemUI/res/raw/biometricprompt_rear_portrait_reverse_base.json deleted file mode 100644 index f2b259335034..000000000000 --- a/packages/SystemUI/res/raw/biometricprompt_rear_portrait_reverse_base.json +++ /dev/null @@ -1 +0,0 @@ -{"v":"5.8.1","fr":60,"ip":0,"op":21,"w":340,"h":340,"nm":"BiometricPrompt_Rear_Portrait_Reverse_Base_Foldable","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 18","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":270,"ix":10},"p":{"a":0,"k":[169.478,169.749,0],"ix":2,"l":2},"a":{"a":0,"k":[-48.123,-30.19,0],"ix":1,"l":2},"s":{"a":0,"k":[132,132,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":900,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":".grey400","cl":"grey400","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.741176486015,0.75686275959,0.776470601559,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"black circle matte","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".grey904","cl":"grey904","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-62.577,35.536,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[-2.552,0.087],[0,0]],"o":[[0,0],[0,-3.287],[0,0],[0,0]],"v":[[-2.301,8.869],[-2.301,-3.772],[2.301,-9.806],[2.301,9.806]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"black circle matte 2","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue401","cl":"blue401","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-62.577,-27.655,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,3.286],[0,0],[-2.552,0.086],[0,0]],"o":[[0,0],[0,-3.286],[0,0],[-2.552,-0.086]],"v":[[-2.301,16.282],[-2.301,-16.281],[2.301,-22.313],[2.301,22.313]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"black circle matte 3","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Finger 2","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-75.352,41.307,0],"ix":2,"l":2},"a":{"a":0,"k":[94.648,211.307,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[6.72,-5.642],[0,0],[-9.394,-0.562],[-0.298,-0.038]],"o":[[-5.153,4.329],[3.882,-16.05],[0.31,0.019],[-0.044,0.75]],"v":[[0.863,12.222],[-8.931,14.755],[8.005,-15.108],[8.931,-15.021]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.792156875134,0.454901963472,0.376470595598,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[81.486,130.081],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 9","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.459,6.045],[-5.153,4.329],[-0.044,0.75],[3.116,-24.664],[5.23,-22.052],[8.666,11.92],[-2.9,9.135]],"o":[[0,0],[6.72,-5.642],[12.723,1.335],[-2.369,18.762],[-13.993,-5.333],[2.255,-5.502],[1.843,-5.815]],"v":[[-9.99,-18.348],[-0.196,-20.881],[7.872,-48.124],[21.578,-9.331],[12.104,48.124],[-22.574,21.555],[-14.791,-0.206]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.713725507259,0.384313732386,0.282352954149,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[82.545,163.184],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 8","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"black circle matte 4","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".grey903","cl":"grey903","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-18.345,-92.442,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.07,0],[0,0],[-8.27,0],[0,0]],"o":[[0,0],[0,8.269],[0,0],[-14.024,-17.379]],"v":[[-29.778,-14.252],[-29.778,-0.721],[-14.805,14.252],[29.778,14.252]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"black circle matte 5","parent":13,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey902","cl":"grey902","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-15.947,-30.19,0],"ix":2,"l":2},"a":{"a":0,"k":[154.053,139.81,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.3,0.367],[0,0],[-2.364,0.157],[0,0]],"o":[[0,0],[2.3,-0.367],[0,0],[-2.364,-0.157]],"v":[[-3.5,75.533],[-3.5,-75.533],[3.5,-76.312],[3.5,76.312]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[113.225,139.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 7","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,8.269],[0,0],[2.181,-0.187],[0,0],[-2.23,0],[0,42.252],[10.593,13.127],[0,0]],"o":[[0,0],[-2.23,0],[0,0],[2.181,0.187],[42.252,0],[0,-18.182],[0,0],[-8.27,0]],"v":[[-34.946,-62.973],[-34.946,-76.504],[-41.558,-76.201],[-41.558,76.201],[-34.946,76.504],[41.558,0],[24.61,-48],[-19.973,-48]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[156.824,139.81],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Layer 5","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".black 2","cl":"black","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-48.123,-30.19,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.2,0.2,0.833],"y":[1,1,1]},"o":{"x":[0.7,0.7,0.167],"y":[0,0,0]},"t":-129,"s":[0,0,100]},{"t":-79,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-42.252,0],[0,42.252],[42.252,0],[0,-42.252]],"o":[[42.252,0],[0,-42.252],[-42.252,0],[0,42.252]],"v":[[0,76.504],[76.504,0],[0,-76.504],[-76.504,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".grey700","cl":"grey700","parent":15,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-56.481,-59.936,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.767,0],[0,0],[0,-3.767],[0,0],[-3.767,0],[0,0],[0,3.767],[0,0]],"o":[[0,0],[-3.767,0],[0,0],[0,3.767],[0,0],[3.767,0],[0,0],[0,-3.767]],"v":[[46.055,-14.479],[-46.056,-14.479],[-52.876,-7.659],[-52.876,7.658],[-46.056,14.479],[46.055,14.479],[52.876,7.658],[52.876,-7.659]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".grey901","cl":"grey901","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[16.485,2.727,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[50,50,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.184,0],[0,0],[0,0],[0,0],[0,-4.375]],"o":[[0,4.184],[0,0],[0,0],[0,0],[4.375,0],[0,0]],"v":[[114.116,92.129],[106.54,99.705],[7.788,99.705],[7.788,-99.704],[106.161,-99.704],[114.116,-91.749]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[5.707,0],[0,0],[1.894,-1.05],[0.886,0.346],[0,0],[2.166,0],[0,0],[0,-5.707],[0,0],[0,-1.46],[0,0],[-1.133,-0.038],[0,0],[0,-1.459],[0,0],[-1.133,-0.038],[0,0],[-5.708,0],[0,0],[-1.894,1.05],[-0.846,-0.289],[0,0],[-2.166,0],[0,0],[0,5.706],[0,0]],"o":[[0,0],[-2.166,0],[-0.883,0.354],[0,0],[-1.895,-1.05],[0,0],[-5.708,0],[0,0],[-1.133,0.038],[0,0],[0,1.46],[0,0],[-1.133,0.038],[0,0],[0,1.46],[0,0],[0,5.707],[0,0],[2.165,0],[0.833,-0.334],[0,0],[1.894,1.05],[0,0],[5.707,0],[0,0],[0,-5.707]],"v":[[106.16,-102.082],[8.455,-102.082],[2.265,-100.48],[-0.488,-100.468],[-0.519,-100.48],[-6.71,-102.082],[-104.116,-102.082],[-114.45,-91.748],[-114.45,-36.119],[-116.494,-33.44],[-116.494,-18.979],[-114.45,-16.3],[-114.45,-0.877],[-116.494,1.802],[-116.494,28.704],[-114.45,31.383],[-114.45,91.749],[-104.116,102.083],[-6.495,102.083],[-0.305,100.481],[2.294,100.425],[2.395,100.481],[9.872,102.083],[106.161,102.083],[116.494,91.75],[116.494,-91.748]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.529411792755,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":-189,"op":711,"st":-189,"bm":0}],"markers":[{"tm":255,"cm":"","dr":0},{"tm":364,"cm":"","dr":0},{"tm":482,"cm":"","dr":0},{"tm":600,"cm":"","dr":0}]}
\ No newline at end of file diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index 66575444e230..8e4cc430f491 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Vergroot die hele skerm"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Vergroot \'n deel van die skerm"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Wissel"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Maak vergrotinginstellings oop"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Sleep hoek om grootte te verander"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Laat diagonale rollees toe"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Verander grootte"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Linkerhandvatsel"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Regterhandvatsel"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Onderste handvatsel"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Vergrotinginstellings"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Vergrootglasgrootte"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoem"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Medium"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontrole bygevoeg.}other{# kontroles bygevoeg.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Verwyder"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Voeg <xliff:g id="APPNAME">%s</xliff:g> by?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Verwyder kontroles vir <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"As gunsteling gemerk"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Wys en beheer toestelle van sluitskerm af?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Jy kan vir jou eksterne toestelle kontroles op die sluitskerm byvoeg.\n\nJou toestelprogram kan jou dalk toelaat om sommige toestelle te beheer sonder om jou foon of tablet te ontsluit.\n\nJy kan enige tyd in Instellings veranderings maak."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Beheer toestelle van sluitskerm af?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Jy kan sommige toestelle beheer sonder om jou foon of tablet te ontsluit. Jou toestelapp bepaal watter toestelle op dié manier beheer kan word."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nee, dankie"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ja"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN bevat letters of simbole"</string> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index 1d414aa4315e..2991118acf64 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ሙሉ ገጽ እይታን ያጉሉ"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"የማያ ገጹን ክፍል አጉላ"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ማብሪያ/ማጥፊያ"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"የማጉያ ቅንብሮችን ክፈት"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"መጠን ለመቀየር ጠርዙን ይዘው ይጎትቱ"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ሰያፍ ሽብለላን ፍቀድ"</string> <string name="accessibility_resize" msgid="5733759136600611551">"መጠን ቀይር"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"የግራ መያዣ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"የቀኝ መያዣ"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"የታች መያዣ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"የማጉያ ቅንብሮች"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"የማጉያ መጠን"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"አጉላ"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"መካከለኛ"</string> @@ -873,10 +871,9 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# ቁጥጥር ታክሏል።}one{# ቁጥጥር ታክሏል።}other{# ቁጥጥሮች ታክለዋል።}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ተወግዷል"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> ይታከል?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> - <skip /> - <!-- no translation found for controls_panel_remove_app_authorization (5920442084735364674) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> + <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"የ<xliff:g id="APPNAME">%s</xliff:g> መቆጣጠሪያዎች ይወገዱ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ተወዳጅ የተደረገ"</string> <string name="accessibility_control_favorite_position" msgid="54220258048929221">"ተወዳጅ ተደርጓል፣ አቋም <xliff:g id="NUMBER">%d</xliff:g>"</string> <string name="accessibility_control_not_favorite" msgid="1291760269563092359">"ተወዳጅ አልተደረገም"</string> @@ -894,15 +891,13 @@ <string name="controls_favorite_other_zone_header" msgid="9089613266575525252">"ሌላ"</string> <string name="controls_dialog_title" msgid="2343565267424406202">"ወደ የመሣሪያ መቆጣጠሪያዎች ያክሉ"</string> <string name="controls_dialog_ok" msgid="2770230012857881822">"አክል"</string> - <!-- no translation found for controls_dialog_remove (3775288002711561936) --> - <skip /> + <string name="controls_dialog_remove" msgid="3775288002711561936">"አስወግድ"</string> <string name="controls_dialog_message" msgid="342066938390663844">"በ<xliff:g id="APP">%s</xliff:g> የተጠቆመ"</string> <string name="controls_tile_locked" msgid="731547768182831938">"መሣሪያ ተቆልፏል"</string> <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ከማያ ገጽ ቆልፍ ላይ መሳሪያዎች ይታዩ እና ይቆጣጠሩ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ለውጫዊ መሳሪያዎችዎ መቆጣጠሪያዎችን ወደ ማያ ገጽ ቆልፍ ማከል ይችላሉ።\n\nየእርስዎ መሣሪያ መተግበሪያ የእርስዎን ስልክ ወይም ጡባዊ ሳይከፍቱ አንዳንድ መሣሪያዎችን እንዲቆጣጠሩ ሊፈቅድልዎ ይችላል።\n\nበቅንብሮች ውስጥ በማንኛውም ጊዜ ለውጦችን ማድረግ ይችላሉ።"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"መሳሪያዎች ከማያ ገጽ ቆልፍ ይቆጣጠሩ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"የእርስዎን ስልክ ወይም ጡባዊ ሳይከፍቱ አንዳንድ መሣሪያዎችን መቆጣጠር ይችላሉ። የእርስዎ መሣሪያ መተግበሪያ የትኞቹን መሣሪያዎች በዚህ መንገድ መቆጣጠር እንደሚቻል ይወስናል።"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"አይ፣ አመሰግናለሁ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"አዎ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"ፒን ፊደሎችን ወይም ምልክቶችን ይይዛል"</string> @@ -950,8 +945,7 @@ <string name="controls_menu_add" msgid="4447246119229920050">"መቆጣጠሪያዎችን አክል"</string> <string name="controls_menu_edit" msgid="890623986951347062">"መቆጣጠሪያዎችን ያርትዑ"</string> <string name="controls_menu_add_another_app" msgid="8661172304650786705">"መተግበሪያ አክል"</string> - <!-- no translation found for controls_menu_remove (3006525275966023468) --> - <skip /> + <string name="controls_menu_remove" msgid="3006525275966023468">"መተግበሪያን አስወግድ"</string> <string name="media_output_dialog_add_output" msgid="5642703238877329518">"ውጽዓቶችን ያክሉ"</string> <string name="media_output_dialog_group" msgid="5571251347877452212">"ቡድን"</string> <string name="media_output_dialog_single_device" msgid="3102758980643351058">"1 መሣሪያ ተመርጧል"</string> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index d6a7a9a6c7f6..53c0beec55ee 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"تكبير الشاشة كلها"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"تكبير جزء من الشاشة"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"تبديل"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"فتح إعدادات التكبير"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"اسحب الزاوية لتغيير الحجم."</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"السماح بالتمرير القطري"</string> <string name="accessibility_resize" msgid="5733759136600611551">"تغيير الحجم"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"المقبض الأيسر"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"المقبض الأيمن"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"المقبض السفلي"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"إعدادات التكبير"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"حجم مكبّر الشاشة"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"تكبير/تصغير"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"متوسط"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{تمت إضافة عنصر تحكّم واحد.}zero{تمت إضافة # عنصر تحكّم.}two{تمت إضافة عنصرَي تحكّم.}few{تمت إضافة # عناصر تحكّم.}many{تمت إضافة # عنصر تحكّم.}other{تمت إضافة # عنصر تحكّم.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"تمت الإزالة"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"هل تريد إضافة \"<xliff:g id="APPNAME">%s</xliff:g>\"؟"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"هل تريد إزالة عناصر التحكّم في \"<xliff:g id="APPNAME">%s</xliff:g>\"؟"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"تمت الإضافة إلى المفضّلة"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"هل تريد عرض أجهزتك والتحكم فيها من شاشة القفل؟"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"يمكنك إضافة عناصر تحكم لشاشة القفل الخاصة بأجهزتك الخارجية.\n\nقد يسمح لك تطبيق الجهاز بالتحكم في بعض الأجهزة بدون فتح قفل هاتفك أو جهازك اللوحي.\n\nيمكنك إجراء التغييرات في أي وقت من الإعدادات."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"هل تريد التحكم في الأجهزة من شاشة القفل؟"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"يمكنك التحكّم في بعض الأجهزة بدون فتح قفل هاتفك أو جهازك اللوحي. يحدِّد تطبيق التحكّم بجهاز آخر الأجهزة التي يمكن التحكّم فيها على هذا النحو."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"لا، شكرًا"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"نعم"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"يشتمل رقم التعريف الشخصي على أحرف أو رموز."</string> diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml index c90abb74fa65..d076ed4dfd56 100644 --- a/packages/SystemUI/res/values-as/strings.xml +++ b/packages/SystemUI/res/values-as/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"পূৰ্ণ স্ক্ৰীন বিবৰ্ধন কৰক"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"স্ক্ৰীনৰ কিছু অংশ বিবৰ্ধন কৰক"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ছুইচ"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"বিবৰ্ধন কৰাৰ ছেটিং খোলক"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"আকাৰ সলনি কৰিবলৈ চুককেইটা টানি আনি এৰক"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"কৰ্ণডালৰ দিশত স্ক্ৰ’ল কৰাৰ সুবিধা"</string> <string name="accessibility_resize" msgid="5733759136600611551">"আকাৰ সলনি কৰক"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"বাওঁফালৰ হেণ্ডেল"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"সোঁফালৰ হেণ্ডেল"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"তলৰ হেণ্ডেল"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"বিবৰ্ধন কৰাৰ ছেটিং"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"বিবৰ্ধকৰ আকাৰ"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"জুম কৰক"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"মধ্যমীয়া"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# টা নিয়ন্ত্ৰণ যোগ দিয়া হৈছে।}one{# টা নিয়ন্ত্ৰণ যোগ দিয়া হৈছে।}other{# টা নিয়ন্ত্ৰণ যোগ দিয়া হৈছে।}}"</string> <string name="controls_removed" msgid="3731789252222856959">"আঁতৰোৱা হ’ল"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> যোগ দিবনে?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g>ৰ নিয়ন্ত্ৰণ আঁতৰাবনে?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"প্ৰিয় হিচাপে চিহ্নিত কৰা হ’ল"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"লক স্ক্ৰীনৰ পৰা ডিভাইচসমূহ লক আৰু নিয়ন্ত্ৰণ কৰিবনে?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"আপুনি লক স্ক্ৰীনত আপোনাৰ বাহ্যিক ডিভাইচৰ বাবে নিয়ন্ত্ৰণ যোগ দিব পাৰে।\n\nআপোনাৰ ডিভাইচ এপে আপোনাক আপোনাৰ ফ’ন অথবা টেবলেট আনলক নকৰাকৈ কিছুমান ডিভাইচ নিয়ন্ত্ৰণ কৰাৰ অনুমতি দিব পাৰে। \n\nআপুনি যিকোনো সময়তে ছেটিঙত সালসলনি কৰিব পাৰে।"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"লক স্ক্ৰীনৰ পৰা ডিভাইচসমূহ নিয়ন্ত্ৰণ কৰিবনে?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"আপুনি আপোনাৰ ফ’ন অথবা টেবলেট আনলক নকৰাকৈ কিছুমান ডিভাইচ নিয়ন্ত্ৰণ কৰিব পাৰে।এইধৰণে কোনবোৰ ডিভাইচ নিয়ন্ত্ৰণ কৰিব পাৰি সেয়া আপোনাৰ ডিভাইচ এপে নিৰ্ধাৰণ কৰে।"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"নালাগে, ধন্যবাদ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"হয়"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"পিনত বৰ্ণ অথবা প্ৰতীকসমূহ থাকে"</string> diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml index 89706429440b..e62557742f32 100644 --- a/packages/SystemUI/res/values-az/strings.xml +++ b/packages/SystemUI/res/values-az/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Tam ekranı böyüdün"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ekran hissəsinin böyüdülməsi"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Dəyişdirici"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Böyütmə ayarlarını açın"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Ölçüsünü dəyişmək üçün küncündən sürüşdürün"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Diaqonal sürüşdürməyə icazə verin"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Ölçüsünü dəyişin"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Sol tutacaq"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Sağ tutacaq"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Alt tutacaq"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Böyütmə ayarları"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Böyüdücü ölçüsü"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Orta"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# nizamlayıcı əlavə edilib.}other{# nizamlayıcı əlavə edilib.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Silinib"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> əlavə edilsin?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> nizamlayıcıları silinsin?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Sevimlilərə əlavə edilib"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Kilid ekranından cihazlar göstərilsin və idarə edilsin?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Xarici cihazlarınız üçün kilid ekranına nizamlayıcılar əlavə edə bilərsiniz.\n\nCihaz tətbiqiniz sizə telefon və ya planşetinizin kilidini açmadan bəzi cihazları idarə etməyə imkan verə bilər.\n\nİstənilən vaxt Ayarlarda dəyişiklik edə bilərsiniz."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Cihazları kilid ekranından idarə etmək istəyirsiniz?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Telefon və ya planşetin kilidini açmadan bəzi cihazları idarə edə bilərsiniz. Cihaz tətbiqi hansı cihazların bu qaydada idarə oluna biləcəyini müəyyən edir."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Xeyr, təşəkkür"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Bəli"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN hərflər və ya simvollar ehtiva edir"</string> diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml index 6dbe85b03a34..4f122ecbf3ab 100644 --- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml +++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Uvećajte ceo ekran"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Uvećajte deo ekrana"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Pređi"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Otvori podešavanja uvećanja"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Prevucite ugao da biste promenili veličinu"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Dozvoli dijagonalno skrolovanje"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Promeni veličinu"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Leva ručica"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Desna ručica"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Donja ručica"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Podešavanja uvećanja"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Veličina lupe"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zumiranje"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Srednje"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontrola je dodata.}one{# kontrola je dodata.}few{# kontrole su dodate.}other{# kontrola je dodato.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Uklonjeno"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Želite li da dodate <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Želite da uklonite kontrole za <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Označeno je kao omiljeno"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Želite li da prikazujete i kontrolišete uređaje sa zaključanog ekrana?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Možete da dodate kontrole za spoljne uređaje na zaključani ekran.\n\nAplikacija na uređaju može da vam omogući da kontrolišete neke uređaje bez otključavanja telefona ili tableta.\n\nTo možete da promenite kad god želite u Podešavanjima."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Želite li da kontrolišete uređaje sa zaključanog ekrana?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Neke uređaje možete da kontrolišete bez otključavanja telefona ili tableta. Aplikacija na uređaju određuje koji uređaji mogu da se kontrolišu na ovaj način."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ne, hvala"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Da"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN sadrži slova ili simbole"</string> diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml index 8ff9fc236745..401898335b5f 100644 --- a/packages/SystemUI/res/values-be/strings.xml +++ b/packages/SystemUI/res/values-be/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Павялічыць увесь экран"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Павялічыць частку экрана"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Пераключальнік"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Адкрыць налады павелічэння"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Каб змяніць памер, перацягніце вугал"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Дазволіць прагортванне па дыяганалі"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Змяніць памер"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Левы маркер"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Правы маркер"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ніжні маркер"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Налады павелічэння"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Памер лупы"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Маштаб"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Сярэдні"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Дададзены # элемент кіравання.}one{Дададзена # элемента кіравання.}few{Дададзена # элементы кіравання.}many{Дададзена # элементаў кіравання.}other{Дададзена # элемента кіравання.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Выдалена"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Дадаць праграму \"<xliff:g id="APPNAME">%s</xliff:g>\"?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Выдаліць налады для <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Дададзена ў абранае"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Паказваць прылады і кіраваць імі з экрана блакіроўкі?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Вы можаце дадаць на экран блакіроўкі элементы кіравання знешнімі прыладамі.\n\nДзякуючы праграме на вашай прыладзе вы можаце кіраваць некаторымі прыладамі без разблакіроўкі тэлефона ці планшэта.\n\nУнесці змяненні можна ў любы час у Наладах."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Кіраваць прыладамі з экрана блакіроўкі?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Вы можаце кіраваць некаторымі прыладамі без разблакіроўкі тэлефона ці планшэта. Якімі прыладамі можна кіраваць такім спосабам, вызначае праграма на вашай прыладзе."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Не, дзякуй"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Так"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-код складаецца з літар або знакаў"</string> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index efa4113d822c..6a653036beee 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -239,7 +239,7 @@ <string name="accessibility_quick_settings_rotation" msgid="4800050198392260738">"Автоматично завъртане на екрана"</string> <string name="quick_settings_location_label" msgid="2621868789013389163">"Местоположение"</string> <string name="quick_settings_screensaver_label" msgid="1495003469366524120">"Скрийнсейвър"</string> - <string name="quick_settings_camera_label" msgid="5612076679385269339">"Камера: достъп"</string> + <string name="quick_settings_camera_label" msgid="5612076679385269339">"Достъп до камерата"</string> <string name="quick_settings_mic_label" msgid="8392773746295266375">"Достъп до микрофона"</string> <string name="quick_settings_camera_mic_available" msgid="1453719768420394314">"Налице"</string> <string name="quick_settings_camera_mic_blocked" msgid="4710884905006788281">"Блокирано"</string> @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Увеличаване на целия екран"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Увеличаване на част от екрана"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Превключване"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Отваряне на настройките за увеличението"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Плъзнете ъгъла за преоразмеряване"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Разрешаване на диагонално превъртане"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Преоразмеряване"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Манипулатор вляво"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Манипулатор вдясно"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Манипулатор в долната част"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Настройки за увеличението"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Размер на лупата"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Промяна на мащаба"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Среден"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Добавена е # контрола.}other{Добавени са # контроли.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Премахнато"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Да се добави ли <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Да се премахнат ли контролите за <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Означено като любимо"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Да се показват ли устройствата на заключения екран и да се контролират ли оттам?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Можете да добавите към заключения екран контроли за външните си устройства.\n\nПриложението на устройството ви може да ви дава възможност да управлявате някои устройства, без да отключвате телефона или таблета си.\n\nПо всяко време можете да правите промени в „Настройки“."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Да се контролират ли устройствата от заключения екран?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Имате възможност да контролирате някои устройства, без да отключвате телефона или таблета си. Приложението на устройството ви определя кои устройства могат да бъдат контролирани по този начин."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Не, благодаря"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Да"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"ПИН кодът съдържа букви или символи"</string> diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml index 87e0a1d846b9..373f6b4f5aac 100644 --- a/packages/SystemUI/res/values-bn/strings.xml +++ b/packages/SystemUI/res/values-bn/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"ইউএসবি চালু করুন"</string> <string name="learn_more" msgid="4690632085667273811">"আরও জানুন"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"স্ক্রিনশট নিন"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"এক্সটেন্ড আনলকের সুবিধা বন্ধ করা আছে"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"একটি ছবি পাঠানো হয়েছে"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"স্ক্রিনশট সেভ করা হচ্ছে..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"অফিস প্রোফাইলে স্ক্রিনশট সেভ করা হচ্ছে…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"সম্পূর্ণ স্ক্রিন বড় করে দেখা"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"স্ক্রিনের কিছুটা অংশ বড় করুন"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"বদল করুন"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"বড় করে দেখার সেটিংস খুলুন"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ছোট বড় করার জন্য কোণ টেনে আনুন"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"কোণাকুণি স্ক্রল করার অনুমতি দেওয়া"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ছোট বড় করা"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"বাঁদিকের হ্যান্ডেল"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"ডানদিকের হ্যান্ডেল"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"নিচের হ্যান্ডেল"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"বড় করে দেখার সেটিংস"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"ম্যাগনিফায়ার সাইজ"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"জুম"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"মাঝারি"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{#টি কন্ট্রোল যোগ করা হয়েছে।}one{#টি কন্ট্রোল যোগ করা হয়েছে।}other{#টি কন্ট্রোল যোগ করা হয়েছে।}}"</string> <string name="controls_removed" msgid="3731789252222856959">"সরানো হয়েছে"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> যোগ করবেন?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g>-এর জন্য নিয়ন্ত্রণ সরিয়ে দেবেন?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"পছন্দসই হিসেবে চিহ্নিত করেছেন"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"লক স্ক্রিন থেকে ডিভাইস দেখতে এবং নিয়ন্ত্রণ করতে চান?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"লক স্ক্রিনে আপনার বাইরের ডিভাইসের জন্য কন্ট্রোল যোগ করা যাবে।\n\nআপনার ফোন বা ট্যাবলেট আনলক না করেই আপনার ডিভাইস অ্যাপ হয়ত কিছু ডিভাইস নিয়ন্ত্রণ করার সুবিধা দেবে\n\nসেটিংস থেকে যেকোনও সময়ে আপনি পরিবর্তন করতে পারবেন।"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"লক স্ক্রিন থেকে ডিভাইস নিয়ন্ত্রণ করতে চান?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"আপনি ফোন বা ট্যাবলেট আনলক না করেই কিছু ডিভাইস নিয়ন্ত্রণ করতে পারবেন। এইভাবে কোন ডিভাইস নিয়ন্ত্রণ করতে পারা যাবে তা আপনার ডিভাইস অ্যাপ ঠিক করে।"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"না থাক"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"হ্যাঁ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"পিন-এ অক্ষর বা চিহ্ন রয়েছে"</string> diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml index 1dfaa98bc205..627531ae87fa 100644 --- a/packages/SystemUI/res/values-bs/strings.xml +++ b/packages/SystemUI/res/values-bs/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Omogući USB"</string> <string name="learn_more" msgid="4690632085667273811">"Saznajte više"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Snimak ekrana"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Produljivanje otključavanja onemogućeno"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"je poslao/la sliku"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Spašavanje snimka ekrana..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Pohranjivanje snimka ekrana na radni profil…"</string> @@ -834,7 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Uvećavanje prikaza preko cijelog ekrana"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Uvećavanje dijela ekrana"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Prekidač"</string> - <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Otvori postavke povećavanja"</string> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Otvori postavke uvećavanja"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Prevucite ugao da promijenite veličinu"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Dozvoli dijagonalno klizanje"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Promijeni veličinu"</string> @@ -844,7 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Lijeva ručica"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Desna ručica"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Donja ručica"</string> - <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Postavke povećavanja"</string> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Postavke uvećavanja"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Veličina povećala"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zumiranje"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Srednje"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Dodana je # kontrola.}one{Dodana je # kontrola.}few{Dodane su # kontrole.}other{Dodano je # kontrola.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Uklonjeno"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Dodati aplikaciju <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Ukloniti kontrole za aplikaciju <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Dodano u omiljeno"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Prikazati uređaje i kontrolirati njima sa zaključanog ekrana?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Na zaključani ekran možete dodati kontrole za eksterne uređaje.\n\nAplikacija vašeg uređaja vam može omogućiti da kontrolirate određene uređaje bez otključavanja telefona ili tableta.\n\nPromjene možete izvršiti bilo kada u Postavkama."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Kontrolirati uređaje sa zaključanog ekrana?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Neke uređaje možete kontrolirati bez otključavanja telefona ili tableta. Aplikacija uređaja određuje koji se uređaji mogu kontrolirati na ovaj način."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ne, hvala"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Da"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN sadrži slova ili simbole"</string> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 47876feaa818..faae1a83c440 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -240,7 +240,7 @@ <string name="quick_settings_location_label" msgid="2621868789013389163">"Ubicació"</string> <string name="quick_settings_screensaver_label" msgid="1495003469366524120">"Estalvi de pantalla"</string> <string name="quick_settings_camera_label" msgid="5612076679385269339">"Accés a la càmera"</string> - <string name="quick_settings_mic_label" msgid="8392773746295266375">"Accés al micròfon"</string> + <string name="quick_settings_mic_label" msgid="8392773746295266375">"Accés al micro"</string> <string name="quick_settings_camera_mic_available" msgid="1453719768420394314">"Disponible"</string> <string name="quick_settings_camera_mic_blocked" msgid="4710884905006788281">"Bloquejat"</string> <string name="quick_settings_media_device_label" msgid="8034019242363789941">"Dispositiu multimèdia"</string> @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Amplia la pantalla completa"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Amplia una part de la pantalla"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Canvia"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Obre la configuració de l\'ampliació"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Arrossega el cantó per canviar la mida"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permet el desplaçament en diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Canvia la mida"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ansa esquerra"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Ansa dreta"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ansa inferior"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Configuració de l\'ampliació"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Mida de la lupa"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Normal"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{S\'ha afegit # control.}many{S\'han afegit # controls.}other{S\'han afegit # controls.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Suprimit"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Vols afegir <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Vols suprimir els controls per a <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Afegit als preferits"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Vols mostrar i controlar dispositius a la pantalla de bloqueig?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Pots afegir controls dels teus dispositius externs a la pantalla de bloqueig.\n\nL\'aplicació del dispositiu et pot permetre controlar alguns dispositius sense desbloquejar el telèfon o la tauleta.\n\nPots fer canvis en qualsevol moment a Configuració."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Vols controlar dispositius des de la pantalla de bloqueig?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Pots controlar alguns dispositius sense desbloquejar el telèfon o la tauleta. L\'aplicació del dispositiu determina quins dispositius es poden controlar d\'aquesta manera."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, gràcies"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Sí"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"El PIN conté lletres o símbols"</string> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index 763d7f013f76..560ee4d30a50 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Zvětšit celou obrazovku"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Zvětšit část obrazovky"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Přepnout"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Otevřít nastavení zvětšení"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Velikost změníte přetažením rohu"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Povolit diagonální posouvání"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Změnit velikost"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Levý úchyt"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Pravý úchyt"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Spodní úchyt"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Nastavení zvětšení"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Velikost lupy"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Změna velikosti zobrazení"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Střední"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Byl přidán # ovládací prvek.}few{Byly přidány # ovládací prvky.}many{Bylo přidáno # ovládacího prvku.}other{Bylo přidáno # ovládacích prvků.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Odstraněno"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Přidat aplikaci <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Odstranit ovládací prvky aplikace <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Přidáno do oblíbených"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Zobrazovat a ovládat zařízení z obrazovky uzamčení?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Na obrazovku uzamčení můžete přidat ovládací prvky pro svá externí zařízení.\n\nAplikace zařízení vám může umožnit ovládat některá zařízení bez odemykání telefonu nebo tabletu.\n\nZměny můžete kdykoli provést v Nastavení."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Ovládat zařízení z obrazovky uzamčení?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Některá zařízení můžete ovládat bez odemykání telefonu nebo tabletu. Aplikace zařízení určuje, která zařízení lze tímto způsobem ovládat."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ne, díky"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ano"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Kód PIN obsahuje písmena nebo symboly"</string> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index bcd44ea47784..5f7fc697d098 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Forstør hele skærmen"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Forstør en del af skærmen"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Skift"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Åbn indstillinger for forstørrelse"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Træk i hjørnet for at justere størrelsen"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Tillad diagonal rulning"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Juster"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Venstre håndtag"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Højre håndtag"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Nedre håndtag"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Indstillinger for forstørrelse"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Lupstørrelse"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mellem"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# styringselement er tilføjet.}one{# styringselement er tilføjet.}other{# styringselementer er tilføjet.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Fjernet"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Vil du tilføje <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Vil du fjerne styringselementerne for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Angivet som favorit"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Vil du se og styre enheder via låseskærmen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Du kan tilføje styringselementer til dine eksterne enheder på låseskærmen.\n\nMed din enhedsapp kan du muligvis styre visse enheder uden at låse op for din telefon eller tablet.\n\nDu kan til enhver tid foretage ændringer i Indstillinger."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Vil du styre enheder via låseskærmen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Du kan styre visse enheder uden at låse op for din telefon eller tablet. Din enhedsapp bestemmer, hvilke enheder der kan styres på denne måde."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nej tak"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ja"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Pinkoden indeholder bogstaver eller symboler"</string> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index b8d0a96b66a7..caac9ebb10e9 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ganzen Bildschirm vergrößern"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Teil des Bildschirms vergrößern"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Schalter"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Vergrößerungseinstellungen öffnen"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Zum Anpassen der Größe Ecke ziehen"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Diagonales Scrollen erlauben"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Größe ändern"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Linker Ziehpunkt"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Rechter Ziehpunkt"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Unterer Ziehpunkt"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Vergrößerungseinstellungen"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Lupengröße"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mittel"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# Steuerelement hinzugefügt.}other{# Steuerelemente hinzugefügt.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Entfernt"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> hinzufügen?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Einstellungen für <xliff:g id="APPNAME">%s</xliff:g> entfernen?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Zu Favoriten hinzugefügt"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Geräte auf Sperrbildschirm anzeigen und steuern?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Du kannst dem Sperrbildschirm Steuerelemente für deine externen Geräte hinzufügen.\n\nDie App deines Geräts ermöglicht dir eventuell, einige Geräte zu steuern, ohne dein Smartphone oder Tablet zu entsperren.\n\nDu kannst jederzeit Änderungen in den Einstellungen vornehmen."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Geräte über den Sperrbildschirm steuern?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Du kannst einige Geräte steuern, ohne dass dazu das Smartphone oder Tablet entsperrt werden muss. Die Geräte-App ermittelt, welche Geräte auf diese Weise gesteuert werden können."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nein danke"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ja"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Die PIN enthält Buchstaben oder Symbole"</string> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index d648682bf9fb..7dd3593b93b6 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Ενεργοποίηση USB"</string> <string name="learn_more" msgid="4690632085667273811">"Μάθετε περισσότερα"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Στιγμιότυπο οθόνης"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Το εκτεταμένο ξεκλείδωμα είναι απενεργοποιημένο"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"έστειλε μια εικόνα"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Αποθήκευση στιγμιότυπου οθόνης..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Αποθήκευση στιγμιότ. οθόνης στο προφίλ εργασίας…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Μεγέθυνση πλήρους οθόνης"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Μεγέθυνση μέρους της οθόνης"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Εναλλαγή"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Άνοιγμα ρυθμίσεων μεγιστοποίησης"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Σύρετε τη γωνία για αλλαγή μεγέθους"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Να επιτρέπεται η διαγώνια κύλιση"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Αλλαγή μεγέθους"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Αριστερή λαβή"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Δεξιά λαβή"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Κάτω λαβή"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Ρυθμίσεις μεγιστοποίησης"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Μέγεθος μεγεθυντικού φακού"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Εστίαση"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Μέτριο"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Προστέθηκε # στοιχείο ελέγχου.}other{Προστέθηκαν # στοιχεία ελέγχου.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Καταργήθηκε"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Προσθήκη <xliff:g id="APPNAME">%s</xliff:g>;"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Κατάργηση στοιχείων ελέγχου για την εφαρμογή <xliff:g id="APPNAME">%s</xliff:g>;"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Προστέθηκε στα αγαπημένα"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Εμφάνιση και έλεγχος συσκευών από την οθόνη κλειδώματος;"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Μπορείτε να προσθέσετε στοιχεία ελέγχου για τις εξωτερικές συσκευές σας στην οθόνη κλειδώματος.\n\nΗ εφαρμογή της συσκευής σας μπορεί να σας παρέχει τη δυνατότητα ελέγχου ορισμένων συσκευών χωρίς να ξεκλειδώσετε το τηλέφωνο ή το tablet.\n\nΜπορείτε να κάνετε αλλαγές στις Ρυθμίσεις ανά πάσα στιγμή."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Έλεγχος συσκευών από την οθόνη κλειδώματος;"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Μπορείτε να ελέγχετε ορισμένες συσκευές χωρίς να ξεκλειδώσετε το τηλέφωνο ή το tablet σας. Η εφαρμογή της συσκευής σας καθορίζει ποιες συσκευές μπορούν να ελέγχονται με αυτόν τον τρόπο."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Όχι, ευχαριστώ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ναι"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Το PIN περιέχει γράμματα ή σύμβολα"</string> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index ffe67fa70cfd..f2e0c26626f4 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Enable USB"</string> <string name="learn_more" msgid="4690632085667273811">"Learn more"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock disabled"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"sent an image"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Saving screenshot to work profile…"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# control added.}other{# controls added.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removed"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Add <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remove controls for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favourited"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Show and control devices from the lock screen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"You can add controls for your external devices to the lock screen.\n\nYour device app may allow you to control some devices without unlocking your phone or tablet.\n\nYou can make changes at any time in Settings."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Control devices from the lock screen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"You can control some devices without unlocking your phone or tablet. Your device app determines which devices can be controlled in this way."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, thanks"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Yes"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN contains letters or symbols"</string> diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml index da91052bc5b8..fb7221851328 100644 --- a/packages/SystemUI/res/values-en-rCA/strings.xml +++ b/packages/SystemUI/res/values-en-rCA/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Enable USB"</string> <string name="learn_more" msgid="4690632085667273811">"Learn more"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock disabled"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"sent an image"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Saving screenshot to work profile…"</string> @@ -871,7 +870,8 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# control added.}other{# controls added.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removed"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Add <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <string name="controls_panel_authorization" msgid="4665218066461350247">"<xliff:g id="APPNAME">%s</xliff:g>can choose which controls and content show here."</string> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> + <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remove controls for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favorited"</string> <string name="accessibility_control_favorite_position" msgid="54220258048929221">"Favorited, position <xliff:g id="NUMBER">%d</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index ffe67fa70cfd..f2e0c26626f4 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Enable USB"</string> <string name="learn_more" msgid="4690632085667273811">"Learn more"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock disabled"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"sent an image"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Saving screenshot to work profile…"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# control added.}other{# controls added.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removed"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Add <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remove controls for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favourited"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Show and control devices from the lock screen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"You can add controls for your external devices to the lock screen.\n\nYour device app may allow you to control some devices without unlocking your phone or tablet.\n\nYou can make changes at any time in Settings."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Control devices from the lock screen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"You can control some devices without unlocking your phone or tablet. Your device app determines which devices can be controlled in this way."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, thanks"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Yes"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN contains letters or symbols"</string> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index ffe67fa70cfd..f2e0c26626f4 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Enable USB"</string> <string name="learn_more" msgid="4690632085667273811">"Learn more"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock disabled"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"sent an image"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Saving screenshot to work profile…"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# control added.}other{# controls added.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removed"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Add <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remove controls for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favourited"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Show and control devices from the lock screen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"You can add controls for your external devices to the lock screen.\n\nYour device app may allow you to control some devices without unlocking your phone or tablet.\n\nYou can make changes at any time in Settings."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Control devices from the lock screen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"You can control some devices without unlocking your phone or tablet. Your device app determines which devices can be controlled in this way."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, thanks"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Yes"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN contains letters or symbols"</string> diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml index a57753757df4..5ea3dd68b380 100644 --- a/packages/SystemUI/res/values-en-rXC/strings.xml +++ b/packages/SystemUI/res/values-en-rXC/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Enable USB"</string> <string name="learn_more" msgid="4690632085667273811">"Learn more"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock disabled"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"sent an image"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Saving screenshot…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Saving screenshot to work profile…"</string> @@ -871,7 +870,8 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# control added.}other{# controls added.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removed"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Add <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <string name="controls_panel_authorization" msgid="4665218066461350247">"<xliff:g id="APPNAME">%s</xliff:g>can choose which controls and content show here."</string> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> + <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remove controls for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favorited"</string> <string name="accessibility_control_favorite_position" msgid="54220258048929221">"Favorited, position <xliff:g id="NUMBER">%d</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index c00024ccfab8..9853c9ba78c3 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Habilitar USB"</string> <string name="learn_more" msgid="4690632085667273811">"Más información"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Captura de pantalla"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Desbloqueo ampliado inhabilitado"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"envió una imagen"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Guardando la captura de pantalla..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Guardando cap. de pantalla en perfil de trabajo…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ampliar pantalla completa"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ampliar parte de la pantalla"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Interruptor"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Abrir la configuración de ampliación"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Arrastra la esquina para cambiar el tamaño"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permitir desplazamiento en diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Cambiar tamaño"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Controlador izquierdo"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Controlador derecho"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Controlador inferior"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Configuración de ampliación"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Tamaño de ampliación"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mediano"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Se agregó # control.}many{Se agregaron # controles.}other{Se agregaron # controles.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Quitados"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"¿Quieres agregar <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"¿Quieres quitar los controles para <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Está en favoritos"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"¿Quieres mostrar y controlar dispositivos desde la pantalla de bloqueo?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Puedes agregar controles para dispositivos externos a la pantalla de bloqueo.\n\nLa app de tu dispositivo podría permitirte controlar algunos dispositivos sin desbloquear el teléfono o la tablet.\n\nPuedes realizar cambios en cualquier momento en Configuración."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"¿Quieres controlar dispositivos desde la pantalla de bloqueo?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Puedes controlar algunos dispositivos sin desbloquear el teléfono o la tablet. La app de tu dispositivo determina los que se pueden controlar de esa manera."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, gracias"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Sí"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"El PIN contiene letras o símbolos"</string> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 35f55c07a523..2e5b4d12f539 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ampliar pantalla completa"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ampliar parte de la pantalla"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Cambiar"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Abrir ajustes de ampliación"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Arrastra la esquina para cambiar el tamaño"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permitir desplazamiento en diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Cambiar tamaño"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Controlador izquierdo"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Controlador derecho"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Controlador inferior"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Ajustes de ampliación"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Tamaño de la lupa"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mediano"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# control añadido.}many{# controles añadidos.}other{# controles añadidos.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Quitado"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"¿Añadir <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"¿Quitar los controles de <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Añadido a favoritos"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"¿Mostrar y controlar otros dispositivos en la pantalla de bloqueo?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Puedes añadir controles de tus dispositivos externos a la pantalla de bloqueo.\n\nPuede que la aplicación de tu dispositivo permita que controles algunos dispositivos sin desbloquear tu teléfono o tablet.\n\nPuedes hacer cambios en cualquier momento en Ajustes."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"¿Controlar dispositivos desde la pantalla de bloqueo?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Puedes controlar algunos dispositivos sin desbloquear tu teléfono o tablet. La aplicación de tu dispositivo determina qué dispositivos se pueden controlar de esta forma."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, gracias"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Sí"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"El PIN contiene letras o símbolos"</string> diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml index 9b5bc7e112f1..d0f3a46f31c9 100644 --- a/packages/SystemUI/res/values-et/strings.xml +++ b/packages/SystemUI/res/values-et/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Täisekraani suurendamine"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ekraanikuva osa suurendamine"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Vaheta"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Ava suurendamisseaded"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Suuruse muutmiseks lohistage nurka"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Luba diagonaalne kerimine"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Muuda suurust"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Vasak käepide"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Parem käepide"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Alumine käepide"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Suurendamisseaded"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Luubi suurus"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Suumi"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Keskmine"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Lisati # juhtnupp.}other{Lisati # juhtnuppu.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Eemaldatud"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Kas lisada <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Kas soovite rakenduse <xliff:g id="APPNAME">%s</xliff:g> juhtelemendid eemaldada?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Lisatud lemmikuks"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Kas soovite seadmete juhtelemente lukustuskuval kuvada ja kasutada?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Võite lukustuskuvale oma väliste seadmete juhtelemendid lisada.\n\nTeie seadmerakendus võib võimaldada teil teatud seadmeid ilma telefoni või tahvelarvutit avamata hallata.\n\nSaate igal ajal seadetes muudatusi teha."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Kas soovite seadmeid lukustuskuva kaudu hallata?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Võite teatud seadmeid ilma telefoni või tahvelarvutit avamata hallata. Teie seadmerakendus määrab, milliseid seadmeid saab sel viisil hallata."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Tänan, ei"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Jah"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-kood sisaldab tähti või sümboleid"</string> diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml index 653504a112f4..05c08c8e4d3e 100644 --- a/packages/SystemUI/res/values-eu/strings.xml +++ b/packages/SystemUI/res/values-eu/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Kontrolatzeko # aukera gehitu da.}other{Kontrolatzeko # aukera gehitu dira.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Kenduta"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> gehitu nahi duzu?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> kontrolatzeko aukerak kendu nahi dituzu?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Gogokoetan dago"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Gailuak pantaila blokeatuan ikusi eta kontrolatu nahi dituzu?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Kanpoko gailuak kontrolatzeko aukerak gehi ditzakezu pantaila blokeatuan.\n\nBaliteke telefonoa edo tableta desblokeatu gabe gailu batzuk kontrolatzeko baimena ematea gailuaren aplikazioak.\n\nAldaketak egiteko, joan Ezarpenak atalera."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Gailuak pantaila blokeatuan kontrolatu nahi dituzu?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Gailu batzuk telefonoa edo tableta desblokeatu gabe kontrola ditzakezu. Gailuaren aplikazioak zehaztuko du zein gailu kontrola daitezkeen modu horretan."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ez, eskerrik asko"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Bai"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN kodeak hizkiak edo ikurrak ditu"</string> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index 0474b2819dcd..9c9620fb165d 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -86,7 +86,7 @@ <string name="screenshot_share_description" msgid="2861628935812656612">"همرسانی نماگرفت"</string> <string name="screenshot_scroll_label" msgid="2930198809899329367">"ضبط محتوای بیشتر"</string> <string name="screenshot_dismiss_description" msgid="4702341245899508786">"رد کردن نماگرفت"</string> - <string name="screenshot_dismiss_work_profile" msgid="3101530842987697045">"رد کردن پیام نمایه کاری"</string> + <string name="screenshot_dismiss_work_profile" msgid="3101530842987697045">"بستن پیام نمایه کاری"</string> <string name="screenshot_preview_description" msgid="7606510140714080474">"پیشنمایش نماگرفت"</string> <string name="screenshot_top_boundary_pct" msgid="2520148599096479332">"مرز بالا <xliff:g id="PERCENT">%1$d</xliff:g> درصد"</string> <string name="screenshot_bottom_boundary_pct" msgid="3880821519814946478">"مرز پایین <xliff:g id="PERCENT">%1$d</xliff:g> درصد"</string> @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"درشتنمایی تمامصفحه"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"درشتنمایی بخشی از صفحه"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"کلید"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"باز کردن تنظیمات درشتنمایی"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"برای تغییر اندازه، گوشه را بکشید"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"مجاز کردن پیمایش قطری"</string> <string name="accessibility_resize" msgid="5733759136600611551">"تغییر اندازه"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"دستگیره چپ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"دستگیره راست"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"دستگیره پایین"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"تنظیمات درشتنمایی"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"اندازه ذرهبین"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"بزرگنمایی"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"متوسط"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# کنترل اضافه شد.}one{# کنترل اضافه شد.}other{# کنترل اضافه شد.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"حذف شد"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> افزوده شود؟"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"کنترلهای <xliff:g id="APPNAME">%s</xliff:g> برداشته شود؟"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"به موارد دلخواه اضافه شد"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"امکان دیدن و کنترل دستگاهها از صفحه قفل وجود داشته باشد؟"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"میتوانید کنترلهایی برای دستگاههای خارجی به صفحه قفل اضافه کنید.\n\nبرنامه دستگاهتان ممکن است به شما اجازه دهد بعضیاز دستگاهها را بدون باز کردن قفل تلفن یا رایانه لوحیتان کنترل کنید.\n\nهرزمان بخواهید میتوانید در «تنظیمات» تغییراتی اعمال کنید."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"امکان کنترل دستگاهها از صفحه قفل وجود داشته باشد؟"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"میتوانید بعضیاز دستگاهها را بدون باز کردن قفل تلفن یا رایانه لوحیتان کنترل کنید. برنامه دستگاهتان تعیین میکند که کدام دستگاهها را میتوان با این روش کنترل کرد."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"نه متشکرم"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"بله"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"پین شامل حروف یا نماد است"</string> @@ -1056,7 +1053,7 @@ <string name="clipboard_edit_text_done" msgid="4551887727694022409">"تمام"</string> <string name="clipboard_overlay_text_copied" msgid="1872624400464891363">"کپی شد"</string> <string name="clipboard_edit_source" msgid="9156488177277788029">"از <xliff:g id="APPNAME">%1$s</xliff:g>"</string> - <string name="clipboard_dismiss_description" msgid="3335990369850165486">"رد شدن نوشتار کپیشده"</string> + <string name="clipboard_dismiss_description" msgid="3335990369850165486">"بستن نوشتار کپیشده"</string> <string name="clipboard_edit_text_description" msgid="805254383912962103">"ویرایش نوشتار کپیشده"</string> <string name="clipboard_edit_image_description" msgid="8904857948976041306">"ویرایش تصویر کپیشده"</string> <string name="clipboard_send_nearby_description" msgid="4629769637846717650">"ارسال به دستگاهی در اطراف"</string> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index 6620ac6506f5..a4fd4d900362 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Koko näytön suurennus"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Suurenna osa näytöstä"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Vaihda"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Avaa suurennusasetukset"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Muuta kokoa vetämällä kulmaa"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Diagonaalisen vierittämisen salliminen"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Muuta kokoa"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Vasen kahva"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Oikea kahva"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Alakahva"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Suurennusasetukset"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Suurennuksen koko"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoomaus"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Keskitaso"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# säädin lisätty.}other{# säädintä lisätty.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Poistettu"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Lisätäänkö <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Poistetaanko säätimet: <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Lisätty suosikkeihin"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Haluatko nähdä ja hallita laitteita lukitusnäytöltä?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Voit lisätä lukitusnäytölle ohjaimia ulkoisia laitteita varten.\n\nLaitteen sovellus voi sallia joidenkin laitteiden ohjaamisen avaamatta puhelimen tai tabletin lukitusta.\n\nVoit milloin tahansa tehdä muutoksia asetuksissa."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Haluatko ohjata laitteita lukitusnäytöllä?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Voit ohjata joitakin laitteita avaamatta puhelimen tai tabletin lukitusta. Riippuu laitesovelluksesta, mitä laitteita voi ohjata näin."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ei kiitos"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Kyllä"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-koodi sisältää kirjaimia tai symboleja"</string> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index cfd56147538a..8f4c89711b00 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Agrandir la totalité de l\'écran"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Agrandir une partie de l\'écran"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Commutateur"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Ouvrir les paramètres d\'agrandissement"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Faire glisser le coin pour redimensionner"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Autoriser le défilement en diagonale"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Redimensionner"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Poignée gauche"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Poignée droite"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Poignée inférieure"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Paramètres d\'agrandissement"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Taille de loupe"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Moyenne"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# commande ajoutée.}one{# commande ajoutée.}many{# de commandes ajoutées.}other{# commandes ajoutées.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Supprimé"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Ajouter <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Retirer les commandes pour <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Ajouté aux favoris"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Afficher et contrôler les appareils à partir de l\'écran de verrouillage?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Vous pouvez ajouter des commandes pour vos appareils externes à l\'écran de verrouillage.\n\nL\'application de votre appareil peut vous permettre de contrôler certains appareils sans déverrouiller votre téléphone ou votre tablette.\n\nVous pouvez apporter des modifications à tout moment dans les paramètres."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Contrôler les appareils à partir de l\'écran de verrouillage?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Vous pouvez contrôler certains appareils sans déverrouiller votre téléphone ou votre tablette. L\'application de votre appareil détermine quels appareils peuvent être contrôlés de cette manière."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Non merci"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Oui"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Le NIP contient des lettres ou des symboles"</string> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 995e218162dd..16140d087643 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Agrandir tout l\'écran"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Agrandir une partie de l\'écran"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Changer"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Ouvrir les paramètres d\'agrandissement"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Faire glisser le coin pour redimensionner"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Autoriser le défilement diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Redimensionner"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Poignée gauche"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Poignée droite"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Poignée inférieure"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Paramètres d\'agrandissement"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Taille de l\'agrandissement"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Moyen"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# commande ajoutée.}one{# commande ajoutée.}many{# commandes ajoutées.}other{# commandes ajoutées.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Supprimé"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Ajouter <xliff:g id="APPNAME">%s</xliff:g> ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Supprimer les commandes pour <xliff:g id="APPNAME">%s</xliff:g> ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Ajouté aux favoris"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Afficher et contrôler les appareils depuis l\'écran de verrouillage ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Vous pouvez ajouter des commandes pour vos appareils externes sur l\'écran de verrouillage.\n\nL\'appli de votre appareil peut vous autoriser à contrôler certains appareils sans déverrouiller votre téléphone ou tablette.\n\nVous pouvez apporter des modifications à tout moment dans les paramètres."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Contrôler des appareils depuis l\'écran de verrouillage ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Vous pouvez contrôler certains appareils sans déverrouiller votre téléphone ou tablette. L\'appli de votre appareil détermine les appareils qui peuvent être contrôlés de cette manière."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Non, merci"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Oui"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Le code contient des lettres ou des symboles"</string> diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml index 74d9f9a47a07..815029b50216 100644 --- a/packages/SystemUI/res/values-gl/strings.xml +++ b/packages/SystemUI/res/values-gl/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ampliar pantalla completa"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Amplía parte da pantalla"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Cambiar"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Abrir configuración da ampliación"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Arrastrar a esquina para cambiar o tamaño"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permitir desprazamento diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Cambiar tamaño"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Controlador esquerdo"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Controlador dereito"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Controlador inferior"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Configuración da ampliación"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Tamaño da lupa"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mediano"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Engadiuse # control.}other{Engadíronse # controis.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Quitouse"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Queres engadir <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Queres quitar os controis de <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Está entre os controis favoritos"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Queres que se mostren dispositivos na pantalla de bloqueo e poder controlalos desde ela?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Podes engadir á pantalla de bloqueo controis para os dispositivos externos.\n\nÉ posible que a aplicación do dispositivo che permita controlar algúns dispositivos sen desbloquear o teléfono ou a tableta.\n\nPodes realizar cambios cando queiras en Configuración."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Queres controlar dispositivos desde a pantalla de bloqueo?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Podes controlar algúns dispositivos sen desbloquear o teléfono ou a tableta. A aplicación do dispositivo determina os dispositivos que se poden controlar deste xeito."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Non, grazas"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Si"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"O PIN contén letras ou símbolos"</string> diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml index 50aadc7d65fe..3d32c7f85bed 100644 --- a/packages/SystemUI/res/values-gu/strings.xml +++ b/packages/SystemUI/res/values-gu/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"પૂર્ણ સ્ક્રીનને મોટી કરો"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"સ્ક્રીનનો કોઈ ભાગ મોટો કરો"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"સ્વિચ"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"મોટા કરવાના સેટિંગ ખોલો"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"કદ બદલવા માટે ખૂણો ખેંચો"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ડાયગોનલ સ્ક્રોલિંગને મંજૂરી આપો"</string> <string name="accessibility_resize" msgid="5733759136600611551">"કદ બદલો"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ડાબું હૅન્ડલ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"જમણું હૅન્ડલ"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"નીચેનું હૅન્ડલ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"મોટા કરવાના સેટિંગ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"મેગ્નિફાયરનું કદ"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"નાનું-મોટું કરો"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"મધ્યમ"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# નિયંત્રણ ઉમેર્યું.}one{# નિયંત્રણ ઉમેર્યું.}other{# નિયંત્રણ ઉમેર્યા.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"કાઢી નાખ્યું"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> ઉમેરીએ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> માટે નિયંત્રણો કાઢી નાખીએ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"મનપસંદમાં ઉમેર્યું"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"લૉક સ્ક્રીનમાંથી ડિવાઇસ બતાવીએ અને નિયંત્રિત કરીએ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"તમે તમારા બાહ્ય ડિવાઇસ માટેના નિયંત્રણો લૉક સ્ક્રીન પર ઉમેરી શકો છો.\n\nતમારી ડિવાઇસ ઍપ કદાચ તમને તમારો ફોન કે ટૅબ્લેટ અનલૉક કર્યા વિના અમુક ડિવાઇસ નિયંત્રિત કરવાની મંજૂરી આપી શકે.\n\nતમે ગમે ત્યારે સેટિંગમાં જઈને ફેરફાર કરી શકો છો."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"લૉક સ્ક્રીનમાંથી ડિવાઇસ નિયંત્રિત કરીએ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"તમે તમારા ફોન કે ટૅબ્લેટને અનલૉક કર્યા વિના અમુક ડિવાઇસ નિયંત્રિત કરી શકો છો. તમારી ડિવાઇસ ઍપ નક્કી કરે છે કે આ રીતે કયા ડિવાઇસને નિયંત્રિત કરવા."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ના, આભાર"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"હા"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"પિનમાં અક્ષરો અથવા પ્રતીકોનો સમાવેશ થાય છે"</string> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 046f5542e1b6..5a88b5dd1228 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"फ़ुल स्क्रीन को ज़ूम करें"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"स्क्रीन के किसी हिस्से को ज़ूम करें"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"स्विच"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"ज़ूम करने की सुविधा वाली सेटिंग खोलें"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"साइज़ बदलने के लिए, कोने को खींचें और छोड़ें"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"तिरछी दिशा में स्क्रोल करने की अनुमति दें"</string> <string name="accessibility_resize" msgid="5733759136600611551">"साइज़ बदलें"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"बायां हैंडल"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"दायां हैंडल"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"नीचे का हैंडल"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"ज़ूम करने की सुविधा वाली सेटिंग"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"ज़ूम करने की सुविधा का साइज़"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"ज़ूम करें"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"मध्यम"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# कंट्रोल जोड़ा गया.}one{# कंट्रोल जोड़ा गया.}other{# कंट्रोल जोड़े गए.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"हटाया गया"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> को जोड़ना है?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> के लिए कंट्रोल हटाने हैं?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"पसंदीदा बनाया गया"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"क्या डिवाइसों को लॉक स्क्रीन पर देखना है और उन्हें वहीं से कंट्रोल करना है?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"लॉक स्क्रीन पर अपने बाहरी डिवाइसों के लिए कंट्रोल जोड़े जा सकते हैं.\n\nअपने डिवाइस के ऐप्लिकेशन से कुछ डिवाइसों को कंट्रोल किया जा सकता है. इसके लिए, फ़ोन या टैबलेट को अनलॉक नहीं करना पड़ता.\n\nकिसी भी समय सेटिंग में जाकर बदलाव किए जा सकते हैं."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"क्या लॉक स्क्रीन से डिवाइसों को कंट्रोल करना है?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"फ़ोन या टैबलेट को अनलॉक किए बिना, कुछ डिवाइसों को कंट्रोल किया जा सकता है. आपके डिवाइस के ऐप्लिकेशन से यह तय किया जाता है कि किन डिवाइसों को इस तरह कंट्रोल किया जा सकता है."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"नहीं, रहने दें"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"हां"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"पिन में अक्षर या चिह्न शामिल होते हैं"</string> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 6d8b24b36658..c89a590d4302 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Omogući USB"</string> <string name="learn_more" msgid="4690632085667273811">"Saznajte više"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Snimka zaslona"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Produljivanje otključavanja onemogućeno"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"šalje sliku"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Spremanje snimke zaslona..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Spremanje snimke zaslona na poslovni profil…"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Dodana je # kontrola.}one{Dodana je # kontrola.}few{Dodane su # kontrole.}other{Dodano je # kontrola.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Uklonjeno"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Želite li dodati aplikaciju <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Ukloniti kontrole za aplikaciju <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Dodano u favorite"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Prikazati uređaje i omogućiti upravljanje njima na zaključanom zaslonu?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Na zaključan zaslon možete dodati kontrole za svoje vanjske uređaje.\n\nAplikacija vašeg uređaja može vam dopustiti upravljanje nekim uređajima bez otključavanja telefona ili tableta.\n\nPromjene uvijek možete unijeti u Postavkama."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Upravljati uređajima na zaključanom zaslonu?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Nekim uređajima možete upravljati bez otključavanja telefona ili tableta. Aplikacija vašeg uređaja odlučuje kojim se uređajima može upravljati na taj način."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ne, hvala"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Da"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN sadrži slova ili simbole"</string> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index dcb7d72e6654..96931df75d43 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# vezérlő hozzáadva.}other{# vezérlő hozzáadva.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Eltávolítva"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Hozzáadja a(z) <xliff:g id="APPNAME">%s</xliff:g> alkalmazást?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Eltávolítja a(z) <xliff:g id="APPNAME">%s</xliff:g> vezérlőit?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Hozzáadva a kedvencekhez"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Szeretne megtekinteni és vezérelni eszközöket a lezárási képernyőn?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Hozzáadhatja külső eszközök vezérlőit a lezárási képernyőhöz.\n\nAz eszközön lévő alkalmazás segítségével telefonja vagy táblagépe feloldása nélkül is vezérelhet néhány eszközt.\n\nA Beállításokban bármikor módosíthatja ezt a funkciót."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Szeretne eszközöket vezérelni a lezárási képernyőn?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Telefonja vagy táblagépe feloldása nélkül is vezérelhet néhány eszközt. Az eszközalkalmazás határozza meg, hogy mely eszközök vezérelhetők ilyen módon."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Most nem"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Igen"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"A PIN-kód betűket vagy szimbólumokat tartalmaz"</string> diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml index 1b21230cf9bd..b85283684fd8 100644 --- a/packages/SystemUI/res/values-hy/strings.xml +++ b/packages/SystemUI/res/values-hy/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Խոշորացնել ամբողջ էկրանը"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Խոշորացնել էկրանի որոշակի հատվածը"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Փոխել"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Բացել խոշորացման կարգավորումները"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Քաշեք անկյունը՝ չափը փոխելու համար"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Թույլատրել անկյունագծով ոլորումը"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Փոխել չափը"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ձախ բռնակ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Աջ բռնակ"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ներքևի բռնակ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Խոշորացման կարգավորումներ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Խոշորացույցի չափսը"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Մասշտաբ"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Միջին"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Ավելացվեց կառավարման # տարր։}one{Ավելացվեց կառավարման # տարր։}other{Ավելացվեց կառավարման # տարր։}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Հեռացված է"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Ավելացնե՞լ <xliff:g id="APPNAME">%s</xliff:g> հավելվածը"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Հեռացնե՞լ <xliff:g id="APPNAME">%s</xliff:g> հավելվածի համար կարգավորումները։"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Ավելացված է ընտրանիում"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Ցույց տա՞լ և կառավարել սարքերը կողպէկրանից"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Դուք կարող եք կարգավորումներ ավելացնել ձեր արտաքին սարքերի համար կողպէկրանին։\n\nՁեր սարքի հավելվածը կարող է ձեզ թույլ տալ որոշ սարքեր կառավարել առանց ապակողպելու հեռախոսը կամ պլանշետը։\n\nՑանկացած ժամանակ փոփոխություններ կատարեք Կարգավորումներում։"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Կառավարե՞լ սարքերը կողպէկրանից"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Դուք կարող եք կառավարել որոշ սարքեր առանց ապակողպելու ձեր հեռախոսը կամ պլանշետը։ Ձեր սարքի հավելվածը որոշում է, թե որ սարքերը կարելի է կառավարել այս եղանակով։"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ոչ, շնորհակալություն"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Այո"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN կոդը տառեր և նշաններ է պարունակում"</string> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index 055479ee3fa5..e293b9b9bb75 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Memperbesar tampilan layar penuh"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Perbesar sebagian layar"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Alihkan"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Buka setelan pembesaran"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Tarik pojok persegi untuk mengubah ukuran"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Izinkan scrolling diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Ubah ukuran"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Tuas kiri"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Tuas kanan"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Tuas bawah"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Setelan pembesaran"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Ukuran kaca pembesar"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Sedang"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontrol ditambahkan.}other{# kontrol ditambahkan.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Dihapus"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Tambahkan <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Hapus kontrol untuk <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Difavoritkan"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Tampilkan dan kontrol perangkat dari layar kunci?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Anda dapat menambahkan kontrol untuk perangkat eksternal ke layar kunci.\n\nAplikasi perangkat Anda mungkin mengizinkan Anda mengontrol beberapa perangkat tanpa membuka kunci ponsel atau tablet.\n\nAnda dapat melakukan perubahan kapan saja di Setelan."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Kontrol perangkat dari layar kunci?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Anda dapat mengontrol beberapa perangkat tanpa membuka kunci ponsel atau tablet. Aplikasi perangkat Anda menentukan perangkat yang dapat dikontrol dengan cara ini."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Lain kali"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ya"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN berisi huruf atau simbol"</string> diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml index 553e0e4e0855..1e6b6ed3c9ca 100644 --- a/packages/SystemUI/res/values-is/strings.xml +++ b/packages/SystemUI/res/values-is/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Stækka allan skjáinn"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Stækka hluta skjásins"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Rofi"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Opna stillingar stækkunar"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Dragðu horn til að breyta stærð"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Leyfa skáflettingu"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Breyta stærð"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Vinstra handfang"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Hægra handfang"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Handfang neðst"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Stillingar stækkunar"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Stærð stækkunarglers"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Stækka/minnka"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Miðlungs"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# stýringu bætt við.}one{# stýringu bætt við.}other{# stýringum bætt við.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Fjarlægt"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Viltu bæta <xliff:g id="APPNAME">%s</xliff:g> við?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Fjarlægja stýringar fyrir <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Eftirlæti"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Sjá og stjórna tækjum á lásskjánum?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Þú getur bætt við stýringum fyrir ytri tæki á lásskjáinn.\n\nForrit tækisins kann að leyfa þér að stjórna sumum tækjum án þess að taka símann eða spjaldtölvuna úr lás.\n\nÞú getur gert breytingar hvenær sem er í stillingunum."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Stjórna tækjum á lásskjá?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Þú getur stjórnað sumum tækjum án þess að taka símann eða spjaldtölvuna úr lás. Tækisforritið ákvarðar hvaða tækjum er hægt að stjórna á þennan hátt."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nei, takk"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Já"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN inniheldur bókstafi eða tákn"</string> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index f3876ce0bd83..a3da7072c573 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Attiva USB"</string> <string name="learn_more" msgid="4690632085667273811">"Scopri di più"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Screenshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Funzionalità Extend Unlock disattivata"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"è stata inviata un\'immagine"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Salvataggio screenshot…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Salvataggio screenshot nel profilo di lavoro…"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# controllo aggiunto.}many{# controlli aggiunti.}other{# controlli aggiunti.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Rimosso"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Vuoi aggiungere <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Vuoi rimuovere i controlli per l\'app <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Aggiunto ai preferiti"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Vuoi visualizzare e controllare i dispositivi dalla schermata di blocco?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Puoi aggiungere impostazioni alla schermata di blocco per i tuoi dispositivi esterni.\n\nL\'app del tuo dispositivo potrebbe consentirti di controllare alcuni dispositivi senza dover sbloccare il tuo telefono o tablet.\n\nPuoi apportare modifiche in qualsiasi momento in Impostazioni."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Vuoi controllare i dispositivi dalla schermata di blocco?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Puoi controllare alcuni dispositivi senza sbloccare il telefono o il tablet. L\'app del dispositivo determina quali dispositivi possono essere controllati in questo modo."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"No, grazie"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Sì"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Il PIN contiene lettere o simboli"</string> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 4dcafa1d1ca1..3a2e0401bcad 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{נוסף אמצעי בקרה אחד (#).}one{נוספו # אמצעי בקרה.}two{נוספו # אמצעי בקרה.}other{נוספו # אמצעי בקרה.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"הוסר"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"להוסיף את <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"להסיר את אמצעי הבקרה של <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"סומן כמועדף"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"להציג מכשירים ולאפשר שליטה בהם במסך הנעילה?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ניתן להוסיף למסך הנעילה אמצעי בקרה למכשירים החיצוניים.\n\nיכול להיות שהאפליקציה של המכשיר תאפשר לך לשלוט בחלק מהמכשירים בלי לבטל את הנעילה של הטלפון או הטאבלט.\n\nאפשר לבצע שינויים בכל שלב בהגדרות."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"לאפשר שליטה במכשירים במסך הנעילה?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"אפשר לשלוט בחלק מהמכשירים בלי לבטל את הנעילה של הטלפון או הטאבלט. המכשירים שניתן לשלוט בהם באופן הזה נקבעים באפליקציה לניהול מכשיר המשני."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"לא תודה"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"כן"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"קוד האימות מכיל אותיות או סמלים"</string> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 0b7b46917af0..550a19e3cbde 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"USB を有効にする"</string> <string name="learn_more" msgid="4690632085667273811">"詳細"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"スクリーンショット"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock は無効です"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"画像を送信しました"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"スクリーンショットを保存しています..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"スクリーンショットを仕事用プロファイルに保存中…"</string> @@ -871,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# 件のコントロールを追加しました。}other{# 件のコントロールを追加しました。}}"</string> <string name="controls_removed" msgid="3731789252222856959">"削除済み"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> を追加しますか?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> のコントロールを削除しますか?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"お気に入りに追加済み"</string> @@ -897,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ロック画面にデバイスを表示して操作しますか?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ロック画面に外部デバイスのコントロールを追加できます。\n\nスマートフォンやタブレットのロックを解除しなくても、デバイスアプリによって一部のデバイスを操作できる可能性があります。\n\n設定でいつでも変更できます。"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ロック画面でデバイスを操作しますか?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"スマートフォンやタブレットのロックを解除しなくても、一部のデバイスを操作できます。この方法でどのデバイスを操作できるかは、デバイスアプリが判断します。"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"いいえ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"はい"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN に英字や記号を含める"</string> diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml index 2bdf16335f1a..8e954881ac57 100644 --- a/packages/SystemUI/res/values-ka/strings.xml +++ b/packages/SystemUI/res/values-ka/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"USB-ის ჩართვა"</string> <string name="learn_more" msgid="4690632085667273811">"შეიტყვეთ მეტი"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"ეკრანის ანაბეჭდი"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"გაფართოებული განბლოკვა გაითიშა"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"გაიგზავნა სურათი"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"ეკრანის სურათის შენახვა…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"მიმდინარეობს ეკრანის ანაბეჭდის შენახვა სამუშაო პროფილში…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"გაადიდეთ სრულ ეკრანზე"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"ეკრანის ნაწილის გადიდება"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"გადართვა"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"გახსენით გადიდების პარამეტრები"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ჩავლებით გადაიტანეთ კუთხე ზომის შესაცვლელად"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"დიაგონალური გადახვევის დაშვება"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ზომის შეცვლა"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"მარცხენა სახელური"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"მარჯვენა სახელური"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"ქვედა სახელური"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"გადიდების პარამეტრები"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"გადიდების ზომა"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"გადიდება"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"საშუალო"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{დაემატა მართვის # საშუალება.}other{დაემატა მართვის # საშუალება.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ამოიშალა"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"გსურთ <xliff:g id="APPNAME">%s</xliff:g>-ის დამატება?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"ამოიშალოს <xliff:g id="APPNAME">%s</xliff:g>-ის მართვის საშუალებები?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"რჩეულებშია"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"გსურთ მოწყობილობების ჩვენება და მართვა ჩაკეტილი ეკრანიდან?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"შეგიძლიათ დაამატოთ მართვის საშუალებები გარე მოწყობილობებისთვის, ჩაკეტილ ეკრანზე.\n\nთქვენი მოწყობილობის აპმა შეიძლება მოგცეთ საშუალება, მართოთ ზოგიერთი მოწყობილობა თქვენი ტელეფონის ან ტაბლეტის განბლოკვის გარეშე.\n\nცვლილებების შეტანა ნებისმიერ დროს შეგიძლიათ პარამეტრებიდან."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"გსურთ მოწყობილობების მართვა ჩაკეტილი ეკრანიდან?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"შეგიძლიათ ზოგიერთი მოწყობილობის მართვა ტელეფონის ან ტაბლეტის განბლოკვის გარეშე. თქვენი მოწყობილობის აპი განსაზღვრავს, რომელი მოწყობილობები იმართება ამგვარად."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"არა, გმადლობთ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"დიახ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-კოდი შეიცავს ასოებს ან სიმბოლოებს"</string> diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml index 2a2b307d940f..08b4879589d9 100644 --- a/packages/SystemUI/res/values-kk/strings.xml +++ b/packages/SystemUI/res/values-kk/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Толық экранды ұлғайту"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Экранның бөлігін ұлғайту"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Ауысу"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Ұлғайту параметрлерін ашу"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Өлшемін өзгерту үшін бұрышынан сүйреңіз."</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Диагональ бойынша айналдыруға рұқсат беру"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Өлшемін өзгерту"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Сол жақ маркер"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Оң жақ маркер"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Төменгі маркер"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Ұлғайту параметрлері"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Ұлғайтқыш көлемі"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Масштабтау"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Орташа"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# басқару элементі қосылды.}other{# басқару элементі қосылды.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Өшірілді"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> қолданбасын қосу керек пе?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> қолданбасының басқару элементтері жойылсын ба?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Таңдаулыларға қосылды"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Құрылғыларды құлып экранынан көрсетуге және басқаруға рұқсат берілсін бе?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Сыртқы құрылғылардың басқару элементтерін құлып экранына қоса аласыз.\n\nҚұрылғы қолданбасы кейбір құрылғыларды телефонның немесе планшеттің құлпын ашпастан басқаруға мүмкіндік береді.\n\n\"Параметрлер\" бөлімінде кез келген уақытта өзгерістер енгізуге болады."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Құрылғылар құлып экранынан басқарылсын ба?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Кейбір құрылғыларды телефонның немесе планшеттің құлпын ашпастан басқара аласыз. Құрылғы қолданбасы осылай басқаруға болатын құрылғыларды анықтайды."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Жоқ, рақмет"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Иә"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN коды әріптерден не таңбалардан құралады."</string> diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml index b396538f8133..9cdd5c020e87 100644 --- a/packages/SystemUI/res/values-km/strings.xml +++ b/packages/SystemUI/res/values-km/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{បានបញ្ចូលការគ្រប់គ្រង #។}other{បានបញ្ចូលការគ្រប់គ្រង #។}}"</string> <string name="controls_removed" msgid="3731789252222856959">"បានដកចេញ"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"បញ្ចូល <xliff:g id="APPNAME">%s</xliff:g> ឬ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"ដកការគ្រប់គ្រងសម្រាប់ <xliff:g id="APPNAME">%s</xliff:g> ចេញឬ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"បានដាក់ជាសំណព្វ"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"បង្ហាញ និងគ្រប់គ្រងឧបករណ៍ពីអេក្រង់ចាក់សោឬ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"អ្នកអាចបញ្ចូលការគ្រប់គ្រងសម្រាប់ឧបករណ៍ខាងក្រៅរបស់អ្នកទៅក្នុងអេក្រង់ចាក់សោបាន។\n\nកម្មវិធីឧបករណ៍របស់អ្នកអាចអនុញ្ញាតឱ្យអ្នកគ្រប់គ្រងឧបករណ៍មួយចំនួន ដោយមិនចាំបាច់ដោះសោទូរសព្ទ ឬថេប្លេតរបស់អ្នក។\n\nអ្នកអាចធ្វើការផ្លាស់ប្ដូរបានគ្រប់ពេលនៅក្នុងការកំណត់។"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"គ្រប់គ្រងឧបករណ៍ពីអេក្រង់ចាក់សោឬ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"អ្នកអាចគ្រប់គ្រងឧបករណ៍មួយចំនួន ដោយមិនចាំបាច់ដោះសោទូរសព្ទ ឬថេប្លេតរបស់អ្នក។ កម្មវិធីឧបករណ៍របស់អ្នកកំណត់ឧបករណ៍ដែលអាចត្រូវបានគ្រប់គ្រងតាមវិធីនេះ។"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ទេ អរគុណ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"បាទ/ចាស"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"កូដ PIN មានអក្សរ ឬនិមិត្តសញ្ញា"</string> diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml index cfe626872052..fcdf34d29fc1 100644 --- a/packages/SystemUI/res/values-kn/strings.xml +++ b/packages/SystemUI/res/values-kn/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# ನಿಯಂತ್ರಣವನ್ನು ಸೇರಿಸಲಾಗಿದೆ.}one{# ನಿಯಂತ್ರಣಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.}other{# ನಿಯಂತ್ರಣಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಬೇಕೆ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> ಗಾಗಿ ನಿಯಂತ್ರಣಗಳನ್ನು ತೆಗೆದುಹಾಕಬೇಕೆ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ಮೆಚ್ಚಲಾಗಿರುವುದು"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ಲಾಕ್ ಸ್ಕ್ರೀನ್ನಿಂದ ಸಾಧನಗಳನ್ನು ತೋರಿಸಬೇಕೇ ಹಾಗೂ ನಿಯಂತ್ರಿಸಬೇಕೇ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ಲಾಕ್ ಸ್ಕ್ರೀನ್ನಲ್ಲಿ ನಿಮ್ಮ ಬಾಹ್ಯ ಸಾಧನಗಳಿಗಾಗಿ ನೀವು ನಿಯಂತ್ರಣಗಳನ್ನು ಸೇರಿಸಬಹುದು.\n\nನಿಮ್ಮ ಫೋನ್ ಅಥವಾ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡದೆಯೇ ನಿಮ್ಮ ಕೆಲವು ಸಾಧನಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ನಿಮ್ಮ ಸಾಧನ ಆ್ಯಪ್ ಅನುಮತಿಸಬಹುದು.\n\nಸೆಟ್ಟಿಂಗ್ಗಳಲ್ಲಿ ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಬಹುದು."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ಲಾಕ್ ಸ್ಕ್ರೀನ್ನಿಂದ ಸಾಧನಗಳನ್ನು ನಿಯಂತ್ರಿಸಬೇಕೇ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"ನಿಮ್ಮ ಫೋನ್ ಅಥವಾ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಅನ್ಲಾಕ್ ಮಾಡದೆಯೇ ನಿಮ್ಮ ಕೆಲವು ಸಾಧನಗಳನ್ನು ನೀವು ಕಂಟ್ರೋಲ್ ಮಾಡಬಹುದು. ಈ ವಿಧಾನದ ಮೂಲಕ ಯಾವ ಸಾಧನಗಳನ್ನು ಕಂಟ್ರೋಲ್ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿಮ್ಮ ಸಾಧನದ ಆ್ಯಪ್ ನಿರ್ಧರಿಸುತ್ತದೆ."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ಬೇಡ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ಹೌದು"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"ಪಿನ್ ಅಕ್ಷರಗಳು ಅಥವಾ ಸಂಕೇತಗಳನ್ನು ಒಳಗೊಂಡಿದೆ"</string> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index f13140241afd..e3395242eee2 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"전체 화면 확대"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"화면 일부 확대"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"전환"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"확대 설정 열기"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"모서리를 드래그하여 크기 조절"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"대각선 스크롤 허용"</string> <string name="accessibility_resize" msgid="5733759136600611551">"크기 조절"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"왼쪽 핸들"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"오른쪽 핸들"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"하단 핸들"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"확대 설정"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"돋보기 크기"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"확대/축소"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"보통"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{설정이 #개 추가되었습니다.}other{설정이 #개 추가되었습니다.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"삭제됨"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g>을(를) 추가할까요?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> 컨트롤을 삭제할까요?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"즐겨찾기에 추가됨"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"잠금 화면에서 기기를 표시하고 제어하시겠습니까?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"외부 기기에 대한 제어 권한을 잠금 화면에 추가할 수 있습니다.\n\n기기 앱을 사용하여 휴대전화나 태블릿의 잠금을 해제하지 않고 해당 기기를 제어할 수도 있습니다.\n\n언제든지 설정에서 옵션을 변경할 수 있습니다."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"잠금 화면에서 기기를 제어하시겠습니까?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"일부 기기의 경우 휴대전화나 태블릿을 잠금 해제하지 않고 해당 기기를 제어할 수 있습니다. 기기 앱에 어떤 기기를 이러한 방식으로 제어할 수 있는지 표시됩니다."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"아니요"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"예"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN에 문자나 기호가 포함됨"</string> diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml index a53542b8ad2a..77fddefc6bbb 100644 --- a/packages/SystemUI/res/values-ky/strings.xml +++ b/packages/SystemUI/res/values-ky/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Толук экранда ачуу"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Экрандын бир бөлүгүн чоңойтуу"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Которулуу"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Чоңойтуу параметрлерин ачуу"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Өлчөмүн өзгөртүү үчүн бурчун сүйрөңүз"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Диагональ боюнча сыдырууга уруксат берүү"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Өлчөмүн өзгөртүү"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Сол маркер"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Оң маркер"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ылдыйкы маркер"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Чоңойтуу параметрлери"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Чоңойткучтун өлчөмү"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Чоңойтуп/кичирейтүү"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Орто"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# көзөмөл кошулду.}other{# көзөмөл кошулду.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Өчүрүлдү"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> кошулсунбу?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> башкаруу элементтери өчүрүлсүнбү?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Сүйүктүүлөргө кошулду"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Түзмөктөрдү кулпуланган экрандан көрүп, көзөмөлдөйсүзбү?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Тышкы түзмөктөрүңүздү көзөмөлдөө каражаттарын кулпу экранына кошо аласыз.\n\nТүзмөгүңүздүн колдонмосу айрым түзмөктөрдү телефонуңуздун же планшетиңиздин кулпусун ачпастан көзөмөлдөөгө уруксат бериши мүмкүн.\n\nКаалаган убакта Жөндөөлөрдөн өзгөртүүлөрдү жасай аласыз."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Түзмөктөрдү кулпуланган экрандан көзөмөлдөйсүзбү?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Айрым түзмөктөрдү телефонуңуздун же планшетиңиздин кулпусун ачпастан көзөмөлдөй аласыз. Кайсы түзмөктөрдү ушул жол менен көзөмөлдөөгө болорун түзмөгүңүздүн колдонмосу аныктайт."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Жок, рахмат"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ооба"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN код тамгалардан же символдордон турат"</string> diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml index 205d66daceca..541b4186423c 100644 --- a/packages/SystemUI/res/values-lo/strings.xml +++ b/packages/SystemUI/res/values-lo/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ຂະຫຍາຍເຕັມຈໍ"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"ຂະຫຍາຍບາງສ່ວນຂອງໜ້າຈໍ"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ສະຫຼັບ"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"ເປີດການຕັ້ງຄ່າການຂະຫຍາຍ"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ລາກຢູ່ມຸມເພື່ອປັບຂະໜາດ"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ອະນຸຍາດໃຫ້ເລື່ອນທາງຂວາງ"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ປ່ຽນຂະໜາດ"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ດ້າມຈັບຊ້າຍມື"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"ດ້າມຈັບຂວາມື"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"ດ້າມຈັບທາງລຸ່ມ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"ການຕັ້ງຄ່າການຂະຫຍາຍ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"ຂະໜາດການຂະຫຍາຍ"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"ຊູມ"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"ປານກາງ"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{ເພີ່ມ # ການຄວບຄຸມແລ້ວ.}other{ເພີ່ມ # ການຄວບຄຸມແລ້ວ.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ລຶບອອກແລ້ວ"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"ເພີ່ມ <xliff:g id="APPNAME">%s</xliff:g> ບໍ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"ລຶບການຄວບຄຸມສຳລັບ <xliff:g id="APPNAME">%s</xliff:g> ອອກບໍ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ເພີ່ມລາຍການທີ່ມັກແລ້ວ"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ສະແດງ ແລະ ຄວບຄຸມອຸປະກອນຈາກໜ້າຈໍລັອກບໍ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ທ່ານສາມາດເພີ່ມການຄວບຄຸມສຳລັບອຸປະກອນພາຍນອກຂອງທ່ານໄປໃສ່ໜ້າຈໍລັອກໄດ້.\n\nແອັບອຸປະກອນຂອງທ່ານອາດອະນຸຍາດໃຫ້ທ່ານຄວບຄຸມອຸປະກອນບາງຢ່າງໄດ້ໂດຍບໍ່ຕ້ອງປົດລັອກໂທລະສັບ ຫຼື ແທັບເລັດຂອງທ່ານ.\n\nທ່ານສາມາດປ່ຽນແປງຕອນໃດກໍໄດ້ໃນການຕັ້ງຄ່າ."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ຄວບຄຸມອຸປະກອນຈາກໜ້າຈໍລັອກບໍ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"ທ່ານສາມາດຄວບຄຸມອຸປະກອນບາງຢ່າງໄດ້ໂດຍບໍ່ຕ້ອງປົດລັອກໂທລະສັບ ຫຼື ແທັບເລັດຂອງທ່ານ. ແອັບຈັດການອຸປະກອນຂອງທ່ານຈະກຳນົດວ່າອຸປະກອນໃດສາມາດຖືກຄວບຄຸມດ້ວຍວິທີນີ້ໄດ້."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ບໍ່, ຂອບໃຈ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ແມ່ນແລ້ວ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN ປະກອບມີຕົວອັກສອນ ຫຼື ສັນຍາລັກ"</string> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index ca52f0660e90..38fe1c7aaece 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Viso ekrano didinimas"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Didinti ekrano dalį"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Perjungti"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Atidaryti didinimo nustatymus"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Norėdami keisti dydį, vilkite kampą"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Slinkimo įstrižai leidimas"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Pakeisti dydį"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Rankenėlė kairėje"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Rankenėlė dešinėje"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Rankenėlė apačioje"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Didinimo nustatymai"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Didinimo dydis"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Mastelio keitimas"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Vidutinis"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Pridėtas # valdiklis.}one{Pridėtas # valdiklis.}few{Pridėti # valdikliai.}many{Pridėta # valdiklio.}other{Pridėta # valdiklių.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Pašalinta"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Pridėti „<xliff:g id="APPNAME">%s</xliff:g>“?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Pašalinti „<xliff:g id="APPNAME">%s</xliff:g>“ valdiklius?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Įtraukta į mėgstamiausius"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Rodyti ir valdyti įrenginius užrakinimo ekrane?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Galite pridėti išorinių įrenginių valdiklių užrakinimo ekrane.\n\nĮrenginio programoje gali būti leidžiama valdyti tam tikrus įrenginius neatrakinus telefono ar planšetinio kompiuterio.\n\nGalite bet kada pakeisti „Nustatymų“ skiltyje."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Valdyti įrenginius užrakinimo ekrane?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Galite valdyti kai kuriuos išorinius įrenginius neatrakinę telefono ar planšetinio kompiuterio. Įrenginio programoje nustatoma, kuriuos įrenginius galima valdyti tokiu būdu."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ne, ačiū"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Taip"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN kodą sudaro raidės arba simboliai"</string> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 34628f6b96d9..6b03a03e3130 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Palielināt visu ekrānu"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Palielināt ekrāna daļu"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Pārslēgt"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Atvērt palielinājuma iestatījumus"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Velciet stūri, lai mainītu izmērus"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Atļaut ritināšanu pa diagonāli"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Mainīt lielumu"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Kreisais turis"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Labais turis"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Apakšdaļas turis"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Palielinājuma iestatījumi"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Lupas lielums"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Tālummainīt"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Vidējs"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Pievienota # vadīkla.}zero{Pievienotas # vadīklas.}one{Pievienota # vadīkla.}other{Pievienotas # vadīklas.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Noņemta"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Vai pievienot lietotni <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Vai noņemt vadīklas lietotnei <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Pievienota izlasei"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Vai skatīt un kontrolēt ierīces no bloķēšanas ekrāna?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Varat pievienot bloķēšanas ekrānam vadīklas, ar kurām kontrolēt savas ārējās ierīces.\n\nJūsu ierīces lietotne var ļaut jums kontrolēt dažas ierīces, neatbloķējot tālruni vai planšetdatoru.\n\nVarat jebkurā laikā veikt izmaiņas iestatījumos."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Vai kontrolēt ierīces no bloķēšanas ekrāna?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Varat kontrolēt noteiktas ierīces, neatbloķējot tālruni vai planšetdatoru. Jūsu ierīces lietotne nosaka, kuras ierīces varat šādi kontrolēt."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nē, paldies"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Jā"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN ietver burtus vai simbolus."</string> diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml index 175ef740ec59..940b6191f020 100644 --- a/packages/SystemUI/res/values-mk/strings.xml +++ b/packages/SystemUI/res/values-mk/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Додадена е # контрола.}one{Додадени се # контрола.}other{Додадени се # контроли.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Отстранета"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Да се додаде <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Да се отстранат контролите за <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Омилена"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Да се прикажуваат и контролираат уреди од заклучениот екран?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Може да додадете контроли за надворешните уреди на заклучениот екран.\n\nАпликацијата на уредот може да ви дозволи да контролирате одредени уреди без да го отклучувате телефонот или таблетот.\n\nМоже да извршите промени во секое време во „Поставки“."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Да се контролираат уреди од заклучен екран?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Може да контролирате одредени уреди без отклучување на телефонот или таблетот. Апликацијата на вашиот уред одредува кои уреди може да се контролираат вака."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Не, фала"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Да"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-кодот содржи букви или симболи"</string> diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml index a25aa2cb707b..2597fcd4c037 100644 --- a/packages/SystemUI/res/values-ml/strings.xml +++ b/packages/SystemUI/res/values-ml/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"സ്ക്രീൻ പൂർണ്ണമായും മാഗ്നിഫൈ ചെയ്യുക"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"സ്ക്രീനിന്റെ ഭാഗം മാഗ്നിഫൈ ചെയ്യുക"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"മാറുക"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"മാഗ്നിഫിക്കേഷൻ ക്രമീകരണം തുറക്കുക"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"വലുപ്പം മാറ്റാൻ മൂല വലിച്ചിടുക"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ഡയഗണൽ സ്ക്രോളിംഗ് അനുവദിക്കുക"</string> <string name="accessibility_resize" msgid="5733759136600611551">"വലുപ്പം മാറ്റുക"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ഇടത് ഹാൻഡിൽ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"വലത് ഹാൻഡിൽ"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"ചുവടെയുള്ള ഹാൻഡിൽ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"മാഗ്നിഫിക്കേഷൻ ക്രമീകരണം"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"മാഗ്നിഫയർ വലുപ്പം"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"സൂം ചെയ്യുക"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"ഇടത്തരം"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# നിയന്ത്രണം ചേർത്തു.}other{# നിയന്ത്രണങ്ങൾ ചേർത്തു.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"നീക്കം ചെയ്തു"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> ചേർക്കണോ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> എന്നതിനുള്ള നിയന്ത്രണങ്ങൾ നീക്കം ചെയ്യണോ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"പ്രിയപ്പെട്ടതാക്കി"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ലോക്ക് സ്ക്രീനിൽ നിന്ന് ഉപകരണങ്ങൾ കാണിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യണോ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"നിങ്ങളുടെ ബാഹ്യ ഉപകരണങ്ങൾക്കുള്ള നിയന്ത്രണങ്ങൾ ലോക്ക് സ്ക്രീനിലേക്ക് ചേർക്കാനാകും.\n\nനിങ്ങളുടെ ഫോണോ ടാബ്ലെറ്റോ അൺലോക്ക് ചെയ്യാതെ ചില ഉപകരണങ്ങൾ നിയന്ത്രിക്കാൻ നിങ്ങളുടെ ഉപകരണ ആപ്പ് അനുവദിച്ചേക്കും.\n\nനിങ്ങൾക്ക് ക്രമീകരണത്തിൽ ഏതുസമയത്തും മാറ്റങ്ങൾ വരുത്താം."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ലോക്ക് സ്ക്രീനിൽ നിന്ന് ഉപകരണങ്ങൾ നിയന്ത്രിക്കണോ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"നിങ്ങളുടെ ഫോണോ ടാബ്ലെറ്റോ അൺലോക്ക് ചെയ്യാതെ ചില ഉപകരണങ്ങൾ നിയന്ത്രിക്കാം. ഏതൊക്കെ ഉപകരണങ്ങൾ ഈ രീതിയിൽ നിയന്ത്രിക്കാൻ കഴിയുമെന്ന് നിങ്ങളുടെ ഉപകരണ ആപ്പ് നിർണ്ണയിക്കുന്നു."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"വേണ്ട, നന്ദി"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ഉവ്വ്"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"പിന്നിൽ അക്ഷരങ്ങളോ ചിഹ്നങ്ങളോ അടങ്ങിയിരിക്കുന്നു"</string> diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml index 73a4b75b414d..cd5bdfd2d555 100644 --- a/packages/SystemUI/res/values-mn/strings.xml +++ b/packages/SystemUI/res/values-mn/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Бүтэн дэлгэцийг томруулах"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Дэлгэцийн нэг хэсгийг томруулах"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Сэлгэх"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Томруулах тохиргоог нээх"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Хэмжээг өөрчлөхийн тулд булангаас чирнэ үү"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Хөндлөн гүйлгэхийг зөвшөөрнө үү"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Хэмжээг өөрчлөх"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Зүүн бариул"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Баруун бариул"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Доод бариул"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Томруулах тохиргоо"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Томруулагчийн хэмжээ"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Томруулалт"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Дунд зэрэг"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# хяналт нэмсэн.}other{# хяналт нэмсэн.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Хассан"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g>-г нэмэх үү?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g>-н тохиргоог хасах уу?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Дуртай гэж тэмдэглэсэн"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Түгжигдсэн дэлгэцээс төхөөрөмжүүдийг харуулж, хянах уу?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Та түгжигдсэн дэлгэцэд гадаад төхөөрөмжүүдийнхээ хяналтыг нэмэх боломжтой.\n\nТаны төхөөрөмжийн апп танд утас эсвэл таблетынхаа түгжээг тайлахгүйгээр зарим төхөөрөмжийг хянах боломжийг олгож магадгүй.\n\nТа хүссэн үедээ Тохиргоонд өөрчлөлт хийж болно."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Төхөөрөмжүүдийг түгжигдсэн дэлгэцээс хянах уу?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Та утас эсвэл таблетынхаа түгжээг тайлахгүйгээр зарим төхөөрөмжийг хянах боломжтой. Таны төхөөрөмжийн апп энэ аргаар ямар төхөөрөмжүүдийг хянах боломжтойг тодорхойлно."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Үгүй, баярлалаа"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Тийм"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"ПИН нь үсэг эсвэл дүрс тэмдэгт агуулдаг"</string> diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml index fea5b6325039..ea86faec5b95 100644 --- a/packages/SystemUI/res/values-mr/strings.xml +++ b/packages/SystemUI/res/values-mr/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"USB सुरू करा"</string> <string name="learn_more" msgid="4690632085667273811">"अधिक जाणून घ्या"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"स्क्रीनशॉट"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"एक्स्टेंड अनलॉक बंद केले आहे"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"इमेज पाठवली आहे"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"स्क्रीनशॉट सेव्ह करत आहे…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"कार्य प्रोफाइलवर स्क्रीनशॉट सेव्ह करत आहे…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"फुल स्क्रीन मॅग्निफाय करा"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"स्क्रीनचा काही भाग मॅग्निफाय करा"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"स्विच करा"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"मॅग्निफिकेशन सेटिंग्ज उघडा"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"आकार बदलण्यासाठी कोपरा ड्रॅग करा"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"तिरपे स्क्रोल करण्याची अनुमती द्या"</string> <string name="accessibility_resize" msgid="5733759136600611551">"आकार बदला"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"डावीकडील हँडल"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"उजवीकडील हँडल"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"तळाकडील हँडल"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"मॅग्निफिकेशन सेटिंग्ज"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"मॅग्निफायरचा आकार"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"झूम करा"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"मध्यम"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# नियंत्रण जोडले आहे.}other{# नियंत्रणे जोडली आहेत.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"काढून टाकले"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> जोडायचे आहे का?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> साठी नियंत्रणे काढून टाकायची आहेत का?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"आवडले"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"लॉक स्क्रीनवरून डिव्हाइस दाखवायचे आणि नियंत्रित करायचे का?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"तुम्ही तुमच्या बाह्य डिव्हाइससाठी लॉक स्क्रीनवर नियंत्रणे जोडू शकता.\n\nतुमचे डिव्हाइस अॅप तुम्हाला तुमचा फोन किंवा टॅबलेट अनलॉक न करता काही डिव्हाइस नियंत्रित करण्याची अनुमती देऊ शकते.\n\nतुम्ही सेटिंग्ज मध्ये कधीही बदल करू शकता."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"लॉक स्क्रीनवरून डिव्हाइस नियंत्रित करायची का?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"तुमचा फोन किंवा टॅबलेट अनलॉक न करता तुम्ही काही डिव्हाइस नियंत्रित करू शकता. तुमचे डिव्हाइस अॅप हे अशा प्रकारे कोणती डिव्हाइस नियंत्रित केली जाऊ शकतात हे निर्धारित करते."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"नाही, नको"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"होय"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"पिनमध्ये अक्षरे किंवा चिन्हे आहेत"</string> diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml index 202d66fc2417..11582872aca5 100644 --- a/packages/SystemUI/res/values-ms/strings.xml +++ b/packages/SystemUI/res/values-ms/strings.xml @@ -871,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kawalan ditambah.}other{# kawalan ditambah.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Dialih keluar"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Tambahkan <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Alih keluar kawalan untuk <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Digemari"</string> @@ -897,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Tunjukkan dan kawal peranti daripada skrin kunci?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Anda boleh menambah kawalan untuk peranti luaran anda pada skrin kunci.\n\nApl peranti anda mungkin membenarkan anda mengawal sesetengah peranti tanpa membuka kunci telefon atau tablet anda.\n\nAnda boleh membuat perubahan pada bila-bila masa dalam Tetapan."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Kawal peranti daripada skrin kunci?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Anda boleh mengawal sesetengah peranti tanpa membuka kunci telefon atau tablet anda. Apl peranti anda menentukan peranti yang boleh dikawal dengan cara ini."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Tidak perlu"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ya"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN mengandungi huruf atau simbol"</string> diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml index bb1bba932c9d..c110097b21fa 100644 --- a/packages/SystemUI/res/values-my/strings.xml +++ b/packages/SystemUI/res/values-my/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ဖန်သားပြင်အပြည့် ချဲ့သည်"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"ဖန်သားပြင် တစ်စိတ်တစ်ပိုင်းကို ချဲ့ပါ"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ခလုတ်"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"ချဲ့ခြင်း ဆက်တင်များ ဖွင့်ရန်"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"အရွယ်အစားပြန်ပြုပြင်ရန် ထောင့်စွန်းကို ဖိဆွဲပါ"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ထောင့်ဖြတ် လှိမ့်ခွင့်ပြုရန်"</string> <string name="accessibility_resize" msgid="5733759136600611551">"အရွယ်အစားပြန်ပြုပြင်ရန်"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ဘယ်ဘက်အထိန်း"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"ညာဘက်အထိန်း"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"အောက်ခြေအထိန်း"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"ချဲ့ခြင်း ဆက်တင်များ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"မှန်ဘီလူး အရွယ်အစား"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"ဇူးမ်"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"အလတ်"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{ထိန်းချုပ်ခလုတ် # ခု ထည့်ထားသည်။}other{ထိန်းချုပ်ခလုတ် # ခု ထည့်ထားသည်။}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ဖယ်ရှားထားသည်"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> ထည့်မလား။"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> အတွက် သတ်မှတ်ချက်များ ဖယ်ရှားမလား။"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"အကြိုက်ဆုံးတွင် ထည့်ထားသည်"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"လော့ခ်မျက်နှာပြင်တွင် စက်ပစ္စည်းများကြည့်ရှုပြီး ထိန်းချုပ်မလား။"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"လော့ခ်မျက်နှာပြင်တွင် ပြင်ပစက်များအတွက် ထိန်းချုပ်မှုများ ထည့်နိုင်သည်။\n\nသင့်စက်ပစ္စည်းအက်ပ်က အချို့စက်များကို ဖုန်း (သို့) တက်ဘလက် လော့ခ်ဖွင့်ရန်မလိုဘဲ သုံးခွင့်ပေးနိုင်သည်။\n\nဆက်တင်များ၌ အချိန်မရွေး ပြောင်းလဲပြင်ဆင်နိုင်သည်။"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"လော့ခ်မျက်နှာပြင်တွင် စက်ပစ္စည်းများ ထိန်းချုပ်မလား။"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"အချို့စက်များကို ဖုန်း (သို့) တက်ဘလက် လော့ခ်ဖွင့်ရန်မလိုဘဲ ထိန်းချုပ်နိုင်သည်။ ဤနည်းလမ်းအတိုင်း ထိန်းချုပ်နိုင်မည့်စက်များကို သင့်စက်ပစ္စည်းအက်ပ်က ဆုံးဖြတ်သည်။"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"မလိုပါ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Yes"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"ပင်နံပါတ်တွင် စာလုံး သို့မဟုတ် သင်္ကေတများပါဝင်သည်"</string> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 1618f73e5b6d..c6a665a4ca68 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Forstørr hele skjermen"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Forstørr en del av skjermen"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Bytt"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Åpne innstillinger for forstørring"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Dra hjørnet for å endre størrelse"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Tillat diagonal rulling"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Endre størrelse"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Venstre håndtak"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Høyre håndtak"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Nedre håndtak"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Innstillinger for forstørring"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Forstørringsstørrelse"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Middels"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontroll er lagt til.}other{# kontroller er lagt til.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Fjernet"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Vil du legge til <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Vil du fjerne kontrollene for <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favoritt"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Vil du se og kontrollere enheter fra låseskjermen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Du kan legge til kontroller for de eksterne enhetene dine på låseskjermen.\n\nEnhetsappen kan la deg kontrollere noen enheter uten å låse opp telefonen eller nettbrettet.\n\nDu kan når som helst endre innstillingene."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Vil du kontrollere enheter fra låseskjermen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Du kan kontrollere visse enheter uten å låse opp telefonen eller nettbrettet. Enhetsappen avgjør hvilke enheter som kan kontrolleres på denne måten."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nei takk"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ja"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-koden inneholder bokstaver eller symboler"</string> diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml index eafca69baca6..621fdab8577d 100644 --- a/packages/SystemUI/res/values-ne/strings.xml +++ b/packages/SystemUI/res/values-ne/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"पूरै स्क्रिन जुम इन गर्नुहोस्"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"स्क्रिनको केही भाग म्याग्निफाइ गर्नुहोस्"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"बदल्नुहोस्"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"जुम इनसम्बन्धी सेटिङ खोल्नुहोस्"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"आकार बदल्न कुनाबाट ड्र्याग गर्नुहोस्"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"डायगोनल तरिकाले स्क्रोल गर्ने अनुमति दिनुहोस्"</string> <string name="accessibility_resize" msgid="5733759136600611551">"आकार बदल्नुहोस्"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"बायाँतिरको ह्यान्डल"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"दायाँतिरको ह्यान्डल"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"पुछारको ह्यान्डल"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"जुम इनसम्बन्धी सेटिङ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"म्याग्निफायरको आकार"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"जुम"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"मध्यम"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# कन्ट्रोल हालियो।}other{# वटा कन्ट्रोल हालियो।}}"</string> <string name="controls_removed" msgid="3731789252222856959">"हटाइएको"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> हाल्ने हो?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> का सेटिङ हटाउने हो?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"मनपराइएको"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"लक स्क्रिनमै डिभाइसहरू देखाउने र लक स्क्रिनबाटै ती डिभाइसहरू नियन्त्रण गर्ने हो?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"तपाईं आफ्ना बाह्य डिभाइसहरूका कन्ट्रोलहरू लक स्क्रिनमा हाल्न सक्नुहुन्छ।\n\nतपाईंको डिभाइसको एपले तपाईंलाई आफ्नो फोन वा ट्याब्लेट अनलक नगरिकनै केही डिभाइसहरू नियन्त्रण गर्ने अनुमति दिन सक्छ।\n\nतपाईं जुनसुकै बेला सेटिङमा गई यी कुराहरू बदल्न सक्नुहुन्छ।"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"लक स्क्रिनबाटै डिभाइसहरू नियन्त्रण गर्ने हो?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"तपाईं आफ्नो फोन वा ट्याब्लेट अनलक नगरिकनै केही डिभाइसहरू नियन्त्रण गर्न सक्नुहुन्छ। तपाईंको डिभाइस एपले यस तरिकाले कुन कुन डिभाइस नियन्त्रण गर्न सकिन्छ भन्ने कुरा निर्धारण गर्छ।"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"पर्दैन"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"अँ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN मा अक्षर वा चिन्हहरू समाविष्ट हुन्छन्"</string> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 44275712e7ef..3b8a957b5fae 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Volledig scherm vergroten"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Deel van het scherm vergroten"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Schakelen"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Instellingen voor vergroting openen"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Sleep een hoek om het formaat te wijzigen"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Diagonaal scrollen toestaan"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Formaat aanpassen"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Handgreep links"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Handgreep rechts"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Handgreep onderaan"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Instellingen voor vergroting"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Vergrotingsgrootte"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoomen"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Normaal"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# bedieningselement toegevoegd.}other{# bedieningselementen toegevoegd.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Verwijderd"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> toevoegen?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Bedieningselementen voor <xliff:g id="APPNAME">%s</xliff:g> verwijderen?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Gemarkeerd als favoriet"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Apparaten tonen en bedienen via het vergrendelscherm?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Je kunt bedieningselementen voor je externe apparaten toevoegen aan het vergrendelscherm.\n\nMet je apparaat-app kun je misschien bepaalde apparaten bedienen zonder je telefoon of tablet te ontgrendelen.\n\nJe kunt op elk moment wijzigingen aanbrengen via Instellingen."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Apparaten bedienen via vergrendelscherm?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Je kunt bepaalde apparaten bedienen zonder je telefoon of tablet te ontgrendelen. Je apparaat-app bepaalt welke apparaten op deze manier kunnen worden bediend."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nee, bedankt"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ja"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Pincode bevat letters of symbolen"</string> diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml index fb036f312206..98ae465397d0 100644 --- a/packages/SystemUI/res/values-or/strings.xml +++ b/packages/SystemUI/res/values-or/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ସମ୍ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନକୁ ମ୍ୟାଗ୍ନିଫାଏ କରନ୍ତୁ"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"ସ୍କ୍ରିନର ଅଂଶ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ସ୍ୱିଚ୍ କରନ୍ତୁ"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"ମାଗ୍ନିଫିକେସନ ସେଟିଂସ ଖୋଲନ୍ତୁ"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ରିସାଇଜ କରିବା ପାଇଁ କୋଣକୁ ଡ୍ରାଗ କରନ୍ତୁ"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ଡାଏଗୋନାଲ ସ୍କ୍ରୋଲିଂକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ରିସାଇଜ କରନ୍ତୁ"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ବାମ ହ୍ୟାଣ୍ଡେଲ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"ଡାହାଣ ହ୍ୟାଣ୍ଡେଲ"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"ନିମ୍ନର ହ୍ୟାଣ୍ଡେଲ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"ମାଗ୍ନିଫିକେସନ ସେଟିଂସ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"ମ୍ୟାଗ୍ନିଫାୟରର ଆକାର"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"ଜୁମ କରନ୍ତୁ"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"ମଧ୍ୟମ"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{#ଟି ନିୟନ୍ତ୍ରଣ ଯୋଗ କରାଯାଇଛି।}other{#ଟି ନିୟନ୍ତ୍ରଣ ଯୋଗ କରାଯାଇଛି।}}"</string> <string name="controls_removed" msgid="3731789252222856959">"କାଢ଼ି ଦିଆଯାଇଛି"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g>କୁ ଯୋଗ କରିବେ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> ପାଇଁ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକୁ କାଢ଼ି ଦେବେ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ପସନ୍ଦ କରାଯାଇଛି"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ଲକ ସ୍କ୍ରିନରୁ ଡିଭାଇସଗୁଡ଼ିକୁ ଦେଖାଇବେ ଏବଂ ନିୟନ୍ତ୍ରଣ କରିବେ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ଆପଣ ଲକ ସ୍କ୍ରିନରେ ଆପଣଙ୍କ ଏକ୍ସଟର୍ନଲ ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ନିୟନ୍ତ୍ରଣଗୁଡ଼ିକ ଯୋଗ କରିପାରିବେ।\n\nଆପଣଙ୍କ ଫୋନ କିମ୍ବା ଟାବଲେଟକୁ ଅନଲକ ନକରି କିଛି ଡିଭାଇସକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଆପଣଙ୍କ ଡିଭାଇସର ଆପ ଆପଣଙ୍କୁ ଅନୁମତି ଦେଇପାରେ।\n\nଆପଣ ଯେ କୌଣସି ସମୟରେ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ଲକ ସ୍କ୍ରିନରୁ ଡିଭାଇସଗୁଡ଼ିକୁ ନିୟନ୍ତ୍ରଣ କରିବେ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"ଆପଣ ଆପଣଙ୍କ ଫୋନ କିମ୍ବା ଟାବଲେଟକୁ ଅନଲକ ନକରି କିଛି ଡିଭାଇସକୁ ନିୟନ୍ତ୍ରଣ କରିପାରିବେ। ଏହି ଉପାୟରେ କେଉଁ ଡିଭାଇସଗୁଡ଼ିକୁ ନିୟନ୍ତ୍ରଣ କରାଯାଇପାରିବ ତାହା ଆପଣଙ୍କ ଡିଭାଇସ ଆପ ସ୍ଥିର କରେ।"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ନା, ଧନ୍ୟବାଦ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ହଁ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PINରେ ଅକ୍ଷର କିମ୍ୱା ପ୍ରତୀକଗୁଡ଼ିକ ଥାଏ"</string> diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml index 6aea323e78c6..ebdcd0c9af4e 100644 --- a/packages/SystemUI/res/values-pa/strings.xml +++ b/packages/SystemUI/res/values-pa/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ਪੂਰੀ ਸਕ੍ਰੀਨ ਨੂੰ ਵੱਡਦਰਸ਼ੀ ਕਰੋ"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"ਸਕ੍ਰੀਨ ਦੇ ਹਿੱਸੇ ਨੂੰ ਵੱਡਾ ਕਰੋ"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ਸਵਿੱਚ"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਸੈਟਿੰਗਾਂ ਖੋਲ੍ਹੋ"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ਆਕਾਰ ਬਦਲਣ ਲਈ ਕੋਨਾ ਘਸੀਟੋ"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"ਟੇਡੀ ਦਿਸ਼ਾ ਵਿੱਚ ਸਕ੍ਰੋਲ ਕਰਨ ਦਿਓ"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ਆਕਾਰ ਬਦਲੋ"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ਖੱਬਾ ਹੈਂਡਲ"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"ਸੱਜਾ ਹੈਂਡਲ"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"ਹੇਠਲਾਂ ਹੈਂਡਲ"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਸੈਟਿੰਗਾਂ"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"ਵੱਡਦਰਸ਼ੀ ਦਾ ਆਕਾਰ"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"ਜ਼ੂਮ"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"ਦਰਮਿਆਨਾ"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# ਕੰਟਰੋਲ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ।}one{# ਕੰਟਰੋਲ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ।}other{# ਕੰਟਰੋਲ ਸ਼ਾਮਲ ਕੀਤੇ ਗਏ।}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ਹਟਾਇਆ ਗਿਆ"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"ਕੀ <xliff:g id="APPNAME">%s</xliff:g> ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"ਕੀ <xliff:g id="APPNAME">%s</xliff:g> ਲਈ ਕੰਟਰੋਲਾਂ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ਮਨਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"ਕੀ ਲਾਕ ਸਕ੍ਰੀਨ ਤੋਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਦੇਖਣਾ ਅਤੇ ਕੰਟਰੋਲ ਕਰਨਾ ਹੈ?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ਤੁਸੀਂ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਆਪਣੇ ਬਾਹਰੀ ਡੀਵਾਈਸਾਂ ਲਈ ਕੰਟਰੋਲ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ।\n\nਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਮੌਜੂਦ ਐਪ ਤੁਹਾਨੂੰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਜਾਂ ਟੈਬਲੈੱਟ ਨੂੰ ਅਣਲਾਕ ਕੀਤੇ ਬਿਨਾਂ ਕੁਝ ਡੀਵਾਈਸਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਦੇ ਸਕਦੀ ਹੈ।\n\nਤੁਸੀਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਕਿਸੇ ਵੇਲੇ ਵੀ ਤਬਦੀਲੀਆਂ ਕਰ ਸਕਦੇ ਹੋ।"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ਕੀ ਲਾਕ ਸਕ੍ਰੀਨ ਤੋਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨਾ ਹੈ?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"ਤੁਸੀਂ ਆਪਣੇ ਫ਼ੋਨ ਜਾਂ ਟੈਬਲੈੱਟ ਨੂੰ ਅਣਲਾਕ ਕੀਤੇ ਬਿਨਾਂ ਕੁਝ ਡੀਵਾਈਸਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕਰ ਸਕਦੇ ਹੋ। ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਮੌਜੂਦ ਐਪ ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਦੀ ਹੈ ਕਿ ਇਸ ਤਰੀਕੇ ਨਾਲ ਕਿਹੜੇ ਡੀਵਾਈਸਾਂ ਨੂੰ ਕੰਟਰੋਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ਨਹੀਂ ਧੰਨਵਾਦ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ਹਾਂ"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"ਪਿੰਨ ਵਿੱਚ ਅੱਖਰ ਜਾਂ ਚਿੰਨ੍ਹ ਸ਼ਾਮਲ ਹਨ"</string> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 583259e23138..37eb6381cc69 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Włącz USB"</string> <string name="learn_more" msgid="4690632085667273811">"Więcej informacji"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Zrzut ekranu"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Wyłączono Extend Unlock"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"wysłano obraz"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Zapisywanie zrzutu ekranu..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Zapisuję zrzut ekranu w profilu służbowym…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Powiększanie pełnego ekranu"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Powiększ część ekranu"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Przełącz"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Otwórz ustawienia powiększenia"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Przeciągnij róg, aby zmienić rozmiar"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Zezwalaj na przewijanie poprzeczne"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Zmień rozmiar"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Lewy uchwyt"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Prawy uchwyt"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Dolny uchwyt"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Ustawienia powiększenia"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Rozmiar powiększania"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Powiększenie"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Średni"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Dodano # element sterujący.}few{Dodano # elementy sterujące.}many{Dodano # elementów sterujących.}other{Dodano # elementu sterującego.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Usunięto"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Dodać aplikację <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Usunąć elementy sterujące aplikacji <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Dodano do ulubionych"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Pokazywać urządzenia i umożliwiać sterowanie nimi na ekranie blokady?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Możesz dodać do ekranu blokady elementy sterujące dotyczące urządzeń zewnętrznych.\n\nMożesz mieć możliwość sterowania niektórymi urządzeniami za pomocą aplikacji na telefonie lub tablecie bez odblokowywania tych urządzeń.\n\nW dowolnej chwili możesz wprowadzić zmiany w Ustawieniach."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Sterować urządzeniami na ekranie blokady?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Możesz sterować niektórymi urządzeniami bez odblokowywania telefonu lub tabletu. Aplikacja urządzenia określa, którymi urządzeniami możesz sterować w ten sposób."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nie, dziękuję"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Tak"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Kod PIN zawiera litery lub symbole"</string> diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml index 616e007731a1..498428e5a429 100644 --- a/packages/SystemUI/res/values-pt-rBR/strings.xml +++ b/packages/SystemUI/res/values-pt-rBR/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Ativar USB"</string> <string name="learn_more" msgid="4690632085667273811">"Saiba mais"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Capturar tela"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock desativado"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"enviou uma imagem"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Salvando captura de tela..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Salvando captura de tela no perfil de trabalho…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ampliar toda a tela"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ampliar parte da tela"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Trocar"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Abrir as configurações de ampliação"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Arraste o canto para redimensionar"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permitir rolagem diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Redimensionar"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Alça esquerda"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Alça direita"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Alça de baixo"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Configurações de ampliação"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Tamanho da lupa"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Médio"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# controle adicionado.}one{# controle adicionado.}many{# de controles adicionados.}other{# controles adicionados.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removido"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Adicionar o app <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remover controles do app <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Adicionado como favorito"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Mostrar e controlar dispositivos na tela de bloqueio?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Você pode adicionar à tela de bloqueio controles para dispositivos externos.\n\nO app do dispositivo pode permitir que você controle alguns dispositivos sem desbloquear o smartphone ou tablet.\n\nÉ possível fazer mudanças a qualquer momento nas Configurações."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Controlar dispositivos na tela de bloqueio?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"É possível controlar alguns dispositivos sem desbloquear o smartphone ou tablet. O app determina quais dispositivos podem ser controlados dessa maneira."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Agora não"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Sim"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"O PIN contém letras ou símbolos"</string> @@ -1092,7 +1088,7 @@ <string name="log_access_confirmation_title" msgid="4843557604739943395">"Permitir que o app <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> acesse todos os registros do dispositivo?"</string> <string name="log_access_confirmation_allow" msgid="752147861593202968">"Permitir o acesso único"</string> <string name="log_access_confirmation_deny" msgid="2389461495803585795">"Não permitir"</string> - <string name="log_access_confirmation_body" msgid="6883031912003112634">"Os registros do dispositivo gravam o que acontece nele. Os apps podem usar esses registros para encontrar e corrigir problemas.\n\nAlguns registros podem conter informações sensíveis, então autorize o acesso a eles apenas para os apps em que você confia. \n\nSe você não permitir que esse app acesse todos os registros do dispositivo, ele ainda vai poder acessar os próprios. O fabricante do dispositivo também pode ter acesso a alguns registros ou informações."</string> + <string name="log_access_confirmation_body" msgid="6883031912003112634">"Os registros do dispositivo gravam o que acontece nele. Os apps podem usar esses registros para encontrar e corrigir problemas.\n\nAlguns registros podem conter informações sensíveis, então autorize o acesso a eles apenas para os apps em que você confia. \n\nSe você não permitir que esse app acesse todos os registros do dispositivo, ele ainda vai poder acessar os dele. O fabricante do dispositivo também pode ter acesso a alguns registros ou informações."</string> <string name="log_access_confirmation_learn_more" msgid="3134565480986328004">"Saiba mais"</string> <string name="log_access_confirmation_learn_more_at" msgid="5635666259505215905">"Saiba mais em <xliff:g id="URL">%s</xliff:g>"</string> <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8164857863036314664">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index c1fb700c4dc8..59e6cc437fb4 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Ativar USB"</string> <string name="learn_more" msgid="4690632085667273811">"Saiba mais"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Captura de ecrã"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Desbloqueio prolongado desativado"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"enviou uma imagem"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"A guardar captura de ecrã..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"A guardar captura de ecrã no perfil de trabalho…"</string> @@ -871,7 +870,8 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# controlo adicionado.}many{# controlos adicionados.}other{# controlos adicionados.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removido"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Adicionar <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <string name="controls_panel_authorization" msgid="4665218066461350247">"A app <xliff:g id="APPNAME">%s</xliff:g> pode escolher que controlos e conteúdos são apresentados aqui."</string> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> + <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remover controlos para a app <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Adicionado aos favoritos"</string> <string name="accessibility_control_favorite_position" msgid="54220258048929221">"Adicionados aos favoritos, posição <xliff:g id="NUMBER">%d</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 616e007731a1..498428e5a429 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"Ativar USB"</string> <string name="learn_more" msgid="4690632085667273811">"Saiba mais"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Capturar tela"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Extend Unlock desativado"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"enviou uma imagem"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Salvando captura de tela..."</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Salvando captura de tela no perfil de trabalho…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ampliar toda a tela"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ampliar parte da tela"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Trocar"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Abrir as configurações de ampliação"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Arraste o canto para redimensionar"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permitir rolagem diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Redimensionar"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Alça esquerda"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Alça direita"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Alça de baixo"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Configurações de ampliação"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Tamanho da lupa"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Médio"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# controle adicionado.}one{# controle adicionado.}many{# de controles adicionados.}other{# controles adicionados.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Removido"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Adicionar o app <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Remover controles do app <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Adicionado como favorito"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Mostrar e controlar dispositivos na tela de bloqueio?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Você pode adicionar à tela de bloqueio controles para dispositivos externos.\n\nO app do dispositivo pode permitir que você controle alguns dispositivos sem desbloquear o smartphone ou tablet.\n\nÉ possível fazer mudanças a qualquer momento nas Configurações."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Controlar dispositivos na tela de bloqueio?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"É possível controlar alguns dispositivos sem desbloquear o smartphone ou tablet. O app determina quais dispositivos podem ser controlados dessa maneira."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Agora não"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Sim"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"O PIN contém letras ou símbolos"</string> @@ -1092,7 +1088,7 @@ <string name="log_access_confirmation_title" msgid="4843557604739943395">"Permitir que o app <xliff:g id="LOG_ACCESS_APP_NAME">%s</xliff:g> acesse todos os registros do dispositivo?"</string> <string name="log_access_confirmation_allow" msgid="752147861593202968">"Permitir o acesso único"</string> <string name="log_access_confirmation_deny" msgid="2389461495803585795">"Não permitir"</string> - <string name="log_access_confirmation_body" msgid="6883031912003112634">"Os registros do dispositivo gravam o que acontece nele. Os apps podem usar esses registros para encontrar e corrigir problemas.\n\nAlguns registros podem conter informações sensíveis, então autorize o acesso a eles apenas para os apps em que você confia. \n\nSe você não permitir que esse app acesse todos os registros do dispositivo, ele ainda vai poder acessar os próprios. O fabricante do dispositivo também pode ter acesso a alguns registros ou informações."</string> + <string name="log_access_confirmation_body" msgid="6883031912003112634">"Os registros do dispositivo gravam o que acontece nele. Os apps podem usar esses registros para encontrar e corrigir problemas.\n\nAlguns registros podem conter informações sensíveis, então autorize o acesso a eles apenas para os apps em que você confia. \n\nSe você não permitir que esse app acesse todos os registros do dispositivo, ele ainda vai poder acessar os dele. O fabricante do dispositivo também pode ter acesso a alguns registros ou informações."</string> <string name="log_access_confirmation_learn_more" msgid="3134565480986328004">"Saiba mais"</string> <string name="log_access_confirmation_learn_more_at" msgid="5635666259505215905">"Saiba mais em <xliff:g id="URL">%s</xliff:g>"</string> <string name="keyguard_affordance_enablement_dialog_action_template" msgid="8164857863036314664">"Abrir <xliff:g id="APPNAME">%1$s</xliff:g>"</string> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index 7f531e7b3efd..ae0939f2d53f 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Mărește tot ecranul"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Mărește o parte a ecranului"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Comutator"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Deschide setările pentru mărire"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Trage de colț pentru a redimensiona"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Permite derularea pe diagonală"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Redimensionează"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ghidajul din stânga"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Ghidajul din dreapta"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ghidajul de jos"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Setări pentru mărire"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Dimensiunea lupei"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mediu"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{S-a adăugat # comandă.}few{S-au adăugat # comenzi.}other{S-au adăugat # de comenzi.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Eliminată"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Adaugi <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Elimini comenzile pentru <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Marcată ca preferată"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Afișezi și controlezi dispozitivele de pe ecranul de blocare?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Poți adăuga comenzi pentru dispozitivele externe pe ecranul de blocare.\n\nAplicația de pe dispozitiv îți poate permite să controlezi unele dispozitive fără să deblochezi telefonul.\n\nPoți face modificări oricând în setări."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Controlezi dispozitivele de pe ecranul de blocare?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Poți controla unele dispozitive fără să deblochezi telefonul sau tableta. Aplicația de dispozitiv stabilește dispozitivele care pot fi controlate astfel."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nu, mulțumesc"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Da"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Codul PIN conține litere sau simboluri"</string> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 79f2abf65c12..244bdf7c9a33 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Увеличение всего экрана"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Увеличить часть экрана"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Переключить"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Открыть настройки увеличения"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Потяните за угол, чтобы изменить размер"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Разрешить прокручивать по диагонали"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Изменить размер"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Левый маркер"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Правый маркер"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Нижний маркер"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Настройки увеличения"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Размер лупы"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Масштаб"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Средняя"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Добавлен # элемент управления.}one{Добавлен # элемент управления.}few{Добавлено # элемента управления.}many{Добавлено # элементов управления.}other{Добавлено # элемента управления.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Удалено"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Добавить приложение \"<xliff:g id="APPNAME">%s</xliff:g>\"?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Удалить приложение \"<xliff:g id="APPNAME">%s</xliff:g>\" с панели управления устройствами?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Добавлено в избранное"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Разрешить показывать устройства и управлять ими на заблокированном экране?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Вы можете добавить элементы управления внешними устройствами на заблокированный экран.\n\nПриложение на вашем устройстве может разрешать управление некоторыми устройствами с заблокированного экрана.\n\nИзменить параметры можно в любое время в настройках."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Управлять устройствами на заблокированном экране?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Некоторыми устройствами можно управлять без разблокировки экрана на телефоне или планшете. Их точный перечень зависит от приложения на вашем устройстве."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Не сейчас"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Да"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-код содержит буквы или символы"</string> diff --git a/packages/SystemUI/res/values-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml index 92c9a3f7abd3..61a5ce54d076 100644 --- a/packages/SystemUI/res/values-si/strings.xml +++ b/packages/SystemUI/res/values-si/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"පූර්ණ තිරය විශාලනය කරන්න"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"තිරයේ කොටසක් විශාලනය කරන්න"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ස්විචය"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"විශාලන සැකසීම් විවෘත කරන්න"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ප්රමාණය වෙනස් කිරීමට කොන අදින්න"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"විකර්ණ අනුචලනයට ඉඩ දෙන්න"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ප්රතිප්රමාණය කරන්න"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"වම් හසුරුව"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"දකුණු හසුරුව"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"පහළ හසුරුව"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"විශාලන සැකසීම්"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"විශාලන තරම"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"විශාලනය කරන්න"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"මධ්යම"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# පාලනයක් එක් කර ඇත.}one{පාලන #ක් එක් කර ඇත.}other{පාලන #ක් එක් කර ඇත.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ඉවත් කළා"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> එක් කරන්න ද?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> සඳහා පාලන ඉවත් කරන්න ද?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ප්රියතම කළා"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"අගුලු තිරයෙන් උපාංග පෙන්වීම සහ පාලනය සිදු කරන්නද?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"ඔබට ඔබගේ බාහිර උපාංග සඳහා පාලන අගුලු තිරයට එක් කළ හැකිය.\n\nඔබගේ උපාංග යෙදුම ඔබගේ දුරකථනය හෝ ටැබ්ලටය අගුලු හැරීමෙන් තොරව සමහර උපාංග පාලනය කිරීමට ඉඩ ලබා දේ.\n\nඔබට සැකසීම් තුළ ඕනෑම වේලාවක වෙනස් කිරීම් සිදු කළ හැකිය."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"අගුලු තිරයෙන් උපාංග පාලනය කරන්නද?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"ඔබේ දුරකථනය හෝ ටැබ්ලටය අගුලු හැරීමෙන් තොරව ඔබට සමහර උපාංග පාලන කළ හැක. ඔබේ උපාංග යෙදුම මේ ආකාරයෙන් පාලන කළ හැකි උපාංග තීරණ කරයි."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"එපා ස්තුතියි"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ඔව්"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN හි අකුරු හෝ සංකේත අඩංගු වේ"</string> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 090a82b0ccfa..276f51f6b584 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Zväčšenie celej obrazovky"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Zväčšiť časť obrazovky"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Prepnúť"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Otvoriť nastavenia zväčšenia"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Veľkosť zmeníte presunutím rohu"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Povoliť diagonálne posúvanie"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Zmeniť veľkosť"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ľavá rukoväť"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Pravá rukoväť"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Dolná rukoväť"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Nastavenia zväčšenia"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Veľkosť zväčšenia"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Lupa"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Stredný"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Bol pridaný # ovládací prvok.}few{Boli pridané # ovládacie prvky.}many{# controls added.}other{Bolo pridaných # ovládacích prvkov.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Odstránené"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Chcete pridať aplikáciu <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Chcete odstrániť ovládanie aplikácie <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Pridané medzi obľúbené"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Chcete zobrazovať a ovládať zariadenia na uzamknutej obrazovke?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Na uzamknutú obrazovku si môžete pridať ovládanie externých zariadení.\n\nAplikácia zariadenia vám môže umožniť ovládať niektoré zariadenia bez odomknutia telefónu či tabletu.\n\nZmeny môžete vykonať kedykoľvek v Nastaveniach."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Chcete ovládať zariadenia na uzamknutej obrazovke?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Niektoré zariadenia môžete ovládať bez odomknutia telefónu či tabletu. Aplikácia zariadenia určuje, ktoré zariadenia sa dajú týmto spôsobom ovládať."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nie, vďaka"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Áno"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN obsahuje písmená či symboly"</string> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 84fd7c5fb32d..97362843ad87 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Povečanje celotnega zaslona"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Povečava dela zaslona"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Stikalo"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Odpri nastavitve povečave"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Povlecite vogal, da spremenite velikost."</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Dovoli diagonalno pomikanje"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Spremeni velikost"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ročica levo"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Ročica desno"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ročica spodaj"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Nastavitve povečave"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Velikost povečevalnika"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Povečava/pomanjšava"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Srednja"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontrolnik je dodan.}one{# kontrolnik je dodan.}two{# kontrolnika sta dodana.}few{# kontrolniki so dodani.}other{# kontrolnikov je dodanih.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Odstranjeno"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Želite dodati aplikacijo <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Želite odstraniti kontrolnike za aplikacijo <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Dodano med priljubljene"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Želite prikazati in upravljati naprave na zaklenjenem zaslonu?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Kontrolnike za zunanje naprave lahko dodate na zaklenjen zaslon.\n\nAplikacija v napravi vam bo morda omogočala upravljanje nekaterih naprav brez odklepanja telefona ali tabličnega računalnika.\n\nTe spremembe lahko kadar koli izvedete v nastavitvah."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Želite upravljati naprave na zaklenjenem zaslonu?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Nekatere naprave lahko upravljate brez odklepanja telefona ali tabličnega računalnika. Aplikacija v napravi določa, katere naprave je mogoče upravljati na ta način."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ne, hvala"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Da"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Koda PIN vsebuje črke ali simbole"</string> diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml index 4cf43464e019..02f9638abef5 100644 --- a/packages/SystemUI/res/values-sq/strings.xml +++ b/packages/SystemUI/res/values-sq/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Zmadho ekranin e plotë"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Zmadho një pjesë të ekranit"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Ndërro"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Hap cilësimet e zmadhimit"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Zvarrit këndin për të ndryshuar përmasat"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Lejo lëvizjen diagonale"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Ndrysho përmasat"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Doreza e majtë"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Doreza e djathtë"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Doreza e poshtme"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Cilësimet e zmadhimit"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Përmasa e zmadhimit"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zmadho"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Mesatar"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{U shtua # kontroll.}other{U shtuan # kontrolle.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"E hequr"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Të shtohet <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Të hiqen kontrollet për <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"E shtuar te të preferuarat"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Të shfaqen dhe të kontrollohen pajisjet nga ekrani i kyçjes?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Mund të shtosh kontrolle për pajisjet e tua të jashtme në ekranin e kyçjes.\n\nAplikacioni në pajisjen tënde mund të të lejojë të kontrollosh disa pajisje pa shkyçur telefonin apo tabletin.\n\nMund të bësh ndryshime në çdo kohë te \"Cilësimet\"."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Të kontrollohen pajisjet nga ekrani i kyçjes?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Mund të kontrollosh disa pajisje pa shkyçur telefonin apo tabletin tënd. Aplikacioni për pajisjen tënde përcakton se cilat pajisje mund të kontrollohen në këtë mënyrë."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Jo, faleminderit"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Po"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Kodi PIN përmban shkronja ose simbole"</string> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 987f5f5b8c0d..ed9991396077 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Увећајте цео екран"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Увећајте део екрана"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Пређи"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Отвори подешавања увећања"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Превуците угао да бисте променили величину"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Дозволи дијагонално скроловање"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Промени величину"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Лева ручица"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Десна ручица"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Доња ручица"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Подешавања увећања"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Величина лупе"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Зумирање"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Средње"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# контрола је додата.}one{# контрола је додата.}few{# контроле су додате.}other{# контрола је додато.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Уклоњено"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Желите ли да додате <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Желите да уклоните контроле за <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Означено је као омиљено"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Желите ли да приказујете и контролишете уређаје са закључаног екрана?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Можете да додате контроле за спољне уређаје на закључани екран.\n\nАпликација на уређају може да вам омогући да контролишете неке уређаје без откључавања телефона или таблета.\n\nТо можете да промените кад год желите у Подешавањима."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Желите ли да контролишете уређаје са закључаног екрана?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Неке уређаје можете да контролишете без откључавања телефона или таблета. Апликација на уређају одређује који уређаји могу да се контролишу на овај начин."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Не, хвала"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Да"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN садржи слова или симболе"</string> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index bffb743f16f1..2809b3b1bff9 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Förstora hela skärmen"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Förstora en del av skärmen"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Reglage"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Öppna inställningarna för förstoring"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Dra i hörnet för att ändra storlek"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Tillåt diagonal scrollning"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Ändra storlek"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Vänster handtag"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Höger handtag"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Nedre handtag"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Inställningar för förstoring"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Förstoringsstorlek"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Medel"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontroll har lagts till.}other{# kontroller har lagts till.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Har tagits bort"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Vill du lägga till <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Vill du ta bort inställningarna för <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Har lagts till som favorit"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Vill du se och styra enheter på låsskärmen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Du kan lägga till reglage att styra externa enheter med på låsskärmen.\n\nVissa enheter kan gå att styra med appen på enheten utan att du behöver låsa upp telefonen eller surfplattan.\n\nDu kan när som helst ändra detta i inställningarna."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Vill du styra enheter på låsskärmen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Du kan styra vissa enheter utan att låsa upp telefonen eller surfplattan. Vilka enheter som går att styra på det här sättet beror på appen på enheten."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Nej tack"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ja"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Pinkoden innehåller bokstäver eller symboler"</string> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index 269d0a7b64f1..056a8a88fe64 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Kuza skrini nzima"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Kuza sehemu ya skrini"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Swichi"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Fungua mipangilio ya ukuzaji"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Buruta kona ili ubadilishe ukubwa"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Ruhusu usogezaji wa kimshazari"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Badilisha ukubwa"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ncha ya kushoto"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Ncha ya kulia"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ncha ya chini"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Mipangilio ya ukuzaji"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Ukubwa wa kikuzaji"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Kuza"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Wastani"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Umeweka kidhibiti #.}other{Umeweka vidhibiti #.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Kimeondolewa"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Ungependa kuweka <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Ungependa kuondoa vidhibiti vya <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Kimewekwa kwenye vipendwa"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Ungependa kuonyesha na udhibiti vifaa kwenye skrini iliyofungwa?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Unaweza kuweka vidhibiti kwa ajili ya vifaa vyako vya nje kwenye skrini iliyofungwa.\n\nProgramu ya kifaa chako huenda ikakuruhusu udhibiti baadhi ya vifaa bila kufungua simu au kompyuta kibao yako.\n\nUnaweza kufanya mabadiliko muda wowote kwenye Mipangilio."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Ungependa kudhibiti vifaa kwenye skrini iliyofungwa?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Unaweza kudhibiti baadhi ya vifaa bila kufungua simu au kompyuta kibao yako. Programu ya kifaa chako hubainisha ni vifaa vipi vinaweza kudhibitiwa kwa njia hii."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Hapana"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ndiyo"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN ina herufi au alama"</string> diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml index ba38c983e664..49ace2320bd4 100644 --- a/packages/SystemUI/res/values-ta/strings.xml +++ b/packages/SystemUI/res/values-ta/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"முழுத்திரையைப் பெரிதாக்கும்"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"திரையின் ஒரு பகுதியைப் பெரிதாக்கும்"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"ஸ்விட்ச்"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"பெரிதாக்கல் அமைப்புகளைத் திற"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"அளவை மாற்ற மூலையை இழுக்கவும்"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"குறுக்கே ஸ்க்ரோல் செய்வதை அனுமதி"</string> <string name="accessibility_resize" msgid="5733759136600611551">"அளவை மாற்று"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"இடது ஹேண்டில்"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"வலது ஹேண்டில்"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"கீழ்ப்புற ஹேண்டில்"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"பெரிதாக்கல் அமைப்புகள்"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"பெரிதாக்கும் கருவியின் அளவு"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"அளவை மாற்று"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"நடுத்தரமானது"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# கட்டுப்பாடு சேர்க்கப்பட்டது.}other{# கட்டுப்பாடுகள் சேர்க்கப்பட்டன.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"அகற்றப்பட்டது"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> ஆப்ஸைச் சேர்க்கவா?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> ஆப்ஸுக்கான கட்டுப்பாடுகளை அகற்றவா?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"பிடித்தவற்றில் சேர்க்கப்பட்டது"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"பூட்டுத் திரையிலிருந்தே சாதனங்களைப் பார்க்கவும் கட்டுப்படுத்தவும் அனுமதிக்கவா?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"வெளிப்புறச் சாதனங்களுக்கான கட்டுப்பாடுகளை உங்கள் பூட்டுத் திரையில் சேர்க்கலாம்.\n\nஉங்கள் மொபைலையோ டேப்லெட்டையோ அன்லாக் செய்யாமலேயே சில சாதனங்களைக் கட்டுப்படுத்த சாதன ஆப்ஸ் உங்களை அனுமதிக்கக்கூடும்.\n\nஅமைப்புகளுக்குச் சென்று எப்போது வேண்டுமானாலும் மாற்றங்களைச் செய்யலாம்."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"பூட்டுத் திரையிலிருந்தே சாதனங்களைக் கட்டுப்படுத்தவா?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"உங்கள் மொபைலையோ டேப்லெட்டையோ அன்லாக் செய்யாமலேயே சில சாதனங்களை நீங்கள் கட்டுப்படுத்தலாம். எந்தெந்தச் சாதனங்களை இவ்வாறு கட்டுப்படுத்தலாம் என்பதை உங்கள் சாதன ஆப்ஸ் தீர்மானிக்கும்."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"வேண்டாம்"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ஆம்"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"பின்னில் எழுத்துகள் அல்லது குறிகள் உள்ளன"</string> diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml index 4e0e62512049..9fe3d5c50382 100644 --- a/packages/SystemUI/res/values-te/strings.xml +++ b/packages/SystemUI/res/values-te/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ఫుల్ స్క్రీన్ను మ్యాగ్నిఫై చేయండి"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"స్క్రీన్లో భాగాన్ని మ్యాగ్నిఫై చేయండి"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"స్విచ్ చేయి"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"మ్యాగ్నిఫికేషన్ సెట్టింగ్లను తెరవండి"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"సైజ్ మార్చడానికి మూలను లాగండి"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"వికర్ణ స్క్రోలింగ్ను అనుమతించండి"</string> <string name="accessibility_resize" msgid="5733759136600611551">"సైజ్ మార్చండి"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"ఎడమవైపు హ్యాండిల్"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"కుడివైపు హ్యాండిల్"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"కింద హ్యాండిల్"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"మ్యాగ్నిఫికేషన్ సెట్టింగ్లు"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"మాగ్నిఫయర్ సైజ్"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"జూమ్ చేయండి"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"మధ్యస్థం"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# కంట్రోల్ జోడించబడింది.}other{# కంట్రోల్స్ జోడించబడ్డాయి.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"తీసివేయబడింది"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g>ను జోడించాలా?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> కోసం కంట్రోల్స్ను తీసివేయాలా?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ఇష్టమైనదిగా గుర్తు పెట్టబడింది"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"లాక్ స్క్రీన్ నుండి పరికరాలను చూపించాలా, కంట్రోల్ చేయాలా?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"మీరు లాక్ స్క్రీన్కు మీ బాహ్య పరికరాల కోసం కంట్రోల్స్ను జోడించవచ్చు.\n\nమీ ఫోన్ లేదా టాబ్లెట్ను అన్లాక్ చేయకుండానే కొన్ని పరికరాలను కంట్రోల్ చేయడానికి మీ పరికర యాప్ మిమ్మల్ని అనుమతించవచ్చు.\n\nమీరు సెట్టింగ్లలో ఎప్పుడైనా మార్పులు చేయవచ్చు."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"లాక్ స్క్రీన్ నుండి పరికరాలను కంట్రోల్ చేయాలా?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"మీరు మీ ఫోన్ లేదా టాబ్లెట్ను అన్లాక్ చేయకుండానే కొన్ని పరికరాలను కంట్రోల్ చేయవచ్చు. ఈ విధంగా ఏ పరికరాలను కంట్రోల్ చేయవచ్చో మీ డివైజ్ యాప్ నిర్ణయిస్తుంది."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"వద్దు, ధన్యవాదాలు"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"అవును"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"పిన్ అక్షరాలను లేదా చిహ్నాలను కలిగి ఉంది"</string> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index c5de820d6774..9f909a987d55 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="4811759950673118541">"อินเทอร์เฟซผู้ใช้ของระบบ"</string> + <string name="app_label" msgid="4811759950673118541">"UI ของระบบ"</string> <string name="battery_low_title" msgid="5319680173344341779">"เปิดโหมดประหยัดแบตเตอรี่ใช่ไหม"</string> <string name="battery_low_description" msgid="3282977755476423966">"คุณมีแบตเตอรี่เหลืออยู่ <xliff:g id="PERCENTAGE">%s</xliff:g> โหมดประหยัดแบตเตอรี่จะเปิดธีมมืด จำกัดกิจกรรมในเบื้องหลัง และหน่วงเวลาการแจ้งเตือน"</string> <string name="battery_low_intro" msgid="5148725009653088790">"โหมดประหยัดแบตเตอรี่จะเปิดธีมมืด จำกัดกิจกรรมในเบื้องหลัง และหน่วงเวลาการแจ้งเตือน"</string> @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"ขยายเป็นเต็มหน้าจอ"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"ขยายบางส่วนของหน้าจอ"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"เปลี่ยน"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"เปิดการตั้งค่าการขยาย"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"ลากที่มุมเพื่อปรับขนาด"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"อนุญาตการเลื่อนแบบทแยงมุม"</string> <string name="accessibility_resize" msgid="5733759136600611551">"ปรับขนาด"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"แฮนเดิลซ้าย"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"แฮนเดิลขวา"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"แฮนเดิลล่าง"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"การตั้งค่าการขยาย"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"ขนาดแว่นขยาย"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"ซูม"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"ปานกลาง"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{เพิ่มตัวควบคุม # ตัวแล้ว}other{เพิ่มตัวควบคุม # ตัวแล้ว}}"</string> <string name="controls_removed" msgid="3731789252222856959">"นำออกแล้ว"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"เพิ่ม <xliff:g id="APPNAME">%s</xliff:g> ไหม"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"นำการควบคุมสำหรับ <xliff:g id="APPNAME">%s</xliff:g> ออกไหม"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"ตั้งเป็นรายการโปรดแล้ว"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"แสดงและควบคุมอุปกรณ์จากหน้าจอล็อกไหม"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"คุณเพิ่มการควบคุมอุปกรณ์ภายนอกลงในหน้าจอล็อกได้\n\nแอปของอุปกรณ์อาจอนุญาตให้คุณควบคุมอุปกรณ์บางอย่างได้โดยไม่ต้องปลดล็อกโทรศัพท์หรือแท็บเล็ต\n\nคุณเปลี่ยนแปลงได้ทุกเมื่อในการตั้งค่า"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"ควบคุมอุปกรณ์จากหน้าจอล็อกไหม"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"คุณควบคุมอุปกรณ์บางอย่างได้โดยไม่ต้องปลดล็อกโทรศัพท์หรือแท็บเล็ต แอปจัดการอุปกรณ์จะระบุอุปกรณ์ที่สามารถควบคุมด้วยวิธีนี้ได้"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"ไม่เป็นไร"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"มี"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN ประกอบด้วยตัวอักษรหรือสัญลักษณ์"</string> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index d8a9f3ea6f54..6326a9770b3c 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"I-magnify ang buong screen"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"I-magnify ang isang bahagi ng screen"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Switch"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Buksan ang mga setting ng pag-magnify"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"I-drag ang sulok para i-resize"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Payagan ang diagonal na pag-scroll"</string> <string name="accessibility_resize" msgid="5733759136600611551">"I-resize"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Handle sa kaliwa"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Handle sa kanan"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Handle sa ibaba"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Mga setting ng pag-magnify"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Laki ng magnifier"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Katamtaman"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Nagdagdag ng # kontrol.}one{Nagdagdag ng # kontrol.}other{Nagdagdag ng # na kontrol.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Inalis"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Idagdag ang <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Alisin ang mga kontrol para sa <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Ginawang paborito"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Ipakita at kontrolin ang mga device mula sa lock screen?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Puwede kang magdagdag ng mga kontrol para sa iyong mga external device sa lock screen.\n\nPosibleng payagan ka ng app ng iyong device na kontrolin ang ilang device nang hindi ina-unlock ang telepono o tablet mo.\n\nPuwede kang magsagawa ng mga pagbabago anumang oras sa Mga Setting."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Kontrolin ang mga device mula sa lock screen?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Puwede mong kontrolin ang ilang device nang hindi ina-unlock ang iyong telepono o tablet. Nakadepende sa app ng iyong device kung aling mga device ang puwedeng kontrolin sa ganitong paraan."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Huwag na lang"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Oo"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"May mga titik o simbolo ang PIN"</string> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index baacde08ace7..5236912da03c 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Tam ekran büyütme"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ekranın bir parçasını büyütün"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Geç"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Büyütme ayarlarını aç"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Yeniden boyutlandırmak için köşeyi sürükleyin"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Çapraz kaydırmaya izin ver"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Yeniden boyutlandır"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Sol tutma yeri"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Sağ tutma yeri"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Alt tutma yeri"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Büyütme ayarları"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Büyüteç boyutu"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Zoom"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Orta"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# kontrol eklendi.}other{# kontrol eklendi.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Kaldırıldı"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> eklensin mi?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> için denetimler kaldırılsın mı?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Favoriler listesine eklendi"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Cihazlar kilit ekranında gösterilip buradan kontrol edilsin mi?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Kilit ekranına harici cihazlarınız için kontroller ekleyebilirsiniz.\n\nCihaz uygulamanız, bazı cihazları telefonunuzun veya tabletinizin kilidini açmadan kontrol etmenize izin verebilir.\n\nAyarlar\'da istediğiniz zaman değişiklik yapabilirsiniz."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Cihazlar kilit ekranından kontrol edilsin mi?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Bazı cihazları telefonunuzun veya tabletinizin kilidini açmadan kontrol edebilirsiniz.Hangi cihazların bu şekilde kontrol edilebileceğini cihaz uygulamanız belirler."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Hayır, teşekkürler"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Evet"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN, harf veya simge içerir"</string> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index 6c25d7cbf2d7..b63b396535e3 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Збільшення всього екрана"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Збільшити частину екрана"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Перемкнути"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Відкрити налаштування збільшення"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Потягніть кут, щоб змінити розмір"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Дозволити прокручування по діагоналі"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Змінити розмір"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Лівий маркер"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Правий маркер"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Нижній маркер"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Налаштування збільшення"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Розмір лупи"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Масштаб"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Звичайна"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Додано # елемент керування.}one{Додано # елемент керування.}few{Додано # елементи керування.}many{Додано # елементів керування.}other{Додано # елемента керування.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Вилучено"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Долучити додаток <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Вилучити елементи керування для додатка <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Додано у вибране"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Переглядати пристрої та керувати ними на заблокованому екрані?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Елементи керування зовнішніми пристроями можна додавати на заблокований екран.\n\nЗа допомогою спеціального додатка ви можете керувати деякими пристроями, не розблоковуючи телефон або планшет.\n\nВи можете будь-коли вносити зміни в налаштуваннях."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Керувати пристроями на заблокованому екрані?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Ви можете керувати деякими пристроями, не розблоковуючи телефон або планшет. Якими пристроями можна керувати в такий спосіб, визначає додаток пристрою."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Ні, дякую"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Так"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN-код містить літери чи символи"</string> diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml index 660fd6d2ce31..7b98a2eb7c63 100644 --- a/packages/SystemUI/res/values-ur/strings.xml +++ b/packages/SystemUI/res/values-ur/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"USB پورٹ فعال کریں"</string> <string name="learn_more" msgid="4690632085667273811">"مزید جانیں"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"اسکرین شاٹ"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"اَن لاک کی توسیع کو غیر فعال کیا گیا"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"ایک تصویر بھیجی"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"اسکرین شاٹ محفوظ ہو رہا ہے…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"اسکرین شاٹ دفتری پروفائل میں محفوظ کیا جا رہا ہے…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"فُل اسکرین کو بڑا کریں"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"اسکرین کا حصہ بڑا کریں"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"سوئچ کریں"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"میگنیفکیشن کی ترتیبات کھولیں"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"سائز تبدیل کرنے کے لیے کونے کو گھسیٹیں"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"وتری سکرولنگ کی اجازت دیں"</string> <string name="accessibility_resize" msgid="5733759136600611551">"سائز تبدیل کریں"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"بایاں ہینڈل"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"دایاں ہینڈل"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"نیچے کا ہینڈل"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"میگنیفکیشن کی ترتیبات"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"میگنیفائر کا سائز"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"زوم کریں"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"متوسط"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# کنٹرول کو شامل کیا گیا۔}other{# کنٹرولز کو شامل کیا گیا۔}}"</string> <string name="controls_removed" msgid="3731789252222856959">"ہٹا دیا گیا"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> کو شامل کریں؟"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> کے کنٹرولز کو ہٹا دیں؟"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"پسند کردہ"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"لاک اسکرین سے آلات دکھائیں اور کنٹرول کریں؟"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"آپ اپنے بیرونی آلات کے لیے لاک اسکرین پر کنٹرولز شامل کر سکتے ہیں۔\n\nآپ کے آلے کی ایپ آپ کو اپنے فون یا ٹیبلیٹ کو غیر مقفل کیے بغیر کچھ آلات کو کنٹرول کرنے کی اجازت دے سکتی ہے۔\n\nآپ ترتیبات میں کسی بھی وقت تبدیلیاں کر سکتے ہیں۔"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"لاک اسکرین سے آلات کو کنٹرول کریں؟"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"آپ اپنے فون یا ٹیبلیٹ کو غیر مقفل کیے بغیر کچھ آلات کو کنٹرول کر سکتے ہیں۔ آپ کے آلے کی ایپ اس بات کا تعین کرتی ہے کہ اس طرح کن آلات کو کنٹرول کیا جا سکتا ہے۔"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"نہیں شکریہ"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"ہاں"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN میں حروف یا علامات شامل ہیں"</string> diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml index 31e3ce6a4f5f..15472f59a920 100644 --- a/packages/SystemUI/res/values-uz/strings.xml +++ b/packages/SystemUI/res/values-uz/strings.xml @@ -69,8 +69,7 @@ <string name="usb_disable_contaminant_detection" msgid="3827082183595978641">"USB xususiyatini yoqish"</string> <string name="learn_more" msgid="4690632085667273811">"Batafsil"</string> <string name="global_action_screenshot" msgid="2760267567509131654">"Skrinshot"</string> - <!-- no translation found for global_action_smart_lock_disabled (6286551337177954859) --> - <skip /> + <string name="global_action_smart_lock_disabled" msgid="6286551337177954859">"Kengaytirilgan ochish yoniq emas"</string> <string name="remote_input_image_insertion_text" msgid="4850791636452521123">"rasm yuborildi"</string> <string name="screenshot_saving_title" msgid="2298349784913287333">"Skrinshot saqlanmoqda…"</string> <string name="screenshot_saving_work_profile_title" msgid="5332829607308450880">"Skrinshot ish profiliga saqlanmoqda…"</string> @@ -834,8 +833,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Ekranni toʻliq kattalashtirish"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Ekran qismini kattalashtirish"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Almashtirish"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Kattalashtirish sozlamalarini ochish"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Oʻlchamini oʻzgartirish uchun burchakni torting"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Diagonal aylantirishga ruxsat berish"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Oʻlchamini oʻzgartirish"</string> @@ -845,8 +843,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Chap slayder"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Oʻng slayder"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Quyi slayder"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Kattalashtirish sozlamalari"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Lupa oʻlchami"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Masshtab"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Oʻrtacha"</string> @@ -873,7 +870,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{# ta boshqaruv elementi kiritildi.}other{# ta boshqaruv elementi kiritildi.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Olib tashlandi"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"<xliff:g id="APPNAME">%s</xliff:g> qoʻshilsinmi?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"<xliff:g id="APPNAME">%s</xliff:g> qurilma boshqaruv panelidan olib tashlansinmi?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Saralanganlarga kiritilgan"</string> @@ -899,8 +896,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Qurilmalar qulflangan ekranda koʻrsatilsinmi va boshqarilsinmi?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Tashqi qurilmalaringiz uchun ekran qulfiga boshqaruvlarni qoʻshishingiz mumkin.\n\nQurilma ilovasi ayrim qurilmalarni telefon yoki planshet qulfini ochmasdan boshqarish imkonini beradi.\n\nIstalgan vaqtda Sozlamalar orqali oʻzgartirish mumkin."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Qurilmalar ekran qulfidan boshqarilsinmi?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Ayrim qurilmalarni telefon yoki planshet ekran qulfini ochmasdan boshqarish mumkin. Qurilmangiz ilovasi qaysi qurilmalarni shu tarzda boshqarish mumkinligini aniqlaydi."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Yopish"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Ha"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Harflar yoki maxsus belgilardan iborat PIN kod"</string> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 53adea1b73fc..9e2d4503511f 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Phóng to toàn màn hình"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Phóng to một phần màn hình"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Chuyển"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Mở chế độ cài đặt phóng to"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Kéo góc để thay đổi kích thước"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Cho phép cuộn chéo"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Đổi kích thước"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Ô điều khiển bên trái"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Ô điều khiển bên phải"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Ô điều khiển dưới cùng"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Chế độ cài đặt phóng to"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Kích thước phóng to"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Thu phóng"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Vừa"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{Đã thêm # chế độ điều khiển.}other{Đã thêm # chế độ điều khiển.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Đã xóa"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Thêm <xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Xoá chế độ cài đặt cho <xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Được yêu thích"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Bạn muốn hiện và điều khiển các thiết bị từ màn hình khoá?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Bạn có thể thêm các chế độ điều khiển cho những thiết bị bên ngoài vào màn hình khoá.\n\nỨng dụng thiết bị có thể cho phép bạn điều khiển một số thiết bị mà không cần mở khoá điện thoại hoặc máy tính bảng.\n\nBạn có thể thay đổi chế độ cài đặt này bất cứ lúc nào trong phần Cài đặt."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Bạn muốn điều khiển các thiết bị từ màn hình khoá?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Bạn có thể điều khiển một số thiết bị mà không cần mở khoá điện thoại hoặc máy tính bảng. Ứng dụng thiết lập và quản lý thiết bị phụ sẽ xác định thiết bị mà bạn có thể điều khiển bằng cách này."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Không, cảm ơn"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Có"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Mã PIN chứa các ký tự hoặc ký hiệu"</string> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index e764a74d844e..6b0e5d221f54 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"放大整个屏幕"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"放大部分屏幕"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"切换"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"打开放大功能设置"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"拖动一角即可调整大小"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"允许沿对角线滚动"</string> <string name="accessibility_resize" msgid="5733759136600611551">"调整大小"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"左侧手柄"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"右侧手柄"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"底部手柄"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"放大功能设置"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"放大镜大小"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"缩放"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"中"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{已添加 # 个控件。}other{已添加 # 个控件。}}"</string> <string name="controls_removed" msgid="3731789252222856959">"已移除"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"添加“<xliff:g id="APPNAME">%s</xliff:g>”?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"移除<xliff:g id="APPNAME">%s</xliff:g>的控件?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"已收藏"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"要从锁定屏幕上显示和控制设备吗?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"您可以在锁定屏幕上添加用于控制外部设备的控件。\n\n您的设备应用可能会允许您在不解锁手机或平板电脑的情况下控制某些设备。\n\n您可以随时在“设置”中进行更改。"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"要从锁定屏幕上控制设备吗?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"您可以在不解锁手机或平板电脑的情况下控制某些设备。您的设备配套应用将决定哪些设备可以通过这种方式进行控制。"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"不用了"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"是"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN 码由字母或符号组成"</string> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 187a4a54e1c8..d83891f53feb 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"放大成個畫面"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"放大部分螢幕畫面"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"切換"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"開啟放大設定"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"拖曳角落即可調整大小"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"允許斜角捲動"</string> <string name="accessibility_resize" msgid="5733759136600611551">"調整大小"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"左控點"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"右控點"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"底部控點"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"放大設定"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"放大鏡大小"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"縮放"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"中"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{已新增 # 個控制項。}other{已新增 # 個控制項。}}"</string> <string name="controls_removed" msgid="3731789252222856959">"已移除"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"要新增「<xliff:g id="APPNAME">%s</xliff:g>」嗎?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"要移除「<xliff:g id="APPNAME">%s</xliff:g>」的控制項嗎?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"已加入收藏"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"要從上鎖畫面查看及控制裝置嗎?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"您可以在上鎖畫面新增外部裝置的控制項。\n\n裝置應用程式可能會讓您在不解鎖手機或平板電腦的情況下控制部分裝置。\n\n您可隨時在「設定」中作出變更。"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"要在上鎖畫面控制裝置嗎?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"您可以在不解鎖手機或平板電腦的情況下控制部分裝置。裝置應用程式決定哪些裝置可透過此方式控制。"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"不用了,謝謝"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"是"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN 含有字母或符號"</string> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index c2527c68a738..f50955e1c452 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"放大整個螢幕畫面"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"放大局部螢幕畫面"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"切換"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"開啟放大功能設定"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"拖曳角落即可調整大小"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"允許沿對角線捲動"</string> <string name="accessibility_resize" msgid="5733759136600611551">"調整大小"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"左側控點"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"右側控點"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"底部控點"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"放大功能設定"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"放大鏡大小"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"縮放"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"中"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{已新增 # 個控制項。}other{已新增 # 個控制項。}}"</string> <string name="controls_removed" msgid="3731789252222856959">"已移除"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"要新增「<xliff:g id="APPNAME">%s</xliff:g>」嗎?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"要移除「<xliff:g id="APPNAME">%s</xliff:g>」的控制嗎?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"已加入收藏"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"要在螢幕鎖定畫面上查看及控制裝置嗎?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"你可以在螢幕鎖定畫面上新增外部裝置的控制選項。\n\n你或許可透過裝置應用程式控制某些裝置,而不必解鎖手機或平板電腦。\n\n你隨時可以前往「設定」進行變更。"</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"要在螢幕鎖定畫面上控制裝置嗎?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"你可以直接控制某些裝置,不必解鎖手機或平板電腦。裝置應用程式會判斷可透過這種方式控制的裝置。"</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"不用了,謝謝"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"是"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"PIN 碼含有字母或符號"</string> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 0dd4111a50c9..d3b1646352a1 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -834,8 +834,7 @@ <string name="magnification_mode_switch_state_full_screen" msgid="5229653514979530561">"Khulisa isikrini esigcwele"</string> <string name="magnification_mode_switch_state_window" msgid="8597100249594076965">"Khulisa ingxenye eyesikrini"</string> <string name="magnification_mode_switch_click_label" msgid="2786203505805898199">"Iswishi"</string> - <!-- no translation found for magnification_open_settings_click_label (6151849212725923363) --> - <skip /> + <string name="magnification_open_settings_click_label" msgid="6151849212725923363">"Vula amasethingi okukhuliswa"</string> <string name="magnification_drag_corner_to_resize" msgid="1249766311052418130">"Hudula ikhona ukuze usayize kabusha"</string> <string name="accessibility_allow_diagonal_scrolling" msgid="3258050349191496398">"Vumela ukuskrola oku-diagonal"</string> <string name="accessibility_resize" msgid="5733759136600611551">"Shintsha usayizi"</string> @@ -845,8 +844,7 @@ <string name="accessibility_magnification_left_handle" msgid="6694953733271752950">"Isibambi sangakwesokunxele"</string> <string name="accessibility_magnification_right_handle" msgid="9055988237319397605">"Isibambi esingakwesokudla"</string> <string name="accessibility_magnification_bottom_handle" msgid="6531646968813821258">"Isibambi esingezansi"</string> - <!-- no translation found for accessibility_magnification_settings_panel_description (8174187340747846953) --> - <skip /> + <string name="accessibility_magnification_settings_panel_description" msgid="8174187340747846953">"Amasethingi okukhuliswa"</string> <string name="accessibility_magnifier_size" msgid="3038755600030422334">"Usayizi wesikhulisi"</string> <string name="accessibility_magnification_zoom" msgid="4222088982642063979">"Sondeza"</string> <string name="accessibility_magnification_medium" msgid="6994632616884562625">"Kumaphakathi"</string> @@ -873,7 +871,7 @@ <string name="controls_number_of_favorites" msgid="4481806788981836355">"{count,plural, =1{ulawulo olu-# olwengeziwe.}one{ukulawulwa okungu-# okwengeziwe.}other{ukulawulwa okungu-# okwengeziwe.}}"</string> <string name="controls_removed" msgid="3731789252222856959">"Isusiwe"</string> <string name="controls_panel_authorization_title" msgid="267429338785864842">"Engeza i-<xliff:g id="APPNAME">%s</xliff:g>?"</string> - <!-- no translation found for controls_panel_authorization (4665218066461350247) --> + <!-- no translation found for controls_panel_authorization (7045551688535104194) --> <skip /> <string name="controls_panel_remove_app_authorization" msgid="5920442084735364674">"Susa izilawuli ze-<xliff:g id="APPNAME">%s</xliff:g>?"</string> <string name="accessibility_control_favorite" msgid="8694362691985545985">"Kwenziwe intandokazi"</string> @@ -899,8 +897,7 @@ <string name="controls_settings_show_controls_dialog_title" msgid="3357852503553809554">"Bonisa futhi ulawule amadivayisi ekukhiyeni isikrini?"</string> <string name="controls_settings_show_controls_dialog_message" msgid="7666211700524587969">"Ungakwazi ukwengeza izilawuli zamadivayisi wakho angaphandle ekukhiyeni isikrini.\n\nI-app yakho yedivayisi ingakuvumela ukuthi ulawule amanye amadivayisi ngaphandle kokuvula ifoni noma ithebulethi yakho.\n\nUngenza izinguquko nganoma yisiphi isikhathi Kumasethingi."</string> <string name="controls_settings_trivial_controls_dialog_title" msgid="7593188157655036677">"Lawula amadivayisi ekukhiyeni isikrini?"</string> - <!-- no translation found for controls_settings_trivial_controls_dialog_message (397178734990952575) --> - <skip /> + <string name="controls_settings_trivial_controls_dialog_message" msgid="397178734990952575">"Ungalawula amanye amadivayisi ngaphandle kokuvula ifoni noma ithebulethi yakho. I-app yakho yedivayisi inquma ukuthi imaphi amadivayisi angalawulwa ngale ndlela."</string> <string name="controls_settings_dialog_neutral_button" msgid="4514446354793124140">"Cha ngiyabonga"</string> <string name="controls_settings_dialog_positive_button" msgid="436070672551674863">"Yebo"</string> <string name="controls_pin_use_alphanumeric" msgid="8478371861023048414">"Iphinikhodi iqukethe amaletha namasimbui"</string> diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml index 62e8c5f0df82..31071ca28a75 100644 --- a/packages/SystemUI/res/values/colors.xml +++ b/packages/SystemUI/res/values/colors.xml @@ -231,6 +231,9 @@ <color name="people_tile_background">@color/material_dynamic_secondary95</color> + <!-- Chipbar --> + <color name="chipbar_text_and_icon_color">@android:color/system_accent2_900</color> + <!-- Internet Dialog --> <!-- Material next state on color--> <color name="settingslib_state_on_color">@color/settingslib_state_on</color> diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimator.kt b/packages/SystemUI/shared/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimator.kt index 3efdc5acb00c..4931b257ad18 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimator.kt +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimator.kt @@ -192,4 +192,4 @@ class UnfoldMoveFromCenterAnimator @JvmOverloads constructor( ) } -private const val TRANSLATION_PERCENTAGE = 0.3f +private const val TRANSLATION_PERCENTAGE = 0.08f diff --git a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt index 4aaa566eb852..3b9060ad0ac3 100644 --- a/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt +++ b/packages/SystemUI/src/com/android/keyguard/ClockEventController.kt @@ -259,7 +259,7 @@ constructor( largeTimeListener?.update(shouldTimeListenerRun) } - override fun onTimeFormatChanged(timeFormat: String) { + override fun onTimeFormatChanged(timeFormat: String?) { clock?.events?.onTimeFormatChanged(DateFormat.is24HourFormat(context)) } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java index 5ec59abafe13..7b781cef6717 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitchController.java @@ -22,6 +22,7 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static com.android.keyguard.KeyguardClockSwitch.LARGE; import static com.android.keyguard.KeyguardClockSwitch.SMALL; +import android.annotation.Nullable; import android.database.ContentObserver; import android.os.UserHandle; import android.provider.Settings; @@ -458,6 +459,7 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS mView.setClock(clock, mStatusBarStateController.getState()); } + @Nullable private ClockController getClock() { return mClockEventController.getClock(); } @@ -510,7 +512,9 @@ public class KeyguardClockSwitchController extends ViewController<KeyguardClockS } /** Gets the animations for the current clock. */ + @Nullable public ClockAnimations getClockAnimations() { - return getClock().getAnimations(); + ClockController clock = getClock(); + return clock == null ? null : clock.getAnimations(); } } diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java index 7255383049da..1a572b729a6e 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainerController.java @@ -260,6 +260,14 @@ public class KeyguardSecurityContainerController extends ViewController<Keyguard */ @Override public void finish(boolean strongAuth, int targetUserId) { + if (mFeatureFlags.isEnabled(Flags.PREVENT_BYPASS_KEYGUARD) + && !mKeyguardStateController.canDismissLockScreen() && !strongAuth) { + Log.e(TAG, + "Tried to dismiss keyguard when lockscreen is not dismissible and user " + + "was not authenticated with a primary security method " + + "(pin/password/pattern)."); + return; + } // If there's a pending runnable because the user interacted with a widget // and we're leaving keyguard, then run it. boolean deferKeyguardDone = false; diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java index 0e2f8f07cb01..f2f0c597b86c 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java @@ -69,6 +69,7 @@ import static com.android.keyguard.FaceAuthUiEvent.FACE_AUTH_UPDATED_STARTED_WAK import static com.android.keyguard.FaceAuthUiEvent.FACE_AUTH_UPDATED_STRONG_AUTH_CHANGED; import static com.android.keyguard.FaceAuthUiEvent.FACE_AUTH_UPDATED_USER_SWITCHING; import static com.android.systemui.DejankUtils.whitelistIpcs; +import static com.android.systemui.statusbar.policy.DevicePostureController.DEVICE_POSTURE_OPENED; import static com.android.systemui.statusbar.policy.DevicePostureController.DEVICE_POSTURE_UNKNOWN; import android.annotation.AnyThread; @@ -1610,7 +1611,7 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab requestActiveUnlock( ActiveUnlockConfig.ActiveUnlockRequestOrigin.ASSISTANT, "assistant", - false); + /* dismissKeyguard */ true); } } @@ -1881,6 +1882,11 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab updateFaceListeningState(BIOMETRIC_ACTION_STOP, FACE_AUTH_UPDATED_POSTURE_CHANGED); } + if (mPostureState == DEVICE_POSTURE_OPENED) { + mLogger.d("Posture changed to open - attempting to request active unlock"); + requestActiveUnlockFromWakeReason(PowerManager.WAKE_REASON_UNFOLD_DEVICE, + false); + } } }; @@ -2007,26 +2013,10 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab FACE_AUTH_UPDATED_STARTED_WAKING_UP.setExtraInfo(pmWakeReason); updateFaceListeningState(BIOMETRIC_ACTION_UPDATE, FACE_AUTH_UPDATED_STARTED_WAKING_UP); - - final ActiveUnlockConfig.ActiveUnlockRequestOrigin requestOrigin = - mActiveUnlockConfig.isWakeupConsideredUnlockIntent(pmWakeReason) - ? ActiveUnlockConfig.ActiveUnlockRequestOrigin.UNLOCK_INTENT - : ActiveUnlockConfig.ActiveUnlockRequestOrigin.WAKE; - final String reason = "wakingUp - " + PowerManager.wakeReasonToString(pmWakeReason); - if (mActiveUnlockConfig.shouldWakeupForceDismissKeyguard(pmWakeReason)) { - requestActiveUnlockDismissKeyguard( - requestOrigin, - reason - ); - } else { - requestActiveUnlock( - requestOrigin, - reason - ); - } } else { mLogger.logSkipUpdateFaceListeningOnWakeup(pmWakeReason); } + requestActiveUnlockFromWakeReason(pmWakeReason, true); for (int i = 0; i < mCallbacks.size(); i++) { KeyguardUpdateMonitorCallback cb = mCallbacks.get(i).get(); @@ -2660,6 +2650,32 @@ public class KeyguardUpdateMonitor implements TrustManager.TrustListener, Dumpab } } + private void requestActiveUnlockFromWakeReason(@PowerManager.WakeReason int wakeReason, + boolean powerManagerWakeup) { + if (!mFaceWakeUpTriggersConfig.shouldTriggerFaceAuthOnWakeUpFrom(wakeReason)) { + mLogger.logActiveUnlockRequestSkippedForWakeReasonDueToFaceConfig(wakeReason); + return; + } + + final ActiveUnlockConfig.ActiveUnlockRequestOrigin requestOrigin = + mActiveUnlockConfig.isWakeupConsideredUnlockIntent(wakeReason) + ? ActiveUnlockConfig.ActiveUnlockRequestOrigin.UNLOCK_INTENT + : ActiveUnlockConfig.ActiveUnlockRequestOrigin.WAKE; + final String reason = "wakingUp - " + PowerManager.wakeReasonToString(wakeReason) + + " powerManagerWakeup=" + powerManagerWakeup; + if (mActiveUnlockConfig.shouldWakeupForceDismissKeyguard(wakeReason)) { + requestActiveUnlockDismissKeyguard( + requestOrigin, + reason + ); + } else { + requestActiveUnlock( + requestOrigin, + reason + ); + } + } + /** * Attempts to trigger active unlock from trust agent. */ diff --git a/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt b/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt index 51628076953b..16618064f249 100644 --- a/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt +++ b/packages/SystemUI/src/com/android/keyguard/logging/KeyguardUpdateMonitorLogger.kt @@ -62,6 +62,16 @@ constructor(@KeyguardUpdateMonitorLog private val logBuffer: LogBuffer) { ) } + fun logActiveUnlockRequestSkippedForWakeReasonDueToFaceConfig(wakeReason: Int) { + logBuffer.log( + "ActiveUnlock", + DEBUG, + { int1 = wakeReason }, + { "Skip requesting active unlock from wake reason that doesn't trigger face auth" + + " reason=${PowerManager.wakeReasonToString(int1)}" } + ) + } + fun logAuthInterruptDetected(active: Boolean) { logBuffer.log(TAG, DEBUG, { bool1 = active }, { "onAuthInterruptDetected($bool1)" }) } diff --git a/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt b/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt index 90ecb466b5d0..de82ca014722 100644 --- a/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt +++ b/packages/SystemUI/src/com/android/systemui/DisplayCutoutBaseView.kt @@ -37,6 +37,8 @@ import android.view.View import androidx.annotation.VisibleForTesting import com.android.systemui.RegionInterceptingFrameLayout.RegionInterceptableView import com.android.systemui.animation.Interpolators +import com.android.systemui.util.asIndenting +import java.io.PrintWriter /** * A class that handles common actions of display cutout view. @@ -324,4 +326,18 @@ open class DisplayCutoutBaseView : View, RegionInterceptableView { } } } + + open fun dump(pw: PrintWriter) { + val ipw = pw.asIndenting() + ipw.increaseIndent() + ipw.println("DisplayCutoutBaseView:") + ipw.increaseIndent() + ipw.println("shouldDrawCutout=$shouldDrawCutout") + ipw.println("cutout=${displayInfo.displayCutout}") + ipw.println("cameraProtectionProgress=$cameraProtectionProgress") + ipw.println("protectionRect=$protectionRect") + ipw.println("protectionRectOrig=$protectionRectOrig") + ipw.decreaseIndent() + ipw.decreaseIndent() + } } diff --git a/packages/SystemUI/src/com/android/systemui/FaceScanningOverlay.kt b/packages/SystemUI/src/com/android/systemui/FaceScanningOverlay.kt index 54939fdb78fb..179eb391af4e 100644 --- a/packages/SystemUI/src/com/android/systemui/FaceScanningOverlay.kt +++ b/packages/SystemUI/src/com/android/systemui/FaceScanningOverlay.kt @@ -37,6 +37,8 @@ import com.android.settingslib.Utils import com.android.systemui.animation.Interpolators import com.android.systemui.log.ScreenDecorationsLogger import com.android.systemui.plugins.statusbar.StatusBarStateController +import com.android.systemui.util.asIndenting +import java.io.PrintWriter import java.util.concurrent.Executor /** @@ -416,4 +418,15 @@ class FaceScanningOverlay( path.transform(scaleMatrix) } } + + override fun dump(pw: PrintWriter) { + val ipw = pw.asIndenting() + ipw.increaseIndent() + ipw.println("FaceScanningOverlay:") + super.dump(ipw) + ipw.println("rimProgress=$rimProgress") + ipw.println("rimRect=$rimRect") + ipw.println("this=$this") + ipw.decreaseIndent() + } } diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt b/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt index a74f2f8a5e34..99dd6b6cd673 100644 --- a/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt +++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorHwcLayer.kt @@ -40,6 +40,8 @@ import android.view.RoundedCorner import android.view.RoundedCorners import android.view.Surface import androidx.annotation.VisibleForTesting +import com.android.systemui.util.asIndenting +import java.io.PrintWriter import kotlin.math.ceil import kotlin.math.floor @@ -47,8 +49,8 @@ import kotlin.math.floor * When the HWC of the device supports Composition.DISPLAY_DECORATION, we use this layer to draw * screen decorations. */ -class ScreenDecorHwcLayer(context: Context, displayDecorationSupport: DisplayDecorationSupport) - : DisplayCutoutBaseView(context) { +class ScreenDecorHwcLayer(context: Context, displayDecorationSupport: DisplayDecorationSupport) : + DisplayCutoutBaseView(context) { val colorMode: Int private val useInvertedAlphaColor: Boolean private val color: Int @@ -406,6 +408,20 @@ class ScreenDecorHwcLayer(context: Context, displayDecorationSupport: DisplayDec invalidate() } + override fun dump(pw: PrintWriter) { + val ipw = pw.asIndenting() + ipw.increaseIndent() + ipw.println("ScreenDecorHwcLayer:") + super.dump(pw) + ipw.println("this=$this") + ipw.println("transparentRect=$transparentRect") + ipw.println("hasTopRoundedCorner=$hasTopRoundedCorner") + ipw.println("hasBottomRoundedCorner=$hasBottomRoundedCorner") + ipw.println("roundedCornerTopSize=$roundedCornerTopSize") + ipw.println("roundedCornerBottomSize=$roundedCornerBottomSize") + ipw.decreaseIndent() + } + companion object { private val DEBUG_COLOR = ScreenDecorations.DEBUG_COLOR } diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java index fb655884d949..adc04128a93a 100644 --- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java +++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java @@ -23,6 +23,8 @@ import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; +import static com.android.systemui.util.DumpUtilsKt.asIndenting; + import android.annotation.IdRes; import android.annotation.NonNull; import android.annotation.Nullable; @@ -44,6 +46,7 @@ import android.os.SystemProperties; import android.os.Trace; import android.provider.Settings.Secure; import android.util.DisplayUtils; +import android.util.IndentingPrintWriter; import android.util.Log; import android.util.Size; import android.view.Display; @@ -1005,39 +1008,55 @@ public class ScreenDecorations implements CoreStartable, Tunable , Dumpable { @Override public void dump(@NonNull PrintWriter pw, @NonNull String[] args) { pw.println("ScreenDecorations state:"); - pw.println(" DEBUG_DISABLE_SCREEN_DECORATIONS:" + DEBUG_DISABLE_SCREEN_DECORATIONS); + IndentingPrintWriter ipw = asIndenting(pw); + ipw.increaseIndent(); + ipw.println("DEBUG_DISABLE_SCREEN_DECORATIONS:" + DEBUG_DISABLE_SCREEN_DECORATIONS); if (DEBUG_DISABLE_SCREEN_DECORATIONS) { return; } - pw.println(" mIsPrivacyDotEnabled:" + isPrivacyDotEnabled()); - pw.println(" shouldOptimizeOverlayVisibility:" + shouldOptimizeVisibility()); + ipw.println("mIsPrivacyDotEnabled:" + isPrivacyDotEnabled()); + ipw.println("shouldOptimizeOverlayVisibility:" + shouldOptimizeVisibility()); final boolean supportsShowingFaceScanningAnim = mFaceScanningFactory.getHasProviders(); - pw.println(" supportsShowingFaceScanningAnim:" + supportsShowingFaceScanningAnim); + ipw.println("supportsShowingFaceScanningAnim:" + supportsShowingFaceScanningAnim); if (supportsShowingFaceScanningAnim) { - pw.println(" canShowFaceScanningAnim:" + ipw.increaseIndent(); + ipw.println("canShowFaceScanningAnim:" + mFaceScanningFactory.canShowFaceScanningAnim()); - pw.println(" shouldShowFaceScanningAnim (at time dump was taken):" + ipw.println("shouldShowFaceScanningAnim (at time dump was taken):" + mFaceScanningFactory.shouldShowFaceScanningAnim()); + ipw.decreaseIndent(); + } + FaceScanningOverlay faceScanningOverlay = + (FaceScanningOverlay) getOverlayView(mFaceScanningViewId); + if (faceScanningOverlay != null) { + faceScanningOverlay.dump(ipw); } - pw.println(" mPendingConfigChange:" + mPendingConfigChange); + ipw.println("mPendingConfigChange:" + mPendingConfigChange); if (mHwcScreenDecorationSupport != null) { - pw.println(" mHwcScreenDecorationSupport:"); - pw.println(" format=" + ipw.increaseIndent(); + ipw.println("mHwcScreenDecorationSupport:"); + ipw.increaseIndent(); + ipw.println("format=" + PixelFormat.formatToString(mHwcScreenDecorationSupport.format)); - pw.println(" alphaInterpretation=" + ipw.println("alphaInterpretation=" + alphaInterpretationToString(mHwcScreenDecorationSupport.alphaInterpretation)); + ipw.decreaseIndent(); + ipw.decreaseIndent(); } else { - pw.println(" mHwcScreenDecorationSupport: null"); + ipw.increaseIndent(); + pw.println("mHwcScreenDecorationSupport: null"); + ipw.decreaseIndent(); } if (mScreenDecorHwcLayer != null) { - pw.println(" mScreenDecorHwcLayer:"); - pw.println(" transparentRegion=" + mScreenDecorHwcLayer.transparentRect); + ipw.increaseIndent(); + mScreenDecorHwcLayer.dump(ipw); + ipw.decreaseIndent(); } else { - pw.println(" mScreenDecorHwcLayer: null"); + ipw.println("mScreenDecorHwcLayer: null"); } if (mOverlays != null) { - pw.println(" mOverlays(left,top,right,bottom)=(" + ipw.println("mOverlays(left,top,right,bottom)=(" + (mOverlays[BOUNDS_POSITION_LEFT] != null) + "," + (mOverlays[BOUNDS_POSITION_TOP] != null) + "," + (mOverlays[BOUNDS_POSITION_RIGHT] != null) + "," diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt index 52312b8e8add..4b5c50ff7fa5 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/AuthBiometricFingerprintIconController.kt @@ -230,29 +230,21 @@ open class AuthBiometricFingerprintIconController( if (isReverseDefaultRotation) (rotation + 1) % 4 else rotation @RawRes - private fun getSideFpsAnimationForTransition(rotation: Int): Int { - when (rotation) { - Surface.ROTATION_90 -> if (context.isInRearDisplayMode()) { - return R.raw.biometricprompt_rear_portrait_reverse_base - } else if (isDeviceFolded) { - return R.raw.biometricprompt_folded_base_topleft - } else { - return R.raw.biometricprompt_portrait_base_topleft - } - Surface.ROTATION_270 -> if (context.isInRearDisplayMode()) { - return R.raw.biometricprompt_rear_portrait_base - } else if (isDeviceFolded) { - return R.raw.biometricprompt_folded_base_bottomright - } else { - return R.raw.biometricprompt_portrait_base_bottomright - } - else -> if (context.isInRearDisplayMode()) { - return R.raw.biometricprompt_rear_landscape_base - } else if (isDeviceFolded) { - return R.raw.biometricprompt_folded_base_default - } else { - return R.raw.biometricprompt_landscape_base - } + private fun getSideFpsAnimationForTransition(rotation: Int): Int = when (rotation) { + Surface.ROTATION_90 -> if (isDeviceFolded) { + R.raw.biometricprompt_folded_base_topleft + } else { + R.raw.biometricprompt_portrait_base_topleft + } + Surface.ROTATION_270 -> if (isDeviceFolded) { + R.raw.biometricprompt_folded_base_bottomright + } else { + R.raw.biometricprompt_portrait_base_bottomright + } + else -> if (isDeviceFolded) { + R.raw.biometricprompt_folded_base_default + } else { + R.raw.biometricprompt_landscape_base } } diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt index b62c729f1c19..c98a62f36656 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/SideFpsController.kt @@ -173,16 +173,12 @@ constructor( override fun show( sensorId: Int, @BiometricOverlayConstants.ShowReason reason: Int - ) { - if ( - reason.isReasonToAutoShow(activityTaskManager) && - !context.isInRearDisplayMode() - ) { + ) = + if (reason.isReasonToAutoShow(activityTaskManager)) { show(SideFpsUiRequestSource.AUTO_SHOW, reason) } else { hide(SideFpsUiRequestSource.AUTO_SHOW) } - } override fun hide(sensorId: Int) = hide(SideFpsUiRequestSource.AUTO_SHOW) } @@ -199,7 +195,7 @@ constructor( scope.launch { alternateBouncerInteractor.isVisible.collect { isVisible: Boolean -> if (isVisible) { - show(SideFpsUiRequestSource.ALTERNATE_BOUNCER) + show(SideFpsUiRequestSource.ALTERNATE_BOUNCER, REASON_AUTH_KEYGUARD) } else { hide(SideFpsUiRequestSource.ALTERNATE_BOUNCER) } @@ -440,13 +436,17 @@ private fun LottieAnimationView.addOverlayDynamicColor( @BiometricOverlayConstants.ShowReason reason: Int ) { fun update() { - val c = context.getColor(R.color.biometric_dialog_accent) - val chevronFill = context.getColor(R.color.sfps_chevron_fill) val isKeyguard = reason == REASON_AUTH_KEYGUARD if (isKeyguard) { + val color = context.getColor(R.color.numpad_key_color_secondary) // match bouncer color + val chevronFill = + com.android.settingslib.Utils.getColorAttrDefaultColor( + context, + android.R.attr.textColorPrimaryInverse + ) for (key in listOf(".blue600", ".blue400")) { addValueCallback(KeyPath(key, "**"), LottieProperty.COLOR_FILTER) { - PorterDuffColorFilter(c, PorterDuff.Mode.SRC_ATOP) + PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP) } } addValueCallback(KeyPath(".black", "**"), LottieProperty.COLOR_FILTER) { diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/Utils.kt b/packages/SystemUI/src/com/android/systemui/biometrics/Utils.kt index 3d563267ca74..d0d6f4cbf166 100644 --- a/packages/SystemUI/src/com/android/systemui/biometrics/Utils.kt +++ b/packages/SystemUI/src/com/android/systemui/biometrics/Utils.kt @@ -36,7 +36,6 @@ import android.view.WindowManager import android.view.accessibility.AccessibilityEvent import android.view.accessibility.AccessibilityManager import com.android.internal.widget.LockPatternUtils -import com.android.systemui.R import java.lang.annotation.Retention import java.lang.annotation.RetentionPolicy @@ -118,7 +117,4 @@ object Utils { @Retention(RetentionPolicy.SOURCE) @IntDef(CREDENTIAL_PIN, CREDENTIAL_PATTERN, CREDENTIAL_PASSWORD) internal annotation class CredentialType -} - -fun Context.isInRearDisplayMode(): Boolean = resources.getIntArray( - com.android.internal.R.array.config_rearDisplayDeviceStates).isNotEmpty()
\ No newline at end of file +}
\ No newline at end of file diff --git a/packages/SystemUI/src/com/android/systemui/common/shared/model/TintedIcon.kt b/packages/SystemUI/src/com/android/systemui/common/shared/model/TintedIcon.kt index 5dabbbb81701..6a6c3eb05399 100644 --- a/packages/SystemUI/src/com/android/systemui/common/shared/model/TintedIcon.kt +++ b/packages/SystemUI/src/com/android/systemui/common/shared/model/TintedIcon.kt @@ -16,10 +16,10 @@ package com.android.systemui.common.shared.model -import androidx.annotation.AttrRes +import androidx.annotation.ColorRes /** Models an icon with a specific tint. */ data class TintedIcon( val icon: Icon, - @AttrRes val tintAttr: Int?, + @ColorRes val tint: Int?, ) diff --git a/packages/SystemUI/src/com/android/systemui/common/ui/binder/TintedIconViewBinder.kt b/packages/SystemUI/src/com/android/systemui/common/ui/binder/TintedIconViewBinder.kt index dea8cfda80c3..bcc5932dcf30 100644 --- a/packages/SystemUI/src/com/android/systemui/common/ui/binder/TintedIconViewBinder.kt +++ b/packages/SystemUI/src/com/android/systemui/common/ui/binder/TintedIconViewBinder.kt @@ -17,15 +17,14 @@ package com.android.systemui.common.ui.binder import android.widget.ImageView -import com.android.settingslib.Utils import com.android.systemui.common.shared.model.TintedIcon object TintedIconViewBinder { /** * Binds the given tinted icon to the view. * - * [TintedIcon.tintAttr] will always be applied, meaning that if it is null, then the tint - * *will* be reset to null. + * [TintedIcon.tint] will always be applied, meaning that if it is null, then the tint *will* be + * reset to null. */ fun bind( tintedIcon: TintedIcon, @@ -33,8 +32,8 @@ object TintedIconViewBinder { ) { IconViewBinder.bind(tintedIcon.icon, view) view.imageTintList = - if (tintedIcon.tintAttr != null) { - Utils.getColorAttr(view.context, tintedIcon.tintAttr) + if (tintedIcon.tint != null) { + view.resources.getColorStateList(tintedIcon.tint, view.context.theme) } else { null } diff --git a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt index ee12db8d07b1..868e52784290 100644 --- a/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/controls/ui/ControlsUiControllerImpl.kt @@ -608,6 +608,7 @@ class ControlsUiControllerImpl @Inject constructor ( if (items.size == 1) { spinner.setBackground(null) anchor.setOnClickListener(null) + anchor.isClickable = false return } else { spinner.background = parent.context.resources diff --git a/packages/SystemUI/src/com/android/systemui/dreams/DreamMonitor.java b/packages/SystemUI/src/com/android/systemui/dreams/DreamMonitor.java index 055cd52b23d6..7f567aa334a6 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/DreamMonitor.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/DreamMonitor.java @@ -23,6 +23,7 @@ import android.util.Log; import com.android.systemui.CoreStartable; import com.android.systemui.dreams.callbacks.DreamStatusBarStateCallback; import com.android.systemui.dreams.conditions.DreamCondition; +import com.android.systemui.flags.RestartDozeListener; import com.android.systemui.shared.condition.Monitor; import com.android.systemui.util.condition.ConditionalCoreStartable; @@ -39,17 +40,19 @@ public class DreamMonitor extends ConditionalCoreStartable { private final Monitor mConditionMonitor; private final DreamCondition mDreamCondition; private final DreamStatusBarStateCallback mCallback; + private RestartDozeListener mRestartDozeListener; @Inject public DreamMonitor(Monitor monitor, DreamCondition dreamCondition, @Named(DREAM_PRETEXT_MONITOR) Monitor pretextMonitor, - DreamStatusBarStateCallback callback) { + DreamStatusBarStateCallback callback, + RestartDozeListener restartDozeListener) { super(pretextMonitor); mConditionMonitor = monitor; mDreamCondition = dreamCondition; mCallback = callback; - + mRestartDozeListener = restartDozeListener; } @Override @@ -61,5 +64,8 @@ public class DreamMonitor extends ConditionalCoreStartable { mConditionMonitor.addSubscription(new Monitor.Subscription.Builder(mCallback) .addCondition(mDreamCondition) .build()); + + mRestartDozeListener.init(); + mRestartDozeListener.maybeRestartSleep(); } } diff --git a/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java b/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java index 2befce7065ec..5bbfbda82944 100644 --- a/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java +++ b/packages/SystemUI/src/com/android/systemui/dreams/conditions/DreamCondition.java @@ -15,6 +15,7 @@ */ package com.android.systemui.dreams.conditions; +import android.app.DreamManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -30,6 +31,7 @@ import javax.inject.Inject; */ public class DreamCondition extends Condition { private final Context mContext; + private final DreamManager mDreamManager; private final BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override @@ -39,8 +41,10 @@ public class DreamCondition extends Condition { }; @Inject - public DreamCondition(Context context) { + public DreamCondition(Context context, + DreamManager dreamManager) { mContext = context; + mDreamManager = dreamManager; } private void processIntent(Intent intent) { @@ -62,8 +66,8 @@ public class DreamCondition extends Condition { final IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_DREAMING_STARTED); filter.addAction(Intent.ACTION_DREAMING_STOPPED); - final Intent stickyIntent = mContext.registerReceiver(mReceiver, filter); - processIntent(stickyIntent); + mContext.registerReceiver(mReceiver, filter); + updateCondition(mDreamManager.isDreaming()); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt index 06ca0adfa928..28c45b874b24 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsDebugStartable.kt @@ -22,7 +22,6 @@ import com.android.systemui.broadcast.BroadcastSender import com.android.systemui.dump.DumpManager import com.android.systemui.statusbar.commandline.CommandRegistry import com.android.systemui.util.InitializationChecker -import com.android.systemui.util.concurrency.DelayableExecutor import dagger.Binds import dagger.Module import dagger.multibindings.ClassKey @@ -38,8 +37,6 @@ constructor( private val featureFlags: FeatureFlagsDebug, private val broadcastSender: BroadcastSender, private val initializationChecker: InitializationChecker, - private val restartDozeListener: RestartDozeListener, - private val delayableExecutor: DelayableExecutor ) : CoreStartable { init { @@ -55,9 +52,6 @@ constructor( // protected broadcast should only be sent for the main process val intent = Intent(FlagManager.ACTION_SYSUI_STARTED) broadcastSender.sendBroadcast(intent) - - restartDozeListener.init() - delayableExecutor.executeDelayed({ restartDozeListener.maybeRestartSleep() }, 1000) } } } diff --git a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsReleaseStartable.kt b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsReleaseStartable.kt index 133e67f2822b..f97112d384be 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsReleaseStartable.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/FeatureFlagsReleaseStartable.kt @@ -18,8 +18,6 @@ package com.android.systemui.flags import com.android.systemui.CoreStartable import com.android.systemui.dump.DumpManager -import com.android.systemui.util.InitializationChecker -import com.android.systemui.util.concurrency.DelayableExecutor import dagger.Binds import dagger.Module import dagger.multibindings.ClassKey @@ -31,9 +29,6 @@ class FeatureFlagsReleaseStartable constructor( dumpManager: DumpManager, featureFlags: FeatureFlags, - private val initializationChecker: InitializationChecker, - private val restartDozeListener: RestartDozeListener, - private val delayableExecutor: DelayableExecutor ) : CoreStartable { init { @@ -42,12 +37,7 @@ constructor( } } - override fun start() { - if (initializationChecker.initializeComponents()) { - restartDozeListener.init() - delayableExecutor.executeDelayed({ restartDozeListener.maybeRestartSleep() }, 1000) - } - } + override fun start() {} } @Module diff --git a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt index b08822d97b71..8f3f64fbe50a 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/Flags.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/Flags.kt @@ -228,6 +228,11 @@ object Flags { @JvmField val ASYNC_INFLATE_BOUNCER = unreleasedFlag(229, "async_inflate_bouncer", teamfood = true) + /** Whether to inflate the bouncer view on a background thread. */ + // TODO(b/273341787): Tracking Bug + @JvmField + val PREVENT_BYPASS_KEYGUARD = unreleasedFlag(230, "prevent_bypass_keyguard") + // 300 - power menu // TODO(b/254512600): Tracking Bug @JvmField val POWER_MENU_LITE = releasedFlag(300, "power_menu_lite") @@ -410,7 +415,7 @@ object Flags { @JvmField val ROUNDED_BOX_RIPPLE = releasedFlag(1002, "rounded_box_ripple") // TODO(b/270882464): Tracking Bug - val ENABLE_DOCK_SETUP_V2 = unreleasedFlag(1005, "enable_dock_setup_v2", teamfood = true) + val ENABLE_DOCK_SETUP_V2 = releasedFlag(1005, "enable_dock_setup_v2") // TODO(b/265045965): Tracking Bug val SHOW_LOWLIGHT_ON_DIRECT_BOOT = releasedFlag(1003, "show_lowlight_on_direct_boot") @@ -470,7 +475,7 @@ object Flags { sysPropBooleanFlag( 1110, "persist.wm.debug.enable_pip_keep_clear_algorithm", - default = false + default = true ) // TODO(b/256873975): Tracking Bug @@ -678,6 +683,12 @@ object Flags { val ENABLE_DARK_VIGNETTE_WHEN_FOLDING = unreleasedFlag(2700, "enable_dark_vignette_when_folding") + // TODO(b/265764985): Tracking Bug + @Keep + @JvmField + val ENABLE_UNFOLD_STATUS_BAR_ANIMATIONS = + unreleasedFlag(2701, "enable_unfold_status_bar_animations") + // TODO(b259590361): Tracking bug val EXPERIMENTAL_FLAG = unreleasedFlag(2, "exp_flag_release") @@ -698,5 +709,5 @@ object Flags { // TODO(b/272805037): Tracking Bug @JvmField val ADVANCED_VPN_ENABLED = unreleasedFlag(2800, name = "AdvancedVpn__enable_feature", - namespace = "vpn", teamfood = false) + namespace = "vpn", teamfood = true) } diff --git a/packages/SystemUI/src/com/android/systemui/flags/RestartDozeListener.kt b/packages/SystemUI/src/com/android/systemui/flags/RestartDozeListener.kt index bd74f4e5daab..b49d60dbdde1 100644 --- a/packages/SystemUI/src/com/android/systemui/flags/RestartDozeListener.kt +++ b/packages/SystemUI/src/com/android/systemui/flags/RestartDozeListener.kt @@ -20,7 +20,9 @@ import android.os.PowerManager import android.util.Log import com.android.internal.annotations.VisibleForTesting import com.android.systemui.dagger.SysUISingleton +import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.plugins.statusbar.StatusBarStateController +import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.settings.SecureSettings import com.android.systemui.util.time.SystemClock import javax.inject.Inject @@ -33,6 +35,7 @@ constructor( private val statusBarStateController: StatusBarStateController, private val powerManager: PowerManager, private val systemClock: SystemClock, + @Background val bgExecutor: DelayableExecutor, ) { companion object { @@ -44,7 +47,7 @@ constructor( val listener = object : StatusBarStateController.StateListener { override fun onDreamingChanged(isDreaming: Boolean) { - settings.putBool(RESTART_NAP_KEY, isDreaming) + storeSleepState(isDreaming) } } @@ -62,11 +65,19 @@ constructor( } fun maybeRestartSleep() { - if (settings.getBool(RESTART_NAP_KEY, false)) { - Log.d("RestartDozeListener", "Restarting sleep state") - powerManager.wakeUp(systemClock.uptimeMillis()) - powerManager.goToSleep(systemClock.uptimeMillis()) - settings.putBool(RESTART_NAP_KEY, false) - } + bgExecutor.executeDelayed( + { + if (settings.getBool(RESTART_NAP_KEY, false)) { + Log.d("RestartDozeListener", "Restarting sleep state") + powerManager.wakeUp(systemClock.uptimeMillis()) + powerManager.goToSleep(systemClock.uptimeMillis()) + } + }, + 1000 + ) + } + + private fun storeSleepState(sleeping: Boolean) { + bgExecutor.execute { settings.putBool(RESTART_NAP_KEY, sleeping) } } } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt index d745a19e8549..aad4a2dd1af7 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractor.kt @@ -23,6 +23,7 @@ import com.android.systemui.flags.Flags import com.android.systemui.keyguard.data.repository.BiometricSettingsRepository import com.android.systemui.keyguard.data.repository.DeviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.KeyguardBouncerRepository +import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager.LegacyAlternateBouncer import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.time.SystemClock @@ -34,6 +35,7 @@ import kotlinx.coroutines.flow.Flow class AlternateBouncerInteractor @Inject constructor( + private val statusBarStateController: StatusBarStateController, private val keyguardStateController: KeyguardStateController, private val bouncerRepository: KeyguardBouncerRepository, private val biometricSettingsRepository: BiometricSettingsRepository, @@ -49,6 +51,17 @@ constructor( var receivedDownTouch = false val isVisible: Flow<Boolean> = bouncerRepository.alternateBouncerVisible + private val keyguardStateControllerCallback: KeyguardStateController.Callback = + object : KeyguardStateController.Callback { + override fun onUnlockedChanged() { + maybeHide() + } + } + + init { + keyguardStateController.addCallback(keyguardStateControllerCallback) + } + /** * Sets the correct bouncer states to show the alternate bouncer if it can show. * @@ -109,7 +122,8 @@ constructor( biometricSettingsRepository.isStrongBiometricAllowed.value && biometricSettingsRepository.isFingerprintEnabledByDevicePolicy.value && !deviceEntryFingerprintAuthRepository.isLockedOut.value && - !keyguardStateController.isUnlocked + !keyguardStateController.isUnlocked && + !statusBarStateController.isDozing } else { legacyAlternateBouncer != null && keyguardUpdateMonitor.isUnlockingWithBiometricAllowed(true) @@ -129,6 +143,12 @@ constructor( } } + private fun maybeHide() { + if (isVisibleState() && !canShowAlternateBouncerForFingerprint()) { + hide() + } + } + companion object { private const val MIN_VISIBILITY_DURATION_UNTIL_TOUCHES_DISMISS_ALTERNATE_BOUNCER_MS = 200L private const val NOT_VISIBLE = -1L diff --git a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java index 889adc77196a..5704f8861f0e 100644 --- a/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java +++ b/packages/SystemUI/src/com/android/systemui/log/dagger/LogModule.java @@ -160,6 +160,14 @@ public class LogModule { return factory.create("QSLog", 700 /* maxSize */, false /* systrace */); } + /** Provides a logging buffer for logs related to Quick Settings configuration. */ + @Provides + @SysUISingleton + @QSConfigLog + public static LogBuffer provideQSConfigLogBuffer(LogBufferFactory factory) { + return factory.create("QSConfigLog", 100 /* maxSize */, true /* systrace */); + } + /** Provides a logging buffer for {@link com.android.systemui.broadcast.BroadcastDispatcher} */ @Provides @SysUISingleton diff --git a/core/java/android/service/voice/DetectorFailure.aidl b/packages/SystemUI/src/com/android/systemui/log/dagger/QSConfigLog.java index 3591329ac111..295bf88d498f 100644 --- a/core/java/android/service/voice/DetectorFailure.aidl +++ b/packages/SystemUI/src/com/android/systemui/log/dagger/QSConfigLog.java @@ -14,6 +14,20 @@ * limitations under the License. */ -package android.service.voice; +package com.android.systemui.log.dagger; -parcelable DetectorFailure; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +import com.android.systemui.plugins.log.LogBuffer; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; + +import javax.inject.Qualifier; + +/** A {@link LogBuffer} for QS configuration changed messages. */ +@Qualifier +@Documented +@Retention(RUNTIME) +public @interface QSConfigLog { +} diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt index 67d3be4a3ad2..9c7b48d2514d 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselController.kt @@ -225,8 +225,10 @@ constructor( object : KeyguardUpdateMonitorCallback() { override fun onStrongAuthStateChanged(userId: Int) { if (keyguardUpdateMonitor.isUserInLockdown(userId)) { + debugLogger.logCarouselHidden() hideMediaCarousel() } else if (keyguardUpdateMonitor.isUserUnlocked(userId)) { + debugLogger.logCarouselVisible() showMediaCarousel() } } @@ -298,7 +300,7 @@ constructor( receivedSmartspaceCardLatency: Int, isSsReactivated: Boolean ) { - debugLogger.logMediaLoaded(key) + debugLogger.logMediaLoaded(key, data.active) if (addOrUpdatePlayer(key, oldKey, data, isSsReactivated)) { // Log card received if a new resumable media card is added MediaPlayerData.getMediaPlayer(key)?.let { diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselControllerLogger.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselControllerLogger.kt index 35bda15ece92..9af11b924ec8 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselControllerLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaCarouselControllerLogger.kt @@ -42,8 +42,16 @@ constructor(@MediaCarouselControllerLog private val buffer: LogBuffer) { } ) - fun logMediaLoaded(key: String) = - buffer.log(TAG, LogLevel.DEBUG, { str1 = key }, { "add player $str1" }) + fun logMediaLoaded(key: String, active: Boolean) = + buffer.log( + TAG, + LogLevel.DEBUG, + { + str1 = key + bool1 = active + }, + { "add player $str1, active: $bool1" } + ) fun logMediaRemoved(key: String) = buffer.log(TAG, LogLevel.DEBUG, { str1 = key }, { "removing player $str1" }) @@ -69,6 +77,10 @@ constructor(@MediaCarouselControllerLog private val buffer: LogBuffer) { }, { "removing recommendation $str1, immediate=$bool1" } ) + + fun logCarouselHidden() = buffer.log(TAG, LogLevel.DEBUG, {}, { "hiding carousel" }) + + fun logCarouselVisible() = buffer.log(TAG, LogLevel.DEBUG, {}, { "showing carousel" }) } private const val TAG = "MediaCarouselCtlrLog" diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java index 5c2758bd4cfc..15d999ad2fe8 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaControlPanel.java @@ -647,14 +647,17 @@ public class MediaControlPanel { } else { mLogger.logOpenOutputSwitcher(mUid, mPackageName, mInstanceId); if (device.getIntent() != null) { - if (device.getIntent().isActivity()) { - mActivityStarter.startActivity( - device.getIntent().getIntent(), true); + PendingIntent deviceIntent = device.getIntent(); + boolean showOverLockscreen = mKeyguardStateController.isShowing() + && mActivityIntentHelper.wouldPendingShowOverLockscreen( + deviceIntent, mLockscreenUserManager.getCurrentUserId()); + if (deviceIntent.isActivity() && !showOverLockscreen) { + mActivityStarter.postStartActivityDismissingKeyguard(deviceIntent); } else { try { BroadcastOptions options = BroadcastOptions.makeBasic(); options.setInteractive(true); - device.getIntent().send(options.toBundle()); + deviceIntent.send(options.toBundle()); } catch (PendingIntent.CanceledException e) { Log.e(TAG, "Device pending intent was canceled"); } diff --git a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt index 1a85a0f47749..7a1302c5baa2 100644 --- a/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt +++ b/packages/SystemUI/src/com/android/systemui/media/controls/ui/MediaViewController.kt @@ -619,7 +619,11 @@ constructor( tmpState ) } - logger.logMediaSize("setCurrentState", result.width, result.height) + logger.logMediaSize( + "setCurrentState (progress $transitionProgress)", + result.width, + result.height + ) layoutController.setState( result, applyImmediately, diff --git a/packages/SystemUI/src/com/android/systemui/media/taptotransfer/common/MediaTttUtils.kt b/packages/SystemUI/src/com/android/systemui/media/taptotransfer/common/MediaTttUtils.kt index ee93c3788243..dbc2a5ec4e0a 100644 --- a/packages/SystemUI/src/com/android/systemui/media/taptotransfer/common/MediaTttUtils.kt +++ b/packages/SystemUI/src/com/android/systemui/media/taptotransfer/common/MediaTttUtils.kt @@ -19,12 +19,13 @@ package com.android.systemui.media.taptotransfer.common import android.content.Context import android.content.pm.PackageManager import android.graphics.drawable.Drawable -import androidx.annotation.AttrRes +import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import com.android.systemui.R import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.Icon import com.android.systemui.common.shared.model.TintedIcon +import com.android.systemui.temporarydisplay.chipbar.ChipbarInfo.Companion.DEFAULT_ICON_TINT /** Utility methods for media tap-to-transfer. */ class MediaTttUtils { @@ -78,7 +79,7 @@ class MediaTttUtils { return IconInfo( contentDescription, MediaTttIcon.Loaded(packageManager.getApplicationIcon(appPackageName)), - tintAttr = null, + tint = null, isAppIcon = true ) } catch (e: PackageManager.NameNotFoundException) { @@ -96,7 +97,7 @@ class MediaTttUtils { ) }, MediaTttIcon.Resource(R.drawable.ic_cast), - tintAttr = android.R.attr.textColorPrimary, + tint = DEFAULT_ICON_TINT, isAppIcon = false ) } @@ -107,7 +108,7 @@ class MediaTttUtils { data class IconInfo( val contentDescription: ContentDescription, val icon: MediaTttIcon, - @AttrRes val tintAttr: Int?, + @ColorRes val tint: Int?, /** * True if [drawable] is the app's icon, and false if [drawable] is some generic default icon. */ @@ -120,7 +121,7 @@ data class IconInfo( is MediaTttIcon.Loaded -> Icon.Loaded(icon.drawable, contentDescription) is MediaTttIcon.Resource -> Icon.Resource(icon.res, contentDescription) } - return TintedIcon(iconOutput, tintAttr) + return TintedIcon(iconOutput, tint) } } diff --git a/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractor.kt b/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractor.kt index b9f6d83d8406..ebb8639b8922 100644 --- a/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractor.kt +++ b/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractor.kt @@ -23,6 +23,7 @@ import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.multishade.data.model.MultiShadeInteractionModel import com.android.systemui.multishade.data.remoteproxy.MultiShadeInputProxy import com.android.systemui.multishade.data.repository.MultiShadeRepository +import com.android.systemui.multishade.shared.math.isZero import com.android.systemui.multishade.shared.model.ProxiedInputModel import com.android.systemui.multishade.shared.model.ShadeConfig import com.android.systemui.multishade.shared.model.ShadeId @@ -63,6 +64,10 @@ constructor( } } + /** Whether any shade is expanded, even a little bit. */ + val isAnyShadeExpanded: Flow<Boolean> = + maxShadeExpansion.map { maxExpansion -> !maxExpansion.isZero() }.distinctUntilChanged() + /** * A _processed_ version of the proxied input flow. * diff --git a/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeMotionEventInteractor.kt b/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeMotionEventInteractor.kt new file mode 100644 index 000000000000..ff7c9015eef4 --- /dev/null +++ b/packages/SystemUI/src/com/android/systemui/multishade/domain/interactor/MultiShadeMotionEventInteractor.kt @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.multishade.domain.interactor + +import android.content.Context +import android.view.MotionEvent +import android.view.ViewConfiguration +import com.android.systemui.dagger.qualifiers.Application +import com.android.systemui.multishade.shared.model.ProxiedInputModel +import javax.inject.Inject +import kotlin.math.abs +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.stateIn + +/** + * Encapsulates business logic to handle [MotionEvent]-based user input. + * + * This class is meant purely for the legacy `View`-based system to be able to pass `MotionEvent`s + * into the newer multi-shade framework for processing. + */ +class MultiShadeMotionEventInteractor +@Inject +constructor( + @Application private val applicationContext: Context, + @Application private val applicationScope: CoroutineScope, + private val interactor: MultiShadeInteractor, +) { + + private val isAnyShadeExpanded: StateFlow<Boolean> = + interactor.isAnyShadeExpanded.stateIn( + scope = applicationScope, + started = SharingStarted.Eagerly, + initialValue = false, + ) + + private var interactionState: InteractionState? = null + + /** + * Returns `true` if the given [MotionEvent] and the rest of events in this gesture should be + * passed to this interactor's [onTouchEvent] method. + * + * Note: the caller should continue to pass [MotionEvent] instances into this method, even if it + * returns `false` as the gesture may be intercepted mid-stream. + */ + fun shouldIntercept(event: MotionEvent): Boolean { + if (isAnyShadeExpanded.value) { + // If any shade is expanded, we assume that touch handling outside the shades is handled + // by the scrim that appears behind the shades. No need to intercept anything here. + return false + } + + return when (event.actionMasked) { + MotionEvent.ACTION_DOWN -> { + // Record where the pointer was placed and which pointer it was. + interactionState = + InteractionState( + initialX = event.x, + initialY = event.y, + currentY = event.y, + pointerId = event.getPointerId(0), + isDraggingHorizontally = false, + isDraggingVertically = false, + ) + + false + } + MotionEvent.ACTION_MOVE -> { + interactionState?.let { + val pointerIndex = event.findPointerIndex(it.pointerId) + val currentX = event.getX(pointerIndex) + val currentY = event.getY(pointerIndex) + if (!it.isDraggingHorizontally && !it.isDraggingVertically) { + val xDistanceTravelled = abs(currentX - it.initialX) + val yDistanceTravelled = abs(currentY - it.initialY) + val touchSlop = ViewConfiguration.get(applicationContext).scaledTouchSlop + interactionState = + when { + yDistanceTravelled > touchSlop -> + it.copy(isDraggingVertically = true) + xDistanceTravelled > touchSlop -> + it.copy(isDraggingHorizontally = true) + else -> interactionState + } + } + } + + // We want to intercept the rest of the gesture if we're dragging. + interactionState.isDraggingVertically() + } + MotionEvent.ACTION_UP, + MotionEvent.ACTION_CANCEL -> + // Make sure that we intercept the up or cancel if we're dragging, to handle drag + // end and cancel. + interactionState.isDraggingVertically() + else -> false + } + } + + /** + * Notifies that a [MotionEvent] in a series of events of a gesture that was intercepted due to + * the result of [shouldIntercept] has been received. + * + * @param event The [MotionEvent] to handle. + * @param viewWidthPx The width of the view, in pixels. + * @return `true` if the event was consumed, `false` otherwise. + */ + fun onTouchEvent(event: MotionEvent, viewWidthPx: Int): Boolean { + return when (event.actionMasked) { + MotionEvent.ACTION_MOVE -> { + interactionState?.let { + if (it.isDraggingVertically) { + val pointerIndex = event.findPointerIndex(it.pointerId) + val previousY = it.currentY + val currentY = event.getY(pointerIndex) + interactionState = + it.copy( + currentY = currentY, + ) + + val yDragAmountPx = currentY - previousY + if (yDragAmountPx != 0f) { + interactor.sendProxiedInput( + ProxiedInputModel.OnDrag( + xFraction = event.x / viewWidthPx, + yDragAmountPx = yDragAmountPx, + ) + ) + } + } + } + + true + } + MotionEvent.ACTION_UP -> { + if (interactionState.isDraggingVertically()) { + // We finished dragging. Record that so the multi-shade framework can issue a + // fling, if the velocity reached in the drag was high enough, for example. + interactor.sendProxiedInput(ProxiedInputModel.OnDragEnd) + } + + interactionState = null + true + } + MotionEvent.ACTION_CANCEL -> { + if (interactionState.isDraggingVertically()) { + // Our drag gesture was canceled by the system. This happens primarily in one of + // two occasions: (a) the parent view has decided to intercept the gesture + // itself and/or route it to a different child view or (b) the pointer has + // traveled beyond the bounds of our view and/or the touch display. Either way, + // we pass the cancellation event to the multi-shade framework to record it. + // Doing that allows the multi-shade framework to know that the gesture ended to + // allow new gestures to be accepted. + interactor.sendProxiedInput(ProxiedInputModel.OnDragCancel) + } + + interactionState = null + true + } + else -> false + } + } + + private data class InteractionState( + val initialX: Float, + val initialY: Float, + val currentY: Float, + val pointerId: Int, + val isDraggingHorizontally: Boolean, + val isDraggingVertically: Boolean, + ) + + private fun InteractionState?.isDraggingVertically(): Boolean { + return this?.isDraggingVertically == true + } +} diff --git a/core/java/android/service/voice/UnknownFailure.aidl b/packages/SystemUI/src/com/android/systemui/multishade/shared/math/Math.kt index cf43cc2fad46..c2eaf72a841a 100644 --- a/core/java/android/service/voice/UnknownFailure.aidl +++ b/packages/SystemUI/src/com/android/systemui/multishade/shared/math/Math.kt @@ -5,7 +5,7 @@ * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, @@ -14,6 +14,14 @@ * limitations under the License. */ -package android.service.voice; +package com.android.systemui.multishade.shared.math -parcelable UnknownFailure; +import androidx.annotation.VisibleForTesting +import kotlin.math.abs + +/** Returns `true` if this [Float] is within [epsilon] of `0`. */ +fun Float.isZero(epsilon: Float = EPSILON): Boolean { + return abs(this) < epsilon +} + +@VisibleForTesting private const val EPSILON = 0.0001f diff --git a/packages/SystemUI/src/com/android/systemui/multishade/ui/viewmodel/MultiShadeViewModel.kt b/packages/SystemUI/src/com/android/systemui/multishade/ui/viewmodel/MultiShadeViewModel.kt index ce6ab977dea2..ed92c5469d23 100644 --- a/packages/SystemUI/src/com/android/systemui/multishade/ui/viewmodel/MultiShadeViewModel.kt +++ b/packages/SystemUI/src/com/android/systemui/multishade/ui/viewmodel/MultiShadeViewModel.kt @@ -26,7 +26,6 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.flatMapLatest import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.map @@ -87,10 +86,7 @@ class MultiShadeViewModel( when (shadeConfig) { // In the dual shade configuration, the scrim is enabled when the expansion is // greater than zero on any one of the shades. - is ShadeConfig.DualShadeConfig -> - interactor.maxShadeExpansion - .map { expansion -> expansion > 0 } - .distinctUntilChanged() + is ShadeConfig.DualShadeConfig -> interactor.isAnyShadeExpanded // No scrim in the single shade configuration. is ShadeConfig.SingleShadeConfig -> flowOf(false) } diff --git a/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt b/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt index e74d78d2b5d9..58ac5b30972f 100644 --- a/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt +++ b/packages/SystemUI/src/com/android/systemui/notetask/NoteTaskController.kt @@ -138,7 +138,8 @@ constructor( logDebug { "onShowNoteTask - start: $info on user#${user.identifier}" } when (info.launchMode) { is NoteTaskLaunchMode.AppBubble -> { - bubbles.showOrHideAppBubble(intent, userTracker.userHandle) + // TODO: provide app bubble icon + bubbles.showOrHideAppBubble(intent, userTracker.userHandle, null /* icon */) // App bubble logging happens on `onBubbleExpandChanged`. logDebug { "onShowNoteTask - opened as app bubble: $info" } } diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java index 2668d2e36731..fdab9b16c7a1 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java +++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanelControllerBase.java @@ -91,16 +91,19 @@ public abstract class QSPanelControllerBase<T extends QSPanel> extends ViewContr new QSPanel.OnConfigurationChangedListener() { @Override public void onConfigurationChange(Configuration newConfig) { - mQSLogger.logOnConfigurationChanged( - /* lastOrientation= */ mLastOrientation, - /* newOrientation= */ newConfig.orientation, - /* containerName= */ mView.getDumpableTag()); - - boolean previousSplitShadeState = mShouldUseSplitNotificationShade; + final boolean previousSplitShadeState = mShouldUseSplitNotificationShade; + final int previousOrientation = mLastOrientation; mShouldUseSplitNotificationShade = - LargeScreenUtils.shouldUseSplitNotificationShade(getResources()); + LargeScreenUtils.shouldUseSplitNotificationShade(getResources()); mLastOrientation = newConfig.orientation; + mQSLogger.logOnConfigurationChanged( + /* oldOrientation= */ previousOrientation, + /* newOrientation= */ mLastOrientation, + /* oldShouldUseSplitShade= */ previousSplitShadeState, + /* newShouldUseSplitShade= */ mShouldUseSplitNotificationShade, + /* containerName= */ mView.getDumpableTag()); + switchTileLayoutIfNeeded(); onConfigurationChanged(); if (previousSplitShadeState != mShouldUseSplitNotificationShade) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java index 2083cc7b167e..5e4f53181706 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java +++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileServices.java @@ -136,9 +136,8 @@ public class TileServices extends IQSService.Stub { mServices.remove(tile); mTokenMap.remove(service.getToken()); mTiles.remove(tile.getComponent()); - final String slot = tile.getComponent().getClassName(); - // TileServices doesn't know how to add more than 1 icon per slot, so remove all - mMainHandler.post(() -> mStatusBarIconController.removeAllIconsForSlot(slot)); + final String slot = getStatusBarIconSlotName(tile.getComponent()); + mMainHandler.post(() -> mStatusBarIconController.removeIconForTile(slot)); } } @@ -312,12 +311,11 @@ public class TileServices extends IQSService.Stub { ? new StatusBarIcon(userHandle, packageName, icon, 0, 0, contentDescription) : null; + final String slot = getStatusBarIconSlotName(componentName); mMainHandler.post(new Runnable() { @Override public void run() { - StatusBarIconController iconController = mStatusBarIconController; - iconController.setIcon(componentName.getClassName(), statusIcon); - iconController.setExternalIcon(componentName.getClassName()); + mStatusBarIconController.setIconFromTile(slot, statusIcon); } }); } @@ -377,6 +375,12 @@ public class TileServices extends IQSService.Stub { mCommandQueue.removeCallback(mRequestListeningCallback); } + /** Returns the slot name that should be used when adding or removing status bar icons. */ + private String getStatusBarIconSlotName(ComponentName componentName) { + return componentName.getClassName(); + } + + private final CommandQueue.Callbacks mRequestListeningCallback = new CommandQueue.Callbacks() { @Override public void requestTileServiceListeningState(@NonNull ComponentName componentName) { diff --git a/packages/SystemUI/src/com/android/systemui/qs/logging/QSLogger.kt b/packages/SystemUI/src/com/android/systemui/qs/logging/QSLogger.kt index 23c41db6d5a6..5b461a6d8bad 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/logging/QSLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/qs/logging/QSLogger.kt @@ -16,8 +16,12 @@ package com.android.systemui.qs.logging +import android.content.res.Configuration.ORIENTATION_LANDSCAPE +import android.content.res.Configuration.ORIENTATION_PORTRAIT +import android.content.res.Configuration.Orientation import android.service.quicksettings.Tile import android.view.View +import com.android.systemui.log.dagger.QSConfigLog import com.android.systemui.log.dagger.QSLog import com.android.systemui.plugins.log.ConstantStringsLogger import com.android.systemui.plugins.log.ConstantStringsLoggerImpl @@ -32,8 +36,12 @@ import javax.inject.Inject private const val TAG = "QSLog" -class QSLogger @Inject constructor(@QSLog private val buffer: LogBuffer) : - ConstantStringsLogger by ConstantStringsLoggerImpl(buffer, TAG) { +class QSLogger +@Inject +constructor( + @QSLog private val buffer: LogBuffer, + @QSConfigLog private val configChangedBuffer: LogBuffer, +) : ConstantStringsLogger by ConstantStringsLoggerImpl(buffer, TAG) { fun logException(@CompileTimeConstant logMsg: String, ex: Exception) { buffer.log(TAG, ERROR, {}, { logMsg }, exception = ex) @@ -264,19 +272,28 @@ class QSLogger @Inject constructor(@QSLog private val buffer: LogBuffer) : } fun logOnConfigurationChanged( - lastOrientation: Int, - newOrientation: Int, + @Orientation oldOrientation: Int, + @Orientation newOrientation: Int, + newShouldUseSplitShade: Boolean, + oldShouldUseSplitShade: Boolean, containerName: String ) { - buffer.log( + configChangedBuffer.log( TAG, DEBUG, { str1 = containerName - int1 = lastOrientation + int1 = oldOrientation int2 = newOrientation + bool1 = oldShouldUseSplitShade + bool2 = newShouldUseSplitShade }, - { "configuration change: $str1 orientation was $int1, now $int2" } + { + "config change: " + + "$str1 orientation=${toOrientationString(int2)} " + + "(was ${toOrientationString(int1)}), " + + "splitShade=$bool2 (was $bool1)" + } ) } @@ -353,3 +370,11 @@ class QSLogger @Inject constructor(@QSLog private val buffer: LogBuffer) : } } } + +private inline fun toOrientationString(@Orientation orientation: Int): String { + return when (orientation) { + ORIENTATION_LANDSCAPE -> "land" + ORIENTATION_PORTRAIT -> "port" + else -> "undefined" + } +} diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java index 557e95c64443..7ad594ee87ac 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotController.java @@ -115,6 +115,8 @@ import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; import java.util.function.Consumer; import java.util.function.Supplier; @@ -613,11 +615,13 @@ public class ScreenshotController { // Note that this may block if the sound is still being loaded (very unlikely) but we can't // reliably release in the background because the service is being destroyed. try { - MediaPlayer player = mCameraSound.get(); + MediaPlayer player = mCameraSound.get(1, TimeUnit.SECONDS); if (player != null) { player.release(); } - } catch (InterruptedException | ExecutionException e) { + } catch (InterruptedException | ExecutionException | TimeoutException e) { + mCameraSound.cancel(true); + Log.w(TAG, "Error releasing shutter sound", e); } } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotDetectionController.kt b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotDetectionController.kt index 48aa60f69cdb..253f07de7b3c 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotDetectionController.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/ScreenshotDetectionController.kt @@ -17,6 +17,8 @@ package com.android.systemui.screenshot import android.content.pm.PackageManager +import android.content.pm.PackageManager.ComponentInfoFlags +import android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS import android.view.Display import android.view.IWindowManager import android.view.ViewGroup @@ -45,7 +47,7 @@ constructor( // Convert component names to app names. return components.map { packageManager - .getActivityInfo(it, PackageManager.ComponentInfoFlags.of(0)) + .getActivityInfo(it, ComponentInfoFlags.of(MATCH_DISABLED_COMPONENTS.toLong())) .loadLabel(packageManager) } } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/WorkProfileMessageController.kt b/packages/SystemUI/src/com/android/systemui/screenshot/WorkProfileMessageController.kt index 236213cb023f..798c4908e467 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/WorkProfileMessageController.kt +++ b/packages/SystemUI/src/com/android/systemui/screenshot/WorkProfileMessageController.kt @@ -19,6 +19,7 @@ package com.android.systemui.screenshot import android.content.ComponentName import android.content.Context import android.content.pm.PackageManager +import android.content.pm.PackageManager.ComponentInfoFlags import android.graphics.drawable.Drawable import android.os.UserHandle import android.os.UserManager @@ -53,12 +54,9 @@ constructor( var badgedIcon: Drawable? = null var label: CharSequence? = null val fileManager = fileManagerComponentName() + ?: return WorkProfileFirstRunData(defaultFileAppName(), null) try { - val info = - packageManager.getActivityInfo( - fileManager, - PackageManager.ComponentInfoFlags.of(0) - ) + val info = packageManager.getActivityInfo(fileManager, ComponentInfoFlags.of(0L)) val icon = packageManager.getActivityIcon(fileManager) badgedIcon = packageManager.getUserBadgedIcon(icon, userHandle) label = info.loadLabel(packageManager) diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java index 1c3e0112967e..3360511617ba 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java @@ -159,6 +159,7 @@ import com.android.systemui.model.SysUiState; import com.android.systemui.navigationbar.NavigationBarController; import com.android.systemui.navigationbar.NavigationBarView; import com.android.systemui.navigationbar.NavigationModeController; +import com.android.systemui.plugins.ClockAnimations; import com.android.systemui.plugins.FalsingManager; import com.android.systemui.plugins.FalsingManager.FalsingTapListener; import com.android.systemui.plugins.qs.QS; @@ -1592,10 +1593,9 @@ public final class NotificationPanelViewController implements Dumpable { transition.setInterpolator(Interpolators.FAST_OUT_SLOW_IN); transition.setDuration(StackStateAnimator.ANIMATION_DURATION_STANDARD); - boolean customClockAnimation = - mKeyguardStatusViewController.getClockAnimations() != null - && mKeyguardStatusViewController.getClockAnimations() - .getHasCustomPositionUpdatedAnimation(); + ClockAnimations clockAnims = mKeyguardStatusViewController.getClockAnimations(); + boolean customClockAnimation = clockAnims != null + && clockAnims.getHasCustomPositionUpdatedAnimation(); if (mFeatureFlags.isEnabled(Flags.STEP_CLOCK_ANIMATION) && customClockAnimation) { // Find the clock, so we can exclude it from this transition. @@ -2897,15 +2897,7 @@ public final class NotificationPanelViewController implements Dumpable { mHeadsUpManager.addListener(mOnHeadsUpChangedListener); mHeadsUpTouchHelper = new HeadsUpTouchHelper(headsUpManager, mNotificationStackScrollLayoutController.getHeadsUpCallback(), - NotificationPanelViewController.this); - } - - public void setTrackedHeadsUp(ExpandableNotificationRow pickedChild) { - if (pickedChild != null) { - updateTrackingHeadsUp(pickedChild); - mExpandingFromHeadsUp = true; - } - // otherwise we update the state when the expansion is finished + new HeadsUpNotificationViewControllerImpl()); } private void onClosingFinished() { @@ -2953,7 +2945,8 @@ public final class NotificationPanelViewController implements Dumpable { } /** Called when a HUN is dragged up or down to indicate the starting height for shade motion. */ - public void setHeadsUpDraggingStartingHeight(int startHeight) { + @VisibleForTesting + void setHeadsUpDraggingStartingHeight(int startHeight) { mHeadsUpStartHeight = startHeight; float scrimMinFraction; if (mSplitShadeEnabled) { @@ -2987,10 +2980,6 @@ public final class NotificationPanelViewController implements Dumpable { mScrimController.setPanelScrimMinFraction(mMinFraction); } - public void clearNotificationEffects() { - mCentralSurfaces.clearNotificationEffects(); - } - private boolean isPanelVisibleBecauseOfHeadsUp() { return (mHeadsUpManager.hasPinnedHeadsUp() || mHeadsUpAnimatingAway) && mBarState == StatusBarState.SHADE; @@ -3629,7 +3618,13 @@ public final class NotificationPanelViewController implements Dumpable { : (mKeyguardStateController.canDismissLockScreen() ? UNLOCK : BOUNCER_UNLOCK); - fling(vel, expand, isFalseTouch(x, y, interactionType)); + // don't fling while in keyguard to avoid jump in shade expand animation; + // touch has been intercepted already so flinging here is redundant + if (mBarState == KEYGUARD && mExpandedFraction >= 1.0) { + mShadeLog.d("NPVC endMotionEvent - skipping fling on keyguard"); + } else { + fling(vel, expand, isFalseTouch(x, y, interactionType)); + } onTrackingStopped(expand); mUpdateFlingOnLayout = expand && mPanelClosedOnDown && !mHasLayoutedSinceDown; if (mUpdateFlingOnLayout) { @@ -5112,17 +5107,26 @@ public final class NotificationPanelViewController implements Dumpable { captureValues(transitionValues); } + @Nullable @Override - public Animator createAnimator(ViewGroup sceneRoot, TransitionValues startValues, - TransitionValues endValues) { + public Animator createAnimator(ViewGroup sceneRoot, @Nullable TransitionValues startValues, + @Nullable TransitionValues endValues) { + if (startValues == null || endValues == null) { + return null; + } ValueAnimator anim = ValueAnimator.ofFloat(0, 1); Rect from = (Rect) startValues.values.get(PROP_BOUNDS); Rect to = (Rect) endValues.values.get(PROP_BOUNDS); - anim.addUpdateListener( - animation -> mController.getClockAnimations().onPositionUpdated( - from, to, animation.getAnimatedFraction())); + anim.addUpdateListener(animation -> { + ClockAnimations clockAnims = mController.getClockAnimations(); + if (clockAnims == null) { + return; + } + + clockAnims.onPositionUpdated(from, to, animation.getAnimatedFraction()); + }); return anim; } @@ -5133,6 +5137,33 @@ public final class NotificationPanelViewController implements Dumpable { } } + private final class HeadsUpNotificationViewControllerImpl implements + HeadsUpTouchHelper.HeadsUpNotificationViewController { + @Override + public void setHeadsUpDraggingStartingHeight(int startHeight) { + NotificationPanelViewController.this.setHeadsUpDraggingStartingHeight(startHeight); + } + + @Override + public void setTrackedHeadsUp(ExpandableNotificationRow pickedChild) { + if (pickedChild != null) { + updateTrackingHeadsUp(pickedChild); + mExpandingFromHeadsUp = true; + } + // otherwise we update the state when the expansion is finished + } + + @Override + public void startExpand(float x, float y, boolean startTracking, float expandedHeight) { + startExpandMotion(x, y, startTracking, expandedHeight); + } + + @Override + public void clearNotificationEffects() { + mCentralSurfaces.clearNotificationEffects(); + } + } + private final class ShadeAccessibilityDelegate extends AccessibilityDelegate { @Override public void onInitializeAccessibilityNodeInfo(View host, diff --git a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java index 5f6f158277d7..0318fa570a78 100644 --- a/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java +++ b/packages/SystemUI/src/com/android/systemui/shade/NotificationShadeWindowViewController.java @@ -32,6 +32,8 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewStub; +import androidx.annotation.Nullable; + import com.android.internal.annotations.VisibleForTesting; import com.android.keyguard.AuthKeyguardMessageArea; import com.android.keyguard.LockIconViewController; @@ -50,6 +52,7 @@ import com.android.systemui.keyguard.ui.binder.KeyguardBouncerViewBinder; import com.android.systemui.keyguard.ui.viewmodel.KeyguardBouncerViewModel; import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransitionViewModel; import com.android.systemui.multishade.domain.interactor.MultiShadeInteractor; +import com.android.systemui.multishade.domain.interactor.MultiShadeMotionEventInteractor; import com.android.systemui.multishade.ui.view.MultiShadeView; import com.android.systemui.statusbar.DragDownHelper; import com.android.systemui.statusbar.LockscreenShadeTransitionController; @@ -118,6 +121,7 @@ public class NotificationShadeWindowViewController { step.getTransitionState() == TransitionState.RUNNING; }; private final SystemClock mClock; + private final @Nullable MultiShadeMotionEventInteractor mMultiShadeMotionEventInteractor; @Inject public NotificationShadeWindowViewController( @@ -145,7 +149,8 @@ public class NotificationShadeWindowViewController { PrimaryBouncerToGoneTransitionViewModel primaryBouncerToGoneTransitionViewModel, FeatureFlags featureFlags, Provider<MultiShadeInteractor> multiShadeInteractorProvider, - SystemClock clock) { + SystemClock clock, + Provider<MultiShadeMotionEventInteractor> multiShadeMotionEventInteractorProvider) { mLockscreenShadeTransitionController = transitionController; mFalsingCollector = falsingCollector; mStatusBarStateController = statusBarStateController; @@ -180,22 +185,18 @@ public class NotificationShadeWindowViewController { mClock = clock; if (ComposeFacade.INSTANCE.isComposeAvailable() && featureFlags.isEnabled(Flags.DUAL_SHADE)) { + mMultiShadeMotionEventInteractor = multiShadeMotionEventInteractorProvider.get(); final ViewStub multiShadeViewStub = mView.findViewById(R.id.multi_shade_stub); if (multiShadeViewStub != null) { final MultiShadeView multiShadeView = (MultiShadeView) multiShadeViewStub.inflate(); multiShadeView.init(multiShadeInteractorProvider.get(), clock); } + } else { + mMultiShadeMotionEventInteractor = null; } } /** - * @return Location where to place the KeyguardBouncer - */ - public ViewGroup getBouncerContainer() { - return mView.findViewById(R.id.keyguard_bouncer_container); - } - - /** * @return Location where to place the KeyguardMessageArea */ public AuthKeyguardMessageArea getKeyguardMessageArea() { @@ -349,16 +350,17 @@ public class NotificationShadeWindowViewController { return true; } - boolean intercept = false; - if (mNotificationPanelViewController.isFullyExpanded() + if (mMultiShadeMotionEventInteractor != null) { + // This interactor is not null only if the dual shade feature is enabled. + return mMultiShadeMotionEventInteractor.shouldIntercept(ev); + } else if (mNotificationPanelViewController.isFullyExpanded() && mDragDownHelper.isDragDownEnabled() && !mService.isBouncerShowing() && !mStatusBarStateController.isDozing()) { - intercept = mDragDownHelper.onInterceptTouchEvent(ev); + return mDragDownHelper.onInterceptTouchEvent(ev); + } else { + return false; } - - return intercept; - } @Override @@ -381,13 +383,20 @@ public class NotificationShadeWindowViewController { return true; } - if ((mDragDownHelper.isDragDownEnabled() && !handled) + if (handled) { + return true; + } + + if (mMultiShadeMotionEventInteractor != null) { + // This interactor is not null only if the dual shade feature is enabled. + return mMultiShadeMotionEventInteractor.onTouchEvent(ev, mView.getWidth()); + } else if (mDragDownHelper.isDragDownEnabled() || mDragDownHelper.isDraggingDown()) { // we still want to finish our drag down gesture when locking the screen - handled = mDragDownHelper.onTouchEvent(ev); + return mDragDownHelper.onTouchEvent(ev); + } else { + return false; } - - return handled; } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java index 5ba8801e0f63..bfb6416ac78a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProvider.java @@ -94,7 +94,11 @@ public interface NotificationInterruptStateProvider { /** * No conditions blocking FSI launch. */ - FSI_EXPECTED_NOT_TO_HUN(true); + FSI_EXPECTED_NOT_TO_HUN(true), + /** + * The notification is coming from a suspended packages, so FSI is suppressed. + */ + NO_FSI_SUSPENDED(false); public final boolean shouldLaunch; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java index 6f4eed3c1612..4aaa7ca61d34 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImpl.java @@ -28,7 +28,6 @@ import android.database.ContentObserver; import android.hardware.display.AmbientDisplayConfiguration; import android.os.Handler; import android.os.PowerManager; -import android.os.SystemProperties; import android.provider.Settings; import android.service.notification.StatusBarNotification; @@ -274,6 +273,12 @@ public class NotificationInterruptStateProviderImpl implements NotificationInter suppressedByDND); } + // Notification is coming from a suspended package, block FSI + if (entry.getRanking().isSuspended()) { + return getDecisionGivenSuppression(FullScreenIntentDecision.NO_FSI_SUSPENDED, + suppressedByDND); + } + // If the screen is off, then launch the FullScreenIntent if (!mPowerManager.isInteractive()) { return getDecisionGivenSuppression(FullScreenIntentDecision.FSI_DEVICE_NOT_INTERACTIVE, diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java index 55fa47951fe1..7f8c1351aa7a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfaces.java @@ -217,8 +217,6 @@ public interface CentralSurfaces extends Dumpable, ActivityStarter, LifecycleOwn NotificationPanelViewController getNotificationPanelViewController(); - ViewGroup getBouncerContainer(); - /** Get the Keyguard Message Area that displays auth messages. */ AuthKeyguardMessageArea getKeyguardMessageArea(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java index 5e3c1c59666d..2f404873dc7a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java @@ -1722,11 +1722,6 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces { } @Override - public ViewGroup getBouncerContainer() { - return mNotificationShadeWindowViewController.getBouncerContainer(); - } - - @Override public AuthKeyguardMessageArea getKeyguardMessageArea() { return mNotificationShadeWindowViewController.getKeyguardMessageArea(); } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpTouchHelper.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpTouchHelper.java index 90d0b697337a..16c2e36af6b8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpTouchHelper.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpTouchHelper.java @@ -21,7 +21,6 @@ import android.view.MotionEvent; import android.view.ViewConfiguration; import com.android.systemui.Gefingerpoken; -import com.android.systemui.shade.NotificationPanelViewController; import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableView; @@ -31,21 +30,21 @@ import com.android.systemui.statusbar.notification.row.ExpandableView; */ public class HeadsUpTouchHelper implements Gefingerpoken { - private HeadsUpManagerPhone mHeadsUpManager; - private Callback mCallback; + private final HeadsUpManagerPhone mHeadsUpManager; + private final Callback mCallback; private int mTrackingPointer; - private float mTouchSlop; + private final float mTouchSlop; private float mInitialTouchX; private float mInitialTouchY; private boolean mTouchingHeadsUpView; private boolean mTrackingHeadsUp; private boolean mCollapseSnoozes; - private NotificationPanelViewController mPanel; + private final HeadsUpNotificationViewController mPanel; private ExpandableNotificationRow mPickedChild; public HeadsUpTouchHelper(HeadsUpManagerPhone headsUpManager, Callback callback, - NotificationPanelViewController notificationPanelView) { + HeadsUpNotificationViewController notificationPanelView) { mHeadsUpManager = headsUpManager; mCallback = callback; mPanel = notificationPanelView; @@ -116,7 +115,7 @@ public class HeadsUpTouchHelper implements Gefingerpoken { int startHeight = (int) (mPickedChild.getActualHeight() + mPickedChild.getTranslationY()); mPanel.setHeadsUpDraggingStartingHeight(startHeight); - mPanel.startExpandMotion(x, y, true /* startTracking */, startHeight); + mPanel.startExpand(x, y, true /* startTracking */, startHeight); // This call needs to be after the expansion start otherwise we will get a // flicker of one frame as it's not expanded yet. mHeadsUpManager.unpinAll(true); @@ -181,4 +180,19 @@ public class HeadsUpTouchHelper implements Gefingerpoken { boolean isExpanded(); Context getContext(); } + + /** The controller for a view that houses heads up notifications. */ + public interface HeadsUpNotificationViewController { + /** Called when a HUN is dragged to indicate the starting height for shade motion. */ + void setHeadsUpDraggingStartingHeight(int startHeight); + + /** Sets notification that is being expanded. */ + void setTrackedHeadsUp(ExpandableNotificationRow expandableNotificationRow); + + /** Called when a MotionEvent is about to trigger expansion. */ + void startExpand(float newX, float newY, boolean startTracking, float expandedHeight); + + /** Clear any effects that were added for the expansion. */ + void clearNotificationEffects(); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewController.kt index 9a5d1b5514f5..62d302f2a592 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewController.kt @@ -26,6 +26,8 @@ import android.view.ViewGroup import android.view.ViewTreeObserver import com.android.systemui.Gefingerpoken import com.android.systemui.R +import com.android.systemui.flags.FeatureFlags +import com.android.systemui.flags.Flags import com.android.systemui.shade.ShadeController import com.android.systemui.shade.ShadeLogger import com.android.systemui.shared.animation.UnfoldMoveFromCenterAnimator @@ -215,6 +217,7 @@ class PhoneStatusBarViewController private constructor( private val unfoldComponent: Optional<SysUIUnfoldComponent>, @Named(UNFOLD_STATUS_BAR) private val progressProvider: Optional<ScopedUnfoldTransitionProgressProvider>, + private val featureFlags: FeatureFlags, private val userChipViewModel: StatusBarUserChipViewModel, private val centralSurfaces: CentralSurfaces, private val shadeController: ShadeController, @@ -224,17 +227,25 @@ class PhoneStatusBarViewController private constructor( ) { fun create( view: PhoneStatusBarView - ) = - PhoneStatusBarViewController( - view, - progressProvider.getOrNull(), - centralSurfaces, - shadeController, - shadeLogger, - unfoldComponent.getOrNull()?.getStatusBarMoveFromCenterAnimationController(), - userChipViewModel, - viewUtil, - configurationController + ): PhoneStatusBarViewController { + val statusBarMoveFromCenterAnimationController = + if (featureFlags.isEnabled(Flags.ENABLE_UNFOLD_STATUS_BAR_ANIMATIONS)) { + unfoldComponent.getOrNull()?.getStatusBarMoveFromCenterAnimationController() + } else { + null + } + + return PhoneStatusBarViewController( + view, + progressProvider.getOrNull(), + centralSurfaces, + shadeController, + shadeLogger, + statusBarMoveFromCenterAnimationController, + userChipViewModel, + viewUtil, + configurationController ) + } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java index 04cc8ce792d1..30d2295206d8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java @@ -81,28 +81,22 @@ public interface StatusBarIconController { void refreshIconGroup(IconManager iconManager); /** - * Adds or updates an icon for a given slot for a **tile service icon**. + * Adds or updates an icon that comes from an active tile service. * - * TODO(b/265307726): Merge with {@link #setIcon(String, StatusBarIcon)} or make this method - * much more clearly distinct from that method. + * If the icon is null, the icon will be removed. */ - void setExternalIcon(String slot); + void setIconFromTile(String slot, @Nullable StatusBarIcon icon); + + /** Removes an icon that had come from an active tile service. */ + void removeIconForTile(String slot); /** * Adds or updates an icon for the given slot for **internal system icons**. * - * TODO(b/265307726): Rename to `setInternalIcon`, or merge this appropriately with the - * {@link #setIcon(String, StatusBarIcon)} method. + * TODO(b/265307726): Re-name this to `setInternalIcon`. */ void setIcon(String slot, int resourceId, CharSequence contentDescription); - /** - * Adds or updates an icon for the given slot for an **externally-provided icon**. - * - * TODO(b/265307726): Rename to `setExternalIcon` or something similar. - */ - void setIcon(String slot, StatusBarIcon icon); - /** */ void setWifiIcon(String slot, WifiIconState state); @@ -152,15 +146,10 @@ public interface StatusBarIconController { */ void removeIcon(String slot, int tag); - /** */ - void removeAllIconsForSlot(String slot); - /** - * Removes all the icons for the given slot. - * - * Only use this for icons that have come from **an external process**. + * TODO(b/265307726): Re-name this to `removeAllIconsForInternalSlot`. */ - void removeAllIconsForExternalSlot(String slot); + void removeAllIconsForSlot(String slot); // TODO: See if we can rename this tunable name. String ICON_HIDE_LIST = "icon_blacklist"; @@ -618,13 +607,6 @@ public interface StatusBarIconController { mGroup.removeAllViews(); } - protected void onIconExternal(int viewIndex, int height) { - ImageView imageView = (ImageView) mGroup.getChildAt(viewIndex); - imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); - imageView.setAdjustViewBounds(true); - setHeightAndCenter(imageView, height); - } - protected void onDensityOrFontScaleChanged() { for (int i = 0; i < mGroup.getChildCount(); i++) { View child = mGroup.getChildAt(i); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java index 0727c5af0dc7..3a184239ac43 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImpl.java @@ -32,7 +32,6 @@ import androidx.annotation.VisibleForTesting; import com.android.internal.statusbar.StatusBarIcon; import com.android.systemui.Dumpable; -import com.android.systemui.R; import com.android.systemui.dagger.SysUISingleton; import com.android.systemui.demomode.DemoMode; import com.android.systemui.demomode.DemoModeController; @@ -62,7 +61,7 @@ import javax.inject.Inject; */ @SysUISingleton public class StatusBarIconControllerImpl implements Tunable, - ConfigurationListener, Dumpable, CommandQueue.Callbacks, StatusBarIconController, DemoMode { + ConfigurationListener, Dumpable, StatusBarIconController, DemoMode { private static final String TAG = "StatusBarIconController"; // Use this suffix to prevent external icon slot names from unintentionally overriding our @@ -93,7 +92,7 @@ public class StatusBarIconControllerImpl implements Tunable, mStatusBarPipelineFlags = statusBarPipelineFlags; configurationController.addCallback(this); - commandQueue.addCallback(this); + commandQueue.addCallback(mCommandQueueCallbacks); tunerService.addTunable(this, ICON_HIDE_LIST); demoModeController.addCallback(this); dumpManager.registerDumpable(getClass().getSimpleName(), this); @@ -350,26 +349,35 @@ public class StatusBarIconControllerImpl implements Tunable, } } + private final CommandQueue.Callbacks mCommandQueueCallbacks = new CommandQueue.Callbacks() { + @Override + public void setIcon(String slot, StatusBarIcon icon) { + // Icons that come from CommandQueue are from external services. + setExternalIcon(slot, icon); + } + + @Override + public void removeIcon(String slot) { + removeAllIconsForExternalSlot(slot); + } + }; + @Override - public void setExternalIcon(String slot) { - String slotName = createExternalSlotName(slot); - int viewIndex = mStatusBarIconList.getViewIndex(slotName, 0); - int height = mContext.getResources().getDimensionPixelSize( - R.dimen.status_bar_icon_drawing_size); - mIconGroups.forEach(l -> l.onIconExternal(viewIndex, height)); + public void setIconFromTile(String slot, StatusBarIcon icon) { + setExternalIcon(slot, icon); } - // Override for *both* CommandQueue.Callbacks AND StatusBarIconController. - // TODO(b/265307726): Pull out the CommandQueue callbacks into a member variable to - // differentiate between those callback methods and StatusBarIconController methods. @Override - public void setIcon(String slot, StatusBarIcon icon) { - String slotName = createExternalSlotName(slot); + public void removeIconForTile(String slot) { + removeAllIconsForExternalSlot(slot); + } + + private void setExternalIcon(String slot, StatusBarIcon icon) { if (icon == null) { - removeAllIconsForSlot(slotName); + removeAllIconsForExternalSlot(slot); return; } - + String slotName = createExternalSlotName(slot); StatusBarIconHolder holder = StatusBarIconHolder.fromIcon(icon); setIcon(slotName, holder); } @@ -417,14 +425,6 @@ public class StatusBarIconControllerImpl implements Tunable, } } - // CommandQueue.Callbacks override - // TODO(b/265307726): Pull out the CommandQueue callbacks into a member variable to - // differentiate between those callback methods and StatusBarIconController methods. - @Override - public void removeIcon(String slot) { - removeAllIconsForExternalSlot(slot); - } - /** */ @Override public void removeIcon(String slot, int tag) { @@ -444,8 +444,7 @@ public class StatusBarIconControllerImpl implements Tunable, mIconGroups.forEach(l -> l.onRemoveIcon(viewIndex)); } - @Override - public void removeAllIconsForExternalSlot(String slotName) { + private void removeAllIconsForExternalSlot(String slotName) { removeAllIconsForSlot(createExternalSlotName(slotName)); } 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 06d0758c90eb..f06b5db84588 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java @@ -381,7 +381,6 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mCentralSurfaces = centralSurfaces; mBiometricUnlockController = biometricUnlockController; - ViewGroup container = mCentralSurfaces.getBouncerContainer(); mPrimaryBouncerCallbackInteractor.addBouncerExpansionCallback(mExpansionCallback); mNotificationPanelViewController = notificationPanelViewController; if (shadeExpansionStateManager != null) { diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java index ed978c39eb3d..24ddded8847a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragment.java @@ -453,9 +453,6 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue protected int adjustDisableFlags(int state) { boolean headsUpVisible = mStatusBarFragmentComponent.getHeadsUpAppearanceController().shouldBeVisible(); - if (headsUpVisible) { - state |= DISABLE_CLOCK; - } if (!mKeyguardStateController.isLaunchTransitionFadingAway() && !mKeyguardStateController.isKeyguardFadingAway() @@ -473,6 +470,13 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue state |= DISABLE_ONGOING_CALL_CHIP; } + if (headsUpVisible) { + // Disable everything on the left side of the status bar, since the app name for the + // heads up notification appears there instead. + state |= DISABLE_CLOCK; + state |= DISABLE_ONGOING_CALL_CHIP; + } + return state; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt index 4156fc152602..73bf188857c9 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/MobileInputLogger.kt @@ -179,6 +179,10 @@ constructor( fun logDefaultMobileIconGroup(group: SignalIcon.MobileIconGroup) { buffer.log(TAG, LogLevel.INFO, { str1 = group.name }, { "defaultMobileIconGroup: $str1" }) } + + fun logOnSubscriptionsChanged() { + buffer.log(TAG, LogLevel.INFO, {}, { "onSubscriptionsChanged" }) + } } private const val TAG = "MobileInputLog" diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt index f866d65e2d2d..d0c6215a55d8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryImpl.kt @@ -105,10 +105,14 @@ class MobileConnectionRepositoryImpl( * The reason we need to do this is because TelephonyManager limits the number of registered * listeners per-process, so we don't want to create a new listener for every callback. * - * A note on the design for back pressure here: We use the [coalesce] operator here to change - * the backpressure strategy to store exactly the last callback event of _each type_ here, as - * opposed to the default strategy which is to drop the oldest event (regardless of type). This - * means that we should never miss any single event as long as the flow has been started. + * A note on the design for back pressure here: We don't control _which_ telephony callback + * comes in first, since we register every relevant bit of information as a batch. E.g., if a + * downstream starts collecting on a field which is backed by + * [TelephonyCallback.ServiceStateListener], it's not possible for us to guarantee that _that_ + * callback comes in -- the first callback could very well be + * [TelephonyCallback.DataActivityListener], which would promptly be dropped if we didn't keep + * it tracked. We use the [scan] operator here to track the most recent callback of _each type_ + * here. See [TelephonyCallbackState] to see how the callbacks are stored. */ private val callbackEvents: StateFlow<TelephonyCallbackState> = run { val initial = TelephonyCallbackState() diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt index b7da3f27c70a..991b7868439a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionsRepositoryImpl.kt @@ -129,6 +129,7 @@ constructor( val callback = object : SubscriptionManager.OnSubscriptionsChangedListener() { override fun onSubscriptionsChanged() { + logger.logOnSubscriptionsChanged() trySend(Unit) } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateControllerImpl.java index 805368cc1f0a..f1269f2b012a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardStateControllerImpl.java @@ -398,6 +398,7 @@ public class KeyguardStateControllerImpl implements KeyguardStateController, Dum pw.println(" mFaceAuthEnabled: " + mFaceAuthEnabled); pw.println(" isKeyguardFadingAway: " + isKeyguardFadingAway()); pw.println(" isKeyguardGoingAway: " + isKeyguardGoingAway()); + pw.println(" isLaunchTransitionFadingAway: " + isLaunchTransitionFadingAway()); } private class UpdateMonitorCallback extends KeyguardUpdateMonitorCallback { diff --git a/packages/SystemUI/src/com/android/systemui/stylus/StylusManager.kt b/packages/SystemUI/src/com/android/systemui/stylus/StylusManager.kt index 9952cfd4e85b..3805019d597f 100644 --- a/packages/SystemUI/src/com/android/systemui/stylus/StylusManager.kt +++ b/packages/SystemUI/src/com/android/systemui/stylus/StylusManager.kt @@ -261,22 +261,26 @@ constructor( private fun trackAndLogUsiSession(deviceId: Int, batteryStateValid: Boolean) { // TODO(b/268618918) handle cases where an invalid battery callback from a previous stylus // is sent after the actual valid callback + val hasBtConnection = if (inputDeviceBtSessionIdMap.isEmpty()) 0 else 1 + if (batteryStateValid && usiSessionId == null) { logDebug { "USI battery newly present, entering new USI session: $deviceId" } usiSessionId = instanceIdSequence.newInstanceId() - uiEventLogger.logWithInstanceId( + uiEventLogger.logWithInstanceIdAndPosition( StylusUiEvent.USI_STYLUS_BATTERY_PRESENCE_FIRST_DETECTED, 0, null, - usiSessionId + usiSessionId, + hasBtConnection, ) } else if (!batteryStateValid && usiSessionId != null) { logDebug { "USI battery newly absent, exiting USI session: $deviceId" } - uiEventLogger.logWithInstanceId( + uiEventLogger.logWithInstanceIdAndPosition( StylusUiEvent.USI_STYLUS_BATTERY_PRESENCE_REMOVED, 0, null, - usiSessionId + usiSessionId, + hasBtConnection, ) usiSessionId = null } diff --git a/packages/SystemUI/src/com/android/systemui/temporarydisplay/chipbar/ChipbarInfo.kt b/packages/SystemUI/src/com/android/systemui/temporarydisplay/chipbar/ChipbarInfo.kt index 125cc761d400..6e58f2296c86 100644 --- a/packages/SystemUI/src/com/android/systemui/temporarydisplay/chipbar/ChipbarInfo.kt +++ b/packages/SystemUI/src/com/android/systemui/temporarydisplay/chipbar/ChipbarInfo.kt @@ -18,7 +18,8 @@ package com.android.systemui.temporarydisplay.chipbar import android.os.VibrationEffect import android.view.View -import androidx.annotation.AttrRes +import androidx.annotation.ColorRes +import com.android.systemui.R import com.android.systemui.common.shared.model.Text import com.android.systemui.common.shared.model.TintedIcon import com.android.systemui.temporarydisplay.TemporaryViewInfo @@ -48,7 +49,7 @@ data class ChipbarInfo( override val priority: ViewPriority, ) : TemporaryViewInfo() { companion object { - @AttrRes const val DEFAULT_ICON_TINT_ATTR = android.R.attr.textColorPrimary + @ColorRes val DEFAULT_ICON_TINT = R.color.chipbar_text_and_icon_color } } diff --git a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt index 6ef828fbdfdb..9d8c4a5cf8b0 100644 --- a/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt +++ b/packages/SystemUI/src/com/android/systemui/unfold/UnfoldLightRevealOverlayAnimation.kt @@ -87,6 +87,7 @@ constructor( private var isFolded: Boolean = false private var isUnfoldHandled: Boolean = true private var overlayAddReason: AddOverlayReason? = null + private var isTouchBlocked: Boolean = true private var currentRotation: Int = context.display!!.rotation @@ -254,7 +255,15 @@ constructor( params.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS params.fitInsetsTypes = 0 - params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE + + val touchFlags = + if (isTouchBlocked) { + // Touchable by default, so it will block the touches + 0 + } else { + WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE + } + params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE or touchFlags params.setTrustedOverlay() val packageName: String = context.opPackageName @@ -263,6 +272,24 @@ constructor( return params } + private fun updateTouchBlockIfNeeded(progress: Float) { + // When unfolding unblock touches a bit earlier than the animation end as the + // interpolation has a long tail of very slight movement at the end which should not + // affect much the usage of the device + val shouldBlockTouches = + if (overlayAddReason == UNFOLD) { + progress < UNFOLD_BLOCK_TOUCHES_UNTIL_PROGRESS + } else { + true + } + + if (isTouchBlocked != shouldBlockTouches) { + isTouchBlocked = shouldBlockTouches + + traceSection("$TAG#relayoutToUpdateTouch") { root?.relayout(getLayoutParams()) } + } + } + private fun createLightRevealEffect(): LightRevealEffect { val isVerticalFold = currentRotation == Surface.ROTATION_0 || currentRotation == Surface.ROTATION_180 @@ -289,7 +316,10 @@ constructor( private inner class TransitionListener : TransitionProgressListener { override fun onTransitionProgress(progress: Float) { - executeInBackground { scrimView?.revealAmount = calculateRevealAmount(progress) } + executeInBackground { + scrimView?.revealAmount = calculateRevealAmount(progress) + updateTouchBlockIfNeeded(progress) + } } override fun onTransitionFinished() { @@ -361,5 +391,7 @@ constructor( // constants for revealAmount. const val TRANSPARENT = 1f const val BLACK = 0f + + private const val UNFOLD_BLOCK_TOUCHES_UNTIL_PROGRESS = 0.8f } } diff --git a/packages/SystemUI/src/com/android/systemui/util/sensors/PostureDependentProximitySensor.java b/packages/SystemUI/src/com/android/systemui/util/sensors/PostureDependentProximitySensor.java index 460b7d9f2de9..a5828c7704c3 100644 --- a/packages/SystemUI/src/com/android/systemui/util/sensors/PostureDependentProximitySensor.java +++ b/packages/SystemUI/src/com/android/systemui/util/sensors/PostureDependentProximitySensor.java @@ -23,6 +23,8 @@ import com.android.systemui.statusbar.policy.DevicePostureController; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.Execution; +import java.util.HashSet; + import javax.inject.Inject; /** @@ -37,6 +39,7 @@ class PostureDependentProximitySensor extends ProximitySensorImpl { private final ThresholdSensor[] mPostureToPrimaryProxSensorMap; private final ThresholdSensor[] mPostureToSecondaryProxSensorMap; + private final HashSet<Listener> mListenersRegisteredWhenProxUnavailable = new HashSet<>(); private final DevicePostureController mDevicePostureController; @Inject @@ -69,6 +72,25 @@ class PostureDependentProximitySensor extends ProximitySensorImpl { mDevicePostureController.removeCallback(mDevicePostureCallback); } + @Override + public void register(ThresholdSensor.Listener listener) { + if (!isLoaded()) { + logDebug("No prox sensor when registering listener=" + listener); + mListenersRegisteredWhenProxUnavailable.add(listener); + } + + super.register(listener); + } + + @Override + public void unregister(ThresholdSensor.Listener listener) { + if (mListenersRegisteredWhenProxUnavailable.remove(listener)) { + logDebug("Removing listener from mListenersRegisteredWhenProxUnavailable " + + listener); + } + super.unregister(listener); + } + private void chooseSensors() { if (mDevicePosture >= mPostureToPrimaryProxSensorMap.length || mDevicePosture >= mPostureToSecondaryProxSensorMap.length) { @@ -98,6 +120,14 @@ class PostureDependentProximitySensor extends ProximitySensorImpl { mInitializedListeners = false; registerInternal(); + + final Listener[] listenersToReregister = + mListenersRegisteredWhenProxUnavailable.toArray(new Listener[0]); + mListenersRegisteredWhenProxUnavailable.clear(); + for (Listener listener : listenersToReregister) { + logDebug("Re-register listener " + listener); + register(listener); + } } } diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java index a5f90f8441b2..b15ac39dc57d 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchControllerTest.java @@ -17,6 +17,7 @@ package com.android.keyguard; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.ArgumentMatchers.eq; @@ -365,6 +366,12 @@ public class KeyguardClockSwitchControllerTest extends SysuiTestCase { assertEquals(View.VISIBLE, mFakeWeatherView.getVisibility()); } + @Test + public void testGetClockAnimations_nullClock_returnsNull() { + when(mClockEventController.getClock()).thenReturn(null); + assertNull(mController.getClockAnimations()); + } + private void verifyAttachment(VerificationMode times) { verify(mClockRegistry, times).registerClockChangeListener( any(ClockRegistry.ClockChangeListener.class)); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java index f966eb33fc14..b73330fb09c8 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardSecurityContainerControllerTest.java @@ -196,6 +196,7 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { .thenReturn(mKeyguardMessageAreaController); when(mKeyguardPasswordView.getWindowInsetsController()).thenReturn(mWindowInsetsController); when(mKeyguardSecurityModel.getSecurityMode(anyInt())).thenReturn(SecurityMode.PIN); + when(mKeyguardStateController.canDismissLockScreen()).thenReturn(true); mKeyguardPasswordViewController = new KeyguardPasswordViewController( (KeyguardPasswordView) mKeyguardPasswordView, mKeyguardUpdateMonitor, SecurityMode.Password, mLockPatternUtils, null, @@ -554,6 +555,22 @@ public class KeyguardSecurityContainerControllerTest extends SysuiTestCase { } @Test + public void testSecurityCallbackFinish() { + when(mKeyguardStateController.canDismissLockScreen()).thenReturn(true); + when(mKeyguardUpdateMonitor.isUserUnlocked(0)).thenReturn(true); + mKeyguardSecurityContainerController.finish(true, 0); + verify(mViewMediatorCallback).keyguardDone(anyBoolean(), anyInt()); + } + + @Test + public void testSecurityCallbackFinish_cannotDismissLockScreenAndNotStrongAuth() { + when(mFeatureFlags.isEnabled(Flags.PREVENT_BYPASS_KEYGUARD)).thenReturn(true); + when(mKeyguardStateController.canDismissLockScreen()).thenReturn(false); + mKeyguardSecurityContainerController.finish(false, 0); + verify(mViewMediatorCallback, never()).keyguardDone(anyBoolean(), anyInt()); + } + + @Test public void testOnStartingToHide() { mKeyguardSecurityContainerController.onStartingToHide(); verify(mInputViewController).onStartingToHide(); diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java index 86ba30cee7a3..fb21db796c3b 100644 --- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java +++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardUpdateMonitorTest.java @@ -2256,6 +2256,26 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } @Test + public void assistantVisible_requestActiveUnlock() { + // GIVEN active unlock requests from the assistant are allowed + when(mActiveUnlockConfig.shouldAllowActiveUnlockFromOrigin( + ActiveUnlockConfig.ActiveUnlockRequestOrigin.ASSISTANT)).thenReturn(true); + + // GIVEN should trigger active unlock + keyguardIsVisible(); + keyguardNotGoingAway(); + statusBarShadeIsNotLocked(); + when(mLockPatternUtils.isSecure(KeyguardUpdateMonitor.getCurrentUser())).thenReturn(true); + + // WHEN the assistant is visible + mKeyguardUpdateMonitor.setAssistantVisible(true); + + // THEN request unlock with keyguard dismissal + verify(mTrustManager).reportUserRequestedUnlock(eq(KeyguardUpdateMonitor.getCurrentUser()), + eq(true)); + } + + @Test public void fingerprintFailure_requestActiveUnlock_dismissKeyguard() throws RemoteException { // GIVEN shouldTriggerActiveUnlock @@ -2489,6 +2509,57 @@ public class KeyguardUpdateMonitorTest extends SysuiTestCase { } @Test + public void unfoldFromPostureChange_requestActiveUnlock_forceDismissKeyguard() + throws RemoteException { + // GIVEN shouldTriggerActiveUnlock + keyguardIsVisible(); + when(mLockPatternUtils.isSecure(KeyguardUpdateMonitor.getCurrentUser())).thenReturn(true); + + // GIVEN active unlock triggers on wakeup + when(mActiveUnlockConfig.shouldAllowActiveUnlockFromOrigin( + ActiveUnlockConfig.ActiveUnlockRequestOrigin.WAKE)) + .thenReturn(true); + + // GIVEN an unfold should force dismiss the keyguard + when(mActiveUnlockConfig.shouldWakeupForceDismissKeyguard( + PowerManager.WAKE_REASON_UNFOLD_DEVICE)).thenReturn(true); + + // WHEN device posture changes to unfold + deviceInPostureStateOpened(); + mTestableLooper.processAllMessages(); + + // THEN request unlock with a keyguard dismissal + verify(mTrustManager).reportUserRequestedUnlock(eq(KeyguardUpdateMonitor.getCurrentUser()), + eq(true)); + } + + + @Test + public void unfoldFromPostureChange_requestActiveUnlock_noDismissKeyguard() + throws RemoteException { + // GIVEN shouldTriggerActiveUnlock on wake from UNFOLD_DEVICE + keyguardIsVisible(); + when(mLockPatternUtils.isSecure(KeyguardUpdateMonitor.getCurrentUser())).thenReturn(true); + + // GIVEN active unlock triggers on wakeup + when(mActiveUnlockConfig.shouldAllowActiveUnlockFromOrigin( + ActiveUnlockConfig.ActiveUnlockRequestOrigin.WAKE)) + .thenReturn(true); + + // GIVEN an unfold should NOT force dismiss the keyguard + when(mActiveUnlockConfig.shouldWakeupForceDismissKeyguard( + PowerManager.WAKE_REASON_UNFOLD_DEVICE)).thenReturn(false); + + // WHEN device posture changes to unfold + deviceInPostureStateOpened(); + mTestableLooper.processAllMessages(); + + // THEN request unlock WITHOUT a keyguard dismissal + verify(mTrustManager).reportUserRequestedUnlock(eq(KeyguardUpdateMonitor.getCurrentUser()), + eq(false)); + } + + @Test public void detectFingerprint_onTemporaryLockoutReset_authenticateFingerprint() { ArgumentCaptor<FingerprintManager.LockoutResetCallback> fpLockoutResetCallbackCaptor = ArgumentCaptor.forClass(FingerprintManager.LockoutResetCallback.class); diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintViewTest.kt index 05748382534f..bce98cf116d4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/AuthBiometricFingerprintViewTest.kt @@ -15,49 +15,27 @@ */ package com.android.systemui.biometrics -import android.content.Context import android.hardware.biometrics.BiometricAuthenticator -import android.hardware.biometrics.SensorLocationInternal -import android.hardware.biometrics.SensorProperties -import android.hardware.display.DisplayManagerGlobal -import android.hardware.fingerprint.FingerprintManager -import android.hardware.fingerprint.FingerprintSensorProperties -import android.hardware.fingerprint.FingerprintSensorPropertiesInternal import android.os.Bundle import android.testing.AndroidTestingRunner import android.testing.TestableLooper import android.testing.TestableLooper.RunWithLooper -import android.view.Display -import android.view.DisplayAdjustments -import android.view.DisplayInfo -import android.view.Surface import android.view.View -import android.view.ViewGroup import androidx.test.filters.SmallTest -import com.airbnb.lottie.LottieAnimationView import com.android.systemui.R -import com.android.systemui.biometrics.AuthBiometricView.STATE_AUTHENTICATING_ANIMATING_IN import com.android.systemui.SysuiTestCase -import com.android.systemui.SysuiTestableContext import com.google.common.truth.Truth.assertThat import org.junit.After import org.junit.Before import org.junit.Rule import org.junit.Test import org.junit.runner.RunWith -import org.mockito.ArgumentCaptor import org.mockito.ArgumentMatchers import org.mockito.ArgumentMatchers.eq import org.mockito.Mock -import org.mockito.Mockito.mock import org.mockito.Mockito.never -import org.mockito.Mockito.times import org.mockito.Mockito.verify import org.mockito.junit.MockitoJUnit -import org.mockito.Mockito.`when` as whenEver - -private const val DISPLAY_ID = 2 -private const val SENSOR_ID = 1 @RunWith(AndroidTestingRunner::class) @RunWithLooper(setAsMainLooper = true) @@ -72,22 +50,9 @@ class AuthBiometricFingerprintViewTest : SysuiTestCase() { private lateinit var callback: AuthBiometricView.Callback @Mock - private lateinit var fingerprintManager: FingerprintManager - - @Mock - private lateinit var iconView: LottieAnimationView - - @Mock - private lateinit var iconViewOverlay: LottieAnimationView - - @Mock - private lateinit var iconLayoutParamSize: Pair<Int, Int> - - @Mock private lateinit var panelController: AuthPanelController private lateinit var biometricView: AuthBiometricView - private lateinit var iconController: AuthBiometricFingerprintIconController private fun createView(allowDeviceCredential: Boolean = false): AuthBiometricFingerprintView { val view: AuthBiometricFingerprintView = @@ -312,186 +277,5 @@ class AuthBiometricFingerprintViewTest : SysuiTestCase() { verify(callback).onAction(AuthBiometricView.Callback.ACTION_USE_DEVICE_CREDENTIAL) } - private fun testWithSfpsDisplay( - isReverseDefaultRotation: Boolean = false, - inRearDisplayMode: Boolean = false, - isFolded: Boolean = false, - initInfo: DisplayInfo.() -> Unit = {}, - block: () -> Unit - ) { - val displayInfo = DisplayInfo() - displayInfo.initInfo() - - val dmGlobal = mock(DisplayManagerGlobal::class.java) - val display = Display(dmGlobal, DISPLAY_ID, displayInfo, - DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS) - - whenEver(dmGlobal.getDisplayInfo(eq(DISPLAY_ID))).thenReturn(displayInfo) - - val iconControllerContext = context.createDisplayContext(display) as SysuiTestableContext - iconControllerContext.orCreateTestableResources.addOverride( - com.android.internal.R.bool.config_reverseDefaultRotation, - isReverseDefaultRotation - ) - - val rearDisplayDeviceStates = if (inRearDisplayMode) intArrayOf(3) else intArrayOf() - iconControllerContext.orCreateTestableResources.addOverride( - com.android.internal.R.array.config_rearDisplayDeviceStates, - rearDisplayDeviceStates - ) - - val layoutParams = mock(ViewGroup.LayoutParams::class.java) - whenEver(iconView.layoutParams).thenReturn(layoutParams) - whenEver(iconViewOverlay.layoutParams).thenReturn(layoutParams) - - var locations = listOf(SensorLocationInternal("", 2500, 0, 0)) - whenEver(fingerprintManager.sensorPropertiesInternal) - .thenReturn( - listOf( - FingerprintSensorPropertiesInternal( - SENSOR_ID, - SensorProperties.STRENGTH_STRONG, - 5 /* maxEnrollmentsPerUser */, - listOf() /* componentInfo */, - FingerprintSensorProperties.TYPE_POWER_BUTTON, - true /* halControlsIllumination */, - true /* resetLockoutRequiresHardwareAuthToken */, - locations - ) - ) - ) - iconControllerContext.addMockSystemService(Context.FINGERPRINT_SERVICE, fingerprintManager) - - iconController = AuthBiometricFingerprintIconController( - iconControllerContext, - iconView, - iconViewOverlay - ) - iconController.onFoldUpdated(isFolded) - - biometricView.mIconController = iconController - block() - } - - @Test - fun sfpsRearDisplay_showsCorrectAnimationAssetsAcrossRotations() { - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = true, - isFolded = false, - { rotation = Surface.ROTATION_0 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = true, - isFolded = false, - { rotation = Surface.ROTATION_90 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = true, - isFolded = false, - { rotation = Surface.ROTATION_180 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = true, - isFolded = false, - { rotation = Surface.ROTATION_270 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - val expectedLottieAssetOrder: List<Int> = listOf( - R.raw.biometricprompt_rear_landscape_base, - R.raw.biometricprompt_rear_portrait_reverse_base, - R.raw.biometricprompt_rear_landscape_base, - R.raw.biometricprompt_rear_portrait_base, - ) - - val lottieAssetCaptor: ArgumentCaptor<Int> = ArgumentCaptor.forClass(Int::class.java) - verify(iconView, times(4)).setAnimation(lottieAssetCaptor.capture()) - val observedLottieAssetOrder: List<Int> = lottieAssetCaptor.getAllValues() - assertThat(observedLottieAssetOrder).containsExactlyElementsIn(expectedLottieAssetOrder) - .inOrder() - } - - @Test - fun sfpsDefaultDisplayFolded_showsAnimationsAssetsCorrectlyAcrossRotations() { - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = true, - { rotation = Surface.ROTATION_0 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = true, - { rotation = Surface.ROTATION_90 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN); } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = true, - { rotation = Surface.ROTATION_180 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN); } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = true, - { rotation = Surface.ROTATION_270 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN); } - val expectedLottieAssetOrder: List<Int> = listOf( - R.raw.biometricprompt_folded_base_default, - R.raw.biometricprompt_folded_base_topleft, - R.raw.biometricprompt_folded_base_default, - R.raw.biometricprompt_folded_base_bottomright, - ) - - val lottieAssetCaptor: ArgumentCaptor<Int> = ArgumentCaptor.forClass(Int::class.java) - verify(iconView, times(4)).setAnimation(lottieAssetCaptor.capture()) - val observedLottieAssetOrder: List<Int> = lottieAssetCaptor.getAllValues() - assertThat(observedLottieAssetOrder).containsExactlyElementsIn(expectedLottieAssetOrder) - .inOrder() - } - - @Test - fun sfpsDefaultDisplayUnfolded_showsAnimationsAssetsCorrectlyAcrossRotations() { - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = false, - { rotation = Surface.ROTATION_0 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = false, - { rotation = Surface.ROTATION_90 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = false, - { rotation = Surface.ROTATION_180 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - testWithSfpsDisplay( - isReverseDefaultRotation = false, - inRearDisplayMode = false, - isFolded = false, - { rotation = Surface.ROTATION_270 } - ) { biometricView.updateState(STATE_AUTHENTICATING_ANIMATING_IN) } - val expectedLottieAssetOrder: List<Int> = listOf( - R.raw.biometricprompt_landscape_base, - R.raw.biometricprompt_portrait_base_topleft, - R.raw.biometricprompt_landscape_base, - R.raw.biometricprompt_portrait_base_bottomright, - ) - - val lottieAssetCaptor: ArgumentCaptor<Int> = ArgumentCaptor.forClass(Int::class.java) - verify(iconView, times(4)).setAnimation(lottieAssetCaptor.capture()) - val observedLottieAssetOrder: List<Int> = lottieAssetCaptor.getAllValues() - assertThat(observedLottieAssetOrder).containsExactlyElementsIn(expectedLottieAssetOrder) - .inOrder() - } - override fun waitForIdleSync() = TestableLooper.get(this).processAllMessages() } diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt index 3ec49b263c54..0ab675cd6873 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/SideFpsControllerTest.kt @@ -62,6 +62,7 @@ import com.android.systemui.keyguard.data.repository.FakeBiometricSettingsReposi import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintAuthRepository import com.android.systemui.keyguard.data.repository.FakeKeyguardBouncerRepository import com.android.systemui.keyguard.domain.interactor.AlternateBouncerInteractor +import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.recents.OverviewProxyService import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.concurrency.FakeExecutor @@ -98,7 +99,6 @@ class SideFpsControllerTest : SysuiTestCase() { @JvmField @Rule var rule = MockitoJUnit.rule() - @Mock lateinit var keyguardStateController: KeyguardStateController @Mock lateinit var layoutInflater: LayoutInflater @Mock lateinit var fingerprintManager: FingerprintManager @Mock lateinit var windowManager: WindowManager @@ -138,7 +138,8 @@ class SideFpsControllerTest : SysuiTestCase() { keyguardBouncerRepository = FakeKeyguardBouncerRepository() alternateBouncerInteractor = AlternateBouncerInteractor( - keyguardStateController, + mock(StatusBarStateController::class.java), + mock(KeyguardStateController::class.java), keyguardBouncerRepository, FakeBiometricSettingsRepository(), FakeDeviceEntryFingerprintAuthRepository(), @@ -172,7 +173,6 @@ class SideFpsControllerTest : SysuiTestCase() { isReverseDefaultRotation: Boolean = false, initInfo: DisplayInfo.() -> Unit = {}, windowInsets: WindowInsets = insetsForSmallNavbar(), - inRearDisplayMode: Boolean = false, block: () -> Unit ) { this.deviceConfig = deviceConfig @@ -233,12 +233,6 @@ class SideFpsControllerTest : SysuiTestCase() { isReverseDefaultRotation ) - val rearDisplayDeviceStates = if (inRearDisplayMode) intArrayOf(3) else intArrayOf() - sideFpsControllerContext.orCreateTestableResources.addOverride( - com.android.internal.R.array.config_rearDisplayDeviceStates, - rearDisplayDeviceStates - ) - sideFpsController = SideFpsController( sideFpsControllerContext, @@ -596,62 +590,10 @@ class SideFpsControllerTest : SysuiTestCase() { verifySfpsIndicatorVisibilityOnTaskbarUpdate(sfpsViewVisible = true) } - @Test - fun verifiesSfpsIndicatorNotAddedInRearDisplayMode_0() = - testWithDisplay( - deviceConfig = DeviceConfig.Y_ALIGNED, - isReverseDefaultRotation = false, - { rotation = Surface.ROTATION_0 }, - inRearDisplayMode = true, - ) { - verifySfpsIndicator_notAdded_InRearDisplayMode() - } - - @Test - fun verifiesSfpsIndicatorNotAddedInRearDisplayMode_90() = - testWithDisplay( - deviceConfig = DeviceConfig.Y_ALIGNED, - isReverseDefaultRotation = false, - { rotation = Surface.ROTATION_90 }, - inRearDisplayMode = true, - ) { - verifySfpsIndicator_notAdded_InRearDisplayMode() - } - - @Test - fun verifiesSfpsIndicatorNotAddedInRearDisplayMode_180() = - testWithDisplay( - deviceConfig = DeviceConfig.Y_ALIGNED, - isReverseDefaultRotation = false, - { rotation = Surface.ROTATION_180 }, - inRearDisplayMode = true, - ) { - verifySfpsIndicator_notAdded_InRearDisplayMode() - } - - @Test - fun verifiesSfpsIndicatorNotAddedInRearDisplayMode_270() = - testWithDisplay( - deviceConfig = DeviceConfig.Y_ALIGNED, - isReverseDefaultRotation = false, - { rotation = Surface.ROTATION_270 }, - inRearDisplayMode = true, - ) { - verifySfpsIndicator_notAdded_InRearDisplayMode() - } - private fun verifySfpsIndicatorVisibilityOnTaskbarUpdate(sfpsViewVisible: Boolean) { sideFpsController.overlayOffsets = sensorLocation } - private fun verifySfpsIndicator_notAdded_InRearDisplayMode() { - sideFpsController.overlayOffsets = sensorLocation - overlayController.show(SENSOR_ID, REASON_UNKNOWN) - executor.runAllReady() - - verify(windowManager, never()).addView(any(), any()) - } - fun alternateBouncerVisibility_showAndHideSideFpsUI() = testWithDisplay { // WHEN alternate bouncer is visible keyguardBouncerRepository.setAlternateVisible(true) @@ -688,7 +630,7 @@ class SideFpsControllerTest : SysuiTestCase() { * in other rotations have been omitted. */ @Test - fun verifiesIndicatorPlacementForXAlignedSensor_0() = + fun verifiesIndicatorPlacementForXAlignedSensor_0() { testWithDisplay( deviceConfig = DeviceConfig.X_ALIGNED, isReverseDefaultRotation = false, @@ -705,6 +647,7 @@ class SideFpsControllerTest : SysuiTestCase() { assertThat(overlayViewParamsCaptor.value.x).isEqualTo(sensorLocation.sensorLocationX) assertThat(overlayViewParamsCaptor.value.y).isEqualTo(0) } + } /** * {@link SideFpsController#updateOverlayParams} calculates indicator placement for ROTATION_270 @@ -713,7 +656,7 @@ class SideFpsControllerTest : SysuiTestCase() { * correctly, tests for indicator placement in other rotations have been omitted. */ @Test - fun verifiesIndicatorPlacementForXAlignedSensor_InReverseDefaultRotation_270() = + fun verifiesIndicatorPlacementForXAlignedSensor_InReverseDefaultRotation_270() { testWithDisplay( deviceConfig = DeviceConfig.X_ALIGNED, isReverseDefaultRotation = true, @@ -730,6 +673,7 @@ class SideFpsControllerTest : SysuiTestCase() { assertThat(overlayViewParamsCaptor.value.x).isEqualTo(sensorLocation.sensorLocationX) assertThat(overlayViewParamsCaptor.value.y).isEqualTo(0) } + } /** * {@link SideFpsController#updateOverlayParams} calculates indicator placement for ROTATION_0, diff --git a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt index 786cb01621bb..cefa9b129262 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/biometrics/UdfpsKeyguardViewControllerWithCoroutinesTest.kt @@ -35,6 +35,7 @@ import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerCallbackInt import com.android.systemui.keyguard.domain.interactor.PrimaryBouncerInteractor import com.android.systemui.keyguard.shared.constants.KeyguardBouncerConstants import com.android.systemui.log.table.TableLogBuffer +import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.statusbar.StatusBarState import com.android.systemui.statusbar.phone.KeyguardBypassController import com.android.systemui.statusbar.policy.KeyguardStateController @@ -93,6 +94,7 @@ class UdfpsKeyguardViewControllerWithCoroutinesTest : UdfpsKeyguardViewControlle ) mAlternateBouncerInteractor = AlternateBouncerInteractor( + mock(StatusBarStateController::class.java), mock(KeyguardStateController::class.java), keyguardBouncerRepository, mock(BiometricSettingsRepository::class.java), diff --git a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/ControlsUiControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/ControlsUiControllerImplTest.kt index 10757ae4ad99..5b3e51828681 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/controls/ui/ControlsUiControllerImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/controls/ui/ControlsUiControllerImplTest.kt @@ -201,6 +201,56 @@ class ControlsUiControllerImplTest : SysuiTestCase() { } @Test + fun testSingleAppHeaderIsNotClickable() { + mockLayoutInflater() + val packageName = "pkg" + `when`(authorizedPanelsRepository.getAuthorizedPanels()).thenReturn(setOf(packageName)) + val panel = SelectedItem.PanelItem("App name", ComponentName(packageName, "cls")) + val serviceInfo = setUpPanel(panel) + + underTest.show(parent, {}, context) + + val captor = argumentCaptor<ControlsListingController.ControlsListingCallback>() + + verify(controlsListingController).addCallback(capture(captor)) + + captor.value.onServicesUpdated(listOf(serviceInfo)) + FakeExecutor.exhaustExecutors(uiExecutor, bgExecutor) + + val header: View = parent.requireViewById(R.id.controls_header) + assertThat(header.isClickable).isFalse() + assertThat(header.hasOnClickListeners()).isFalse() + } + + @Test + fun testMultipleAppHeaderIsClickable() { + mockLayoutInflater() + val packageName1 = "pkg" + val panel1 = SelectedItem.PanelItem("App name 1", ComponentName(packageName1, "cls")) + val serviceInfo1 = setUpPanel(panel1) + + val packageName2 = "pkg" + val panel2 = SelectedItem.PanelItem("App name 2", ComponentName(packageName2, "cls")) + val serviceInfo2 = setUpPanel(panel2) + + `when`(authorizedPanelsRepository.getAuthorizedPanels()) + .thenReturn(setOf(packageName1, packageName2)) + + underTest.show(parent, {}, context) + + val captor = argumentCaptor<ControlsListingController.ControlsListingCallback>() + + verify(controlsListingController).addCallback(capture(captor)) + + captor.value.onServicesUpdated(listOf(serviceInfo1, serviceInfo2)) + FakeExecutor.exhaustExecutors(uiExecutor, bgExecutor) + + val header: View = parent.requireViewById(R.id.controls_header) + assertThat(header.isClickable).isTrue() + assertThat(header.hasOnClickListeners()).isTrue() + } + + @Test fun testPanelControllerStartActivityWithCorrectArguments() { mockLayoutInflater() val packageName = "pkg" diff --git a/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java b/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java index 19347c768524..58eb7d4f3ea7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/dreams/conditions/DreamConditionTest.java @@ -21,9 +21,11 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.clearInvocations; +import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; +import android.app.DreamManager; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; @@ -50,6 +52,9 @@ public class DreamConditionTest extends SysuiTestCase { @Mock Condition.Callback mCallback; + @Mock + DreamManager mDreamManager; + @Before public void setup() { MockitoAnnotations.initMocks(this); @@ -59,29 +64,39 @@ public class DreamConditionTest extends SysuiTestCase { * Ensure a dreaming state immediately triggers the condition. */ @Test - public void testInitialState() { - final Intent intent = new Intent(Intent.ACTION_DREAMING_STARTED); - when(mContext.registerReceiver(any(), any())).thenReturn(intent); - final DreamCondition condition = new DreamCondition(mContext); + public void testInitialDreamingState() { + when(mDreamManager.isDreaming()).thenReturn(true); + final DreamCondition condition = new DreamCondition(mContext, mDreamManager); condition.addCallback(mCallback); - condition.start(); verify(mCallback).onConditionChanged(eq(condition)); assertThat(condition.isConditionMet()).isTrue(); } /** + * Ensure a non-dreaming state does not trigger the condition. + */ + @Test + public void testInitialNonDreamingState() { + when(mDreamManager.isDreaming()).thenReturn(false); + final DreamCondition condition = new DreamCondition(mContext, mDreamManager); + condition.addCallback(mCallback); + + verify(mCallback, never()).onConditionChanged(eq(condition)); + assertThat(condition.isConditionMet()).isFalse(); + } + + /** * Ensure that changing dream state triggers condition. */ @Test public void testChange() { - final Intent intent = new Intent(Intent.ACTION_DREAMING_STARTED); final ArgumentCaptor<BroadcastReceiver> receiverCaptor = ArgumentCaptor.forClass(BroadcastReceiver.class); - when(mContext.registerReceiver(receiverCaptor.capture(), any())).thenReturn(intent); - final DreamCondition condition = new DreamCondition(mContext); + when(mDreamManager.isDreaming()).thenReturn(true); + final DreamCondition condition = new DreamCondition(mContext, mDreamManager); condition.addCallback(mCallback); - condition.start(); + verify(mContext).registerReceiver(receiverCaptor.capture(), any()); clearInvocations(mCallback); receiverCaptor.getValue().onReceive(mContext, new Intent(Intent.ACTION_DREAMING_STOPPED)); verify(mCallback).onConditionChanged(eq(condition)); diff --git a/packages/SystemUI/tests/src/com/android/systemui/flags/RestartDozeListenerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/flags/RestartDozeListenerTest.kt index de0e5113571f..2db4596c80a7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/flags/RestartDozeListenerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/flags/RestartDozeListenerTest.kt @@ -20,6 +20,7 @@ import android.os.PowerManager import android.test.suitebuilder.annotation.SmallTest import com.android.systemui.SysuiTestCase import com.android.systemui.plugins.statusbar.StatusBarStateController +import com.android.systemui.util.concurrency.FakeExecutor import com.android.systemui.util.settings.FakeSettings import com.android.systemui.util.time.FakeSystemClock import com.google.common.truth.Truth.assertThat @@ -41,13 +42,14 @@ class RestartDozeListenerTest : SysuiTestCase() { @Mock lateinit var statusBarStateController: StatusBarStateController @Mock lateinit var powerManager: PowerManager val clock = FakeSystemClock() + val executor = FakeExecutor(clock) lateinit var listener: StatusBarStateController.StateListener @Before fun setup() { MockitoAnnotations.initMocks(this) restartDozeListener = - RestartDozeListener(settings, statusBarStateController, powerManager, clock) + RestartDozeListener(settings, statusBarStateController, powerManager, clock, executor) val captor = ArgumentCaptor.forClass(StatusBarStateController.StateListener::class.java) restartDozeListener.init() @@ -58,12 +60,14 @@ class RestartDozeListenerTest : SysuiTestCase() { @Test fun testStoreDreamState_onDreamingStarted() { listener.onDreamingChanged(true) + executor.runAllReady() assertThat(settings.getBool(RestartDozeListener.RESTART_NAP_KEY)).isTrue() } @Test fun testStoreDreamState_onDreamingStopped() { listener.onDreamingChanged(false) + executor.runAllReady() assertThat(settings.getBool(RestartDozeListener.RESTART_NAP_KEY)).isFalse() } @@ -71,6 +75,8 @@ class RestartDozeListenerTest : SysuiTestCase() { fun testRestoreDreamState_dreamingShouldStart() { settings.putBool(RestartDozeListener.RESTART_NAP_KEY, true) restartDozeListener.maybeRestartSleep() + executor.advanceClockToLast() + executor.runAllReady() verify(powerManager).wakeUp(clock.uptimeMillis()) verify(powerManager).goToSleep(clock.uptimeMillis()) } @@ -79,6 +85,8 @@ class RestartDozeListenerTest : SysuiTestCase() { fun testRestoreDreamState_dreamingShouldNot() { settings.putBool(RestartDozeListener.RESTART_NAP_KEY, false) restartDozeListener.maybeRestartSleep() + executor.advanceClockToLast() + executor.runAllReady() verify(powerManager, never()).wakeUp(anyLong()) verify(powerManager, never()).goToSleep(anyLong()) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt index 1365132d6dac..86246f7af033 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/keyguard/domain/interactor/AlternateBouncerInteractorTest.kt @@ -28,6 +28,7 @@ import com.android.systemui.keyguard.data.repository.FakeDeviceEntryFingerprintA import com.android.systemui.keyguard.data.repository.KeyguardBouncerRepository import com.android.systemui.keyguard.data.repository.KeyguardBouncerRepositoryImpl import com.android.systemui.log.table.TableLogBuffer +import com.android.systemui.plugins.statusbar.StatusBarStateController import com.android.systemui.statusbar.policy.KeyguardStateController import com.android.systemui.util.mockito.whenever import com.android.systemui.util.time.FakeSystemClock @@ -39,8 +40,10 @@ import org.junit.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.ArgumentCaptor import org.mockito.Mock import org.mockito.Mockito.mock +import org.mockito.Mockito.verify import org.mockito.MockitoAnnotations @OptIn(ExperimentalCoroutinesApi::class) @@ -52,6 +55,7 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { private lateinit var biometricSettingsRepository: FakeBiometricSettingsRepository private lateinit var deviceEntryFingerprintAuthRepository: FakeDeviceEntryFingerprintAuthRepository + @Mock private lateinit var statusBarStateController: StatusBarStateController @Mock private lateinit var keyguardStateController: KeyguardStateController @Mock private lateinit var systemClock: SystemClock @Mock private lateinit var keyguardUpdateMonitor: KeyguardUpdateMonitor @@ -73,6 +77,7 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { featureFlags = FakeFeatureFlags().apply { this.set(Flags.MODERN_ALTERNATE_BOUNCER, true) } underTest = AlternateBouncerInteractor( + statusBarStateController, keyguardStateController, bouncerRepository, biometricSettingsRepository, @@ -130,6 +135,14 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { } @Test + fun canShowAlternateBouncerForFingerprint_isDozing() { + givenCanShowAlternateBouncer() + whenever(statusBarStateController.isDozing).thenReturn(true) + + assertFalse(underTest.canShowAlternateBouncerForFingerprint()) + } + + @Test fun show_whenCanShow() { givenCanShowAlternateBouncer() @@ -169,6 +182,42 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { assertFalse(bouncerRepository.alternateBouncerVisible.value) } + @Test + fun onUnlockedIsFalse_doesNotHide() { + // GIVEN alternate bouncer is showing + bouncerRepository.setAlternateVisible(true) + + val keyguardStateControllerCallbackCaptor = + ArgumentCaptor.forClass(KeyguardStateController.Callback::class.java) + verify(keyguardStateController).addCallback(keyguardStateControllerCallbackCaptor.capture()) + + // WHEN isUnlocked=false + givenCanShowAlternateBouncer() + whenever(keyguardStateController.isUnlocked).thenReturn(false) + keyguardStateControllerCallbackCaptor.value.onUnlockedChanged() + + // THEN the alternate bouncer is still visible + assertTrue(bouncerRepository.alternateBouncerVisible.value) + } + + @Test + fun onUnlockedChangedIsTrue_hide() { + // GIVEN alternate bouncer is showing + bouncerRepository.setAlternateVisible(true) + + val keyguardStateControllerCallbackCaptor = + ArgumentCaptor.forClass(KeyguardStateController.Callback::class.java) + verify(keyguardStateController).addCallback(keyguardStateControllerCallbackCaptor.capture()) + + // WHEN isUnlocked=true + givenCanShowAlternateBouncer() + whenever(keyguardStateController.isUnlocked).thenReturn(true) + keyguardStateControllerCallbackCaptor.value.onUnlockedChanged() + + // THEN the alternate bouncer is hidden + assertFalse(bouncerRepository.alternateBouncerVisible.value) + } + private fun givenCanShowAlternateBouncer() { bouncerRepository.setAlternateBouncerUIAvailable(true) biometricSettingsRepository.setFingerprintEnrolled(true) @@ -176,6 +225,7 @@ class AlternateBouncerInteractorTest : SysuiTestCase() { biometricSettingsRepository.setFingerprintEnabledByDevicePolicy(true) deviceEntryFingerprintAuthRepository.setLockedOut(false) whenever(keyguardStateController.isUnlocked).thenReturn(false) + whenever(statusBarStateController.isDozing).thenReturn(false) } private fun givenCannotShowAlternateBouncer() { diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt index df13fddc5a28..55b57f170774 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/controls/ui/MediaControlPanelTest.kt @@ -2350,6 +2350,48 @@ public class MediaControlPanelTest : SysuiTestCase() { } } + @Test + fun outputSwitcher_hasCustomIntent_openOverLockscreen() { + // When the device for a media player has an intent that opens over lockscreen + val pendingIntent = mock(PendingIntent::class.java) + whenever(pendingIntent.isActivity).thenReturn(true) + whenever(keyguardStateController.isShowing).thenReturn(true) + whenever(activityIntentHelper.wouldPendingShowOverLockscreen(any(), any())).thenReturn(true) + + val customDevice = device.copy(intent = pendingIntent) + val dataWithDevice = mediaData.copy(device = customDevice) + player.attachPlayer(viewHolder) + player.bindPlayer(dataWithDevice, KEY) + + // When the user taps on the output switcher, + seamless.callOnClick() + + // Then we send the pending intent as is, without modifying the original intent + verify(pendingIntent).send(any(Bundle::class.java)) + verify(pendingIntent, never()).getIntent() + } + + @Test + fun outputSwitcher_hasCustomIntent_requiresUnlock() { + // When the device for a media player has an intent that cannot open over lockscreen + val pendingIntent = mock(PendingIntent::class.java) + whenever(pendingIntent.isActivity).thenReturn(true) + whenever(keyguardStateController.isShowing).thenReturn(true) + whenever(activityIntentHelper.wouldPendingShowOverLockscreen(any(), any())) + .thenReturn(false) + + val customDevice = device.copy(intent = pendingIntent) + val dataWithDevice = mediaData.copy(device = customDevice) + player.attachPlayer(viewHolder) + player.bindPlayer(dataWithDevice, KEY) + + // When the user taps on the output switcher, + seamless.callOnClick() + + // Then we request keyguard dismissal + verify(activityStarter).postStartActivityDismissingKeyguard(eq(pendingIntent)) + } + private fun getScrubbingChangeListener(): SeekBarViewModel.ScrubbingChangeListener = withArgCaptor { verify(seekBarViewModel).setScrubbingChangeListener(capture()) diff --git a/packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/common/MediaTttUtilsTest.kt b/packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/common/MediaTttUtilsTest.kt index 85e8d072bd99..6c3d6f533ace 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/common/MediaTttUtilsTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/media/taptotransfer/common/MediaTttUtilsTest.kt @@ -25,6 +25,7 @@ import com.android.systemui.SysuiTestCase import com.android.systemui.common.shared.model.ContentDescription import com.android.systemui.common.shared.model.ContentDescription.Companion.loadContentDescription import com.android.systemui.common.shared.model.Icon +import com.android.systemui.temporarydisplay.chipbar.ChipbarInfo.Companion.DEFAULT_ICON_TINT import com.android.systemui.util.mockito.any import com.google.common.truth.Truth.assertThat import org.junit.Before @@ -140,6 +141,7 @@ class MediaTttUtilsTest : SysuiTestCase() { context.getString(R.string.media_transfer_receiver_content_description_unknown_app) ) assertThat(iconInfo.icon).isEqualTo(MediaTttIcon.Resource(R.drawable.ic_cast)) + assertThat(iconInfo.tint).isEqualTo(DEFAULT_ICON_TINT) } @Test @@ -232,40 +234,40 @@ class MediaTttUtilsTest : SysuiTestCase() { fun iconInfo_toTintedIcon_loaded() { val contentDescription = ContentDescription.Loaded("test") val drawable = context.getDrawable(R.drawable.ic_cake)!! - val tintAttr = android.R.attr.textColorTertiary + val tint = R.color.GM2_blue_500 val iconInfo = IconInfo( contentDescription, MediaTttIcon.Loaded(drawable), - tintAttr, + tint, isAppIcon = false, ) val tinted = iconInfo.toTintedIcon() assertThat(tinted.icon).isEqualTo(Icon.Loaded(drawable, contentDescription)) - assertThat(tinted.tintAttr).isEqualTo(tintAttr) + assertThat(tinted.tint).isEqualTo(tint) } @Test fun iconInfo_toTintedIcon_resource() { val contentDescription = ContentDescription.Loaded("test") val drawableRes = R.drawable.ic_cake - val tintAttr = android.R.attr.textColorTertiary + val tint = R.color.GM2_blue_500 val iconInfo = IconInfo( contentDescription, MediaTttIcon.Resource(drawableRes), - tintAttr, + tint, isAppIcon = false ) val tinted = iconInfo.toTintedIcon() assertThat(tinted.icon).isEqualTo(Icon.Resource(drawableRes, contentDescription)) - assertThat(tinted.tintAttr).isEqualTo(tintAttr) + assertThat(tinted.tint).isEqualTo(tint) } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractorTest.kt index 415e68f6013d..bcc99bc8dd0c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeInteractorTest.kt @@ -73,6 +73,28 @@ class MultiShadeInteractorTest : SysuiTestCase() { } @Test + fun isAnyShadeExpanded() = + testScope.runTest { + val underTest = create() + val isAnyShadeExpanded: Boolean? by collectLastValue(underTest.isAnyShadeExpanded) + assertWithMessage("isAnyShadeExpanded must start with false!") + .that(isAnyShadeExpanded) + .isFalse() + + underTest.setExpansion(shadeId = ShadeId.LEFT, expansion = 0.441f) + assertThat(isAnyShadeExpanded).isTrue() + + underTest.setExpansion(shadeId = ShadeId.RIGHT, expansion = 0.442f) + assertThat(isAnyShadeExpanded).isTrue() + + underTest.setExpansion(shadeId = ShadeId.RIGHT, expansion = 0f) + assertThat(isAnyShadeExpanded).isTrue() + + underTest.setExpansion(shadeId = ShadeId.LEFT, expansion = 0f) + assertThat(isAnyShadeExpanded).isFalse() + } + + @Test fun isVisible_dualShadeConfig() = testScope.runTest { overrideResource(R.bool.dual_shade_enabled, true) diff --git a/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeMotionEventInteractorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeMotionEventInteractorTest.kt new file mode 100644 index 000000000000..f807146cdf12 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/multishade/domain/interactor/MultiShadeMotionEventInteractorTest.kt @@ -0,0 +1,334 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.multishade.domain.interactor + +import android.view.MotionEvent +import android.view.ViewConfiguration +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.android.systemui.coroutines.collectLastValue +import com.android.systemui.multishade.data.remoteproxy.MultiShadeInputProxy +import com.android.systemui.multishade.data.repository.MultiShadeRepository +import com.android.systemui.multishade.shared.model.ProxiedInputModel +import com.android.systemui.multishade.shared.model.ShadeId +import com.google.common.truth.Truth.assertThat +import kotlinx.coroutines.ExperimentalCoroutinesApi +import kotlinx.coroutines.test.TestScope +import kotlinx.coroutines.test.currentTime +import kotlinx.coroutines.test.runCurrent +import kotlinx.coroutines.test.runTest +import org.junit.After +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +@OptIn(ExperimentalCoroutinesApi::class) +@SmallTest +@RunWith(JUnit4::class) +class MultiShadeMotionEventInteractorTest : SysuiTestCase() { + + private lateinit var underTest: MultiShadeMotionEventInteractor + + private lateinit var testScope: TestScope + private lateinit var motionEvents: MutableSet<MotionEvent> + private lateinit var repository: MultiShadeRepository + private lateinit var interactor: MultiShadeInteractor + private val touchSlop: Int = ViewConfiguration.get(context).scaledTouchSlop + + @Before + fun setUp() { + testScope = TestScope() + motionEvents = mutableSetOf() + + val inputProxy = MultiShadeInputProxy() + repository = + MultiShadeRepository( + applicationContext = context, + inputProxy = inputProxy, + ) + interactor = + MultiShadeInteractor( + applicationScope = testScope.backgroundScope, + repository = repository, + inputProxy = inputProxy, + ) + underTest = + MultiShadeMotionEventInteractor( + applicationContext = context, + applicationScope = testScope.backgroundScope, + interactor = interactor, + ) + } + + @After + fun tearDown() { + motionEvents.forEach { motionEvent -> motionEvent.recycle() } + } + + @Test + fun shouldIntercept_initialDown_returnsFalse() = + testScope.runTest { + assertThat(underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN))).isFalse() + } + + @Test + fun shouldIntercept_moveBelowTouchSlop_returnsFalse() = + testScope.runTest { + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + + assertThat( + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_MOVE, + y = touchSlop - 1f, + ) + ) + ) + .isFalse() + } + + @Test + fun shouldIntercept_moveAboveTouchSlop_returnsTrue() = + testScope.runTest { + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + + assertThat( + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_MOVE, + y = touchSlop + 1f, + ) + ) + ) + .isTrue() + } + + @Test + fun shouldIntercept_moveAboveTouchSlop_butHorizontalFirst_returnsFalse() = + testScope.runTest { + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + + assertThat( + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_MOVE, + x = touchSlop + 1f, + ) + ) + ) + .isFalse() + assertThat( + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_MOVE, + y = touchSlop + 1f, + ) + ) + ) + .isFalse() + } + + @Test + fun shouldIntercept_up_afterMovedAboveTouchSlop_returnsTrue() = + testScope.runTest { + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_MOVE, y = touchSlop + 1f)) + + assertThat(underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_UP))).isTrue() + } + + @Test + fun shouldIntercept_cancel_afterMovedAboveTouchSlop_returnsTrue() = + testScope.runTest { + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_MOVE, y = touchSlop + 1f)) + + assertThat(underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_CANCEL))).isTrue() + } + + @Test + fun shouldIntercept_moveAboveTouchSlopAndUp_butShadeExpanded_returnsFalse() = + testScope.runTest { + repository.setExpansion(ShadeId.LEFT, 0.1f) + runCurrent() + + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + + assertThat( + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_MOVE, + y = touchSlop + 1f, + ) + ) + ) + .isFalse() + assertThat(underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_UP))).isFalse() + } + + @Test + fun shouldIntercept_moveAboveTouchSlopAndCancel_butShadeExpanded_returnsFalse() = + testScope.runTest { + repository.setExpansion(ShadeId.LEFT, 0.1f) + runCurrent() + + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + + assertThat( + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_MOVE, + y = touchSlop + 1f, + ) + ) + ) + .isFalse() + assertThat(underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_CANCEL))).isFalse() + } + + @Test + fun tap_doesNotSendProxiedInput() = + testScope.runTest { + val leftShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.LEFT)) + val rightShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.RIGHT)) + val singleShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.SINGLE)) + + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_UP)) + + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + } + + @Test + fun dragBelowTouchSlop_doesNotSendProxiedInput() = + testScope.runTest { + val leftShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.LEFT)) + val rightShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.RIGHT)) + val singleShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.SINGLE)) + + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_DOWN)) + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_MOVE, y = touchSlop - 1f)) + underTest.shouldIntercept(motionEvent(MotionEvent.ACTION_UP)) + + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + } + + @Test + fun dragAboveTouchSlopAndUp() = + testScope.runTest { + val leftShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.LEFT)) + val rightShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.RIGHT)) + val singleShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.SINGLE)) + + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_DOWN, + x = 100f, // left shade + ) + ) + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + + val yDragAmountPx = touchSlop + 1f + val moveEvent = + motionEvent( + MotionEvent.ACTION_MOVE, + x = 100f, // left shade + y = yDragAmountPx, + ) + assertThat(underTest.shouldIntercept(moveEvent)).isTrue() + underTest.onTouchEvent(moveEvent, viewWidthPx = 1000) + assertThat(leftShadeProxiedInput) + .isEqualTo( + ProxiedInputModel.OnDrag( + xFraction = 0.1f, + yDragAmountPx = yDragAmountPx, + ) + ) + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + + val upEvent = motionEvent(MotionEvent.ACTION_UP) + assertThat(underTest.shouldIntercept(upEvent)).isTrue() + underTest.onTouchEvent(upEvent, viewWidthPx = 1000) + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + } + + @Test + fun dragAboveTouchSlopAndCancel() = + testScope.runTest { + val leftShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.LEFT)) + val rightShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.RIGHT)) + val singleShadeProxiedInput by collectLastValue(interactor.proxiedInput(ShadeId.SINGLE)) + + underTest.shouldIntercept( + motionEvent( + MotionEvent.ACTION_DOWN, + x = 900f, // right shade + ) + ) + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + + val yDragAmountPx = touchSlop + 1f + val moveEvent = + motionEvent( + MotionEvent.ACTION_MOVE, + x = 900f, // right shade + y = yDragAmountPx, + ) + assertThat(underTest.shouldIntercept(moveEvent)).isTrue() + underTest.onTouchEvent(moveEvent, viewWidthPx = 1000) + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput) + .isEqualTo( + ProxiedInputModel.OnDrag( + xFraction = 0.9f, + yDragAmountPx = yDragAmountPx, + ) + ) + assertThat(singleShadeProxiedInput).isNull() + + val cancelEvent = motionEvent(MotionEvent.ACTION_CANCEL) + assertThat(underTest.shouldIntercept(cancelEvent)).isTrue() + underTest.onTouchEvent(cancelEvent, viewWidthPx = 1000) + assertThat(leftShadeProxiedInput).isNull() + assertThat(rightShadeProxiedInput).isNull() + assertThat(singleShadeProxiedInput).isNull() + } + + private fun TestScope.motionEvent( + action: Int, + downTime: Long = currentTime, + eventTime: Long = currentTime, + x: Float = 0f, + y: Float = 0f, + ): MotionEvent { + val motionEvent = MotionEvent.obtain(downTime, eventTime, action, x, y, 0) + motionEvents.add(motionEvent) + return motionEvent + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/multishade/shared/math/MathTest.kt b/packages/SystemUI/tests/src/com/android/systemui/multishade/shared/math/MathTest.kt new file mode 100644 index 000000000000..893530982926 --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/multishade/shared/math/MathTest.kt @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.systemui.multishade.shared.math + +import androidx.test.filters.SmallTest +import com.android.systemui.SysuiTestCase +import com.google.common.truth.Truth.assertThat +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +@SmallTest +@RunWith(JUnit4::class) +class MathTest : SysuiTestCase() { + + @Test + fun isZero_zero_true() { + assertThat(0f.isZero(epsilon = EPSILON)).isTrue() + } + + @Test + fun isZero_belowPositiveEpsilon_true() { + assertThat((EPSILON * 0.999999f).isZero(epsilon = EPSILON)).isTrue() + } + + @Test + fun isZero_aboveNegativeEpsilon_true() { + assertThat((EPSILON * -0.999999f).isZero(epsilon = EPSILON)).isTrue() + } + + @Test + fun isZero_positiveEpsilon_false() { + assertThat(EPSILON.isZero(epsilon = EPSILON)).isFalse() + } + + @Test + fun isZero_negativeEpsilon_false() { + assertThat((-EPSILON).isZero(epsilon = EPSILON)).isFalse() + } + + @Test + fun isZero_positive_false() { + assertThat(1f.isZero(epsilon = EPSILON)).isFalse() + } + + @Test + fun isZero_negative_false() { + assertThat((-1f).isZero(epsilon = EPSILON)).isFalse() + } + + companion object { + private const val EPSILON = 0.0001f + } +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt index 0a8cd269139f..0ee52ea7838a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/notetask/NoteTaskControllerTest.kt @@ -46,6 +46,7 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentMatchers.anyInt import org.mockito.Mock +import org.mockito.Mockito.isNull import org.mockito.Mockito.verify import org.mockito.Mockito.verifyZeroInteractions import org.mockito.MockitoAnnotations @@ -267,7 +268,8 @@ internal class NoteTaskControllerTest : SysuiTestCase() { verifyZeroInteractions(context) val intentCaptor = argumentCaptor<Intent>() - verify(bubbles).showOrHideAppBubble(capture(intentCaptor), eq(userTracker.userHandle)) + verify(bubbles).showOrHideAppBubble(capture(intentCaptor), eq(userTracker.userHandle), + isNull()) intentCaptor.value.let { intent -> assertThat(intent.action).isEqualTo(Intent.ACTION_CREATE_NOTE) assertThat(intent.`package`).isEqualTo(NOTES_PACKAGE_NAME) @@ -401,7 +403,8 @@ internal class NoteTaskControllerTest : SysuiTestCase() { createNoteTaskController().showNoteTask(entryPoint = NoteTaskEntryPoint.QUICK_AFFORDANCE) val intentCaptor = argumentCaptor<Intent>() - verify(bubbles).showOrHideAppBubble(capture(intentCaptor), eq(userTracker.userHandle)) + verify(bubbles).showOrHideAppBubble(capture(intentCaptor), eq(userTracker.userHandle), + isNull()) intentCaptor.value.let { intent -> assertThat(intent.action).isEqualTo(Intent.ACTION_CREATE_NOTE) assertThat(intent.`package`).isEqualTo(NOTES_PACKAGE_NAME) @@ -424,7 +427,8 @@ internal class NoteTaskControllerTest : SysuiTestCase() { createNoteTaskController().showNoteTask(entryPoint = NoteTaskEntryPoint.QUICK_AFFORDANCE) val intentCaptor = argumentCaptor<Intent>() - verify(bubbles).showOrHideAppBubble(capture(intentCaptor), eq(userTracker.userHandle)) + verify(bubbles).showOrHideAppBubble(capture(intentCaptor), eq(userTracker.userHandle), + isNull()) intentCaptor.value.let { intent -> assertThat(intent.action).isEqualTo(Intent.ACTION_CREATE_NOTE) assertThat(intent.`package`).isEqualTo(NOTES_PACKAGE_NAME) diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotDetectionControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotDetectionControllerTest.kt index 1f18d91aa133..08b5d2bdc31c 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotDetectionControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/ScreenshotDetectionControllerTest.kt @@ -19,12 +19,14 @@ package com.android.systemui.screenshot import android.content.ComponentName import android.content.pm.ActivityInfo import android.content.pm.PackageManager +import android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS import android.testing.AndroidTestingRunner import android.view.Display import android.view.IWindowManager import android.view.WindowManager import androidx.test.filters.SmallTest import com.android.systemui.util.mockito.any +import com.android.systemui.util.mockito.argThat import com.android.systemui.util.mockito.eq import com.android.systemui.util.mockito.whenever import junit.framework.Assert.assertEquals @@ -32,6 +34,7 @@ import junit.framework.Assert.assertTrue import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.ArgumentMatcher import org.mockito.Mock import org.mockito.Mockito.mock import org.mockito.Mockito.never @@ -158,4 +161,56 @@ class ScreenshotDetectionControllerTest { assertEquals(appName2, list[1]) assertEquals(appName3, list[2]) } + + private fun includesFlagBits(@PackageManager.ComponentInfoFlagsBits mask: Int) = + ComponentInfoFlagMatcher(mask, mask) + private fun excludesFlagBits(@PackageManager.ComponentInfoFlagsBits mask: Int) = + ComponentInfoFlagMatcher(mask, 0) + + private class ComponentInfoFlagMatcher( + @PackageManager.ComponentInfoFlagsBits val mask: Int, val value: Int + ): ArgumentMatcher<PackageManager.ComponentInfoFlags> { + override fun matches(flags: PackageManager.ComponentInfoFlags): Boolean { + return (mask.toLong() and flags.value) == value.toLong() + } + + override fun toString(): String{ + return "mask 0x%08x == 0x%08x".format(mask, value) + } + } + + @Test + fun testMaybeNotifyOfScreenshot_disabledApp() { + val data = ScreenshotData.forTesting() + data.source = WindowManager.ScreenshotSource.SCREENSHOT_KEY_CHORD + + val component = ComponentName("package1", "class1") + val appName = "app name" + val activityInfo = mock(ActivityInfo::class.java) + + whenever( + packageManager.getActivityInfo( + eq(component), + argThat(includesFlagBits(MATCH_DISABLED_COMPONENTS)) + ) + ).thenReturn(activityInfo); + + whenever( + packageManager.getActivityInfo( + eq(component), + argThat(excludesFlagBits(MATCH_DISABLED_COMPONENTS)) + ) + ).thenThrow(PackageManager.NameNotFoundException::class.java); + + whenever(windowManager.notifyScreenshotListeners(eq(Display.DEFAULT_DISPLAY))) + .thenReturn(listOf(component)) + + whenever(activityInfo.loadLabel(eq(packageManager))).thenReturn(appName) + + val list = controller.maybeNotifyOfScreenshot(data) + + assertEquals(1, list.size) + assertEquals(appName, list[0]) + } + } diff --git a/packages/SystemUI/tests/src/com/android/systemui/screenshot/WorkProfileMessageControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/screenshot/WorkProfileMessageControllerTest.java index 3440f91c1237..31f7771bb939 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/screenshot/WorkProfileMessageControllerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/screenshot/WorkProfileMessageControllerTest.java @@ -45,7 +45,6 @@ import com.android.systemui.util.FakeSharedPreferences; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.ArgumentMatchers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -58,8 +57,9 @@ import kotlin.Unit; @SmallTest @RunWith(AndroidTestingRunner.class) public class WorkProfileMessageControllerTest extends SysuiTestCase { - private static final String DEFAULT_LABEL = "default label"; - private static final String APP_LABEL = "app label"; + private static final String FILES_APP_COMPONENT = "com.android.test/.FilesComponent"; + private static final String FILES_APP_LABEL = "Custom Files App"; + private static final String DEFAULT_FILES_APP_LABEL = "Files"; private static final UserHandle NON_WORK_USER = UserHandle.of(0); private static final UserHandle WORK_USER = UserHandle.of(10); @@ -88,14 +88,21 @@ public class WorkProfileMessageControllerTest extends SysuiTestCase { when(mMockContext.getSharedPreferences( eq(WorkProfileMessageController.SHARED_PREFERENCES_NAME), eq(Context.MODE_PRIVATE))).thenReturn(mSharedPreferences); - when(mMockContext.getString(ArgumentMatchers.anyInt())).thenReturn(DEFAULT_LABEL); - when(mPackageManager.getActivityIcon(any(ComponentName.class))) + when(mMockContext.getString(R.string.config_sceenshotWorkProfileFilesApp)) + .thenReturn(FILES_APP_COMPONENT); + when(mMockContext.getString(R.string.screenshot_default_files_app_name)) + .thenReturn(DEFAULT_FILES_APP_LABEL); + when(mPackageManager.getActivityIcon( + eq(ComponentName.unflattenFromString(FILES_APP_COMPONENT)))) .thenReturn(mActivityIcon); - when(mPackageManager.getUserBadgedIcon( - any(), any())).thenReturn(mBadgedActivityIcon); - when(mPackageManager.getActivityInfo(any(), - any(PackageManager.ComponentInfoFlags.class))).thenReturn(mActivityInfo); - when(mActivityInfo.loadLabel(eq(mPackageManager))).thenReturn(APP_LABEL); + when(mPackageManager.getUserBadgedIcon(any(), any())) + .thenReturn(mBadgedActivityIcon); + when(mPackageManager.getActivityInfo( + eq(ComponentName.unflattenFromString(FILES_APP_COMPONENT)), + any(PackageManager.ComponentInfoFlags.class))) + .thenReturn(mActivityInfo); + when(mActivityInfo.loadLabel(eq(mPackageManager))) + .thenReturn(FILES_APP_LABEL); mSharedPreferences.edit().putBoolean( WorkProfileMessageController.PREFERENCE_KEY, false).apply(); @@ -120,14 +127,15 @@ public class WorkProfileMessageControllerTest extends SysuiTestCase { @Test public void testOnScreenshotTaken_packageNotFound() throws PackageManager.NameNotFoundException { - when(mPackageManager.getActivityInfo(any(), + when(mPackageManager.getActivityInfo( + eq(ComponentName.unflattenFromString(FILES_APP_COMPONENT)), any(PackageManager.ComponentInfoFlags.class))).thenThrow( new PackageManager.NameNotFoundException()); WorkProfileMessageController.WorkProfileFirstRunData data = mMessageController.onScreenshotTaken(WORK_USER); - assertEquals(DEFAULT_LABEL, data.getAppName()); + assertEquals(DEFAULT_FILES_APP_LABEL, data.getAppName()); assertNull(data.getIcon()); } @@ -136,16 +144,28 @@ public class WorkProfileMessageControllerTest extends SysuiTestCase { WorkProfileMessageController.WorkProfileFirstRunData data = mMessageController.onScreenshotTaken(WORK_USER); - assertEquals(APP_LABEL, data.getAppName()); + assertEquals(FILES_APP_LABEL, data.getAppName()); assertEquals(mBadgedActivityIcon, data.getIcon()); } @Test + public void testOnScreenshotTaken_noFilesAppComponentDefined() { + when(mMockContext.getString(R.string.config_sceenshotWorkProfileFilesApp)) + .thenReturn(""); + + WorkProfileMessageController.WorkProfileFirstRunData data = + mMessageController.onScreenshotTaken(WORK_USER); + + assertEquals(DEFAULT_FILES_APP_LABEL, data.getAppName()); + assertNull(data.getIcon()); + } + + @Test public void testPopulateView() throws InterruptedException { ViewGroup layout = (ViewGroup) LayoutInflater.from(mContext).inflate( R.layout.screenshot_work_profile_first_run, null); WorkProfileMessageController.WorkProfileFirstRunData data = - new WorkProfileMessageController.WorkProfileFirstRunData(APP_LABEL, + new WorkProfileMessageController.WorkProfileFirstRunData(FILES_APP_LABEL, mBadgedActivityIcon); final CountDownLatch countdown = new CountDownLatch(1); mMessageController.populateView(layout, data, () -> { @@ -157,7 +177,7 @@ public class WorkProfileMessageControllerTest extends SysuiTestCase { assertEquals(mBadgedActivityIcon, image.getDrawable()); TextView text = layout.findViewById(R.id.screenshot_message_content); // The app name is used in a template, but at least validate that it was inserted. - assertTrue(text.getText().toString().contains(APP_LABEL)); + assertTrue(text.getText().toString().contains(FILES_APP_LABEL)); // Validate that clicking the dismiss button calls back properly. assertEquals(1, countdown.getCount()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt index 629208e130af..5f34b2f0f87f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewControllerTest.kt @@ -38,6 +38,7 @@ import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransition import com.android.systemui.multishade.data.remoteproxy.MultiShadeInputProxy import com.android.systemui.multishade.data.repository.MultiShadeRepository import com.android.systemui.multishade.domain.interactor.MultiShadeInteractor +import com.android.systemui.multishade.domain.interactor.MultiShadeMotionEventInteractor import com.android.systemui.shade.NotificationShadeWindowView.InteractionEventHandler import com.android.systemui.statusbar.LockscreenShadeTransitionController import com.android.systemui.statusbar.NotificationInsetsController @@ -62,7 +63,6 @@ import org.junit.Test import org.junit.runner.RunWith import org.mockito.ArgumentCaptor import org.mockito.Mock -import org.mockito.Mockito import org.mockito.Mockito.anyFloat import org.mockito.Mockito.mock import org.mockito.Mockito.never @@ -129,6 +129,16 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { val inputProxy = MultiShadeInputProxy() testScope = TestScope() + val multiShadeInteractor = + MultiShadeInteractor( + applicationScope = testScope.backgroundScope, + repository = + MultiShadeRepository( + applicationContext = context, + inputProxy = inputProxy, + ), + inputProxy = inputProxy, + ) underTest = NotificationShadeWindowViewController( lockscreenShadeTransitionController, @@ -154,18 +164,15 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { keyguardTransitionInteractor, primaryBouncerToGoneTransitionViewModel, featureFlags, + { multiShadeInteractor }, + FakeSystemClock(), { - MultiShadeInteractor( + MultiShadeMotionEventInteractor( + applicationContext = context, applicationScope = testScope.backgroundScope, - repository = - MultiShadeRepository( - applicationContext = context, - inputProxy = inputProxy, - ), - inputProxy = inputProxy, + interactor = multiShadeInteractor, ) }, - FakeSystemClock(), ) underTest.setupExpandedStatusBar() @@ -308,7 +315,7 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { fun shouldInterceptTouchEvent_statusBarKeyguardViewManagerShouldIntercept() { // down event should be intercepted by keyguardViewManager whenever(statusBarKeyguardViewManager.shouldInterceptTouchEvent(DOWN_EVENT)) - .thenReturn(true) + .thenReturn(true) // Then touch should not be intercepted val shouldIntercept = interactionEventHandler.shouldInterceptTouchEvent(DOWN_EVENT) @@ -316,14 +323,6 @@ class NotificationShadeWindowViewControllerTest : SysuiTestCase() { } @Test - fun testGetBouncerContainer() = - testScope.runTest { - Mockito.clearInvocations(view) - underTest.bouncerContainer - verify(view).findViewById<ViewGroup>(R.id.keyguard_bouncer_container) - } - - @Test fun testGetKeyguardMessageArea() = testScope.runTest { underTest.keyguardMessageArea diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt index b4b5ec126234..b40181e24e6d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/NotificationShadeWindowViewTest.kt @@ -37,6 +37,7 @@ import com.android.systemui.keyguard.ui.viewmodel.PrimaryBouncerToGoneTransition import com.android.systemui.multishade.data.remoteproxy.MultiShadeInputProxy import com.android.systemui.multishade.data.repository.MultiShadeRepository import com.android.systemui.multishade.domain.interactor.MultiShadeInteractor +import com.android.systemui.multishade.domain.interactor.MultiShadeMotionEventInteractor import com.android.systemui.shade.NotificationShadeWindowView.InteractionEventHandler import com.android.systemui.statusbar.DragDownHelper import com.android.systemui.statusbar.LockscreenShadeTransitionController @@ -140,6 +141,16 @@ class NotificationShadeWindowViewTest : SysuiTestCase() { featureFlags.set(Flags.DUAL_SHADE, false) val inputProxy = MultiShadeInputProxy() testScope = TestScope() + val multiShadeInteractor = + MultiShadeInteractor( + applicationScope = testScope.backgroundScope, + repository = + MultiShadeRepository( + applicationContext = context, + inputProxy = inputProxy, + ), + inputProxy = inputProxy, + ) controller = NotificationShadeWindowViewController( lockscreenShadeTransitionController, @@ -165,18 +176,15 @@ class NotificationShadeWindowViewTest : SysuiTestCase() { keyguardTransitionInteractor, primaryBouncerToGoneTransitionViewModel, featureFlags, + { multiShadeInteractor }, + FakeSystemClock(), { - MultiShadeInteractor( + MultiShadeMotionEventInteractor( + applicationContext = context, applicationScope = testScope.backgroundScope, - repository = - MultiShadeRepository( - applicationContext = context, - inputProxy = inputProxy, - ), - inputProxy = inputProxy, + interactor = multiShadeInteractor, ) }, - FakeSystemClock(), ) controller.setupExpandedStatusBar() diff --git a/packages/SystemUI/tests/src/com/android/systemui/shade/SplitShadeTransitionAdapterTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shade/SplitShadeTransitionAdapterTest.kt new file mode 100644 index 000000000000..64fec5bfd4ed --- /dev/null +++ b/packages/SystemUI/tests/src/com/android/systemui/shade/SplitShadeTransitionAdapterTest.kt @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.systemui.shade + +import android.animation.Animator +import android.testing.AndroidTestingRunner +import android.transition.TransitionValues +import androidx.test.filters.SmallTest +import com.android.keyguard.KeyguardStatusViewController +import com.android.systemui.SysuiTestCase +import com.android.systemui.shade.NotificationPanelViewController.SplitShadeTransitionAdapter +import com.google.common.truth.Truth.assertThat +import org.junit.Before +import org.junit.Test +import org.junit.runner.RunWith +import org.mockito.Mock +import org.mockito.MockitoAnnotations + +@SmallTest +@RunWith(AndroidTestingRunner::class) +class SplitShadeTransitionAdapterTest : SysuiTestCase() { + + @Mock private lateinit var keyguardStatusViewController: KeyguardStatusViewController + + private lateinit var adapter: SplitShadeTransitionAdapter + + @Before + fun setUp() { + MockitoAnnotations.initMocks(this) + adapter = SplitShadeTransitionAdapter(keyguardStatusViewController) + } + + @Test + fun createAnimator_nullStartValues_returnsNull() { + val animator = adapter.createAnimator(startValues = null, endValues = TransitionValues()) + + assertThat(animator).isNull() + } + + @Test + fun createAnimator_nullEndValues_returnsNull() { + val animator = adapter.createAnimator(startValues = TransitionValues(), endValues = null) + + assertThat(animator).isNull() + } + + @Test + fun createAnimator_nonNullStartAndEndValues_returnsAnimator() { + val animator = + adapter.createAnimator(startValues = TransitionValues(), endValues = TransitionValues()) + + assertThat(animator).isNotNull() + } +} + +private fun SplitShadeTransitionAdapter.createAnimator( + startValues: TransitionValues?, + endValues: TransitionValues? +): Animator? { + return createAnimator(/* sceneRoot= */ null, startValues, endValues) +} diff --git a/packages/SystemUI/tests/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimatorTest.kt index 6a68b71f639b..8841f481695d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/shared/animation/UnfoldMoveFromCenterAnimatorTest.kt @@ -65,8 +65,8 @@ class UnfoldMoveFromCenterAnimatorTest : SysuiTestCase() { // Positive translationX -> translated to the right // 10x10 view center is 25px from the center, // When progress is 0.5 it should be translated at: - // 25 * 0.3 * (1 - 0.5) = 3.75px - assertThat(view.translationX).isWithin(0.01f).of(3.75f) + // 25 * 0.08 * (1 - 0.5) = 1px + assertThat(view.translationX).isWithin(0.01f).of(1.0f) } @Test @@ -81,8 +81,8 @@ class UnfoldMoveFromCenterAnimatorTest : SysuiTestCase() { // Positive translationX -> translated to the right // 10x10 view center is 25px from the center, // When progress is 0 it should be translated at: - // 25 * 0.3 * (1 - 0) = 7.5px - assertThat(view.translationX).isWithin(0.01f).of(7.5f) + // 25 * 0.08 * (1 - 0) = 7.5px + assertThat(view.translationX).isWithin(0.01f).of(2f) } @Test @@ -97,7 +97,7 @@ class UnfoldMoveFromCenterAnimatorTest : SysuiTestCase() { // Positive translationX -> translated to the right // 10x10 view center is 25px from the center, // When progress is 1 it should be translated at: - // 25 * 0.3 * 0 = 0px + // 25 * 0.08 * 0 = 0px assertThat(view.translationX).isEqualTo(0f) } @@ -113,8 +113,8 @@ class UnfoldMoveFromCenterAnimatorTest : SysuiTestCase() { // Positive translationX -> translated to the right, original translation is ignored // 10x10 view center is 25px from the center, // When progress is 0.5 it should be translated at: - // 25 * 0.3 * (1 - 0.5) = 3.75px - assertThat(view.translationX).isWithin(0.01f).of(3.75f) + // 25 * 0.08 * (1 - 0.5) = 1px + assertThat(view.translationX).isWithin(0.01f).of(1.0f) } @Test @@ -154,7 +154,7 @@ class UnfoldMoveFromCenterAnimatorTest : SysuiTestCase() { animator.onTransitionProgress(0.5f) // Positive translationY -> translated to the bottom - assertThat(view.translationY).isWithin(0.01f).of(3.75f) + assertThat(view.translationY).isWithin(0.01f).of(1f) } @Test @@ -169,7 +169,7 @@ class UnfoldMoveFromCenterAnimatorTest : SysuiTestCase() { animator.updateViewPositions() // Negative translationX -> translated to the left - assertThat(view.translationX).isWithin(0.1f).of(-5.25f) + assertThat(view.translationX).isWithin(0.1f).of(-1.4f) } private fun createView( diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java index 653b0c707240..09b00e246eec 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/interruption/NotificationInterruptStateProviderImplTest.java @@ -858,6 +858,23 @@ public class NotificationInterruptStateProviderImplTest extends SysuiTestCase { } @Test + public void testShouldNotScreen_appSuspended() throws RemoteException { + NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); + when(mPowerManager.isInteractive()).thenReturn(false); + when(mStatusBarStateController.isDreaming()).thenReturn(false); + when(mStatusBarStateController.getState()).thenReturn(SHADE); + modifyRanking(entry).setSuspended(true).build(); + + assertThat(mNotifInterruptionStateProvider.getFullScreenIntentDecision(entry)) + .isEqualTo(FullScreenIntentDecision.NO_FSI_SUSPENDED); + assertThat(mNotifInterruptionStateProvider.shouldLaunchFullScreenIntentWhenAdded(entry)) + .isFalse(); + verify(mLogger).logNoFullscreen(entry, "NO_FSI_SUSPENDED"); + verify(mLogger, never()).logNoFullscreenWarning(any(), any()); + verify(mLogger, never()).logFullscreen(any(), any()); + } + + @Test public void logFullScreenIntentDecision_shouldAlmostAlwaysLogOneTime() { NotificationEntry entry = createFsiNotification(IMPORTANCE_HIGH, /* silenced */ false); Set<FullScreenIntentDecision> warnings = new HashSet<>(Arrays.asList( diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewTest.java index 3108ed9e7b98..fe1205161e8d 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/KeyguardStatusBarViewTest.java @@ -21,6 +21,7 @@ import static com.google.common.truth.Truth.assertThat; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; import android.view.LayoutInflater; +import android.view.View; import androidx.test.filters.SmallTest; @@ -49,6 +50,13 @@ public class KeyguardStatusBarViewTest extends SysuiTestCase { } @Test + public void userSwitcherChip_defaultVisibilityIsGone() { + assertThat(mKeyguardStatusBarView.findViewById( + R.id.user_switcher_container).getVisibility()).isEqualTo( + View.GONE); + } + + @Test public void setTopClipping_clippingUpdated() { int topClipping = 40; diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewControllerTest.kt index cdc989897c8e..3edf33b9d3a9 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewControllerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/PhoneStatusBarViewControllerTest.kt @@ -25,6 +25,8 @@ import androidx.test.filters.SmallTest import androidx.test.platform.app.InstrumentationRegistry import com.android.systemui.R import com.android.systemui.SysuiTestCase +import com.android.systemui.flags.FeatureFlags +import com.android.systemui.flags.Flags import com.android.systemui.shade.NotificationPanelViewController import com.android.systemui.shade.ShadeControllerImpl import com.android.systemui.shade.ShadeLogger @@ -34,6 +36,7 @@ import com.android.systemui.unfold.config.UnfoldTransitionConfig import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider import com.android.systemui.user.ui.viewmodel.StatusBarUserChipViewModel import com.android.systemui.util.mockito.any +import com.android.systemui.util.mockito.whenever import com.android.systemui.util.view.ViewUtil import com.google.common.truth.Truth.assertThat import org.junit.Before @@ -54,6 +57,8 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() { @Mock private lateinit var notificationPanelViewController: NotificationPanelViewController @Mock + private lateinit var featureFlags: FeatureFlags + @Mock private lateinit var moveFromCenterAnimation: StatusBarMoveFromCenterAnimationController @Mock private lateinit var sysuiUnfoldComponent: SysUIUnfoldComponent @@ -93,6 +98,8 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() { @Test fun onViewAttachedAndDrawn_moveFromCenterAnimationEnabled_moveFromCenterAnimationInitialized() { + whenever(featureFlags.isEnabled(Flags.ENABLE_UNFOLD_STATUS_BAR_ANIMATIONS)) + .thenReturn(true) val view = createViewMock() val argumentCaptor = ArgumentCaptor.forClass(OnPreDrawListener::class.java) unfoldConfig.isEnabled = true @@ -108,6 +115,20 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() { } @Test + fun onViewAttachedAndDrawn_statusBarAnimationDisabled_animationNotInitialized() { + whenever(featureFlags.isEnabled(Flags.ENABLE_UNFOLD_STATUS_BAR_ANIMATIONS)) + .thenReturn(false) + val view = createViewMock() + unfoldConfig.isEnabled = true + // create the controller on main thread as it requires main looper + InstrumentationRegistry.getInstrumentation().runOnMainSync { + controller = createAndInitController(view) + } + + verify(moveFromCenterAnimation, never()).onViewsReady(any()) + } + + @Test fun handleTouchEventFromStatusBar_panelsNotEnabled_returnsFalseAndNoViewEvent() { `when`(centralSurfacesImpl.commandQueuePanelsEnabled).thenReturn(false) val returnVal = view.onTouchEvent( @@ -179,6 +200,7 @@ class PhoneStatusBarViewControllerTest : SysuiTestCase() { return PhoneStatusBarViewController.Factory( Optional.of(sysuiUnfoldComponent), Optional.of(progressProvider), + featureFlags, userChipViewModel, centralSurfacesImpl, shadeControllerImpl, diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImplTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImplTest.kt index 3bc288a2f823..08e89fbef486 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImplTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarIconControllerImplTest.kt @@ -20,13 +20,17 @@ import android.os.UserHandle import androidx.test.filters.SmallTest import com.android.internal.statusbar.StatusBarIcon import com.android.systemui.SysuiTestCase +import com.android.systemui.statusbar.CommandQueue import com.android.systemui.statusbar.phone.StatusBarIconController.TAG_PRIMARY import com.android.systemui.statusbar.phone.StatusBarIconControllerImpl.EXTERNAL_SLOT_SUFFIX +import com.android.systemui.util.mockito.kotlinArgumentCaptor import com.android.systemui.util.mockito.mock import com.google.common.truth.Truth.assertThat import org.junit.Before import org.junit.Test +import org.mockito.Mock import org.mockito.Mockito.verify +import org.mockito.MockitoAnnotations @SmallTest class StatusBarIconControllerImplTest : SysuiTestCase() { @@ -34,15 +38,19 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { private lateinit var underTest: StatusBarIconControllerImpl private lateinit var iconList: StatusBarIconList + private lateinit var commandQueueCallbacks: CommandQueue.Callbacks private val iconGroup: StatusBarIconController.IconManager = mock() + @Mock private lateinit var commandQueue: CommandQueue + @Before fun setUp() { + MockitoAnnotations.initMocks(this) iconList = StatusBarIconList(arrayOf()) underTest = StatusBarIconControllerImpl( context, - mock(), + commandQueue, mock(), mock(), mock(), @@ -51,11 +59,42 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { mock(), ) underTest.addIconGroup(iconGroup) + val commandQueueCallbacksCaptor = kotlinArgumentCaptor<CommandQueue.Callbacks>() + verify(commandQueue).addCallback(commandQueueCallbacksCaptor.capture()) + commandQueueCallbacks = commandQueueCallbacksCaptor.value + } + + /** Regression test for b/255428281. */ + @Test + fun internalAndExternalIconWithSameName_externalFromTile_bothDisplayed() { + val slotName = "mute" + + // Internal + underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") + + // External + val externalIcon = + StatusBarIcon( + "external.package", + UserHandle.ALL, + /* iconId= */ 2, + /* iconLevel= */ 0, + /* number= */ 0, + "contentDescription", + ) + underTest.setIconFromTile(slotName, externalIcon) + + assertThat(iconList.slots).hasSize(2) + // Whichever was added last comes first + assertThat(iconList.slots[0].name).isEqualTo(slotName + EXTERNAL_SLOT_SUFFIX) + assertThat(iconList.slots[1].name).isEqualTo(slotName) + assertThat(iconList.slots[0].hasIconsInSlot()).isTrue() + assertThat(iconList.slots[1].hasIconsInSlot()).isTrue() } /** Regression test for b/255428281. */ @Test - fun internalAndExternalIconWithSameName_bothDisplayed() { + fun internalAndExternalIconWithSameName_externalFromCommandQueue_bothDisplayed() { val slotName = "mute" // Internal @@ -71,7 +110,7 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /* number= */ 0, "contentDescription", ) - underTest.setIcon(slotName, externalIcon) + commandQueueCallbacks.setIcon(slotName, externalIcon) assertThat(iconList.slots).hasSize(2) // Whichever was added last comes first @@ -83,17 +122,17 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /** Regression test for b/255428281. */ @Test - fun internalAndExternalIconWithSameName_externalRemoved_viaRemoveIcon_internalStays() { + fun internalAndExternalIconWithSameName_externalRemoved_fromCommandQueue_internalStays() { val slotName = "mute" // Internal underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") // External - underTest.setIcon(slotName, createExternalIcon()) + commandQueueCallbacks.setIcon(slotName, createExternalIcon()) - // WHEN the external icon is removed via #removeIcon - underTest.removeIcon(slotName) + // WHEN the external icon is removed via CommandQueue.Callbacks#removeIcon + commandQueueCallbacks.removeIcon(slotName) // THEN the external icon is removed but the internal icon remains // Note: [StatusBarIconList] never removes slots from its list, it just sets the holder for @@ -109,17 +148,17 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /** Regression test for b/255428281. */ @Test - fun internalAndExternalIconWithSameName_externalRemoved_viaRemoveAll_internalStays() { + fun internalAndExternalIconWithSameName_externalRemoved_fromTileRemove_internalStays() { val slotName = "mute" // Internal underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") // External - underTest.setIcon(slotName, createExternalIcon()) + underTest.setIconFromTile(slotName, createExternalIcon()) - // WHEN the external icon is removed via #removeAllIconsForExternalSlot - underTest.removeAllIconsForExternalSlot(slotName) + // WHEN the external icon is removed via #removeIconForTile + underTest.removeIconForTile(slotName) // THEN the external icon is removed but the internal icon remains assertThat(iconList.slots).hasSize(2) @@ -133,17 +172,17 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /** Regression test for b/255428281. */ @Test - fun internalAndExternalIconWithSameName_externalRemoved_viaSetNull_internalStays() { + fun internalAndExternalIconWithSameName_externalRemoved_fromTileSetNull_internalStays() { val slotName = "mute" // Internal underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") // External - underTest.setIcon(slotName, createExternalIcon()) + underTest.setIconFromTile(slotName, createExternalIcon()) - // WHEN the external icon is removed via a #setIcon(null) - underTest.setIcon(slotName, /* icon= */ null) + // WHEN the external icon is removed via a #setIconFromTile(null) + underTest.setIconFromTile(slotName, /* icon= */ null) // THEN the external icon is removed but the internal icon remains assertThat(iconList.slots).hasSize(2) @@ -164,12 +203,12 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") // External - underTest.setIcon(slotName, createExternalIcon()) + underTest.setIconFromTile(slotName, createExternalIcon()) // WHEN the internal icon is removed via #removeIcon underTest.removeIcon(slotName, /* tag= */ 0) - // THEN the external icon is removed but the internal icon remains + // THEN the internal icon is removed but the external icon remains assertThat(iconList.slots).hasSize(2) assertThat(iconList.slots[0].name).isEqualTo(slotName + EXTERNAL_SLOT_SUFFIX) assertThat(iconList.slots[1].name).isEqualTo(slotName) @@ -188,12 +227,12 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") // External - underTest.setIcon(slotName, createExternalIcon()) + underTest.setIconFromTile(slotName, createExternalIcon()) // WHEN the internal icon is removed via #removeAllIconsForSlot underTest.removeAllIconsForSlot(slotName) - // THEN the external icon is removed but the internal icon remains + // THEN the internal icon is removed but the external icon remains assertThat(iconList.slots).hasSize(2) assertThat(iconList.slots[0].name).isEqualTo(slotName + EXTERNAL_SLOT_SUFFIX) assertThat(iconList.slots[1].name).isEqualTo(slotName) @@ -221,7 +260,7 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /* number= */ 0, "externalDescription", ) - underTest.setIcon(slotName, startingExternalIcon) + underTest.setIconFromTile(slotName, startingExternalIcon) // WHEN the internal icon is updated underTest.setIcon(slotName, /* resourceId= */ 11, "newContentDescription") @@ -243,7 +282,54 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /** Regression test for b/255428281. */ @Test - fun internalAndExternalIconWithSameName_externalUpdatedIndependently() { + fun internalAndExternalIconWithSameName_fromTile_externalUpdatedIndependently() { + val slotName = "mute" + + // Internal + underTest.setIcon(slotName, /* resourceId= */ 10, "contentDescription") + + // External + val startingExternalIcon = + StatusBarIcon( + "external.package", + UserHandle.ALL, + /* iconId= */ 20, + /* iconLevel= */ 0, + /* number= */ 0, + "externalDescription", + ) + underTest.setIconFromTile(slotName, startingExternalIcon) + + // WHEN the external icon is updated + val newExternalIcon = + StatusBarIcon( + "external.package", + UserHandle.ALL, + /* iconId= */ 21, + /* iconLevel= */ 0, + /* number= */ 0, + "newExternalDescription", + ) + underTest.setIconFromTile(slotName, newExternalIcon) + + // THEN only the external slot gets the updates + val externalSlot = iconList.slots[0] + val externalHolder = externalSlot.getHolderForTag(TAG_PRIMARY)!! + assertThat(externalSlot.name).isEqualTo(slotName + EXTERNAL_SLOT_SUFFIX) + assertThat(externalHolder.icon!!.contentDescription).isEqualTo("newExternalDescription") + assertThat(externalHolder.icon!!.icon.resId).isEqualTo(21) + + // And the internal slot has its own values + val internalSlot = iconList.slots[1] + val internalHolder = internalSlot.getHolderForTag(TAG_PRIMARY)!! + assertThat(internalSlot.name).isEqualTo(slotName) + assertThat(internalHolder.icon!!.contentDescription).isEqualTo("contentDescription") + assertThat(internalHolder.icon!!.icon.resId).isEqualTo(10) + } + + /** Regression test for b/255428281. */ + @Test + fun internalAndExternalIconWithSameName_fromCommandQueue_externalUpdatedIndependently() { val slotName = "mute" // Internal @@ -259,7 +345,7 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /* number= */ 0, "externalDescription", ) - underTest.setIcon(slotName, startingExternalIcon) + commandQueueCallbacks.setIcon(slotName, startingExternalIcon) // WHEN the external icon is updated val newExternalIcon = @@ -271,7 +357,7 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { /* number= */ 0, "newExternalDescription", ) - underTest.setIcon(slotName, newExternalIcon) + commandQueueCallbacks.setIcon(slotName, newExternalIcon) // THEN only the external slot gets the updates val externalSlot = iconList.slots[0] @@ -289,8 +375,16 @@ class StatusBarIconControllerImplTest : SysuiTestCase() { } @Test - fun externalSlot_alreadyEndsWithSuffix_suffixNotAddedTwice() { - underTest.setIcon("myslot$EXTERNAL_SLOT_SUFFIX", createExternalIcon()) + fun externalSlot_fromTile_alreadyEndsWithSuffix_suffixNotAddedTwice() { + underTest.setIconFromTile("myslot$EXTERNAL_SLOT_SUFFIX", createExternalIcon()) + + assertThat(iconList.slots).hasSize(1) + assertThat(iconList.slots[0].name).isEqualTo("myslot$EXTERNAL_SLOT_SUFFIX") + } + + @Test + fun externalSlot_fromCommandQueue_alreadyEndsWithSuffix_suffixNotAddedTwice() { + commandQueueCallbacks.setIcon("myslot$EXTERNAL_SLOT_SUFFIX", createExternalIcon()) assertThat(iconList.slots).hasSize(1) assertThat(iconList.slots[0].name).isEqualTo("myslot$EXTERNAL_SLOT_SUFFIX") diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java index d9546877a861..14aee4e13a8f 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManagerTest.java @@ -154,7 +154,6 @@ public class StatusBarKeyguardViewManagerTest extends SysuiTestCase { @Before public void setUp() { MockitoAnnotations.initMocks(this); - when(mCentralSurfaces.getBouncerContainer()).thenReturn(mContainer); when(mContainer.findViewById(anyInt())).thenReturn(mKeyguardMessageArea); when(mKeyguardMessageAreaFactory.create(any(KeyguardMessageArea.class))) .thenReturn(mKeyguardMessageAreaController); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java index 64545b16a2af..be0c83f910f2 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/fragment/CollapsedStatusBarFragmentTest.java @@ -294,6 +294,13 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { } @Test + public void userChip_defaultVisibilityIsGone() { + CollapsedStatusBarFragment fragment = resumeAndGetFragment(); + + assertEquals(View.GONE, getUserChipView().getVisibility()); + } + + @Test public void disable_noOngoingCall_chipHidden() { CollapsedStatusBarFragment fragment = resumeAndGetFragment(); @@ -333,6 +340,19 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { } @Test + public void disable_hasOngoingCallButAlsoHun_chipHidden() { + CollapsedStatusBarFragment fragment = resumeAndGetFragment(); + + when(mOngoingCallController.hasOngoingCall()).thenReturn(true); + when(mHeadsUpAppearanceController.shouldBeVisible()).thenReturn(true); + + fragment.disable(DEFAULT_DISPLAY, 0, 0, false); + + assertEquals(View.GONE, + mFragment.getView().findViewById(R.id.ongoing_call_chip).getVisibility()); + } + + @Test public void disable_ongoingCallEnded_chipHidden() { CollapsedStatusBarFragment fragment = resumeAndGetFragment(); @@ -558,6 +578,10 @@ public class CollapsedStatusBarFragmentTest extends SysuiBaseFragmentTest { return (CollapsedStatusBarFragment) mFragment; } + private View getUserChipView() { + return mFragment.getView().findViewById(R.id.user_switcher_container); + } + private View getClockView() { return mFragment.getView().findViewById(R.id.clock); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt index 542b688b162d..934e1c64c6da 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionRepositoryTest.kt @@ -25,7 +25,6 @@ import android.telephony.ServiceState.STATE_OUT_OF_SERVICE import android.telephony.TelephonyCallback import android.telephony.TelephonyCallback.DataActivityListener import android.telephony.TelephonyCallback.ServiceStateListener -import android.telephony.TelephonyDisplayInfo import android.telephony.TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_LTE_CA import android.telephony.TelephonyDisplayInfo.OVERRIDE_NETWORK_TYPE_NONE import android.telephony.TelephonyManager @@ -68,6 +67,7 @@ import com.android.systemui.statusbar.pipeline.mobile.data.model.toNetworkNameMo import com.android.systemui.statusbar.pipeline.mobile.data.repository.FakeMobileConnectionsRepository import com.android.systemui.statusbar.pipeline.mobile.data.repository.MobileConnectionRepository.Companion.DEFAULT_NUM_LEVELS import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.MobileTelephonyHelpers.signalStrength +import com.android.systemui.statusbar.pipeline.mobile.data.repository.prod.MobileTelephonyHelpers.telephonyDisplayInfo import com.android.systemui.statusbar.pipeline.mobile.util.FakeMobileMappingsProxy import com.android.systemui.statusbar.pipeline.shared.data.model.DataActivityModel import com.android.systemui.statusbar.pipeline.shared.data.model.toMobileDataActivityModel @@ -392,13 +392,17 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { val job = underTest.resolvedNetworkType.onEach { latest = it }.launchIn(this) val callback = getTelephonyCallbackForType<TelephonyCallback.DisplayInfoListener>() - val type = NETWORK_TYPE_UNKNOWN - val expected = UnknownNetworkType - val ti = mock<TelephonyDisplayInfo>().also { whenever(it.networkType).thenReturn(type) } + val ti = + telephonyDisplayInfo( + networkType = NETWORK_TYPE_UNKNOWN, + overrideNetworkType = NETWORK_TYPE_UNKNOWN, + ) + callback.onDisplayInfoChanged(ti) + val expected = UnknownNetworkType assertThat(latest).isEqualTo(expected) - assertThat(latest!!.lookupKey).isEqualTo(MobileMappings.toIconKey(type)) + assertThat(latest!!.lookupKey).isEqualTo(MobileMappings.toIconKey(NETWORK_TYPE_UNKNOWN)) job.cancel() } @@ -412,14 +416,10 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { val callback = getTelephonyCallbackForType<TelephonyCallback.DisplayInfoListener>() val overrideType = OVERRIDE_NETWORK_TYPE_NONE val type = NETWORK_TYPE_LTE - val expected = DefaultNetworkType(mobileMappings.toIconKey(type)) - val ti = - mock<TelephonyDisplayInfo>().also { - whenever(it.overrideNetworkType).thenReturn(overrideType) - whenever(it.networkType).thenReturn(type) - } + val ti = telephonyDisplayInfo(networkType = type, overrideNetworkType = overrideType) callback.onDisplayInfoChanged(ti) + val expected = DefaultNetworkType(mobileMappings.toIconKey(type)) assertThat(latest).isEqualTo(expected) job.cancel() @@ -433,14 +433,10 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { val callback = getTelephonyCallbackForType<TelephonyCallback.DisplayInfoListener>() val type = OVERRIDE_NETWORK_TYPE_LTE_CA - val expected = OverrideNetworkType(mobileMappings.toIconKeyOverride(type)) - val ti = - mock<TelephonyDisplayInfo>().also { - whenever(it.networkType).thenReturn(type) - whenever(it.overrideNetworkType).thenReturn(type) - } + val ti = telephonyDisplayInfo(networkType = type, overrideNetworkType = type) callback.onDisplayInfoChanged(ti) + val expected = OverrideNetworkType(mobileMappings.toIconKeyOverride(type)) assertThat(latest).isEqualTo(expected) job.cancel() @@ -455,14 +451,10 @@ class MobileConnectionRepositoryTest : SysuiTestCase() { val callback = getTelephonyCallbackForType<TelephonyCallback.DisplayInfoListener>() val unknown = NETWORK_TYPE_UNKNOWN val type = OVERRIDE_NETWORK_TYPE_LTE_CA - val expected = OverrideNetworkType(mobileMappings.toIconKeyOverride(type)) - val ti = - mock<TelephonyDisplayInfo>().also { - whenever(it.networkType).thenReturn(unknown) - whenever(it.overrideNetworkType).thenReturn(type) - } + val ti = telephonyDisplayInfo(unknown, type) callback.onDisplayInfoChanged(ti) + val expected = OverrideNetworkType(mobileMappings.toIconKeyOverride(type)) assertThat(latest).isEqualTo(expected) job.cancel() diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionTelephonySmokeTests.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionTelephonySmokeTests.kt index bbf04ed28fd7..9da9ff72d380 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionTelephonySmokeTests.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileConnectionTelephonySmokeTests.kt @@ -64,10 +64,14 @@ import org.mockito.MockitoAnnotations * * Kind of like an interaction test case build just for [TelephonyCallback] * - * The list of telephony callbacks we use is: [TelephonyCallback.CarrierNetworkListener] - * [TelephonyCallback.DataActivityListener] [TelephonyCallback.DataConnectionStateListener] - * [TelephonyCallback.DataEnabledListener] [TelephonyCallback.DisplayInfoListener] - * [TelephonyCallback.ServiceStateListener] [TelephonyCallback.SignalStrengthsListener] + * The list of telephony callbacks we use is: + * - [TelephonyCallback.CarrierNetworkListener] + * - [TelephonyCallback.DataActivityListener] + * - [TelephonyCallback.DataConnectionStateListener] + * - [TelephonyCallback.DataEnabledListener] + * - [TelephonyCallback.DisplayInfoListener] + * - [TelephonyCallback.ServiceStateListener] + * - [TelephonyCallback.SignalStrengthsListener] * * Because each of these callbacks comes in on the same callbackFlow, collecting on a field backed * by only a single callback can immediately create backpressure on the other fields related to a @@ -201,7 +205,6 @@ class MobileConnectionTelephonySmokeTests : SysuiTestCase() { 200 /* unused */ ) - // Send a bunch of events that we don't care about, to overrun the replay buffer flipActivity(100, activityCallback) val connectionJob = underTest.dataConnectionState.onEach { latest = it }.launchIn(this) @@ -225,7 +228,6 @@ class MobileConnectionTelephonySmokeTests : SysuiTestCase() { enabledCallback.onDataEnabledChanged(true, 1 /* unused */) - // Send a bunch of events that we don't care about, to overrun the replay buffer flipActivity(100, activityCallback) val job = underTest.dataEnabled.onEach { latest = it }.launchIn(this) @@ -252,7 +254,6 @@ class MobileConnectionTelephonySmokeTests : SysuiTestCase() { val ti = mock<TelephonyDisplayInfo>().also { whenever(it.networkType).thenReturn(type) } displayInfoCallback.onDisplayInfoChanged(ti) - // Send a bunch of events that we don't care about, to overrun the replay buffer flipActivity(100, activityCallback) val job = underTest.resolvedNetworkType.onEach { latest = it }.launchIn(this) diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileTelephonyHelpers.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileTelephonyHelpers.kt index d07b96f6609e..cf815c27a0bf 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileTelephonyHelpers.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/pipeline/mobile/data/repository/prod/MobileTelephonyHelpers.kt @@ -19,6 +19,7 @@ package com.android.systemui.statusbar.pipeline.mobile.data.repository.prod import android.telephony.CellSignalStrengthCdma import android.telephony.SignalStrength import android.telephony.TelephonyCallback +import android.telephony.TelephonyDisplayInfo import android.telephony.TelephonyManager import com.android.systemui.util.mockito.any import com.android.systemui.util.mockito.argumentCaptor @@ -48,6 +49,12 @@ object MobileTelephonyHelpers { return signalStrength } + fun telephonyDisplayInfo(networkType: Int, overrideNetworkType: Int) = + mock<TelephonyDisplayInfo>().also { + whenever(it.networkType).thenReturn(networkType) + whenever(it.overrideNetworkType).thenReturn(overrideNetworkType) + } + inline fun <reified T> getTelephonyCallbackForType(mockTelephonyManager: TelephonyManager): T { val cbs = getTelephonyCallbacks(mockTelephonyManager).filterIsInstance<T>() assertThat(cbs.size).isEqualTo(1) diff --git a/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt index 4525ad27b749..17f8ec2136a4 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/stylus/StylusManagerTest.kt @@ -507,11 +507,29 @@ class StylusManagerTest : SysuiTestCase() { stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState) verify(uiEventLogger, times(1)) - .logWithInstanceId( + .logWithInstanceIdAndPosition( StylusUiEvent.USI_STYLUS_BATTERY_PRESENCE_FIRST_DETECTED, 0, null, - InstanceId.fakeInstanceId(instanceIdSequenceFake.lastInstanceId) + InstanceId.fakeInstanceId(instanceIdSequenceFake.lastInstanceId), + 0, + ) + } + + @Test + fun onBatteryStateChanged_batteryPresent_btStylusPresent_logsSessionStart() { + whenever(batteryState.isPresent).thenReturn(true) + stylusManager.onInputDeviceAdded(BT_STYLUS_DEVICE_ID) + + stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState) + + verify(uiEventLogger, times(1)) + .logWithInstanceIdAndPosition( + StylusUiEvent.USI_STYLUS_BATTERY_PRESENCE_FIRST_DETECTED, + 0, + null, + InstanceId.fakeInstanceId(instanceIdSequenceFake.lastInstanceId), + 1, ) } @@ -545,19 +563,21 @@ class StylusManagerTest : SysuiTestCase() { stylusManager.onBatteryStateChanged(STYLUS_DEVICE_ID, 1, batteryState) verify(uiEventLogger, times(1)) - .logWithInstanceId( + .logWithInstanceIdAndPosition( StylusUiEvent.USI_STYLUS_BATTERY_PRESENCE_FIRST_DETECTED, 0, null, - instanceId + instanceId, + 0 ) verify(uiEventLogger, times(1)) - .logWithInstanceId( + .logWithInstanceIdAndPosition( StylusUiEvent.USI_STYLUS_BATTERY_PRESENCE_REMOVED, 0, null, - instanceId + instanceId, + 0 ) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/temporarydisplay/chipbar/ChipbarCoordinatorTest.kt b/packages/SystemUI/tests/src/com/android/systemui/temporarydisplay/chipbar/ChipbarCoordinatorTest.kt index 586bdc6c8215..6e24941ac937 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/temporarydisplay/chipbar/ChipbarCoordinatorTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/temporarydisplay/chipbar/ChipbarCoordinatorTest.kt @@ -685,7 +685,7 @@ class ChipbarCoordinatorTest : SysuiTestCase() { allowSwipeToDismiss: Boolean = false, ): ChipbarInfo { return ChipbarInfo( - TintedIcon(startIcon, tintAttr = null), + TintedIcon(startIcon, tint = null), text, endItem, vibrationEffect, diff --git a/packages/SystemUI/tests/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProviderTest.kt b/packages/SystemUI/tests/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProviderTest.kt index 0413d92b6abb..9fe2f5694dde 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProviderTest.kt +++ b/packages/SystemUI/tests/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProviderTest.kt @@ -40,7 +40,7 @@ class PhysicsBasedUnfoldTransitionProgressProviderTest : SysuiTestCase() { @Before fun setUp() { - progressProvider = PhysicsBasedUnfoldTransitionProgressProvider(foldStateProvider) + progressProvider = PhysicsBasedUnfoldTransitionProgressProvider(context, foldStateProvider) progressProvider.addCallback(listener) } diff --git a/packages/SystemUI/tests/src/com/android/systemui/util/sensors/PostureDependentProximitySensorTest.java b/packages/SystemUI/tests/src/com/android/systemui/util/sensors/PostureDependentProximitySensorTest.java index 075f393df15a..84129beea92a 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/util/sensors/PostureDependentProximitySensorTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/util/sensors/PostureDependentProximitySensorTest.java @@ -16,10 +16,16 @@ package com.android.systemui.util.sensors; +import static com.android.systemui.statusbar.policy.DevicePostureController.DEVICE_POSTURE_CLOSED; + import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import android.content.res.Resources; +import android.hardware.Sensor; import android.testing.AndroidTestingRunner; import android.testing.TestableLooper; @@ -46,28 +52,52 @@ public class PostureDependentProximitySensorTest extends SysuiTestCase { @Mock private Resources mResources; @Mock private DevicePostureController mDevicePostureController; @Mock private AsyncSensorManager mSensorManager; + @Mock private Sensor mMockedPrimaryProxSensor; @Captor private ArgumentCaptor<DevicePostureController.Callback> mPostureListenerCaptor = ArgumentCaptor.forClass(DevicePostureController.Callback.class); private DevicePostureController.Callback mPostureListener; - private PostureDependentProximitySensor mProximitySensor; - private FakeExecutor mFakeExecutor = new FakeExecutor(new FakeSystemClock()); + private PostureDependentProximitySensor mPostureDependentProximitySensor; + private ThresholdSensor[] mPrimaryProxSensors; + private ThresholdSensor[] mSecondaryProxSensors; @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); allowTestableLooperAsMainThread(); - mProximitySensor = new PostureDependentProximitySensor( - new ThresholdSensor[DevicePostureController.SUPPORTED_POSTURES_SIZE], - new ThresholdSensor[DevicePostureController.SUPPORTED_POSTURES_SIZE], - mFakeExecutor, + setupProximitySensors(DEVICE_POSTURE_CLOSED); + mPostureDependentProximitySensor = new PostureDependentProximitySensor( + mPrimaryProxSensors, + mSecondaryProxSensors, + new FakeExecutor(new FakeSystemClock()), new FakeExecution(), mDevicePostureController ); } + /** + * Support a proximity sensor only for the given devicePosture for the primary sensor. + * Otherwise, all other postures don't support prox. + */ + private void setupProximitySensors( + @DevicePostureController.DevicePostureInt int proxExistsForPosture) { + final ThresholdSensorImpl.Builder sensorBuilder = new ThresholdSensorImpl.BuilderFactory( + mResources, mSensorManager, new FakeExecution()).createBuilder(); + + mPrimaryProxSensors = new ThresholdSensor[DevicePostureController.SUPPORTED_POSTURES_SIZE]; + mSecondaryProxSensors = + new ThresholdSensor[DevicePostureController.SUPPORTED_POSTURES_SIZE]; + for (int i = 0; i < DevicePostureController.SUPPORTED_POSTURES_SIZE; i++) { + mPrimaryProxSensors[i] = sensorBuilder.setSensor(null).setThresholdValue(0).build(); + mSecondaryProxSensors[i] = sensorBuilder.setSensor(null).setThresholdValue(0).build(); + } + + mPrimaryProxSensors[proxExistsForPosture] = sensorBuilder + .setSensor(mMockedPrimaryProxSensor).setThresholdValue(5).build(); + } + @Test public void testPostureChangeListenerAdded() { capturePostureListener(); @@ -83,30 +113,59 @@ public class PostureDependentProximitySensorTest extends SysuiTestCase { // THEN device posture is updated to DEVICE_POSTURE_OPENED assertEquals(DevicePostureController.DEVICE_POSTURE_OPENED, - mProximitySensor.mDevicePosture); + mPostureDependentProximitySensor.mDevicePosture); // WHEN the posture changes to DEVICE_POSTURE_CLOSED - mPostureListener.onPostureChanged(DevicePostureController.DEVICE_POSTURE_CLOSED); + mPostureListener.onPostureChanged(DEVICE_POSTURE_CLOSED); // THEN device posture is updated to DEVICE_POSTURE_CLOSED - assertEquals(DevicePostureController.DEVICE_POSTURE_CLOSED, - mProximitySensor.mDevicePosture); + assertEquals(DEVICE_POSTURE_CLOSED, + mPostureDependentProximitySensor.mDevicePosture); // WHEN the posture changes to DEVICE_POSTURE_FLIPPED mPostureListener.onPostureChanged(DevicePostureController.DEVICE_POSTURE_FLIPPED); // THEN device posture is updated to DEVICE_POSTURE_FLIPPED assertEquals(DevicePostureController.DEVICE_POSTURE_FLIPPED, - mProximitySensor.mDevicePosture); + mPostureDependentProximitySensor.mDevicePosture); // WHEN the posture changes to DEVICE_POSTURE_HALF_OPENED mPostureListener.onPostureChanged(DevicePostureController.DEVICE_POSTURE_HALF_OPENED); // THEN device posture is updated to DEVICE_POSTURE_HALF_OPENED assertEquals(DevicePostureController.DEVICE_POSTURE_HALF_OPENED, - mProximitySensor.mDevicePosture); + mPostureDependentProximitySensor.mDevicePosture); + } + + @Test + public void proxSensorRegisters_proxSensorValid() { + // GIVEN posture that supports a valid posture with a prox sensor + capturePostureListener(); + mPostureListener.onPostureChanged(DEVICE_POSTURE_CLOSED); + + // WHEN a listener registers + mPostureDependentProximitySensor.register(mock(ThresholdSensor.Listener.class)); + + // THEN PostureDependentProximitySensor is registered + assertTrue(mPostureDependentProximitySensor.isRegistered()); + } + + @Test + public void proxSensorReregisters_postureChangesAndNewlySupportsProx() { + // GIVEN there's a registered listener but posture doesn't support prox + assertFalse(mPostureDependentProximitySensor.isRegistered()); + mPostureDependentProximitySensor.register(mock(ThresholdSensor.Listener.class)); + assertFalse(mPostureDependentProximitySensor.isRegistered()); + + // WHEN posture that supports a valid posture with a prox sensor + capturePostureListener(); + mPostureListener.onPostureChanged(DEVICE_POSTURE_CLOSED); + + // THEN PostureDependentProximitySensor is registered + assertTrue(mPostureDependentProximitySensor.isRegistered()); } + private void capturePostureListener() { verify(mDevicePostureController).addCallback(mPostureListenerCaptor.capture()); mPostureListener = mPostureListenerCaptor.getValue(); diff --git a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java index ee4e00baafe6..cc3b4ab0fb4e 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/wmshell/BubblesTest.java @@ -284,6 +284,8 @@ public class BubblesTest extends SysuiTestCase { private ShadeWindowLogger mShadeWindowLogger; @Mock private NotifPipelineFlags mNotifPipelineFlags; + @Mock + private Icon mAppBubbleIcon; private TestableBubblePositioner mPositioner; @@ -303,7 +305,7 @@ public class BubblesTest extends SysuiTestCase { // For the purposes of this test, just run everything synchronously ShellExecutor syncExecutor = new SyncExecutor(); - mUser0 = createUserHande(/* userId= */ 0); + mUser0 = createUserHandle(/* userId= */ 0); when(mColorExtractor.getNeutralColors()).thenReturn(mGradientColors); when(mNotificationShadeWindowView.getViewTreeObserver()) @@ -1250,7 +1252,7 @@ public class BubblesTest extends SysuiTestCase { @Test public void testShowManageMenuChangesSysuiState_appBubble() { - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); assertTrue(mBubbleController.hasBubbles()); // Expand the stack @@ -1671,7 +1673,7 @@ public class BubblesTest extends SysuiTestCase { assertThat(mBubbleController.isStackExpanded()).isFalse(); assertThat(mBubbleData.getBubbleInStackWithKey(KEY_APP_BUBBLE)).isNull(); - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); verify(mBubbleController).inflateAndAdd(any(Bubble.class), /* suppressFlyout= */ eq(true), /* showInShade= */ eq(false)); @@ -1681,13 +1683,13 @@ public class BubblesTest extends SysuiTestCase { @Test public void testShowOrHideAppBubble_expandIfCollapsed() { - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); mBubbleController.updateBubble(mBubbleEntry); mBubbleController.collapseStack(); assertThat(mBubbleController.isStackExpanded()).isFalse(); // Calling this while collapsed will expand the app bubble - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(KEY_APP_BUBBLE); assertThat(mBubbleController.isStackExpanded()).isTrue(); @@ -1696,12 +1698,12 @@ public class BubblesTest extends SysuiTestCase { @Test public void testShowOrHideAppBubble_collapseIfSelected() { - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(KEY_APP_BUBBLE); assertThat(mBubbleController.isStackExpanded()).isTrue(); // Calling this while the app bubble is expanded should collapse the stack - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(KEY_APP_BUBBLE); assertThat(mBubbleController.isStackExpanded()).isFalse(); @@ -1711,15 +1713,15 @@ public class BubblesTest extends SysuiTestCase { @Test public void testShowOrHideAppBubbleWithNonPrimaryUser_bubbleCollapsedWithExpectedUser() { - UserHandle user10 = createUserHande(/* userId = */ 10); - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, user10); + UserHandle user10 = createUserHandle(/* userId = */ 10); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, user10, mAppBubbleIcon); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(KEY_APP_BUBBLE); assertThat(mBubbleController.isStackExpanded()).isTrue(); assertThat(mBubbleData.getBubbles().size()).isEqualTo(1); assertThat(mBubbleData.getBubbles().get(0).getUser()).isEqualTo(user10); // Calling this while the app bubble is expanded should collapse the stack - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, user10); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, user10, mAppBubbleIcon); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(KEY_APP_BUBBLE); assertThat(mBubbleController.isStackExpanded()).isFalse(); @@ -1729,13 +1731,13 @@ public class BubblesTest extends SysuiTestCase { @Test public void testShowOrHideAppBubble_selectIfNotSelected() { - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); mBubbleController.updateBubble(mBubbleEntry); mBubbleController.expandStackAndSelectBubble(mBubbleEntry); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(mBubbleEntry.getKey()); assertThat(mBubbleController.isStackExpanded()).isTrue(); - mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0); + mBubbleController.showOrHideAppBubble(mAppBubbleIntent, mUser0, mAppBubbleIcon); assertThat(mBubbleData.getSelectedBubble().getKey()).isEqualTo(KEY_APP_BUBBLE); assertThat(mBubbleController.isStackExpanded()).isTrue(); assertThat(mBubbleData.getBubbles().size()).isEqualTo(2); @@ -1870,7 +1872,7 @@ public class BubblesTest extends SysuiTestCase { mBubbleController.onUserChanged(userId); } - private UserHandle createUserHande(int userId) { + private UserHandle createUserHandle(int userId) { UserHandle user = mock(UserHandle.class); when(user.getIdentifier()).thenReturn(userId); return user; diff --git a/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeStatusBarIconController.java b/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeStatusBarIconController.java index 926c6c56a862..c664c99cf2a7 100644 --- a/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeStatusBarIconController.java +++ b/packages/SystemUI/tests/utils/src/com/android/systemui/utils/leaks/FakeStatusBarIconController.java @@ -47,17 +47,17 @@ public class FakeStatusBarIconController extends BaseLeakChecker<IconManager> } @Override - public void setExternalIcon(String slot) { + public void setIconFromTile(String slot, StatusBarIcon icon) { } @Override - public void setIcon(String slot, int resourceId, CharSequence contentDescription) { + public void removeIconForTile(String slot) { } @Override - public void setIcon(String slot, StatusBarIcon icon) { + public void setIcon(String slot, int resourceId, CharSequence contentDescription) { } @@ -98,10 +98,6 @@ public class FakeStatusBarIconController extends BaseLeakChecker<IconManager> } @Override - public void removeAllIconsForExternalSlot(String slot) { - } - - @Override public void setIconAccessibilityLiveRegion(String slot, int mode) { } diff --git a/packages/SystemUI/unfold/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProvider.kt b/packages/SystemUI/unfold/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProvider.kt index 28e493651137..f8f168bd4dc1 100644 --- a/packages/SystemUI/unfold/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProvider.kt +++ b/packages/SystemUI/unfold/src/com/android/systemui/unfold/progress/PhysicsBasedUnfoldTransitionProgressProvider.kt @@ -15,8 +15,15 @@ */ package com.android.systemui.unfold.progress +import android.animation.Animator +import android.animation.AnimatorListenerAdapter +import android.animation.ObjectAnimator +import android.animation.ValueAnimator +import android.content.Context import android.os.Trace +import android.util.FloatProperty import android.util.Log +import android.view.animation.AnimationUtils.loadInterpolator import androidx.dynamicanimation.animation.DynamicAnimation import androidx.dynamicanimation.animation.FloatPropertyCompat import androidx.dynamicanimation.animation.SpringAnimation @@ -34,14 +41,22 @@ import com.android.systemui.unfold.updates.name import javax.inject.Inject /** Maps fold updates to unfold transition progress using DynamicAnimation. */ -class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( - private val foldStateProvider: FoldStateProvider -) : UnfoldTransitionProgressProvider, FoldUpdatesListener, DynamicAnimation.OnAnimationEndListener { +class PhysicsBasedUnfoldTransitionProgressProvider +@Inject +constructor(context: Context, private val foldStateProvider: FoldStateProvider) : + UnfoldTransitionProgressProvider, FoldUpdatesListener, DynamicAnimation.OnAnimationEndListener { + + private val emphasizedInterpolator = + loadInterpolator(context, android.R.interpolator.fast_out_extra_slow_in) + + private var cannedAnimator: ValueAnimator? = null private val springAnimation = - SpringAnimation(this, AnimationProgressProperty).apply { - addEndListener(this@PhysicsBasedUnfoldTransitionProgressProvider) - } + SpringAnimation( + this, + FloatPropertyCompat.createFloatPropertyCompat(AnimationProgressProperty) + ) + .apply { addEndListener(this@PhysicsBasedUnfoldTransitionProgressProvider) } private var isTransitionRunning = false private var isAnimatedCancelRunning = false @@ -76,7 +91,8 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( override fun onFoldUpdate(@FoldUpdate update: Int) { when (update) { - FOLD_UPDATE_FINISH_FULL_OPEN, FOLD_UPDATE_FINISH_HALF_OPEN -> { + FOLD_UPDATE_FINISH_FULL_OPEN, + FOLD_UPDATE_FINISH_HALF_OPEN -> { // Do not cancel if we haven't started the transition yet. // This could happen when we fully unfolded the device before the screen // became available. In this case we start and immediately cancel the animation @@ -100,6 +116,14 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( // the transition continues running. if (isAnimatedCancelRunning) { isAnimatedCancelRunning = false + + // Switching to spring animation, start the animation if it + // is not running already + springAnimation.animateToFinalPosition(1.0f) + + cannedAnimator?.removeAllListeners() + cannedAnimator?.cancel() + cannedAnimator = null } } else { startTransition(startValue = 1f) @@ -130,13 +154,22 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( } isAnimatedCancelRunning = true - springAnimation.animateToFinalPosition(endValue) + + if (USE_CANNED_ANIMATION) { + startCannedCancelAnimation() + } else { + springAnimation.animateToFinalPosition(endValue) + } } else { transitionProgress = endValue isAnimatedCancelRunning = false isTransitionRunning = false springAnimation.cancel() + cannedAnimator?.removeAllListeners() + cannedAnimator?.cancel() + cannedAnimator = null + listeners.forEach { it.onTransitionFinished() } if (DEBUG) { @@ -157,7 +190,7 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( } private fun onStartTransition() { - Trace.beginSection( "$TAG#onStartTransition") + Trace.beginSection("$TAG#onStartTransition") listeners.forEach { it.onTransitionStarted() } Trace.endSection() @@ -195,8 +228,39 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( listeners.remove(listener) } + private fun startCannedCancelAnimation() { + cannedAnimator?.cancel() + cannedAnimator = null + + // Temporary remove listener to cancel the spring animation without + // finishing the transition + springAnimation.removeEndListener(this) + springAnimation.cancel() + springAnimation.addEndListener(this) + + cannedAnimator = + ObjectAnimator.ofFloat(this, AnimationProgressProperty, transitionProgress, 1f).apply { + addListener(CannedAnimationListener()) + duration = + (CANNED_ANIMATION_DURATION_MS.toFloat() * (1f - transitionProgress)).toLong() + interpolator = emphasizedInterpolator + start() + } + } + + private inner class CannedAnimationListener : AnimatorListenerAdapter() { + override fun onAnimationStart(animator: Animator) { + Trace.beginAsyncSection("$TAG#cannedAnimatorRunning", 0) + } + + override fun onAnimationEnd(animator: Animator) { + cancelTransition(1f, animate = false) + Trace.endAsyncSection("$TAG#cannedAnimatorRunning", 0) + } + } + private object AnimationProgressProperty : - FloatPropertyCompat<PhysicsBasedUnfoldTransitionProgressProvider>("animation_progress") { + FloatProperty<PhysicsBasedUnfoldTransitionProgressProvider>("animation_progress") { override fun setValue( provider: PhysicsBasedUnfoldTransitionProgressProvider, @@ -205,7 +269,7 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( provider.transitionProgress = value } - override fun getValue(provider: PhysicsBasedUnfoldTransitionProgressProvider): Float = + override fun get(provider: PhysicsBasedUnfoldTransitionProgressProvider): Float = provider.transitionProgress } } @@ -213,6 +277,8 @@ class PhysicsBasedUnfoldTransitionProgressProvider @Inject constructor( private const val TAG = "PhysicsBasedUnfoldTransitionProgressProvider" private const val DEBUG = true +private const val USE_CANNED_ANIMATION = true +private const val CANNED_ANIMATION_DURATION_MS = 1000 private const val SPRING_STIFFNESS = 600.0f private const val MINIMAL_VISIBLE_CHANGE = 0.001f private const val FINAL_HINGE_ANGLE_POSITION = 165f diff --git a/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java b/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java index ee806a67ce42..1298f638b01c 100644 --- a/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java +++ b/packages/services/CameraExtensionsProxy/src/com/android/cameraextensions/CameraExtensionsProxyService.java @@ -2076,6 +2076,7 @@ public class CameraExtensionsProxyService extends Service { ret.outputId.id = output.getId(); ret.physicalCameraId = output.getPhysicalCameraId(); ret.surfaceGroupId = output.getSurfaceGroupId(); + ret.isMultiResolutionOutput = false; if (output instanceof SurfaceOutputConfigImpl) { SurfaceOutputConfigImpl surfaceConfig = (SurfaceOutputConfigImpl) output; ret.type = CameraOutputConfig.TYPE_SURFACE; @@ -2095,6 +2096,7 @@ public class CameraExtensionsProxyService extends Service { ret.type = CameraOutputConfig.TYPE_MULTIRES_IMAGEREADER; ret.imageFormat = multiResReaderConfig.getImageFormat(); ret.capacity = multiResReaderConfig.getMaxImages(); + ret.isMultiResolutionOutput = true; } else { throw new IllegalStateException("Unknown output config type!"); } diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 0edb8f27d413..e5c9be0e6ffc 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -3884,6 +3884,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub } } + @Override public boolean isAccessibilityTargetAllowed(String packageName, int uid, int userId) { final long identity = Binder.clearCallingIdentity(); try { @@ -3907,6 +3908,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub } } + @Override public boolean sendRestrictedDialogIntent(String packageName, int uid, int userId) { // The accessibility service is allowed. Don't show the restricted dialog. if (isAccessibilityTargetAllowed(packageName, uid, userId)) { diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java index 01386da08314..af5b196fe93d 100644 --- a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java +++ b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java @@ -383,7 +383,7 @@ public final class AutofillManagerService final AutofillManagerServiceImpl service = peekServiceForUserLocked(userId); if (service == null) { // If we cannot get the service from the services cache, it will call - // updateRemoteAugmentedAutofillService() finally. Skip call this update again. + // updateRemoteFieldClassificationService() finally. Skip call this update again. getServiceForUserLocked(userId); } else { service.updateRemoteFieldClassificationService(); diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java index bea049cb92dd..d5dcdaf3c7b0 100644 --- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java +++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java @@ -1731,7 +1731,7 @@ final class AutofillManagerServiceImpl } /** - * Called when the {@link AutofillManagerService#mAugmentedAutofillResolver} + * Called when the {@link AutofillManagerService#mFieldClassificationResolver} * changed (among other places). */ void updateRemoteFieldClassificationService() { @@ -1742,7 +1742,6 @@ final class AutofillManagerServiceImpl + "destroying old remote service"); } mRemoteFieldClassificationService.unbind(); - mRemoteFieldClassificationService = null; mRemoteFieldClassificationServiceInfo = null; } diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java index b4e636e602d4..62a29705f62e 100644 --- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java +++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceShellCommand.java @@ -327,13 +327,11 @@ public final class AutofillManagerServiceShellCommand extends ShellCommand { private int setTemporaryDetectionService(PrintWriter pw) { final int userId = getNextIntArgRequired(); final String serviceName = getNextArg(); - final int duration = getNextIntArgRequired(); - if (serviceName == null) { mService.resetTemporaryDetectionService(userId); return 0; } - + final int duration = getNextIntArgRequired(); if (duration <= 0) { mService.resetTemporaryDetectionService(userId); return 0; diff --git a/services/autofill/java/com/android/server/autofill/FillRequestEventLogger.java b/services/autofill/java/com/android/server/autofill/FillRequestEventLogger.java new file mode 100644 index 000000000000..3b30af69d02b --- /dev/null +++ b/services/autofill/java/com/android/server/autofill/FillRequestEventLogger.java @@ -0,0 +1,268 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.autofill; + +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_EXPLICITLY_REQUESTED; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_NORMAL_TRIGGER; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_PRE_TRIGGER; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_RETRIGGER; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_SERVED_FROM_CACHED_RESPONSE; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_UNKNOWN; +import static com.android.server.autofill.Helper.sVerbose; + +import android.annotation.IntDef; +import android.content.ComponentName; +import android.content.Context; +import android.content.pm.PackageManager; +import android.provider.Settings; +import android.text.TextUtils; +import android.util.Slog; + +import com.android.internal.util.FrameworkStatsLog; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.Optional; + +/** + * Helper class to log Autofill FillRequest filing stats. + */ +public final class FillRequestEventLogger { + private static final String TAG = "FillRequestEventLogger"; + + /** + * Reasons why presentation was not shown. These are wrappers around + * {@link com.android.os.AtomsProto.AutofillFillRequestReported.RequestTriggerReason}. + */ + @IntDef(prefix = {"TRIGGER_REASON"}, value = { + TRIGGER_REASON_UNKNOWN, + TRIGGER_REASON_EXPLICITLY_REQUESTED, + TRIGGER_REASON_RETRIGGER, + TRIGGER_REASON_PRE_TRIGGER, + TRIGGER_REASON_NORMAL_TRIGGER, + TRIGGER_REASON_SERVED_FROM_CACHED_RESPONSE + }) + @Retention(RetentionPolicy.SOURCE) + public @interface TriggerReason { + } + + public static final int TRIGGER_REASON_UNKNOWN = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_UNKNOWN; + public static final int TRIGGER_REASON_EXPLICITLY_REQUESTED = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_EXPLICITLY_REQUESTED; + public static final int TRIGGER_REASON_RETRIGGER = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_RETRIGGER; + public static final int TRIGGER_REASON_PRE_TRIGGER = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_PRE_TRIGGER; + public static final int TRIGGER_REASON_NORMAL_TRIGGER = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_NORMAL_TRIGGER; + public static final int TRIGGER_REASON_SERVED_FROM_CACHED_RESPONSE = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_SERVED_FROM_CACHED_RESPONSE; + + private final int mSessionId; + private Optional<FillRequestEventInternal> mEventInternal; + + private FillRequestEventLogger(int sessionId) { + mSessionId = sessionId; + mEventInternal = Optional.empty(); + } + + /** + * A factory constructor to create FillRequestEventLogger. + */ + public static FillRequestEventLogger forSessionId(int sessionId) { + return new FillRequestEventLogger(sessionId); + } + /** + * Reset mEventInternal before logging for a new request. It shall be called for each + * FillRequest. + */ + public void startLogForNewRequest() { + if (!mEventInternal.isEmpty()) { + Slog.w(TAG, "FillRequestEventLogger is not empty before starting for a new " + + "request"); + } + mEventInternal = Optional.of(new FillRequestEventInternal()); + } + + /** + * Set request_id as long as mEventInternal presents. + */ + public void maybeSetRequestId(int requestId) { + mEventInternal.ifPresent(event -> event.mRequestId = requestId); + } + + /** + * Set service_uid as long as mEventInternal presents. + */ + public void maybeSetAutofillServiceUid(int uid) { + mEventInternal.ifPresent(event -> { + event.mAutofillServiceUid = uid; + }); + } + + /** + * Set inline_suggestion_host_uid as long as mEventInternal presents. + */ + public void maybeSetInlineSuggestionHostUid(Context context, int userId) { + mEventInternal.ifPresent(event -> { + String imeString = Settings.Secure.getStringForUser(context.getContentResolver(), + Settings.Secure.DEFAULT_INPUT_METHOD, userId); + if (TextUtils.isEmpty(imeString)) { + Slog.w(TAG, "No default IME found"); + return; + } + ComponentName imeComponent = ComponentName.unflattenFromString(imeString); + if (imeComponent == null) { + Slog.w(TAG, "No default IME found"); + return; + } + int imeUid; + String packageName = imeComponent.getPackageName(); + try { + imeUid = context.getPackageManager().getApplicationInfoAsUser(packageName, + PackageManager.ApplicationInfoFlags.of(0), userId).uid; + } catch (PackageManager.NameNotFoundException e) { + Slog.w(TAG, "Couldn't find packageName: " + packageName); + return; + } + event.mInlineSuggestionHostUid = imeUid; + }); + } + + + /** + * Set flags as long as mEventInternal presents. + */ + public void maybeSetFlags(int flags) { + mEventInternal.ifPresent(event -> { + event.mFlags = flags; + }); + } + + /** + * Set request_trigger_reason as long as mEventInternal presents. + */ + public void maybeSetRequestTriggerReason(@TriggerReason int reason) { + mEventInternal.ifPresent(event -> { + event.mRequestTriggerReason = reason; + }); + } + + /** + * Set is_augmented as long as mEventInternal presents. + */ + public void maybeSetIsAugmented(boolean val) { + mEventInternal.ifPresent(event -> { + event.mIsAugmented = val; + }); + } + + /** + * Set is_client_suggestion as long as mEventInternal presents. + */ + public void maybeSetIsClientSuggestionFallback(boolean val) { + mEventInternal.ifPresent(event -> { + event.mIsClientSuggestionFallback = val; + }); + } + + /** + * Set is_fill_dialog_eligible as long as mEventInternal presents. + */ + public void maybeSetIsFillDialogEligible(boolean val) { + mEventInternal.ifPresent(event -> { + event.mIsFillDialogEligible = val; + }); + } + + /** + * Set latency_fill_request_sent_millis as long as mEventInternal presents. + */ + public void maybeSetLatencyFillRequestSentMillis(int timestamp) { + mEventInternal.ifPresent(event -> { + event.mLatencyFillRequestSentMillis = timestamp; + }); + } + + /** + * Set app_package_uid as long as mEventInternal presents. + */ + public void maybeSetAppPackageUid(int uid) { + mEventInternal.ifPresent(event -> { + event.mAppPackageUid = uid; + }); + } + + /** + * Log an AUTOFILL_FILL_REQUEST_REPORTED event. + */ + public void logAndEndEvent() { + if (!mEventInternal.isPresent()) { + Slog.w(TAG, "Shouldn't be logging AutofillFillRequestReported again for same " + + "event"); + return; + } + FillRequestEventInternal event = mEventInternal.get(); + if (sVerbose) { + Slog.v(TAG, "Log AutofillFillRequestReported:" + + " requestId=" + event.mRequestId + + " sessionId=" + mSessionId + + " mAutofillServiceUid=" + event.mAutofillServiceUid + + " mInlineSuggestionHostUid=" + event.mInlineSuggestionHostUid + + " mIsAugmented=" + event.mIsAugmented + + " mIsClientSuggestionFallback=" + event.mIsClientSuggestionFallback + + " mIsFillDialogEligible=" + event.mIsFillDialogEligible + + " mRequestTriggerReason=" + event.mRequestTriggerReason + + " mFlags=" + event.mFlags + + " mLatencyFillRequestSentMillis=" + event.mLatencyFillRequestSentMillis + + " mAppPackageUid=" + event.mAppPackageUid); + } + FrameworkStatsLog.write( + AUTOFILL_FILL_REQUEST_REPORTED, + event.mRequestId, + mSessionId, + event.mAutofillServiceUid, + event.mInlineSuggestionHostUid, + event.mIsAugmented, + event.mIsClientSuggestionFallback, + event.mIsFillDialogEligible, + event.mRequestTriggerReason, + event.mFlags, + event.mLatencyFillRequestSentMillis, + event.mAppPackageUid); + mEventInternal = Optional.empty(); + } + + private static final class FillRequestEventInternal { + int mRequestId; + int mAppPackageUid = -1; + int mAutofillServiceUid = -1; + int mInlineSuggestionHostUid = -1; + boolean mIsAugmented = false; + boolean mIsClientSuggestionFallback = false; + boolean mIsFillDialogEligible = false; + int mRequestTriggerReason = + AUTOFILL_FILL_REQUEST_REPORTED__REQUEST_TRIGGER_REASON__TRIGGER_REASON_UNKNOWN; + int mFlags = -1; + int mLatencyFillRequestSentMillis = -1; + + FillRequestEventInternal() { + } + } +} diff --git a/services/autofill/java/com/android/server/autofill/PresentationStatsEventLogger.java b/services/autofill/java/com/android/server/autofill/PresentationStatsEventLogger.java index 590f472e8b22..7d1de40c7150 100644 --- a/services/autofill/java/com/android/server/autofill/PresentationStatsEventLogger.java +++ b/services/autofill/java/com/android/server/autofill/PresentationStatsEventLogger.java @@ -38,6 +38,7 @@ import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_PRESENTATION_ import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_SESSION_COMMITTED_PREMATURELY; import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_UNKNOWN_REASON; import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_VIEW_CHANGED; +import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_VIEW_FOCUSED_BEFORE_FILL_DIALOG_RESPONSE; import static com.android.internal.util.FrameworkStatsLog.AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_VIEW_FOCUS_CHANGED; import static com.android.server.autofill.Helper.sVerbose; @@ -71,6 +72,7 @@ public final class PresentationStatsEventLogger { @IntDef(prefix = {"NOT_SHOWN_REASON"}, value = { NOT_SHOWN_REASON_ANY_SHOWN, NOT_SHOWN_REASON_VIEW_FOCUS_CHANGED, + NOT_SHOWN_REASON_VIEW_FOCUSED_BEFORE_FILL_DIALOG_RESPONSE, NOT_SHOWN_REASON_VIEW_CHANGED, NOT_SHOWN_REASON_ACTIVITY_FINISHED, NOT_SHOWN_REASON_REQUEST_TIMEOUT, @@ -86,6 +88,8 @@ public final class PresentationStatsEventLogger { AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__ANY_SHOWN; public static final int NOT_SHOWN_REASON_VIEW_FOCUS_CHANGED = AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_VIEW_FOCUS_CHANGED; + public static final int NOT_SHOWN_REASON_VIEW_FOCUSED_BEFORE_FILL_DIALOG_RESPONSE = + AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_VIEW_FOCUSED_BEFORE_FILL_DIALOG_RESPONSE; public static final int NOT_SHOWN_REASON_VIEW_CHANGED = AUTOFILL_PRESENTATION_EVENT_REPORTED__PRESENTATION_EVENT_RESULT__NONE_SHOWN_VIEW_CHANGED; public static final int NOT_SHOWN_REASON_ACTIVITY_FINISHED = @@ -142,7 +146,7 @@ public final class PresentationStatsEventLogger { } public void maybeSetAvailableCount(@Nullable List<Dataset> datasetList, - AutofillId currentViewId) { + AutofillId currentViewId) { mEventInternal.ifPresent(event -> { int availableCount = getDatasetCountForAutofillId(datasetList, currentViewId); event.mAvailableCount = availableCount; @@ -151,7 +155,7 @@ public final class PresentationStatsEventLogger { } public void maybeSetCountShown(@Nullable List<Dataset> datasetList, - AutofillId currentViewId) { + AutofillId currentViewId) { mEventInternal.ifPresent(event -> { int countShown = getDatasetCountForAutofillId(datasetList, currentViewId); event.mCountShown = countShown; @@ -162,7 +166,7 @@ public final class PresentationStatsEventLogger { } private static int getDatasetCountForAutofillId(@Nullable List<Dataset> datasetList, - AutofillId currentViewId) { + AutofillId currentViewId) { int availableCount = 0; if (datasetList != null) { for (int i = 0; i < datasetList.size(); i++) { @@ -225,10 +229,34 @@ public final class PresentationStatsEventLogger { }); } + public void maybeSetSelectedDatasetId(int selectedDatasetId) { + mEventInternal.ifPresent(event -> { + event.mSelectedDatasetId = selectedDatasetId; + }); + } + + public void maybeSetDialogDismissed(boolean dialogDismissed) { + mEventInternal.ifPresent(event -> { + event.mDialogDismissed = dialogDismissed; + }); + } + + public void maybeSetNegativeCtaButtonClicked(boolean negativeCtaButtonClicked) { + mEventInternal.ifPresent(event -> { + event.mNegativeCtaButtonClicked = negativeCtaButtonClicked; + }); + } + + public void maybeSetPositiveCtaButtonClicked(boolean positiveCtaButtonClicked) { + mEventInternal.ifPresent(event -> { + event.mPositiveCtaButtonClicked = positiveCtaButtonClicked; + }); + } + public void maybeSetInlinePresentationAndSuggestionHostUid(Context context, int userId) { mEventInternal.ifPresent(event -> { event.mDisplayPresentationType = - AUTOFILL_PRESENTATION_EVENT_REPORTED__DISPLAY_PRESENTATION_TYPE__INLINE; + AUTOFILL_PRESENTATION_EVENT_REPORTED__DISPLAY_PRESENTATION_TYPE__INLINE; String imeString = Settings.Secure.getStringForUser(context.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD, userId); if (TextUtils.isEmpty(imeString)) { @@ -290,7 +318,11 @@ public final class PresentationStatsEventLogger { + " mFillRequestSentTimestampMs=" + event.mFillRequestSentTimestampMs + " mFillResponseReceivedTimestampMs=" + event.mFillResponseReceivedTimestampMs + " mSuggestionSentTimestampMs=" + event.mSuggestionSentTimestampMs - + " mSuggestionPresentedTimestampMs=" + event.mSuggestionPresentedTimestampMs); + + " mSuggestionPresentedTimestampMs=" + event.mSuggestionPresentedTimestampMs + + " mSelectedDatasetId=" + event.mSelectedDatasetId + + " mDialogDismissed=" + event.mDialogDismissed + + " mNegativeCtaButtonClicked=" + event.mNegativeCtaButtonClicked + + " mPositiveCtaButtonClicked=" + event.mPositiveCtaButtonClicked); } // TODO(b/234185326): Distinguish empty responses from other no presentation reasons. @@ -316,11 +348,10 @@ public final class PresentationStatsEventLogger { event.mFillResponseReceivedTimestampMs, event.mSuggestionSentTimestampMs, event.mSuggestionPresentedTimestampMs, - //TODO(b/265051751): add new framework logging. - /* selected_dataset_id= */ 0, - /* dialog_dismissed= */ false, - /* negative_cta_button_clicked= */ false, - /* positive_cta_button_clicked= */ false); + event.mSelectedDatasetId, + event.mDialogDismissed, + event.mNegativeCtaButtonClicked, + event.mPositiveCtaButtonClicked); mEventInternal = Optional.empty(); } @@ -341,6 +372,10 @@ public final class PresentationStatsEventLogger { int mFillResponseReceivedTimestampMs; int mSuggestionSentTimestampMs; int mSuggestionPresentedTimestampMs; + int mSelectedDatasetId = -1; + boolean mDialogDismissed = false; + boolean mNegativeCtaButtonClicked = false; + boolean mPositiveCtaButtonClicked = false; PresentationStatsEventInternal() {} } diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java index ead59b69cbb5..4acdabec92f4 100644 --- a/services/autofill/java/com/android/server/autofill/Session.java +++ b/services/autofill/java/com/android/server/autofill/Session.java @@ -41,6 +41,9 @@ import static android.view.autofill.AutofillManager.FLAG_SMART_SUGGESTION_SYSTEM import static android.view.autofill.AutofillManager.getSmartSuggestionModeToString; import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage; +import static com.android.server.autofill.FillRequestEventLogger.TRIGGER_REASON_NORMAL_TRIGGER; +import static com.android.server.autofill.FillRequestEventLogger.TRIGGER_REASON_PRE_TRIGGER; +import static com.android.server.autofill.FillRequestEventLogger.TRIGGER_REASON_SERVED_FROM_CACHED_RESPONSE; import static com.android.server.autofill.Helper.containsCharsInOrder; import static com.android.server.autofill.Helper.createSanitizers; import static com.android.server.autofill.Helper.getNumericValue; @@ -439,6 +442,10 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState @GuardedBy("mLock") private PresentationStatsEventLogger mPresentationStatsEventLogger; + @NonNull + @GuardedBy("mLock") + private FillRequestEventLogger mFillRequestEventLogger; + /** * Fill dialog request would likely be sent slightly later. */ @@ -605,6 +612,14 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mPendingInlineSuggestionsRequest = null; mWaitForInlineRequest = false; mPendingFillRequest = null; + + final long fillRequestSentRelativeTimestamp = + SystemClock.elapsedRealtime() - mLatencyBaseTime; + mPresentationStatsEventLogger.maybeSetFillRequestSentTimestampMs( + (int) (fillRequestSentRelativeTimestamp)); + mFillRequestEventLogger.maybeSetLatencyFillRequestSentMillis( + (int) (fillRequestSentRelativeTimestamp)); + mFillRequestEventLogger.logAndEndEvent(); } @Override @@ -1082,11 +1097,21 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState private void requestNewFillResponseLocked(@NonNull ViewState viewState, int newState, int flags) { final FillResponse existingResponse = viewState.getResponse(); + mFillRequestEventLogger.startLogForNewRequest(); + mFillRequestEventLogger.maybeSetAppPackageUid(uid); + mFillRequestEventLogger.maybeSetFlags(mFlags); + if(mPreviouslyFillDialogPotentiallyStarted) { + mFillRequestEventLogger.maybeSetRequestTriggerReason(TRIGGER_REASON_PRE_TRIGGER); + } else { + mFillRequestEventLogger.maybeSetRequestTriggerReason(TRIGGER_REASON_NORMAL_TRIGGER); + } if (existingResponse != null) { setViewStatesLocked( existingResponse, ViewState.STATE_INITIAL, /* clearResponse= */ true); + mFillRequestEventLogger.maybeSetRequestTriggerReason( + TRIGGER_REASON_SERVED_FROM_CACHED_RESPONSE); } mSessionFlags.mExpiredResponse = false; mSessionState = STATE_ACTIVE; @@ -1097,6 +1122,10 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState + ", flags=" + flags + ")"); } mSessionFlags.mAugmentedAutofillOnly = true; + // Augmented autofill doesn't have request_id. + mFillRequestEventLogger.maybeSetRequestId(-1); + mFillRequestEventLogger.maybeSetIsAugmented(mSessionFlags.mAugmentedAutofillOnly); + mFillRequestEventLogger.logAndEndEvent(); triggerAugmentedAutofillLocked(flags); return; } @@ -1123,6 +1152,12 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState + ", flags=" + flags); } mPresentationStatsEventLogger.maybeSetRequestId(requestId); + mFillRequestEventLogger.maybeSetRequestId(requestId); + mFillRequestEventLogger.maybeSetAutofillServiceUid(getAutofillServiceUid()); + if (mSessionFlags.mInlineSupportedByService) { + mFillRequestEventLogger.maybeSetInlineSuggestionHostUid(mContext, userId); + } + mFillRequestEventLogger.maybeSetIsFillDialogEligible(!mSessionFlags.mFillDialogDisabled); // If the focus changes very quickly before the first request is returned each focus change // triggers a new partition and we end up with many duplicate partitions. This is @@ -1189,11 +1224,6 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState return; } - final long fillRequestSentRelativeTimestamp = - SystemClock.elapsedRealtime() - mLatencyBaseTime; - mPresentationStatsEventLogger.maybeSetFillRequestSentTimestampMs( - (int) (fillRequestSentRelativeTimestamp)); - // Now request the assist structure data. requestAssistStructureLocked(requestId, flags); } @@ -1284,6 +1314,7 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState mCompatMode = compatMode; mSessionState = STATE_ACTIVE; mPresentationStatsEventLogger = PresentationStatsEventLogger.forSessionId(sessionId); + mFillRequestEventLogger = FillRequestEventLogger.forSessionId(sessionId); synchronized (mLock) { mSessionFlags = new SessionFlags(); mSessionFlags.mAugmentedAutofillOnly = forAugmentedAutofillOnly; @@ -4351,8 +4382,10 @@ final class Session implements RemoteFillService.FillServiceCallbacks, ViewState for (int j = 0; j < fieldIds.size(); j++) { final AutofillId id = fieldIds.get(j); - if (trackedViews == null || !trackedViews.contains(id)) { - fillableIds = ArrayUtils.add(fillableIds, id); + if (id != null) { + if (trackedViews == null || !trackedViews.contains(id)) { + fillableIds = ArrayUtils.add(fillableIds, id); + } } } } diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java index 4a0a228ce645..461103ee4355 100644 --- a/services/core/java/com/android/server/am/ActiveServices.java +++ b/services/core/java/com/android/server/am/ActiveServices.java @@ -602,7 +602,7 @@ public final class ActiveServices { try { final ServiceRecord.StartItem si = r.pendingStarts.get(0); startServiceInnerLocked(this, si.intent, r, false, true, si.callingId, - si.mCallingProcessName, r.startRequested); + si.mCallingProcessName, r.startRequested, si.mCallingPackageName); } catch (TransactionTooLargeException e) { // Ignore, nobody upstack cares. } @@ -969,7 +969,7 @@ public final class ActiveServices { startServiceInnerLocked(r, service, callingUid, callingPid, getCallingProcessNameLocked(callingUid, callingPid, callingPackage), fgRequired, callerFg, - backgroundStartPrivileges); + backgroundStartPrivileges, callingPackage); if (res.aliasComponent != null && !realResult.getPackageName().startsWith("!") && !realResult.getPackageName().startsWith("?")) { @@ -990,7 +990,7 @@ public final class ActiveServices { private ComponentName startServiceInnerLocked(ServiceRecord r, Intent service, int callingUid, int callingPid, String callingProcessName, boolean fgRequired, boolean callerFg, - BackgroundStartPrivileges backgroundStartPrivileges) + BackgroundStartPrivileges backgroundStartPrivileges, String callingPackage) throws TransactionTooLargeException { NeededUriGrants neededGrants = mAm.mUgmInternal.checkGrantUriPermissionFromIntent( service, callingUid, r.packageName, r.userId); @@ -1003,7 +1003,7 @@ public final class ActiveServices { r.delayedStop = false; r.fgRequired = fgRequired; r.pendingStarts.add(new ServiceRecord.StartItem(r, false, r.makeNextStartId(), - service, neededGrants, callingUid, callingProcessName)); + service, neededGrants, callingUid, callingProcessName, callingPackage)); if (fgRequired) { // We are now effectively running a foreground service. @@ -1088,7 +1088,7 @@ public final class ActiveServices { r.allowBgActivityStartsOnServiceStart(backgroundStartPrivileges); } ComponentName cmp = startServiceInnerLocked(smap, service, r, callerFg, addToStarting, - callingUid, callingProcessName, wasStartRequested); + callingUid, callingProcessName, wasStartRequested, callingPackage); return cmp; } @@ -1241,7 +1241,7 @@ public final class ActiveServices { try { startServiceInnerLocked(s, serviceIntent, callingUid, callingPid, callingProcessName, fgRequired, callerFg, - backgroundStartPrivileges); + backgroundStartPrivileges, callingPackage); } catch (TransactionTooLargeException e) { /* ignore - local call */ } @@ -1287,7 +1287,7 @@ public final class ActiveServices { ComponentName startServiceInnerLocked(ServiceMap smap, Intent service, ServiceRecord r, boolean callerFg, boolean addToStarting, int callingUid, String callingProcessName, - boolean wasStartRequested) throws TransactionTooLargeException { + boolean wasStartRequested, String callingPackage) throws TransactionTooLargeException { synchronized (mAm.mProcessStats.mLock) { final ServiceState stracker = r.getTracker(); if (stracker != null) { @@ -1328,7 +1328,9 @@ public final class ActiveServices { : SERVICE_REQUEST_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_WARM), getShortProcessNameForStats(callingUid, callingProcessName), getShortServiceNameForStats(r), - packageState); + packageState, + packageName, + callingPackage); if (r.startRequested && addToStarting) { boolean first = smap.mStartingBackground.size() == 0; @@ -3661,7 +3663,9 @@ public final class ActiveServices { : SERVICE_REQUEST_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_WARM), getShortProcessNameForStats(callingUid, callerApp.processName), getShortServiceNameForStats(s), - packageState); + packageState, + s.packageName, + callerApp.info.packageName); if (DEBUG_SERVICE) Slog.v(TAG_SERVICE, "Bind " + s + " with " + b + ": received=" + b.intent.received @@ -5253,7 +5257,7 @@ public final class ActiveServices { // be called. if (r.startRequested && r.callStart && r.pendingStarts.size() == 0) { r.pendingStarts.add(new ServiceRecord.StartItem(r, false, r.makeNextStartId(), - null, null, 0, null)); + null, null, 0, null, null)); } sendServiceArgsLocked(r, execInFg, true); @@ -6247,7 +6251,7 @@ public final class ActiveServices { stopServiceLocked(sr, true); } else { sr.pendingStarts.add(new ServiceRecord.StartItem(sr, true, - sr.getLastStartId(), baseIntent, null, 0, null)); + sr.getLastStartId(), baseIntent, null, 0, null, null)); if (sr.app != null && sr.app.getThread() != null) { // We always run in the foreground, since this is called as // part of the "remove task" UI operation. @@ -7318,7 +7322,7 @@ public final class ActiveServices { if (!r.mAllowWhileInUsePermissionInFgs || (r.mAllowStartForeground == REASON_DENIED)) { final @ReasonCode int allowWhileInUse = shouldAllowFgsWhileInUsePermissionLocked( - callingPackage, callingPid, callingUid, r, backgroundStartPrivileges, + callingPackage, callingPid, callingUid, r.app, backgroundStartPrivileges, isBindService); if (!r.mAllowWhileInUsePermissionInFgs) { r.mAllowWhileInUsePermissionInFgs = (allowWhileInUse != REASON_DENIED); @@ -7345,7 +7349,7 @@ public final class ActiveServices { return true; } final @ReasonCode int allowWhileInUse = shouldAllowFgsWhileInUsePermissionLocked( - callingPackage, callingPid, callingUid, null /* serviceRecord */, + callingPackage, callingPid, callingUid, null /* targetProcess */, BackgroundStartPrivileges.NONE, false); @ReasonCode int allowStartFgs = shouldAllowFgsStartForegroundNoBindingCheckLocked( allowWhileInUse, callingPid, callingUid, callingPackage, null /* targetService */, @@ -7362,13 +7366,14 @@ public final class ActiveServices { /** * Should allow while-in-use permissions in FGS or not. * A typical BG started FGS is not allowed to have while-in-use permissions. + * * @param callingPackage caller app's package name. - * @param callingUid caller app's uid. - * @param targetService the service to start. + * @param callingUid caller app's uid. + * @param targetProcess the process of the service to start. * @return {@link ReasonCode} */ private @ReasonCode int shouldAllowFgsWhileInUsePermissionLocked(String callingPackage, - int callingPid, int callingUid, @Nullable ServiceRecord targetService, + int callingPid, int callingUid, @Nullable ProcessRecord targetProcess, BackgroundStartPrivileges backgroundStartPrivileges, boolean isBindService) { int ret = REASON_DENIED; @@ -7436,8 +7441,8 @@ public final class ActiveServices { } if (ret == REASON_DENIED) { - if (targetService != null && targetService.app != null) { - ActiveInstrumentation instr = targetService.app.getActiveInstrumentation(); + if (targetProcess != null) { + ActiveInstrumentation instr = targetProcess.getActiveInstrumentation(); if (instr != null && instr.mHasBackgroundActivityStartsPermission) { ret = REASON_INSTR_BACKGROUND_ACTIVITY_PERMISSION; } @@ -7522,7 +7527,7 @@ public final class ActiveServices { final @ReasonCode int allowWhileInUse2 = shouldAllowFgsWhileInUsePermissionLocked( clientPackageName, - clientPid, clientUid, null /* serviceRecord */, + clientPid, clientUid, null /* targetProcess */, BackgroundStartPrivileges.NONE, false); final @ReasonCode int allowStartFgs = shouldAllowFgsStartForegroundNoBindingCheckLocked( @@ -7942,11 +7947,18 @@ public final class ActiveServices { boolean canAllowWhileInUsePermissionInFgsLocked(int callingPid, int callingUid, String callingPackage) { return shouldAllowFgsWhileInUsePermissionLocked(callingPackage, callingPid, callingUid, - /* targetService */ null, + /* targetProcess */ null, BackgroundStartPrivileges.NONE, false) != REASON_DENIED; } + boolean canAllowWhileInUsePermissionInFgsLocked(int callingPid, int callingUid, + String callingPackage, @Nullable ProcessRecord targetProcess, + @NonNull BackgroundStartPrivileges backgroundStartPrivileges) { + return shouldAllowFgsWhileInUsePermissionLocked(callingPackage, callingPid, callingUid, + targetProcess, backgroundStartPrivileges, false) != REASON_DENIED; + } + /** * Checks if a given packageName belongs to a given uid. * @param packageName the package of the caller diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java index 4fa28a11c0a4..82c4796a21ef 100644 --- a/services/core/java/com/android/server/am/ActivityManagerConstants.java +++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java @@ -118,6 +118,8 @@ final class ActivityManagerConstants extends ContentObserver { static final String KEY_PROCESS_CRASH_COUNT_LIMIT = "process_crash_count_limit"; static final String KEY_BOOT_TIME_TEMP_ALLOWLIST_DURATION = "boot_time_temp_allowlist_duration"; static final String KEY_FG_TO_BG_FGS_GRACE_DURATION = "fg_to_bg_fgs_grace_duration"; + static final String KEY_VISIBLE_TO_INVISIBLE_UIJ_SCHEDULE_GRACE_DURATION = + "vis_to_invis_uij_schedule_grace_duration"; static final String KEY_FGS_START_FOREGROUND_TIMEOUT = "fgs_start_foreground_timeout"; static final String KEY_FGS_ATOM_SAMPLE_RATE = "fgs_atom_sample_rate"; static final String KEY_FGS_START_ALLOWED_LOG_SAMPLE_RATE = "fgs_start_allowed_log_sample_rate"; @@ -191,6 +193,8 @@ final class ActivityManagerConstants extends ContentObserver { private static final int DEFAULT_PROCESS_CRASH_COUNT_LIMIT = 12; private static final int DEFAULT_BOOT_TIME_TEMP_ALLOWLIST_DURATION = 20 * 1000; private static final long DEFAULT_FG_TO_BG_FGS_GRACE_DURATION = 5 * 1000; + private static final long DEFAULT_VISIBLE_TO_INVISIBLE_UIJ_SCHEDULE_GRACE_DURATION = + DEFAULT_FG_TO_BG_FGS_GRACE_DURATION; private static final int DEFAULT_FGS_START_FOREGROUND_TIMEOUT_MS = 10 * 1000; private static final float DEFAULT_FGS_ATOM_SAMPLE_RATE = 1; // 100 % private static final float DEFAULT_FGS_START_ALLOWED_LOG_SAMPLE_RATE = 0.25f; // 25% @@ -680,6 +684,15 @@ final class ActivityManagerConstants extends ContentObserver { volatile long mFgToBgFgsGraceDuration = DEFAULT_FG_TO_BG_FGS_GRACE_DURATION; /** + * The grace period in milliseconds to allow a process to schedule a + * {@link android.app.job.JobInfo.Builder#setUserInitiated(boolean) user-initiated job} + * after switching from visible to a non-visible state. + * Currently it's only applicable to its activities. + */ + volatile long mVisibleToInvisibleUijScheduleGraceDurationMs = + DEFAULT_VISIBLE_TO_INVISIBLE_UIJ_SCHEDULE_GRACE_DURATION; + + /** * When service started from background, before the timeout it can be promoted to FGS by calling * Service.startForeground(). */ @@ -1123,6 +1136,9 @@ final class ActivityManagerConstants extends ContentObserver { case KEY_FG_TO_BG_FGS_GRACE_DURATION: updateFgToBgFgsGraceDuration(); break; + case KEY_VISIBLE_TO_INVISIBLE_UIJ_SCHEDULE_GRACE_DURATION: + updateFgToBgFgsGraceDuration(); + break; case KEY_FGS_START_FOREGROUND_TIMEOUT: updateFgsStartForegroundTimeout(); break; @@ -1598,6 +1614,13 @@ final class ActivityManagerConstants extends ContentObserver { DEFAULT_FG_TO_BG_FGS_GRACE_DURATION); } + private void updateVisibleToInvisibleUijScheduleGraceDuration() { + mVisibleToInvisibleUijScheduleGraceDurationMs = DeviceConfig.getLong( + DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, + KEY_VISIBLE_TO_INVISIBLE_UIJ_SCHEDULE_GRACE_DURATION, + DEFAULT_VISIBLE_TO_INVISIBLE_UIJ_SCHEDULE_GRACE_DURATION); + } + private void updateFgsStartForegroundTimeout() { mFgsStartForegroundTimeoutMs = DeviceConfig.getLong( DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 59a41399e18c..415c859f734d 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -23,6 +23,7 @@ import static android.Manifest.permission.INTERACT_ACROSS_USERS; import static android.Manifest.permission.INTERACT_ACROSS_USERS_FULL; import static android.Manifest.permission.MANAGE_ACTIVITY_TASKS; import static android.Manifest.permission.MANAGE_USERS; +import static android.Manifest.permission.REQUEST_COMPANION_RUN_IN_BACKGROUND; import static android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND; import static android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND; import static android.app.ActivityManager.INSTR_FLAG_ALWAYS_CHECK_SIGNATURE; @@ -32,6 +33,7 @@ import static android.app.ActivityManager.INSTR_FLAG_DISABLE_TEST_API_CHECKS; import static android.app.ActivityManager.INSTR_FLAG_NO_RESTART; import static android.app.ActivityManager.INTENT_SENDER_ACTIVITY; import static android.app.ActivityManager.PROCESS_CAPABILITY_ALL; +import static android.app.ActivityManager.PROCESS_STATE_BOUND_TOP; import static android.app.ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND; import static android.app.ActivityManager.PROCESS_STATE_NONEXISTENT; import static android.app.ActivityManager.PROCESS_STATE_TOP; @@ -60,9 +62,22 @@ import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_HIGH; import static android.os.IServiceManager.DUMP_FLAG_PRIORITY_NORMAL; import static android.os.IServiceManager.DUMP_FLAG_PROTO; import static android.os.InputConstants.DEFAULT_DISPATCHING_TIMEOUT_MILLIS; +import static android.os.PowerExemptionManager.REASON_ACTIVITY_VISIBILITY_GRACE_PERIOD; +import static android.os.PowerExemptionManager.REASON_BACKGROUND_ACTIVITY_PERMISSION; +import static android.os.PowerExemptionManager.REASON_COMPANION_DEVICE_MANAGER; +import static android.os.PowerExemptionManager.REASON_INSTR_BACKGROUND_ACTIVITY_PERMISSION; +import static android.os.PowerExemptionManager.REASON_PROC_STATE_BTOP; +import static android.os.PowerExemptionManager.REASON_PROC_STATE_PERSISTENT; +import static android.os.PowerExemptionManager.REASON_PROC_STATE_PERSISTENT_UI; +import static android.os.PowerExemptionManager.REASON_PROC_STATE_TOP; +import static android.os.PowerExemptionManager.REASON_START_ACTIVITY_FLAG; +import static android.os.PowerExemptionManager.REASON_SYSTEM_ALERT_WINDOW_PERMISSION; import static android.os.PowerExemptionManager.REASON_SYSTEM_ALLOW_LISTED; +import static android.os.PowerExemptionManager.REASON_SYSTEM_UID; +import static android.os.PowerExemptionManager.REASON_UID_VISIBLE; import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED; import static android.os.PowerExemptionManager.TEMPORARY_ALLOW_LIST_TYPE_NONE; +import static android.os.PowerExemptionManager.getReasonCodeFromProcState; import static android.os.Process.BLUETOOTH_UID; import static android.os.Process.FIRST_APPLICATION_UID; import static android.os.Process.INVALID_UID; @@ -6541,6 +6556,143 @@ public class ActivityManagerService extends IActivityManager.Stub } /** + * Returns true if the reasonCode is included in the base set of reasons an app may be + * allowed to schedule a + * {@link android.app.job.JobInfo.Builder#setUserInitiated(boolean) user-initiated job}. + * This is a shortcut and <b>DOES NOT</b> include all reasons. + * Use {@link #canScheduleUserInitiatedJobs(int, int, String)} to cover all cases. + */ + private boolean doesReasonCodeAllowSchedulingUserInitiatedJobs(int reasonCode) { + switch (reasonCode) { + case REASON_PROC_STATE_PERSISTENT: + case REASON_PROC_STATE_PERSISTENT_UI: + case REASON_PROC_STATE_TOP: + case REASON_PROC_STATE_BTOP: + case REASON_UID_VISIBLE: + case REASON_SYSTEM_UID: + case REASON_START_ACTIVITY_FLAG: + case REASON_ACTIVITY_VISIBILITY_GRACE_PERIOD: + case REASON_SYSTEM_ALERT_WINDOW_PERMISSION: + case REASON_COMPANION_DEVICE_MANAGER: + case REASON_BACKGROUND_ACTIVITY_PERMISSION: + case REASON_INSTR_BACKGROUND_ACTIVITY_PERMISSION: + return true; + } + return false; + } + + /** + * Returns true if the ProcessRecord has some conditions that allow the app to schedule a + * {@link android.app.job.JobInfo.Builder#setUserInitiated(boolean) user-initiated job}. + * This is a shortcut and <b>DOES NOT</b> include all reasons. + * Use {@link #canScheduleUserInitiatedJobs(int, int, String)} to cover all cases. + */ + @GuardedBy(anyOf = {"this", "mProcLock"}) + private boolean isProcessInStateToScheduleUserInitiatedJobsLocked( + @Nullable ProcessRecord pr, long nowElapsed) { + if (pr == null) { + return false; + } + + final BackgroundStartPrivileges backgroundStartPrivileges = + pr.getBackgroundStartPrivileges(); + // Is the allow activity background start flag on? + if (backgroundStartPrivileges.allowsBackgroundActivityStarts()) { + // REASON_START_ACTIVITY_FLAG; + return true; + } + + final ProcessStateRecord state = pr.mState; + final int procstate = state.getCurProcState(); + if (procstate <= PROCESS_STATE_BOUND_TOP) { + if (doesReasonCodeAllowSchedulingUserInitiatedJobs( + getReasonCodeFromProcState(procstate))) { + return true; + } + } + + final long lastInvisibleTime = state.getLastInvisibleTime(); + if (lastInvisibleTime > 0 && lastInvisibleTime < Long.MAX_VALUE) { + final long timeSinceVisibleMs = nowElapsed - lastInvisibleTime; + if (timeSinceVisibleMs < mConstants.mVisibleToInvisibleUijScheduleGraceDurationMs) { + // REASON_ACTIVITY_VISIBILITY_GRACE_PERIOD + return true; + } + } + + return false; + } + + /** + * Returns whether the app in question is in a state where we allow scheduling a + * {@link android.app.job.JobInfo.Builder#setUserInitiated(boolean) user-initiated job}. + */ + // TODO(262260570): log allow reason to an atom + private boolean canScheduleUserInitiatedJobs(int uid, int pid, String pkgName) { + synchronized (this) { + final ProcessRecord processRecord; + synchronized (mPidsSelfLocked) { + processRecord = mPidsSelfLocked.get(pid); + } + + final long nowElapsed = SystemClock.elapsedRealtime(); + final BackgroundStartPrivileges backgroundStartPrivileges; + if (processRecord != null) { + if (isProcessInStateToScheduleUserInitiatedJobsLocked(processRecord, nowElapsed)) { + return true; + } + backgroundStartPrivileges = processRecord.getBackgroundStartPrivileges(); + } else { + backgroundStartPrivileges = getBackgroundStartPrivileges(uid); + } + // Is the allow activity background start flag on? + if (backgroundStartPrivileges.allowsBackgroundActivityStarts()) { + // REASON_START_ACTIVITY_FLAG; + return true; + } + + // We allow scheduling a user-initiated job when the app is in the TOP or a + // Background Activity Launch approved state. These are cases that indicate the user + // has interacted with the app and therefore it is reasonable to believe the app may + // attempt to schedule a user-initiated job in response to the user interaction. + // As of Android UDC, the conditions required to grant a while-in-use permission + // covers the majority of those cases, and so we piggyback on that logic as the base. + // Missing cases are added after. + if (mServices.canAllowWhileInUsePermissionInFgsLocked( + pid, uid, pkgName, processRecord, backgroundStartPrivileges)) { + return true; + } + + final UidRecord uidRecord = mProcessList.getUidRecordLOSP(uid); + if (uidRecord != null) { + for (int i = uidRecord.getNumOfProcs() - 1; i >= 0; --i) { + ProcessRecord pr = uidRecord.getProcessRecordByIndex(i); + if (isProcessInStateToScheduleUserInitiatedJobsLocked(pr, nowElapsed)) { + return true; + } + } + } + + if (mAtmInternal.hasSystemAlertWindowPermission(uid, pid, pkgName)) { + // REASON_SYSTEM_ALERT_WINDOW_PERMISSION; + return true; + } + + final int userId = UserHandle.getUserId(uid); + final boolean isCompanionApp = mInternal.isAssociatedCompanionApp(userId, uid); + if (isCompanionApp) { + if (checkPermission(REQUEST_COMPANION_RUN_IN_BACKGROUND, pid, uid) + == PERMISSION_GRANTED) { + // REASON_COMPANION_DEVICE_MANAGER; + return true; + } + } + } + + return false; + } + + /** * @return allowlist tag for a uid from mPendingTempAllowlist, null if not currently on * the allowlist */ @@ -13933,7 +14085,7 @@ public class ActivityManagerService extends IActivityManager.Stub if (!sdkSandboxManagerLocal.canRegisterBroadcastReceiver( /*IntentFilter=*/ filter, flags, onlyProtectedBroadcasts)) { throw new SecurityException("SDK sandbox not allowed to register receiver" - + " with the given IntentFilter"); + + " with the given IntentFilter: " + filter.toString()); } } @@ -18156,6 +18308,11 @@ public class ActivityManagerService extends IActivityManager.Stub return ActivityManagerService.this.getBackgroundStartPrivileges(uid); } + @Override + public boolean canScheduleUserInitiatedJobs(int uid, int pid, String pkgName) { + return ActivityManagerService.this.canScheduleUserInitiatedJobs(uid, pid, pkgName); + } + public void reportCurKeyguardUsageEvent(boolean keyguardShowing) { ActivityManagerService.this.reportGlobalUsageEvent(keyguardShowing ? UsageEvents.Event.KEYGUARD_SHOWN diff --git a/services/core/java/com/android/server/am/AppRestrictionController.java b/services/core/java/com/android/server/am/AppRestrictionController.java index 2d779c4c85a1..6928bd307af0 100644 --- a/services/core/java/com/android/server/am/AppRestrictionController.java +++ b/services/core/java/com/android/server/am/AppRestrictionController.java @@ -106,7 +106,6 @@ import android.app.role.RoleManager; import android.app.usage.AppStandbyInfo; import android.app.usage.UsageStatsManager; import android.content.BroadcastReceiver; -import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; @@ -117,7 +116,6 @@ import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.content.pm.ServiceInfo; import android.content.pm.ServiceInfo.ForegroundServiceType; -import android.database.ContentObserver; import android.graphics.drawable.Icon; import android.net.Uri; import android.os.AppBackgroundRestrictionsInfo; @@ -137,7 +135,6 @@ import android.provider.DeviceConfig; import android.provider.DeviceConfig.OnPropertiesChangedListener; import android.provider.DeviceConfig.Properties; import android.provider.Settings; -import android.provider.Settings.Global; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.ArraySet; @@ -1069,8 +1066,7 @@ public final class AppRestrictionController { } } - final class ConstantsObserver extends ContentObserver implements - OnPropertiesChangedListener { + final class ConstantsObserver implements OnPropertiesChangedListener { /** * Whether or not to set the app to restricted standby bucket automatically * when it's background-restricted. @@ -1181,8 +1177,6 @@ public final class AppRestrictionController { volatile boolean mBgAutoRestrictAbusiveApps; - volatile boolean mRestrictedBucketEnabled; - volatile long mBgAbusiveNotificationMinIntervalMs; volatile long mBgLongFgsNotificationMinIntervalMs; @@ -1215,7 +1209,6 @@ public final class AppRestrictionController { volatile boolean mBgPromptAbusiveAppsToBgRestricted; ConstantsObserver(Handler handler, Context context) { - super(handler); mDefaultBgPromptFgsWithNotiToBgRestricted = context.getResources().getBoolean( com.android.internal.R.bool.config_bg_prompt_fgs_with_noti_to_bg_restricted); mDefaultBgPromptAbusiveAppToBgRestricted = context.getResources().getBoolean( @@ -1261,29 +1254,10 @@ public final class AppRestrictionController { } } - @Override - public void onChange(boolean selfChange) { - updateSettings(); - } - public void start() { - final ContentResolver cr = mContext.getContentResolver(); - cr.registerContentObserver(Global.getUriFor(Global.ENABLE_RESTRICTED_BUCKET), - false, this); - updateSettings(); updateDeviceConfig(); } - void updateSettings() { - mRestrictedBucketEnabled = isRestrictedBucketEnabled(); - } - - private boolean isRestrictedBucketEnabled() { - return Global.getInt(mContext.getContentResolver(), - Global.ENABLE_RESTRICTED_BUCKET, - Global.DEFAULT_ENABLE_RESTRICTED_BUCKET) == 1; - } - void updateDeviceConfig() { updateBgAutoRestrictedBucketChanged(); updateBgAutoRestrictAbusiveApps(); @@ -1763,8 +1737,7 @@ public final class AppRestrictionController { .isAppBackgroundRestricted(uid, packageName)) { return new Pair<>(RESTRICTION_LEVEL_BACKGROUND_RESTRICTED, mEmptyTrackerInfo); } - level = mConstantsObserver.mRestrictedBucketEnabled - && standbyBucket == STANDBY_BUCKET_RESTRICTED + level = standbyBucket == STANDBY_BUCKET_RESTRICTED ? RESTRICTION_LEVEL_RESTRICTED_BUCKET : RESTRICTION_LEVEL_ADAPTIVE_BUCKET; if (calcTrackers) { @@ -1811,13 +1784,9 @@ public final class AppRestrictionController { @RestrictionLevel int level = RESTRICTION_LEVEL_UNKNOWN; @RestrictionLevel int prevLevel = level; BaseAppStateTracker resultTracker = null; - final boolean isRestrictedBucketEnabled = mConstantsObserver.mRestrictedBucketEnabled; for (int i = mAppStateTrackers.size() - 1; i >= 0; i--) { @RestrictionLevel int l = mAppStateTrackers.get(i).getPolicy() .getProposedRestrictionLevel(packageName, uid, maxLevel); - if (!isRestrictedBucketEnabled && l == RESTRICTION_LEVEL_RESTRICTED_BUCKET) { - l = RESTRICTION_LEVEL_ADAPTIVE_BUCKET; - } level = Math.max(level, l); if (level != prevLevel) { resultTracker = mAppStateTrackers.get(i); @@ -2193,9 +2162,6 @@ public final class AppRestrictionController { } if (level >= RESTRICTION_LEVEL_RESTRICTED_BUCKET && curLevel < RESTRICTION_LEVEL_RESTRICTED_BUCKET) { - if (!mConstantsObserver.mRestrictedBucketEnabled) { - return; - } // Moving the app standby bucket to restricted in the meanwhile. if (DEBUG_BG_RESTRICTION_CONTROLLER && level == RESTRICTION_LEVEL_BACKGROUND_RESTRICTED) { diff --git a/services/core/java/com/android/server/am/BroadcastProcessQueue.java b/services/core/java/com/android/server/am/BroadcastProcessQueue.java index 1f6573076d51..0cdd4e9041e9 100644 --- a/services/core/java/com/android/server/am/BroadcastProcessQueue.java +++ b/services/core/java/com/android/server/am/BroadcastProcessQueue.java @@ -399,7 +399,8 @@ class BroadcastProcessQueue { * Update if this process is in the "cached" state, typically signaling that * broadcast dispatch should be paused or delayed. */ - public void setProcessCached(boolean cached) { + @VisibleForTesting + void setProcessCached(boolean cached) { if (mProcessCached != cached) { mProcessCached = cached; invalidateRunnableAt(); diff --git a/services/core/java/com/android/server/am/BroadcastQueueImpl.java b/services/core/java/com/android/server/am/BroadcastQueueImpl.java index c08570684aec..fcddff0e5ebc 100644 --- a/services/core/java/com/android/server/am/BroadcastQueueImpl.java +++ b/services/core/java/com/android/server/am/BroadcastQueueImpl.java @@ -601,7 +601,9 @@ public class BroadcastQueueImpl extends BroadcastQueue { r.dispatchTime - r.enqueueTime, r.receiverTime - r.dispatchTime, finishTime - r.receiverTime, - packageState); + packageState, + r.curApp.info.packageName, + r.callerPackage); } if (state == BroadcastRecord.IDLE) { Slog.w(TAG_BROADCAST, "finishReceiver [" + mQueueName + "] called but state is IDLE"); @@ -780,7 +782,8 @@ public class BroadcastQueueImpl extends BroadcastQueue { BROADCAST_DELIVERY_EVENT_REPORTED__RECEIVER_TYPE__RUNTIME, BROADCAST_DELIVERY_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_WARM, dispatchDelay, receiveDelay, 0 /* finish_delay */, - SERVICE_REQUEST_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL); + SERVICE_REQUEST_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL, + app != null ? app.info.packageName : null, callingPackage); } } diff --git a/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java b/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java index bc331588a987..1f0b1628aa22 100644 --- a/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java +++ b/services/core/java/com/android/server/am/BroadcastQueueModernImpl.java @@ -1122,7 +1122,7 @@ class BroadcastQueueModernImpl extends BroadcastQueue { } r.terminalCount++; - notifyFinishReceiver(queue, r, index, receiver); + notifyFinishReceiver(queue, app, r, index, receiver); checkFinished = true; } // When entire ordered broadcast finished, deliver final result @@ -1341,7 +1341,7 @@ class BroadcastQueueModernImpl extends BroadcastQueue { }, ActivityManager.UID_OBSERVER_CACHED, 0, "android"); // Kick off periodic health checks - checkHealthLocked(); + mLocalHandler.sendEmptyMessage(MSG_CHECK_HEALTH); } @Override @@ -1595,9 +1595,10 @@ class BroadcastQueueModernImpl extends BroadcastQueue { * typically for internal bookkeeping. */ private void notifyFinishReceiver(@Nullable BroadcastProcessQueue queue, - @NonNull BroadcastRecord r, int index, @NonNull Object receiver) { + @Nullable ProcessRecord app, @NonNull BroadcastRecord r, int index, + @NonNull Object receiver) { if (r.wasDeliveryAttempted(index)) { - logBroadcastDeliveryEventReported(queue, r, index, receiver); + logBroadcastDeliveryEventReported(queue, app, r, index, receiver); } final boolean recordFinished = (r.terminalCount == r.receivers.size()); @@ -1607,7 +1608,8 @@ class BroadcastQueueModernImpl extends BroadcastQueue { } private void logBroadcastDeliveryEventReported(@Nullable BroadcastProcessQueue queue, - @NonNull BroadcastRecord r, int index, @NonNull Object receiver) { + @Nullable ProcessRecord app, @NonNull BroadcastRecord r, int index, + @NonNull Object receiver) { // Report statistics for each individual receiver final int uid = getReceiverUid(receiver); final int senderUid = (r.callingUid == -1) ? Process.SYSTEM_UID : r.callingUid; @@ -1633,7 +1635,8 @@ class BroadcastQueueModernImpl extends BroadcastQueue { ? SERVICE_REQUEST_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_STOPPED : SERVICE_REQUEST_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL; FrameworkStatsLog.write(BROADCAST_DELIVERY_EVENT_REPORTED, uid, senderUid, actionName, - receiverType, type, dispatchDelay, receiveDelay, finishDelay, packageState); + receiverType, type, dispatchDelay, receiveDelay, finishDelay, packageState, + app != null ? app.info.packageName : null, r.callerPackage); } } diff --git a/services/core/java/com/android/server/am/CachedAppOptimizer.java b/services/core/java/com/android/server/am/CachedAppOptimizer.java index 3ab9e7171429..e8b65b86aed9 100644 --- a/services/core/java/com/android/server/am/CachedAppOptimizer.java +++ b/services/core/java/com/android/server/am/CachedAppOptimizer.java @@ -1914,7 +1914,9 @@ public final class CachedAppOptimizer { uids[0] = uid; frozenStates[0] = frozen ? UID_FROZEN_STATE_FROZEN : UID_FROZEN_STATE_UNFROZEN; - Slog.d(TAG_AM, "reportOneUidFrozenStateChanged uid " + uid + " frozen = " + frozen); + if (DEBUG_FREEZER) { + Slog.d(TAG_AM, "reportOneUidFrozenStateChanged uid " + uid + " frozen = " + frozen); + } mAm.reportUidFrozenStateChanged(uids, frozenStates); } diff --git a/services/core/java/com/android/server/am/ContentProviderHelper.java b/services/core/java/com/android/server/am/ContentProviderHelper.java index 48df1494fbe8..a1fcd424f8c1 100644 --- a/services/core/java/com/android/server/am/ContentProviderHelper.java +++ b/services/core/java/com/android/server/am/ContentProviderHelper.java @@ -263,7 +263,8 @@ public class ContentProviderHelper { PROVIDER_ACQUISITION_EVENT_REPORTED, r.uid, callingUid, PROVIDER_ACQUISITION_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_WARM, - PROVIDER_ACQUISITION_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL); + PROVIDER_ACQUISITION_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL, + cpi.packageName, callingPackage); return holder; } @@ -334,7 +335,8 @@ public class ContentProviderHelper { PROVIDER_ACQUISITION_EVENT_REPORTED, cpr.proc.uid, callingUid, PROVIDER_ACQUISITION_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_WARM, - PROVIDER_ACQUISITION_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL); + PROVIDER_ACQUISITION_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL, + cpi.packageName, callingPackage); } } finally { Binder.restoreCallingIdentity(origId); @@ -511,7 +513,8 @@ public class ContentProviderHelper { PROVIDER_ACQUISITION_EVENT_REPORTED, proc.uid, callingUid, PROVIDER_ACQUISITION_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_WARM, - PROVIDER_ACQUISITION_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL); + PROVIDER_ACQUISITION_EVENT_REPORTED__PACKAGE_STOPPED_STATE__PACKAGE_STATE_NORMAL, + cpi.packageName, callingPackage); } else { final int packageState = ((cpr.appInfo.flags & ApplicationInfo.FLAG_STOPPED) != 0) @@ -536,7 +539,7 @@ public class ContentProviderHelper { PROVIDER_ACQUISITION_EVENT_REPORTED, proc.uid, callingUid, PROVIDER_ACQUISITION_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_COLD, - packageState); + packageState, cpi.packageName, callingPackage); } cpr.launchingApp = proc; mLaunchingProviders.add(cpr); diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java index 663121ea3212..4defdc6976e1 100644 --- a/services/core/java/com/android/server/am/ServiceRecord.java +++ b/services/core/java/com/android/server/am/ServiceRecord.java @@ -249,6 +249,7 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN final String mCallingProcessName; final Intent intent; final NeededUriGrants neededGrants; + final @Nullable String mCallingPackageName; long deliveredTime; int deliveryCount; int doneExecutingCount; @@ -258,7 +259,7 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN StartItem(ServiceRecord _sr, boolean _taskRemoved, int _id, Intent _intent, NeededUriGrants _neededGrants, int _callingId, - String callingProcessName) { + String callingProcessName, @Nullable String callingPackageName) { sr = _sr; taskRemoved = _taskRemoved; id = _id; @@ -266,6 +267,7 @@ final class ServiceRecord extends Binder implements ComponentName.WithComponentN neededGrants = _neededGrants; callingId = _callingId; mCallingProcessName = callingProcessName; + mCallingPackageName = callingPackageName; } UriPermissionOwner getUriPermissionsLocked() { diff --git a/services/core/java/com/android/server/am/UidRecord.java b/services/core/java/com/android/server/am/UidRecord.java index e38e8c1428ee..e39ac2b08479 100644 --- a/services/core/java/com/android/server/am/UidRecord.java +++ b/services/core/java/com/android/server/am/UidRecord.java @@ -311,6 +311,11 @@ public final class UidRecord { } @GuardedBy(anyOf = {"mService", "mProcLock"}) + ProcessRecord getProcessRecordByIndex(int idx) { + return mProcRecords.valueAt(idx); + } + + @GuardedBy(anyOf = {"mService", "mProcLock"}) ProcessRecord getProcessInPackage(String packageName) { for (int i = mProcRecords.size() - 1; i >= 0; i--) { final ProcessRecord app = mProcRecords.valueAt(i); diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 127a9d8b41ee..4e687f4929cf 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -1046,9 +1046,14 @@ public class AudioService extends IAudioService.Stub mSfxHelper = new SoundEffectsHelper(mContext, playerBase -> ignorePlayerLogs(playerBase)); - final boolean headTrackingDefault = mContext.getResources().getBoolean( + final boolean binauralEnabledDefault = SystemProperties.getBoolean( + "ro.audio.spatializer_binaural_enabled_default", true); + final boolean transauralEnabledDefault = SystemProperties.getBoolean( + "ro.audio.spatializer_transaural_enabled_default", true); + final boolean headTrackingEnabledDefault = mContext.getResources().getBoolean( com.android.internal.R.bool.config_spatial_audio_head_tracking_enabled_default); - mSpatializerHelper = new SpatializerHelper(this, mAudioSystem, headTrackingDefault); + mSpatializerHelper = new SpatializerHelper(this, mAudioSystem, + binauralEnabledDefault, transauralEnabledDefault, headTrackingEnabledDefault); mVibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE); mHasVibrator = mVibrator == null ? false : mVibrator.hasVibrator(); @@ -7237,7 +7242,7 @@ public class AudioService extends IAudioService.Stub super.setDeviceVolumeBehavior_enforcePermission(); // verify arguments Objects.requireNonNull(device); - AudioManager.enforceSettableVolumeBehavior(deviceVolumeBehavior); + AudioManager.enforceValidVolumeBehavior(deviceVolumeBehavior); sVolumeLogger.enqueue(new EventLogger.StringEvent("setDeviceVolumeBehavior: dev:" + AudioSystem.getOutputDeviceName(device.getInternalType()) + " addr:" diff --git a/services/core/java/com/android/server/audio/SpatializerHelper.java b/services/core/java/com/android/server/audio/SpatializerHelper.java index 8f54e45a1533..5edd43464c6b 100644 --- a/services/core/java/com/android/server/audio/SpatializerHelper.java +++ b/services/core/java/com/android/server/audio/SpatializerHelper.java @@ -172,13 +172,17 @@ public class SpatializerHelper { // initialization @SuppressWarnings("StaticAssignmentInConstructor") SpatializerHelper(@NonNull AudioService mother, @NonNull AudioSystemAdapter asa, - boolean headTrackingEnabledByDefault) { + boolean binauralEnabledDefault, + boolean transauralEnabledDefault, + boolean headTrackingEnabledDefault) { mAudioService = mother; mASA = asa; // "StaticAssignmentInConstructor" warning is suppressed as the SpatializerHelper being // constructed here is the factory for SADeviceState, thus SADeviceState and its // private static field sHeadTrackingEnabledDefault should never be accessed directly. - SADeviceState.sHeadTrackingEnabledDefault = headTrackingEnabledByDefault; + SADeviceState.sBinauralEnabledDefault = binauralEnabledDefault; + SADeviceState.sTransauralEnabledDefault = transauralEnabledDefault; + SADeviceState.sHeadTrackingEnabledDefault = headTrackingEnabledDefault; } synchronized void init(boolean effectExpected, @Nullable String settings) { @@ -1547,10 +1551,12 @@ public class SpatializerHelper { } /*package*/ static final class SADeviceState { + private static boolean sBinauralEnabledDefault = true; + private static boolean sTransauralEnabledDefault = true; private static boolean sHeadTrackingEnabledDefault = false; final @AudioDeviceInfo.AudioDeviceType int mDeviceType; final @NonNull String mDeviceAddress; - boolean mEnabled = true; // by default, SA is enabled on any device + boolean mEnabled; boolean mHasHeadTracker = false; boolean mHeadTrackerEnabled; static final String SETTING_FIELD_SEPARATOR = ","; @@ -1566,6 +1572,12 @@ public class SpatializerHelper { SADeviceState(@AudioDeviceInfo.AudioDeviceType int deviceType, @Nullable String address) { mDeviceType = deviceType; mDeviceAddress = isWireless(deviceType) ? Objects.requireNonNull(address) : ""; + final int spatMode = SPAT_MODE_FOR_DEVICE_TYPE.get(deviceType, Integer.MIN_VALUE); + mEnabled = spatMode == SpatializationMode.SPATIALIZER_BINAURAL + ? sBinauralEnabledDefault + : spatMode == SpatializationMode.SPATIALIZER_TRANSAURAL + ? sTransauralEnabledDefault + : false; mHeadTrackerEnabled = sHeadTrackingEnabledDefault; } diff --git a/services/core/java/com/android/server/biometrics/log/BiometricFrameworkStatsLogger.java b/services/core/java/com/android/server/biometrics/log/BiometricFrameworkStatsLogger.java index 82444f0cc299..6bd48802baf5 100644 --- a/services/core/java/com/android/server/biometrics/log/BiometricFrameworkStatsLogger.java +++ b/services/core/java/com/android/server/biometrics/log/BiometricFrameworkStatsLogger.java @@ -16,14 +16,22 @@ package com.android.server.biometrics.log; +import android.annotation.NonNull; +import android.annotation.Nullable; import android.hardware.biometrics.BiometricsProtoEnums; import android.hardware.biometrics.IBiometricContextListener; +import android.hardware.biometrics.common.AuthenticateReason; +import android.hardware.biometrics.common.OperationContext; import android.hardware.biometrics.common.OperationReason; +import android.hardware.biometrics.common.WakeReason; import android.util.Slog; import android.view.Surface; +import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.FrameworkStatsLog; +import java.util.stream.Stream; + /** * Wrapper for {@link FrameworkStatsLog} to isolate the testable parts. */ @@ -63,7 +71,7 @@ public class BiometricFrameworkStatsLogger { orientationType(operationContext.getOrientation()), foldType(operationContext.getFoldState()), operationContext.getOrderAndIncrement(), - BiometricsProtoEnums.WAKE_REASON_UNKNOWN); + toProtoWakeReason(operationContext)); } /** {@see FrameworkStatsLog.BIOMETRIC_AUTHENTICATED}. */ @@ -89,7 +97,8 @@ public class BiometricFrameworkStatsLogger { orientationType(operationContext.getOrientation()), foldType(operationContext.getFoldState()), operationContext.getOrderAndIncrement(), - BiometricsProtoEnums.WAKE_REASON_UNKNOWN); + toProtoWakeReason(operationContext), + toProtoWakeReasonDetails(operationContext)); } /** {@see FrameworkStatsLog.BIOMETRIC_AUTHENTICATED}. */ @@ -137,7 +146,81 @@ public class BiometricFrameworkStatsLogger { orientationType(operationContext.getOrientation()), foldType(operationContext.getFoldState()), operationContext.getOrderAndIncrement(), - BiometricsProtoEnums.WAKE_REASON_UNKNOWN); + toProtoWakeReason(operationContext), + toProtoWakeReasonDetails(operationContext)); + } + + @VisibleForTesting + static int[] toProtoWakeReasonDetails(@NonNull OperationContextExt operationContext) { + final OperationContext ctx = operationContext.toAidlContext(); + return Stream.of(toProtoWakeReasonDetails(ctx.authenticateReason)) + .mapToInt(i -> i) + .filter(i -> i != BiometricsProtoEnums.DETAILS_UNKNOWN) + .toArray(); + } + + @VisibleForTesting + static int toProtoWakeReason(@NonNull OperationContextExt operationContext) { + @WakeReason final int reason = operationContext.getWakeReason(); + switch (reason) { + case WakeReason.POWER_BUTTON: + return BiometricsProtoEnums.WAKE_REASON_POWER_BUTTON; + case WakeReason.GESTURE: + return BiometricsProtoEnums.WAKE_REASON_GESTURE; + case WakeReason.WAKE_KEY: + return BiometricsProtoEnums.WAKE_REASON_WAKE_KEY; + case WakeReason.WAKE_MOTION: + return BiometricsProtoEnums.WAKE_REASON_WAKE_MOTION; + case WakeReason.LID: + return BiometricsProtoEnums.WAKE_REASON_LID; + case WakeReason.DISPLAY_GROUP_ADDED: + return BiometricsProtoEnums.WAKE_REASON_DISPLAY_GROUP_ADDED; + case WakeReason.TAP: + return BiometricsProtoEnums.WAKE_REASON_TAP; + case WakeReason.LIFT: + return BiometricsProtoEnums.WAKE_REASON_LIFT; + case WakeReason.BIOMETRIC: + return BiometricsProtoEnums.WAKE_REASON_BIOMETRIC; + default: + return BiometricsProtoEnums.WAKE_REASON_UNKNOWN; + } + } + + private static int toProtoWakeReasonDetails(@Nullable AuthenticateReason reason) { + if (reason != null) { + switch (reason.getTag()) { + case AuthenticateReason.faceAuthenticateReason: + return toProtoWakeReasonDetailsFromFace(reason.getFaceAuthenticateReason()); + } + } + return BiometricsProtoEnums.DETAILS_UNKNOWN; + } + + private static int toProtoWakeReasonDetailsFromFace(@AuthenticateReason.Face int reason) { + switch (reason) { + case AuthenticateReason.Face.STARTED_WAKING_UP: + return BiometricsProtoEnums.DETAILS_FACE_STARTED_WAKING_UP; + case AuthenticateReason.Face.PRIMARY_BOUNCER_SHOWN: + return BiometricsProtoEnums.DETAILS_FACE_PRIMARY_BOUNCER_SHOWN; + case AuthenticateReason.Face.ASSISTANT_VISIBLE: + return BiometricsProtoEnums.DETAILS_FACE_ASSISTANT_VISIBLE; + case AuthenticateReason.Face.ALTERNATE_BIOMETRIC_BOUNCER_SHOWN: + return BiometricsProtoEnums.DETAILS_FACE_ALTERNATE_BIOMETRIC_BOUNCER_SHOWN; + case AuthenticateReason.Face.NOTIFICATION_PANEL_CLICKED: + return BiometricsProtoEnums.DETAILS_FACE_NOTIFICATION_PANEL_CLICKED; + case AuthenticateReason.Face.OCCLUDING_APP_REQUESTED: + return BiometricsProtoEnums.DETAILS_FACE_OCCLUDING_APP_REQUESTED; + case AuthenticateReason.Face.PICK_UP_GESTURE_TRIGGERED: + return BiometricsProtoEnums.DETAILS_FACE_PICK_UP_GESTURE_TRIGGERED; + case AuthenticateReason.Face.QS_EXPANDED: + return BiometricsProtoEnums.DETAILS_FACE_QS_EXPANDED; + case AuthenticateReason.Face.SWIPE_UP_ON_BOUNCER: + return BiometricsProtoEnums.DETAILS_FACE_SWIPE_UP_ON_BOUNCER; + case AuthenticateReason.Face.UDFPS_POINTER_DOWN: + return BiometricsProtoEnums.DETAILS_FACE_UDFPS_POINTER_DOWN; + default: + return BiometricsProtoEnums.DETAILS_UNKNOWN; + } } /** {@see FrameworkStatsLog.BIOMETRIC_SYSTEM_HEALTH_ISSUE_DETECTED}. */ diff --git a/services/core/java/com/android/server/biometrics/log/OperationContextExt.java b/services/core/java/com/android/server/biometrics/log/OperationContextExt.java index ecb7e7ca08fb..293433990cbd 100644 --- a/services/core/java/com/android/server/biometrics/log/OperationContextExt.java +++ b/services/core/java/com/android/server/biometrics/log/OperationContextExt.java @@ -188,10 +188,17 @@ public class OperationContextExt { } /** {@link OperationContext#reason}. */ + @OperationReason public byte getReason() { return mAidlContext.reason; } + /** {@link OperationContext#wakeReason}. */ + @WakeReason + public int getWakeReason() { + return mAidlContext.wakeReason; + } + /** If the screen is currently on. */ public boolean isDisplayOn() { return mIsDisplayOn; diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index 6d3f8fd77232..1e9352d10956 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -31,6 +31,7 @@ import static android.net.ipsec.ike.IkeSessionParams.ESP_IP_VERSION_AUTO; import static android.os.PowerWhitelistManager.REASON_VPN; import static android.os.UserHandle.PER_USER_RANGE; import static android.telephony.CarrierConfigManager.KEY_MIN_UDP_PORT_4500_NAT_TIMEOUT_SEC_INT; +import static android.telephony.CarrierConfigManager.KEY_PREFERRED_IKE_PROTOCOL_INT; import static com.android.net.module.util.NetworkStackConstants.IPV6_MIN_MTU; import static com.android.server.vcn.util.PersistableBundleUtils.STRING_DESERIALIZER; @@ -269,6 +270,42 @@ public class Vpn { @VisibleForTesting static final int DEFAULT_UDP_PORT_4500_NAT_TIMEOUT_SEC_INT = 5 * 60; + /** + * Prefer using {@link IkeSessionParams.ESP_IP_VERSION_AUTO} and + * {@link IkeSessionParams.ESP_ENCAP_TYPE_AUTO} for ESP packets. + * + * This is one of the possible customization values for + * CarrierConfigManager.KEY_PREFERRED_IKE_PROTOCOL_INT. + */ + @VisibleForTesting + public static final int PREFERRED_IKE_PROTOCOL_AUTO = 0; + /** + * Prefer using {@link IkeSessionParams.ESP_IP_VERSION_IPV4} and + * {@link IkeSessionParams.ESP_ENCAP_TYPE_UDP} for ESP packets. + * + * This is one of the possible customization values for + * CarrierConfigManager.KEY_PREFERRED_IKE_PROTOCOL_INT. + */ + @VisibleForTesting + public static final int PREFERRED_IKE_PROTOCOL_IPV4_UDP = 40; + /** + * Prefer using {@link IkeSessionParams.ESP_IP_VERSION_IPV6} and + * {@link IkeSessionParams.ESP_ENCAP_TYPE_UDP} for ESP packets. + * + * Do not use this value for production code. Its numeric value will change in future versions. + */ + @VisibleForTesting + public static final int PREFERRED_IKE_PROTOCOL_IPV6_UDP = 60; + /** + * Prefer using {@link IkeSessionParams.ESP_IP_VERSION_IPV6} and + * {@link IkeSessionParams.ESP_ENCAP_TYPE_NONE} for ESP packets. + * + * This is one of the possible customization values for + * CarrierConfigManager.KEY_PREFERRED_IKE_PROTOCOL_INT. + */ + @VisibleForTesting + public static final int PREFERRED_IKE_PROTOCOL_IPV6_ESP = 61; + // TODO: create separate trackers for each unique VPN to support // automated reconnection @@ -326,12 +363,13 @@ public class Vpn { private final LocalLog mVpnManagerEvents = new LocalLog(MAX_EVENTS_LOGS); /** - * Cached Map of <subscription ID, keepalive delay ms> since retrieving the PersistableBundle + * Cached Map of <subscription ID, CarrierConfigInfo> since retrieving the PersistableBundle * and the target value from CarrierConfigManager is somewhat expensive as it has hundreds of * fields. This cache is cleared when the carrier config changes to ensure data freshness. */ @GuardedBy("this") - private final SparseArray<Integer> mCachedKeepalivePerSubId = new SparseArray<>(); + private final SparseArray<CarrierConfigInfo> mCachedCarrierConfigInfoPerSubId = + new SparseArray<>(); /** * Whether to keep the connection active after rebooting, or upgrading or reinstalling. This @@ -378,6 +416,28 @@ public class Vpn { void checkInterruptAndDelay(boolean sleepLonger) throws InterruptedException; } + private static class CarrierConfigInfo { + public final String mccMnc; + public final int keepaliveDelayMs; + public final int encapType; + public final int ipVersion; + + CarrierConfigInfo(String mccMnc, int keepaliveDelayMs, + int encapType, + int ipVersion) { + this.mccMnc = mccMnc; + this.keepaliveDelayMs = keepaliveDelayMs; + this.encapType = encapType; + this.ipVersion = ipVersion; + } + + @Override + public String toString() { + return "CarrierConfigInfo(" + mccMnc + ") [keepaliveDelayMs=" + keepaliveDelayMs + + ", encapType=" + encapType + ", ipVersion=" + ipVersion + "]"; + } + } + @VisibleForTesting public static class Dependencies { public boolean isCallerSystem() { @@ -2923,7 +2983,7 @@ public class Vpn { public void onCarrierConfigChanged(int slotIndex, int subId, int carrierId, int specificCarrierId) { synchronized (Vpn.this) { - mCachedKeepalivePerSubId.remove(subId); + mCachedCarrierConfigInfoPerSubId.remove(subId); // Ignore stale runner. if (mVpnRunner != Vpn.IkeV2VpnRunner.this) return; @@ -3388,47 +3448,105 @@ public class Vpn { } private int guessEspIpVersionForNetwork() { - // TODO : guess the IP version based on carrier if auto IP version selection is enabled - return ESP_IP_VERSION_AUTO; + final CarrierConfigInfo carrierconfig = getCarrierConfig(); + final int ipVersion = (carrierconfig != null) + ? carrierconfig.ipVersion : ESP_IP_VERSION_AUTO; + if (carrierconfig != null) { + Log.d(TAG, "Get customized IP version(" + ipVersion + ") on SIM(" + + carrierconfig.mccMnc + ")"); + } + return ipVersion; } private int guessEspEncapTypeForNetwork() { - // TODO : guess the ESP encap type based on carrier if auto IP version selection is - // enabled - return ESP_ENCAP_TYPE_AUTO; + final CarrierConfigInfo carrierconfig = getCarrierConfig(); + final int encapType = (carrierconfig != null) + ? carrierconfig.encapType : ESP_ENCAP_TYPE_AUTO; + if (carrierconfig != null) { + Log.d(TAG, "Get customized encap type(" + encapType + ") on SIM(" + + carrierconfig.mccMnc + ")"); + } + return encapType; } private int guessNattKeepaliveTimerForNetwork() { + final CarrierConfigInfo carrierconfig = getCarrierConfig(); + final int natKeepalive = (carrierconfig != null) + ? carrierconfig.keepaliveDelayMs : AUTOMATIC_KEEPALIVE_DELAY_SECONDS; + if (carrierconfig != null) { + Log.d(TAG, "Get customized keepalive(" + natKeepalive + ") on SIM(" + + carrierconfig.mccMnc + ")"); + } + return natKeepalive; + } + + private CarrierConfigInfo getCarrierConfig() { final int subId = getCellSubIdForNetworkCapabilities(mUnderlyingNetworkCapabilities); if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) { Log.d(TAG, "Underlying network is not a cellular network"); - return AUTOMATIC_KEEPALIVE_DELAY_SECONDS; + return null; } synchronized (Vpn.this) { - if (mCachedKeepalivePerSubId.contains(subId)) { - Log.d(TAG, "Get cached keepalive config"); - return mCachedKeepalivePerSubId.get(subId); + if (mCachedCarrierConfigInfoPerSubId.contains(subId)) { + Log.d(TAG, "Get cached config"); + return mCachedCarrierConfigInfoPerSubId.get(subId); } + } - final TelephonyManager perSubTm = mTelephonyManager.createForSubscriptionId(subId); - if (perSubTm.getSimApplicationState() != TelephonyManager.SIM_STATE_LOADED) { - Log.d(TAG, "SIM card is not ready on sub " + subId); - return AUTOMATIC_KEEPALIVE_DELAY_SECONDS; - } + final TelephonyManager perSubTm = mTelephonyManager.createForSubscriptionId(subId); + if (perSubTm.getSimApplicationState() != TelephonyManager.SIM_STATE_LOADED) { + Log.d(TAG, "SIM card is not ready on sub " + subId); + return null; + } - final PersistableBundle carrierConfig = - mCarrierConfigManager.getConfigForSubId(subId); - if (!CarrierConfigManager.isConfigForIdentifiedCarrier(carrierConfig)) { - return AUTOMATIC_KEEPALIVE_DELAY_SECONDS; - } + final PersistableBundle carrierConfig = + mCarrierConfigManager.getConfigForSubId(subId); + if (!CarrierConfigManager.isConfigForIdentifiedCarrier(carrierConfig)) { + return null; + } - final int natKeepalive = - carrierConfig.getInt(KEY_MIN_UDP_PORT_4500_NAT_TIMEOUT_SEC_INT); - mCachedKeepalivePerSubId.put(subId, natKeepalive); - Log.d(TAG, "Get customized keepalive=" + natKeepalive); - return natKeepalive; + final int natKeepalive = + carrierConfig.getInt(KEY_MIN_UDP_PORT_4500_NAT_TIMEOUT_SEC_INT); + final int preferredIpPortocol = + carrierConfig.getInt(KEY_PREFERRED_IKE_PROTOCOL_INT); + final String mccMnc = perSubTm.getSimOperator(subId); + final CarrierConfigInfo info = + buildCarrierConfigInfo(mccMnc, natKeepalive, preferredIpPortocol); + synchronized (Vpn.this) { + mCachedCarrierConfigInfoPerSubId.put(subId, info); } + + return info; + } + + private CarrierConfigInfo buildCarrierConfigInfo(String mccMnc, + int natKeepalive, int preferredIpPortocol) { + final int ipVersion; + final int encapType; + switch (preferredIpPortocol) { + case PREFERRED_IKE_PROTOCOL_AUTO: + ipVersion = IkeSessionParams.ESP_IP_VERSION_AUTO; + encapType = IkeSessionParams.ESP_ENCAP_TYPE_AUTO; + break; + case PREFERRED_IKE_PROTOCOL_IPV4_UDP: + ipVersion = IkeSessionParams.ESP_IP_VERSION_IPV4; + encapType = IkeSessionParams.ESP_ENCAP_TYPE_UDP; + break; + case PREFERRED_IKE_PROTOCOL_IPV6_UDP: + ipVersion = IkeSessionParams.ESP_IP_VERSION_IPV6; + encapType = IkeSessionParams.ESP_ENCAP_TYPE_UDP; + break; + case PREFERRED_IKE_PROTOCOL_IPV6_ESP: + ipVersion = IkeSessionParams.ESP_IP_VERSION_IPV6; + encapType = IkeSessionParams.ESP_ENCAP_TYPE_NONE; + break; + default: + ipVersion = IkeSessionParams.ESP_IP_VERSION_AUTO; + encapType = IkeSessionParams.ESP_ENCAP_TYPE_AUTO; + break; + } + return new CarrierConfigInfo(mccMnc, natKeepalive, encapType, ipVersion); } boolean maybeMigrateIkeSession(@NonNull Network underlyingNetwork) { @@ -3440,10 +3558,22 @@ public class Vpn { + mCurrentToken + " to network " + underlyingNetwork); - final int ipVersion = mProfile.isAutomaticIpVersionSelectionEnabled() - ? guessEspIpVersionForNetwork() : ESP_IP_VERSION_AUTO; - final int encapType = mProfile.isAutomaticIpVersionSelectionEnabled() - ? guessEspEncapTypeForNetwork() : ESP_ENCAP_TYPE_AUTO; + + final int ipVersion; + final int encapType; + if (mProfile.isAutomaticIpVersionSelectionEnabled()) { + ipVersion = guessEspIpVersionForNetwork(); + encapType = guessEspEncapTypeForNetwork(); + } else if (mProfile.getIkeTunnelConnectionParams() != null) { + ipVersion = mProfile.getIkeTunnelConnectionParams() + .getIkeSessionParams().getIpVersion(); + encapType = mProfile.getIkeTunnelConnectionParams() + .getIkeSessionParams().getEncapType(); + } else { + ipVersion = ESP_IP_VERSION_AUTO; + encapType = ESP_ENCAP_TYPE_AUTO; + } + final int keepaliveDelaySeconds; if (mProfile.isAutomaticNattKeepaliveTimerEnabled()) { keepaliveDelaySeconds = guessNattKeepaliveTimerForNetwork(); @@ -4884,7 +5014,7 @@ public class Vpn { pw.println("Reset session scheduled"); } } - pw.println("mCachedKeepalivePerSubId=" + mCachedKeepalivePerSubId); + pw.println("mCachedCarrierConfigInfoPerSubId=" + mCachedCarrierConfigInfoPerSubId); pw.println("mUnderlyNetworkChanges (most recent first):"); pw.increaseIndent(); diff --git a/services/core/java/com/android/server/cpu/CpuInfoReader.java b/services/core/java/com/android/server/cpu/CpuInfoReader.java index ce68edbb9fa1..70d7bde2e53a 100644 --- a/services/core/java/com/android/server/cpu/CpuInfoReader.java +++ b/services/core/java/com/android/server/cpu/CpuInfoReader.java @@ -52,11 +52,6 @@ public final class CpuInfoReader { private static final String POLICY_DIR_PREFIX = "policy"; private static final String RELATED_CPUS_FILE = "related_cpus"; private static final String AFFECTED_CPUS_FILE = "affected_cpus"; - // TODO(b/263154344): Avoid reading from cpuinfo_cur_freq because non-root users don't have - // read permission for this file. The file permissions are set by the Kernel. Instead, read - // the current frequency only from scaling_cur_freq. - private static final String CUR_CPUFREQ_FILE = "cpuinfo_cur_freq"; - private static final String MAX_CPUFREQ_FILE = "cpuinfo_max_freq"; private static final String CUR_SCALING_FREQ_FILE = "scaling_cur_freq"; private static final String MAX_SCALING_FREQ_FILE = "scaling_max_freq"; private static final String TIME_IN_STATE_FILE = "stats/time_in_state"; @@ -207,26 +202,16 @@ public final class CpuInfoReader { Slogf.w(TAG, "Missing dynamic policy info for policy ID %d", policyId); continue; } - long curFreqKHz = CpuInfo.MISSING_FREQUENCY; - long maxFreqKHz = CpuInfo.MISSING_FREQUENCY; - if (dynamicPolicyInfo.curCpuFreqPair.cpuFreqKHz != CpuInfo.MISSING_FREQUENCY - && staticPolicyInfo.maxCpuFreqPair.cpuFreqKHz != CpuInfo.MISSING_FREQUENCY) { - curFreqKHz = dynamicPolicyInfo.curCpuFreqPair.cpuFreqKHz; - maxFreqKHz = staticPolicyInfo.maxCpuFreqPair.cpuFreqKHz; - } else if (dynamicPolicyInfo.curCpuFreqPair.scalingFreqKHz != CpuInfo.MISSING_FREQUENCY - && staticPolicyInfo.maxCpuFreqPair.scalingFreqKHz - != CpuInfo.MISSING_FREQUENCY) { - curFreqKHz = dynamicPolicyInfo.curCpuFreqPair.scalingFreqKHz; - maxFreqKHz = staticPolicyInfo.maxCpuFreqPair.scalingFreqKHz; - } else { + if (dynamicPolicyInfo.curCpuFreqKHz == CpuInfo.MISSING_FREQUENCY + || staticPolicyInfo.maxCpuFreqKHz == CpuInfo.MISSING_FREQUENCY) { Slogf.w(TAG, "Current and maximum CPU frequency information mismatch/missing for" + " policy ID %d", policyId); continue; } - if (curFreqKHz > maxFreqKHz) { + if (dynamicPolicyInfo.curCpuFreqKHz > staticPolicyInfo.maxCpuFreqKHz) { Slogf.w(TAG, "Current CPU frequency (%d) is greater than maximum CPU frequency" - + " (%d) for policy ID (%d). Skipping CPU frequency policy", curFreqKHz, - maxFreqKHz, policyId); + + " (%d) for policy ID (%d). Skipping CPU frequency policy", + dynamicPolicyInfo.curCpuFreqKHz, staticPolicyInfo.maxCpuFreqKHz, policyId); continue; } for (int coreIdx = 0; coreIdx < staticPolicyInfo.relatedCpuCores.size(); coreIdx++) { @@ -249,7 +234,7 @@ public final class CpuInfoReader { if (dynamicPolicyInfo.affectedCpuCores.indexOf(relatedCpuCore) < 0) { cpuInfoByCpus.append(relatedCpuCore, new CpuInfo(relatedCpuCore, cpusetCategories, /* isOnline= */false, CpuInfo.MISSING_FREQUENCY, - maxFreqKHz, CpuInfo.MISSING_FREQUENCY, usageStats)); + staticPolicyInfo.maxCpuFreqKHz, CpuInfo.MISSING_FREQUENCY, usageStats)); continue; } // If a CPU core is online, it must have the usage stats. When the usage stats is @@ -260,8 +245,8 @@ public final class CpuInfoReader { continue; } CpuInfo cpuInfo = new CpuInfo(relatedCpuCore, cpusetCategories, /* isOnline= */true, - curFreqKHz, maxFreqKHz, dynamicPolicyInfo.avgTimeInStateCpuFreqKHz, - usageStats); + dynamicPolicyInfo.curCpuFreqKHz, staticPolicyInfo.maxCpuFreqKHz, + dynamicPolicyInfo.avgTimeInStateCpuFreqKHz, usageStats); cpuInfoByCpus.append(relatedCpuCore, cpuInfo); if (DEBUG) { Slogf.d(TAG, "Added %s for CPU core %d", cpuInfo, relatedCpuCore); @@ -438,8 +423,8 @@ public final class CpuInfoReader { for (int i = 0; i < mCpuFreqPolicyDirsById.size(); i++) { int policyId = mCpuFreqPolicyDirsById.keyAt(i); File policyDir = mCpuFreqPolicyDirsById.valueAt(i); - FrequencyPair maxCpuFreqPair = readMaxCpuFrequency(policyDir); - if (maxCpuFreqPair.isEmpty()) { + long maxCpuFreqKHz = readCpuFreqKHz(new File(policyDir, MAX_SCALING_FREQ_FILE)); + if (maxCpuFreqKHz == CpuInfo.MISSING_FREQUENCY) { Slogf.w(TAG, "Missing max CPU frequency information at %s", policyDir.getAbsolutePath()); continue; @@ -451,7 +436,7 @@ public final class CpuInfoReader { cpuCoresFile.getAbsolutePath()); continue; } - StaticPolicyInfo staticPolicyInfo = new StaticPolicyInfo(maxCpuFreqPair, + StaticPolicyInfo staticPolicyInfo = new StaticPolicyInfo(maxCpuFreqKHz, relatedCpuCores); mStaticPolicyInfoById.append(policyId, staticPolicyInfo); if (DEBUG) { @@ -461,18 +446,13 @@ public final class CpuInfoReader { } } - private FrequencyPair readMaxCpuFrequency(File policyDir) { - return new FrequencyPair(readCpuFreqKHz(new File(policyDir, MAX_CPUFREQ_FILE)), - readCpuFreqKHz(new File(policyDir, MAX_SCALING_FREQ_FILE))); - } - private SparseArray<DynamicPolicyInfo> readDynamicPolicyInfo() { SparseArray<DynamicPolicyInfo> dynamicPolicyInfoById = new SparseArray<>(); for (int i = 0; i < mCpuFreqPolicyDirsById.size(); i++) { int policyId = mCpuFreqPolicyDirsById.keyAt(i); File policyDir = mCpuFreqPolicyDirsById.valueAt(i); - FrequencyPair curCpuFreqPair = readCurrentCpuFrequency(policyDir); - if (curCpuFreqPair.isEmpty()) { + long curCpuFreqKHz = readCpuFreqKHz(new File(policyDir, CUR_SCALING_FREQ_FILE)); + if (curCpuFreqKHz == CpuInfo.MISSING_FREQUENCY) { Slogf.w(TAG, "Missing current frequency information at %s", policyDir.getAbsolutePath()); continue; @@ -484,7 +464,7 @@ public final class CpuInfoReader { Slogf.e(TAG, "Failed to read CPU cores from %s", cpuCoresFile.getAbsolutePath()); continue; } - DynamicPolicyInfo dynamicPolicyInfo = new DynamicPolicyInfo(curCpuFreqPair, + DynamicPolicyInfo dynamicPolicyInfo = new DynamicPolicyInfo(curCpuFreqKHz, avgTimeInStateCpuFreqKHz, affectedCpuCores); dynamicPolicyInfoById.append(policyId, dynamicPolicyInfo); if (DEBUG) { @@ -495,11 +475,6 @@ public final class CpuInfoReader { return dynamicPolicyInfoById; } - private FrequencyPair readCurrentCpuFrequency(File policyDir) { - return new FrequencyPair(readCpuFreqKHz(new File(policyDir, CUR_CPUFREQ_FILE)), - readCpuFreqKHz(new File(policyDir, CUR_SCALING_FREQ_FILE))); - } - private long readAvgTimeInStateCpuFrequency(int policyId, File policyDir) { LongSparseLongArray latestTimeInState = readTimeInState(policyDir); if (latestTimeInState == null || latestTimeInState.size() == 0) { @@ -913,58 +888,37 @@ public final class CpuInfoReader { } } - private static final class FrequencyPair { - public final long cpuFreqKHz; - public final long scalingFreqKHz; - - FrequencyPair(long cpuFreqKHz, long scalingFreqKHz) { - this.cpuFreqKHz = cpuFreqKHz; - this.scalingFreqKHz = scalingFreqKHz; - } - - boolean isEmpty() { - return cpuFreqKHz == CpuInfo.MISSING_FREQUENCY - && scalingFreqKHz == CpuInfo.MISSING_FREQUENCY; - } - - @Override - public String toString() { - return "FrequencyPair{cpuFreqKHz = " + cpuFreqKHz + ", scalingFreqKHz = " - + scalingFreqKHz + '}'; - } - } - private static final class StaticPolicyInfo { - public final FrequencyPair maxCpuFreqPair; + public final long maxCpuFreqKHz; public final IntArray relatedCpuCores; - StaticPolicyInfo(FrequencyPair maxCpuFreqPair, IntArray relatedCpuCores) { - this.maxCpuFreqPair = maxCpuFreqPair; + StaticPolicyInfo(long maxCpuFreqKHz, IntArray relatedCpuCores) { + this.maxCpuFreqKHz = maxCpuFreqKHz; this.relatedCpuCores = relatedCpuCores; } @Override public String toString() { - return "StaticPolicyInfo{maxCpuFreqPair = " + maxCpuFreqPair + ", relatedCpuCores = " + return "StaticPolicyInfo{maxCpuFreqKHz = " + maxCpuFreqKHz + ", relatedCpuCores = " + relatedCpuCores + '}'; } } private static final class DynamicPolicyInfo { - public final FrequencyPair curCpuFreqPair; + public final long curCpuFreqKHz; public final long avgTimeInStateCpuFreqKHz; public final IntArray affectedCpuCores; - DynamicPolicyInfo(FrequencyPair curCpuFreqPair, long avgTimeInStateCpuFreqKHz, + DynamicPolicyInfo(long curCpuFreqKHz, long avgTimeInStateCpuFreqKHz, IntArray affectedCpuCores) { - this.curCpuFreqPair = curCpuFreqPair; + this.curCpuFreqKHz = curCpuFreqKHz; this.avgTimeInStateCpuFreqKHz = avgTimeInStateCpuFreqKHz; this.affectedCpuCores = affectedCpuCores; } @Override public String toString() { - return "DynamicPolicyInfo{curCpuFreqPair = " + curCpuFreqPair + return "DynamicPolicyInfo{curCpuFreqKHz = " + curCpuFreqKHz + ", avgTimeInStateCpuFreqKHz = " + avgTimeInStateCpuFreqKHz + ", affectedCpuCores = " + affectedCpuCores + '}'; } diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index ea157c89f675..e01aa9b33784 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -1514,14 +1514,17 @@ public final class DisplayManagerService extends SystemService { } } - // When calling setContentRecordingSession into the WindowManagerService, the WMS + // When calling WindowManagerService#setContentRecordingSession, WindowManagerService // attempts to acquire a lock before executing its main body. Due to this, we need // to be sure that it isn't called while the DisplayManagerService is also holding // a lock, to avoid a deadlock scenario. final ContentRecordingSession session = virtualDisplayConfig.getContentRecordingSession(); - - if (displayId != Display.INVALID_DISPLAY && session != null) { + // Ensure session details are only set when mirroring (through VirtualDisplay flags or + // MediaProjection). + final boolean shouldMirror = + projection != null || (flags & VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR) != 0; + if (shouldMirror && displayId != Display.INVALID_DISPLAY && session != null) { // Only attempt to set content recording session if there are details to set and a // VirtualDisplay has been successfully constructed. session.setDisplayId(displayId); @@ -1529,8 +1532,8 @@ public final class DisplayManagerService extends SystemService { // We set the content recording session here on the server side instead of using // a second AIDL call in MediaProjection. By ensuring that a virtual display has // been constructed before calling setContentRecordingSession, we avoid a race - // condition between the DMS & WMS which could lead to the MediaProjection - // being pre-emptively torn down. + // condition between the DisplayManagerService & WindowManagerService which could + // lead to the MediaProjection being pre-emptively torn down. if (!mWindowManagerInternal.setContentRecordingSession(session)) { // Unable to start mirroring, so tear down projection & release VirtualDisplay. try { diff --git a/services/core/java/com/android/server/display/mode/DisplayModeDirector.java b/services/core/java/com/android/server/display/mode/DisplayModeDirector.java index 3864200a8cb0..13e29a38efce 100644 --- a/services/core/java/com/android/server/display/mode/DisplayModeDirector.java +++ b/services/core/java/com/android/server/display/mode/DisplayModeDirector.java @@ -1444,13 +1444,12 @@ public class DisplayModeDirector { } public void onDeviceConfigDefaultPeakRefreshRateChanged(Float defaultPeakRefreshRate) { - if (defaultPeakRefreshRate == null) { - defaultPeakRefreshRate = (float) mContext.getResources().getInteger( - R.integer.config_defaultPeakRefreshRate); - } - - if (mDefaultPeakRefreshRate != defaultPeakRefreshRate) { - synchronized (mLock) { + synchronized (mLock) { + if (defaultPeakRefreshRate == null) { + setDefaultPeakRefreshRate(mDefaultDisplayDeviceConfig, + /* attemptLoadingFromDeviceConfig= */ false); + updateRefreshRateSettingLocked(); + } else if (mDefaultPeakRefreshRate != defaultPeakRefreshRate) { mDefaultPeakRefreshRate = defaultPeakRefreshRate; updateRefreshRateSettingLocked(); } @@ -2115,11 +2114,20 @@ public class DisplayModeDirector { mLowDisplayBrightnessThresholds = displayThresholds; mLowAmbientBrightnessThresholds = ambientThresholds; } else { - // Invalid or empty. Use device default. - mLowDisplayBrightnessThresholds = mContext.getResources().getIntArray( - R.array.config_brightnessThresholdsOfPeakRefreshRate); - mLowAmbientBrightnessThresholds = mContext.getResources().getIntArray( - R.array.config_ambientThresholdsOfPeakRefreshRate); + DisplayDeviceConfig displayDeviceConfig; + synchronized (mLock) { + displayDeviceConfig = mDefaultDisplayDeviceConfig; + } + mLowDisplayBrightnessThresholds = loadBrightnessThresholds( + () -> mDeviceConfigDisplaySettings.getLowDisplayBrightnessThresholds(), + () -> displayDeviceConfig.getLowDisplayBrightnessThresholds(), + R.array.config_brightnessThresholdsOfPeakRefreshRate, + displayDeviceConfig, /* attemptLoadingFromDeviceConfig= */ false); + mLowAmbientBrightnessThresholds = loadBrightnessThresholds( + () -> mDeviceConfigDisplaySettings.getLowAmbientBrightnessThresholds(), + () -> displayDeviceConfig.getLowAmbientBrightnessThresholds(), + R.array.config_ambientThresholdsOfPeakRefreshRate, + displayDeviceConfig, /* attemptLoadingFromDeviceConfig= */ false); } restartObserver(); } @@ -2129,7 +2137,15 @@ public class DisplayModeDirector { * DeviceConfig properties. */ public void onDeviceConfigRefreshRateInLowZoneChanged(int refreshRate) { - if (refreshRate != mRefreshRateInLowZone) { + if (refreshRate == -1) { + // Given there is no value available in DeviceConfig, lets not attempt loading it + // from there. + synchronized (mLock) { + loadRefreshRateInLowZone(mDefaultDisplayDeviceConfig, + /* attemptLoadingFromDeviceConfig= */ false); + } + restartObserver(); + } else if (refreshRate != mRefreshRateInLowZone) { mRefreshRateInLowZone = refreshRate; restartObserver(); } @@ -2142,11 +2158,20 @@ public class DisplayModeDirector { mHighDisplayBrightnessThresholds = displayThresholds; mHighAmbientBrightnessThresholds = ambientThresholds; } else { - // Invalid or empty. Use device default. - mHighDisplayBrightnessThresholds = mContext.getResources().getIntArray( - R.array.config_highDisplayBrightnessThresholdsOfFixedRefreshRate); - mHighAmbientBrightnessThresholds = mContext.getResources().getIntArray( - R.array.config_highAmbientBrightnessThresholdsOfFixedRefreshRate); + DisplayDeviceConfig displayDeviceConfig; + synchronized (mLock) { + displayDeviceConfig = mDefaultDisplayDeviceConfig; + } + mHighDisplayBrightnessThresholds = loadBrightnessThresholds( + () -> mDeviceConfigDisplaySettings.getHighDisplayBrightnessThresholds(), + () -> displayDeviceConfig.getHighDisplayBrightnessThresholds(), + R.array.config_highDisplayBrightnessThresholdsOfFixedRefreshRate, + displayDeviceConfig, /* attemptLoadingFromDeviceConfig= */ false); + mHighAmbientBrightnessThresholds = loadBrightnessThresholds( + () -> mDeviceConfigDisplaySettings.getHighAmbientBrightnessThresholds(), + () -> displayDeviceConfig.getHighAmbientBrightnessThresholds(), + R.array.config_highAmbientBrightnessThresholdsOfFixedRefreshRate, + displayDeviceConfig, /* attemptLoadingFromDeviceConfig= */ false); } restartObserver(); } @@ -2156,7 +2181,15 @@ public class DisplayModeDirector { * DeviceConfig properties. */ public void onDeviceConfigRefreshRateInHighZoneChanged(int refreshRate) { - if (refreshRate != mRefreshRateInHighZone) { + if (refreshRate == -1) { + // Given there is no value available in DeviceConfig, lets not attempt loading it + // from there. + synchronized (mLock) { + loadRefreshRateInHighZone(mDefaultDisplayDeviceConfig, + /* attemptLoadingFromDeviceConfig= */ false); + } + restartObserver(); + } else if (refreshRate != mRefreshRateInHighZone) { mRefreshRateInHighZone = refreshRate; restartObserver(); } @@ -3067,10 +3100,8 @@ public class DisplayModeDirector { new Pair<>(lowDisplayBrightnessThresholds, lowAmbientBrightnessThresholds)) .sendToTarget(); - if (refreshRateInLowZone != -1) { - mHandler.obtainMessage(MSG_REFRESH_RATE_IN_LOW_ZONE_CHANGED, refreshRateInLowZone, - 0).sendToTarget(); - } + mHandler.obtainMessage(MSG_REFRESH_RATE_IN_LOW_ZONE_CHANGED, refreshRateInLowZone, + 0).sendToTarget(); int[] highDisplayBrightnessThresholds = getHighDisplayBrightnessThresholds(); int[] highAmbientBrightnessThresholds = getHighAmbientBrightnessThresholds(); @@ -3080,10 +3111,8 @@ public class DisplayModeDirector { new Pair<>(highDisplayBrightnessThresholds, highAmbientBrightnessThresholds)) .sendToTarget(); - if (refreshRateInHighZone != -1) { - mHandler.obtainMessage(MSG_REFRESH_RATE_IN_HIGH_ZONE_CHANGED, refreshRateInHighZone, - 0).sendToTarget(); - } + mHandler.obtainMessage(MSG_REFRESH_RATE_IN_HIGH_ZONE_CHANGED, refreshRateInHighZone, + 0).sendToTarget(); synchronized (mLock) { final int refreshRateInHbmSunlight = diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index b336b95d793f..7a0bf0cacdfb 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -2003,7 +2003,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub @Override public InputMethodInfo getCurrentInputMethodInfoAsUser(@UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } synchronized (ImfLock.class) { @@ -2017,7 +2017,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub public List<InputMethodInfo> getInputMethodList(@UserIdInt int userId, @DirectBootAwareness int directBootAwareness) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } synchronized (ImfLock.class) { @@ -2040,7 +2040,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub @Override public List<InputMethodInfo> getEnabledInputMethodList(@UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } synchronized (ImfLock.class) { @@ -2062,7 +2062,7 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub @Override public boolean isStylusHandwritingAvailableAsUser(@UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission( + mContext.enforceCallingOrSelfPermission( Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } @@ -2158,7 +2158,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub public List<InputMethodSubtype> getEnabledInputMethodSubtypeList(String imiId, boolean allowsImplicitlyEnabledSubtypes, @UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } synchronized (ImfLock.class) { @@ -3634,7 +3635,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub int unverifiedTargetSdkVersion, @UserIdInt int userId, @NonNull ImeOnBackInvokedDispatcher imeDispatcher) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); if (editorInfo == null || editorInfo.targetInputMethodUser == null || editorInfo.targetInputMethodUser.getIdentifier() != userId) { @@ -4115,7 +4117,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub @Override public InputMethodSubtype getLastInputMethodSubtype(@UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } synchronized (ImfLock.class) { if (mSettings.getCurrentUserId() == userId) { @@ -4133,7 +4136,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub public void setAdditionalInputMethodSubtypes(String imiId, InputMethodSubtype[] subtypes, @UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } final int callingUid = Binder.getCallingUid(); @@ -4186,7 +4190,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub public void setExplicitlyEnabledInputMethodSubtypes(String imeId, @NonNull int[] subtypeHashCodes, @UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } final int callingUid = Binder.getCallingUid(); final ComponentName imeComponentName = @@ -5412,7 +5417,8 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub @Override public InputMethodSubtype getCurrentInputMethodSubtype(@UserIdInt int userId) { if (UserHandle.getCallingUserId() != userId) { - mContext.enforceCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); + mContext.enforceCallingOrSelfPermission( + Manifest.permission.INTERACT_ACROSS_USERS_FULL, null); } synchronized (ImfLock.class) { if (mSettings.getCurrentUserId() == userId) { diff --git a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java index 48326188e215..b75b7d4daacd 100644 --- a/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java +++ b/services/core/java/com/android/server/media/projection/MediaProjectionManagerService.java @@ -67,7 +67,7 @@ import java.util.Map; * The {@link MediaProjectionManagerService} manages the creation and lifetime of MediaProjections, * as well as the capabilities they grant. Any service using MediaProjection tokens as permission * grants <b>must</b> validate the token before use by calling {@link - * IMediaProjectionService#isCurrentProjection}. + * IMediaProjectionManager#isCurrentProjection}. */ public final class MediaProjectionManagerService extends SystemService implements Watchdog.Monitor { diff --git a/services/core/java/com/android/server/notification/NotificationComparator.java b/services/core/java/com/android/server/notification/NotificationComparator.java index 647a89efcbbf..6f0903cf8685 100644 --- a/services/core/java/com/android/server/notification/NotificationComparator.java +++ b/services/core/java/com/android/server/notification/NotificationComparator.java @@ -25,6 +25,7 @@ import android.content.Intent; import android.content.IntentFilter; import android.telecom.TelecomManager; +import com.android.internal.config.sysui.SystemUiSystemPropertiesFlags; import com.android.internal.util.NotificationMessagingUtil; import java.util.Comparator; @@ -38,6 +39,7 @@ public class NotificationComparator private final Context mContext; private final NotificationMessagingUtil mMessagingUtil; + private final boolean mSortByInterruptiveness; private String mDefaultPhoneApp; public NotificationComparator(Context context) { @@ -45,6 +47,8 @@ public class NotificationComparator mContext.registerReceiver(mPhoneAppBroadcastReceiver, new IntentFilter(TelecomManager.ACTION_DEFAULT_DIALER_CHANGED)); mMessagingUtil = new NotificationMessagingUtil(mContext); + mSortByInterruptiveness = !SystemUiSystemPropertiesFlags.getResolver().isEnabled( + SystemUiSystemPropertiesFlags.NotificationFlags.NO_SORT_BY_INTERRUPTIVENESS); } @Override @@ -135,10 +139,12 @@ public class NotificationComparator return -1 * Integer.compare(leftPriority, rightPriority); } - final boolean leftInterruptive = left.isInterruptive(); - final boolean rightInterruptive = right.isInterruptive(); - if (leftInterruptive != rightInterruptive) { - return -1 * Boolean.compare(leftInterruptive, rightInterruptive); + if (mSortByInterruptiveness) { + final boolean leftInterruptive = left.isInterruptive(); + final boolean rightInterruptive = right.isInterruptive(); + if (leftInterruptive != rightInterruptive) { + return -1 * Boolean.compare(leftInterruptive, rightInterruptive); + } } // then break ties by time, most recent first diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index bb79c99cc985..f09f7c2797e5 100755 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -6829,7 +6829,8 @@ public class NotificationManagerService extends SystemService { } // Ensure MediaStyle has correct permissions for remote device extras - if (notification.isStyle(Notification.MediaStyle.class)) { + if (notification.isStyle(Notification.MediaStyle.class) + || notification.isStyle(Notification.DecoratedMediaCustomViewStyle.class)) { int hasMediaContentControlPermission = getContext().checkPermission( android.Manifest.permission.MEDIA_CONTENT_CONTROL, -1, notificationUid); if (hasMediaContentControlPermission != PERMISSION_GRANTED) { @@ -7802,7 +7803,8 @@ public class NotificationManagerService extends SystemService { */ @GuardedBy("mNotificationLock") @VisibleForTesting - protected boolean isVisuallyInterruptive(NotificationRecord old, NotificationRecord r) { + protected boolean isVisuallyInterruptive(@Nullable NotificationRecord old, + @NonNull NotificationRecord r) { // Ignore summary updates because we don't display most of the information. if (r.getSbn().isGroup() && r.getSbn().getNotification().isGroupSummary()) { if (DEBUG_INTERRUPTIVENESS) { @@ -7820,14 +7822,6 @@ public class NotificationManagerService extends SystemService { return true; } - if (r == null) { - if (DEBUG_INTERRUPTIVENESS) { - Slog.v(TAG, "INTERRUPTIVENESS: " - + r.getKey() + " is not interruptive: null"); - } - return false; - } - Notification oldN = old.getSbn().getNotification(); Notification newN = r.getSbn().getNotification(); if (oldN.extras == null || newN.extras == null) { @@ -7885,6 +7879,14 @@ public class NotificationManagerService extends SystemService { return true; } + if (Notification.areIconsDifferent(oldN, newN)) { + if (DEBUG_INTERRUPTIVENESS) { + Slog.v(TAG, "INTERRUPTIVENESS: " + + r.getKey() + " is interruptive: icons differ"); + } + return true; + } + // Fields below are invisible to bubbles. if (r.canBubble()) { if (DEBUG_INTERRUPTIVENESS) { diff --git a/services/core/java/com/android/server/pm/InstallPackageHelper.java b/services/core/java/com/android/server/pm/InstallPackageHelper.java index 7fe6c7d5aa93..cd1ae74e413c 100644 --- a/services/core/java/com/android/server/pm/InstallPackageHelper.java +++ b/services/core/java/com/android/server/pm/InstallPackageHelper.java @@ -3279,7 +3279,7 @@ final class InstallPackageHelper { final RemovePackageHelper removePackageHelper = new RemovePackageHelper(mPm); removePackageHelper.removePackage(stubPkg, true /*chatty*/); try { - return scanSystemPackageTracedLI(scanFile, parseFlags, scanFlags, null); + return initPackageTracedLI(scanFile, parseFlags, scanFlags); } catch (PackageManagerException e) { Slog.w(TAG, "Failed to install compressed system package:" + stubPkg.getPackageName(), e); @@ -3410,8 +3410,7 @@ final class InstallPackageHelper { | ParsingPackageUtils.PARSE_MUST_BE_APK | ParsingPackageUtils.PARSE_IS_SYSTEM_DIR; @PackageManagerService.ScanFlags int scanFlags = mPm.getSystemPackageScanFlags(codePath); - final AndroidPackage pkg = scanSystemPackageTracedLI( - codePath, parseFlags, scanFlags, null); + final AndroidPackage pkg = initPackageTracedLI(codePath, parseFlags, scanFlags); synchronized (mPm.mLock) { PackageSetting pkgSetting = mPm.mSettings.getPackageLPr(pkg.getPackageName()); @@ -3591,7 +3590,7 @@ final class InstallPackageHelper { try { final File codePath = new File(pkg.getPath()); synchronized (mPm.mInstallLock) { - scanSystemPackageTracedLI(codePath, 0, scanFlags, null); + initPackageTracedLI(codePath, 0, scanFlags); } } catch (PackageManagerException e) { Slog.e(TAG, "Failed to parse updated, ex-system package: " @@ -3734,12 +3733,6 @@ final class InstallPackageHelper { String errorMsg = null; if (throwable == null) { - // TODO(b/194319951): move lower in the scan chain - // Static shared libraries have synthetic package names - if (parseResult.parsedPackage.isStaticSharedLibrary()) { - PackageManagerService.renameStaticSharedLibraryPackage( - parseResult.parsedPackage); - } try { addForInitLI(parseResult.parsedPackage, parseFlags, scanFlags, new UserHandle(UserHandle.USER_SYSTEM), apexInfo); @@ -3804,8 +3797,8 @@ final class InstallPackageHelper { try { synchronized (mPm.mInstallLock) { - final AndroidPackage newPkg = scanSystemPackageTracedLI( - scanFile, reparseFlags, rescanFlags, null); + final AndroidPackage newPkg = initPackageTracedLI( + scanFile, reparseFlags, rescanFlags); // We rescanned a stub, add it to the list of stubbed system packages if (newPkg.isStub()) { stubSystemApps.add(packageName); @@ -3819,28 +3812,26 @@ final class InstallPackageHelper { } /** - * Traces a package scan. - * @see #scanSystemPackageLI(File, int, int, UserHandle) + * Traces a package scan and registers it with the system. + * @see #initPackageLI(File, int, int) */ @GuardedBy("mPm.mInstallLock") - public AndroidPackage scanSystemPackageTracedLI(File scanFile, final int parseFlags, - int scanFlags, @Nullable ApexManager.ActiveApexInfo apexInfo) + public AndroidPackage initPackageTracedLI(File scanFile, final int parseFlags, int scanFlags) throws PackageManagerException { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "scanPackage [" + scanFile.toString() + "]"); try { - return scanSystemPackageLI(scanFile, parseFlags, scanFlags, apexInfo); + return initPackageLI(scanFile, parseFlags, scanFlags); } finally { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); } } /** - * Scans a package and returns the newly parsed package. + * Scans a package, registers it with the system and returns the newly parsed package. * Returns {@code null} in case of errors and the error code is stored in mLastScanError */ @GuardedBy("mPm.mInstallLock") - private AndroidPackage scanSystemPackageLI(File scanFile, int parseFlags, int scanFlags, - @Nullable ApexManager.ActiveApexInfo apexInfo) + private AndroidPackage initPackageLI(File scanFile, int parseFlags, int scanFlags) throws PackageManagerException { if (DEBUG_INSTALL) Slog.d(TAG, "Parsing: " + scanFile); @@ -3852,13 +3843,8 @@ final class InstallPackageHelper { Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); } - // Static shared libraries have synthetic package names - if (parsedPackage.isStaticSharedLibrary()) { - PackageManagerService.renameStaticSharedLibraryPackage(parsedPackage); - } - return addForInitLI(parsedPackage, parseFlags, scanFlags, - new UserHandle(UserHandle.USER_SYSTEM), apexInfo); + new UserHandle(UserHandle.USER_SYSTEM), null); } /** @@ -3882,6 +3868,10 @@ final class InstallPackageHelper { throws PackageManagerException { PackageSetting disabledPkgSetting; synchronized (mPm.mLock) { + // Static shared libraries have synthetic package names + if (activeApexInfo == null && parsedPackage.isStaticSharedLibrary()) { + PackageManagerService.renameStaticSharedLibraryPackage(parsedPackage); + } disabledPkgSetting = mPm.mSettings.getDisabledSystemPkgLPr(parsedPackage.getPackageName()); if (activeApexInfo != null && disabledPkgSetting != null) { diff --git a/services/core/java/com/android/server/pm/StorageEventHelper.java b/services/core/java/com/android/server/pm/StorageEventHelper.java index 7684a4998d66..8f8f4376d2cc 100644 --- a/services/core/java/com/android/server/pm/StorageEventHelper.java +++ b/services/core/java/com/android/server/pm/StorageEventHelper.java @@ -159,8 +159,8 @@ public final class StorageEventHelper extends StorageEventListener { synchronized (mPm.mInstallLock) { final AndroidPackage pkg; try { - pkg = installPackageHelper.scanSystemPackageTracedLI( - ps.getPath(), parseFlags, SCAN_INITIAL, null); + pkg = installPackageHelper.initPackageTracedLI( + ps.getPath(), parseFlags, SCAN_INITIAL); loaded.add(pkg); } catch (PackageManagerException e) { diff --git a/services/core/java/com/android/server/pm/SuspendPackageHelper.java b/services/core/java/com/android/server/pm/SuspendPackageHelper.java index 18eebe45a759..b4b8cb2a370d 100644 --- a/services/core/java/com/android/server/pm/SuspendPackageHelper.java +++ b/services/core/java/com/android/server/pm/SuspendPackageHelper.java @@ -619,10 +619,10 @@ public final class SuspendPackageHelper { final Bundle extras = new Bundle(3); extras.putStringArray(Intent.EXTRA_CHANGED_PACKAGE_LIST, pkgList); extras.putIntArray(Intent.EXTRA_CHANGED_UID_LIST, uidList); + final int flags = Intent.FLAG_RECEIVER_REGISTERED_ONLY | Intent.FLAG_RECEIVER_FOREGROUND; handler.post(() -> mBroadcastHelper.sendPackageBroadcast(intent, null /* pkg */, - extras, Intent.FLAG_RECEIVER_REGISTERED_ONLY, null /* targetPkg */, - null /* finishedReceiver */, new int[]{userId}, null /* instantUserIds */, - null /* broadcastAllowList */, + extras, flags, null /* targetPkg */, null /* finishedReceiver */, + new int[]{userId}, null /* instantUserIds */, null /* broadcastAllowList */, (callingUid, intentExtras) -> BroadcastHelper.filterExtrasChangedPackageList( mPm.snapshotComputer(), callingUid, intentExtras), null /* bOptions */)); diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 741464072fd8..b066cad29e9a 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -1275,7 +1275,7 @@ public class UserManagerService extends IUserManager.Stub { intent.putExtra(Intent.EXTRA_USER_HANDLE, profileHandle.getIdentifier()); getDevicePolicyManagerInternal().broadcastIntentToManifestReceivers( intent, parentHandle, /* requiresPermission= */ true); - intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY); + intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY | Intent.FLAG_RECEIVER_FOREGROUND); mContext.sendBroadcastAsUser(intent, parentHandle); } diff --git a/services/core/java/com/android/server/pm/permission/TEST_MAPPING b/services/core/java/com/android/server/pm/permission/TEST_MAPPING index c0d71ac26853..579d4e3562b4 100644 --- a/services/core/java/com/android/server/pm/permission/TEST_MAPPING +++ b/services/core/java/com/android/server/pm/permission/TEST_MAPPING @@ -26,10 +26,10 @@ ] }, { - "name": "CtsPermission2TestCases", + "name": "CtsPermissionPolicyTestCases", "options": [ { - "include-filter": "android.permission2.cts.RestrictedPermissionsTest" + "include-filter": "android.permissionpolicy.cts.RestrictedPermissionsTest" }, { "include-filter": "android.permission.cts.PermissionMaxSdkVersionTest" diff --git a/services/core/java/com/android/server/policy/GlobalActions.java b/services/core/java/com/android/server/policy/GlobalActions.java index e1461356cc4c..76a714c47f2e 100644 --- a/services/core/java/com/android/server/policy/GlobalActions.java +++ b/services/core/java/com/android/server/policy/GlobalActions.java @@ -93,7 +93,8 @@ class GlobalActions implements GlobalActionsProvider.GlobalActionsListener { mGlobalActionsAvailable = available; if (mShowing && !mGlobalActionsAvailable) { // Global actions provider died but we need to be showing global actions still, show the - // legacy global acrions provider. + // legacy global actions provider and remove timeout callbacks to avoid legacy re-show. + mHandler.removeCallbacks(mShowTimeout); ensureLegacyCreated(); mLegacyGlobalActions.showDialog(mKeyguardShowing, mDeviceProvisioned); } diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 3eeafeb52b4b..b32e8f0b3221 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -1537,7 +1537,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { private void interceptScreenshotChord(int source, long pressDelay) { mHandler.removeMessages(MSG_SCREENSHOT_CHORD); - mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SCREENSHOT_CHORD, source), + // arg2 is unused, but necessary to insure we call the correct method signature + // since the screenshot source is read from message.arg1 + mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_SCREENSHOT_CHORD, source, 0), pressDelay); } @@ -3555,16 +3557,16 @@ public class PhoneWindowManager implements WindowManagerPolicy { mPendingKeyguardOccluded = occluded; mKeyguardOccludedChanged = true; } else { - setKeyguardOccludedLw(occluded, true /* notify */); + setKeyguardOccludedLw(occluded); } } @Override - public int applyKeyguardOcclusionChange(boolean notify) { + public int applyKeyguardOcclusionChange() { if (mKeyguardOccludedChanged) { if (DEBUG_KEYGUARD) Slog.d(TAG, "transition/occluded changed occluded=" + mPendingKeyguardOccluded); - if (setKeyguardOccludedLw(mPendingKeyguardOccluded, notify)) { + if (setKeyguardOccludedLw(mPendingKeyguardOccluded)) { return FINISH_LAYOUT_REDO_LAYOUT | FINISH_LAYOUT_REDO_WALLPAPER; } } @@ -3583,8 +3585,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { */ private int handleTransitionForKeyguardLw(boolean startKeyguardExitAnimation, boolean notifyOccluded) { - final int redoLayout = applyKeyguardOcclusionChange(notifyOccluded); - if (redoLayout != 0) return redoLayout; + if (notifyOccluded) { + final int redoLayout = applyKeyguardOcclusionChange(); + if (redoLayout != 0) return redoLayout; + } if (startKeyguardExitAnimation) { if (DEBUG_KEYGUARD) Slog.d(TAG, "Starting keyguard exit animation"); startKeyguardExitAnimation(SystemClock.uptimeMillis()); @@ -3835,20 +3839,16 @@ public class PhoneWindowManager implements WindowManagerPolicy { } /** - * Updates the occluded state of the Keyguard. + * Updates the occluded state of the Keyguard immediately via + * {@link com.android.internal.policy.IKeyguardService}. * * @param isOccluded Whether the Keyguard is occluded by another window. - * @param notify Notify keyguard occlude status change immediately via - * {@link com.android.internal.policy.IKeyguardService}. * @return Whether the flags have changed and we have to redo the layout. */ - private boolean setKeyguardOccludedLw(boolean isOccluded, boolean notify) { + private boolean setKeyguardOccludedLw(boolean isOccluded) { if (DEBUG_KEYGUARD) Slog.d(TAG, "setKeyguardOccluded occluded=" + isOccluded); mKeyguardOccludedChanged = false; - if (isKeyguardOccluded() == isOccluded) { - return false; - } - mKeyguardDelegate.setOccluded(isOccluded, notify); + mKeyguardDelegate.setOccluded(isOccluded, true /* notify */); return mKeyguardDelegate.isShowing(); } diff --git a/services/core/java/com/android/server/policy/TEST_MAPPING b/services/core/java/com/android/server/policy/TEST_MAPPING index 094e70fe8f80..9f1cb1a451c6 100644 --- a/services/core/java/com/android/server/policy/TEST_MAPPING +++ b/services/core/java/com/android/server/policy/TEST_MAPPING @@ -29,16 +29,16 @@ ] }, { - "name": "CtsPermission2TestCases", + "name": "CtsPermissionPolicyTestCases", "options": [ { - "include-filter": "android.permission2.cts.RestrictedPermissionsTest" + "include-filter": "android.permissionpolicy.cts.RestrictedPermissionsTest" }, { - "include-filter": "android.permission2.cts.RestrictedStoragePermissionSharedUidTest" + "include-filter": "android.permissionpolicy.cts.RestrictedStoragePermissionSharedUidTest" }, { - "include-filter": "android.permission2.cts.RestrictedStoragePermissionTest" + "include-filter": "android.permissionpolicy.cts.RestrictedStoragePermissionTest" } ] }, diff --git a/services/core/java/com/android/server/policy/WindowManagerPolicy.java b/services/core/java/com/android/server/policy/WindowManagerPolicy.java index 3c4dbf247934..5d558e9c1e2f 100644 --- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java +++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java @@ -170,10 +170,10 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants { void onKeyguardOccludedChangedLw(boolean occluded, boolean waitAppTransition); /** - * @param notify {@code true} if the status change should be immediately notified via - * {@link com.android.internal.policy.IKeyguardService} + * Commit any queued changes to keyguard occlude status that had been deferred during the + * start of an animation or transition. */ - int applyKeyguardOcclusionChange(boolean notify); + int applyKeyguardOcclusionChange(); /** * Interface to the Window Manager state associated with a particular diff --git a/services/core/java/com/android/server/wm/AbsAppSnapshotController.java b/services/core/java/com/android/server/wm/AbsAppSnapshotController.java index f215495d2f90..83804f75afea 100644 --- a/services/core/java/com/android/server/wm/AbsAppSnapshotController.java +++ b/services/core/java/com/android/server/wm/AbsAppSnapshotController.java @@ -55,8 +55,8 @@ import java.io.PrintWriter; * @param <CACHE> The basic cache for either Task or ActivityRecord */ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, - CACHE extends AbsAppSnapshotCache<TYPE>> { - private static final String TAG = TAG_WITH_CLASS_NAME ? "SnapshotController" : TAG_WM; + CACHE extends SnapshotCache<TYPE>> { + static final String TAG = TAG_WITH_CLASS_NAME ? "SnapshotController" : TAG_WM; /** * Return value for {@link #getSnapshotMode}: We are allowed to take a real screenshot to be * used as the snapshot. @@ -76,7 +76,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, static final int SNAPSHOT_MODE_NONE = 2; protected final WindowManagerService mService; - protected final float mHighResTaskSnapshotScale; + protected final float mHighResSnapshotScale; private final Rect mTmpRect = new Rect(); /** * Flag indicating whether we are running on an Android TV device. @@ -99,12 +99,13 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, PackageManager.FEATURE_LEANBACK); mIsRunningOnIoT = mService.mContext.getPackageManager().hasSystemFeature( PackageManager.FEATURE_EMBEDDED); - mHighResTaskSnapshotScale = initSnapshotScale(); + mHighResSnapshotScale = initSnapshotScale(); } protected float initSnapshotScale() { - return mService.mContext.getResources().getFloat( + final float config = mService.mContext.getResources().getFloat( com.android.internal.R.dimen.config_highResTaskSnapshotScale); + return Math.max(Math.min(config, 1f), 0.1f); } /** @@ -173,7 +174,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, final HardwareBuffer buffer = snapshot.getHardwareBuffer(); if (buffer.getWidth() == 0 || buffer.getHeight() == 0) { buffer.close(); - Slog.e(TAG, "Invalid task snapshot dimensions " + buffer.getWidth() + "x" + Slog.e(TAG, "Invalid snapshot dimensions " + buffer.getWidth() + "x" + buffer.getHeight()); return null; } else { @@ -223,7 +224,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, Point taskSize = new Point(); Trace.traceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "createSnapshot"); final ScreenCapture.ScreenshotHardwareBuffer taskSnapshot = createSnapshot(source, - mHighResTaskSnapshotScale, builder.getPixelFormat(), taskSize, builder); + mHighResSnapshotScale, builder.getPixelFormat(), taskSize, builder); Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER); builder.setTaskSize(taskSize); return taskSnapshot; @@ -397,11 +398,11 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, final SnapshotDrawerUtils.SystemBarBackgroundPainter decorPainter = new SnapshotDrawerUtils.SystemBarBackgroundPainter(attrs.flags, attrs.privateFlags, attrs.insetsFlags.appearance, taskDescription, - mHighResTaskSnapshotScale, mainWindow.getRequestedVisibleTypes()); + mHighResSnapshotScale, mainWindow.getRequestedVisibleTypes()); final int taskWidth = taskBounds.width(); final int taskHeight = taskBounds.height(); - final int width = (int) (taskWidth * mHighResTaskSnapshotScale); - final int height = (int) (taskHeight * mHighResTaskSnapshotScale); + final int width = (int) (taskWidth * mHighResSnapshotScale); + final int height = (int) (taskHeight * mHighResSnapshotScale); final RenderNode node = RenderNode.create("SnapshotController", null); node.setLeftTopRightBottom(0, 0, width, height); node.setClipToBounds(false); @@ -450,9 +451,28 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, return 0; } + /** + * Called when an {@link ActivityRecord} has been removed. + */ + void onAppRemoved(ActivityRecord activity) { + mCache.onAppRemoved(activity); + } + + /** + * Called when the process of an {@link ActivityRecord} has died. + */ + void onAppDied(ActivityRecord activity) { + mCache.onAppDied(activity); + } + + boolean isAnimatingByRecents(@NonNull Task task) { + return task.isAnimatingByRecents() + || mService.mAtmService.getTransitionController().inRecentsTransition(task); + } + void dump(PrintWriter pw, String prefix) { - pw.println(prefix + "mHighResTaskSnapshotScale=" + mHighResTaskSnapshotScale); - pw.println(prefix + "mTaskSnapshotEnabled=" + mSnapshotEnabled); + pw.println(prefix + "mHighResSnapshotScale=" + mHighResSnapshotScale); + pw.println(prefix + "mSnapshotEnabled=" + mSnapshotEnabled); mCache.dump(pw, prefix); } } diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index e21c15665140..f5bc8ff02e68 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -121,6 +121,7 @@ import static android.view.WindowManager.PROPERTY_ACTIVITY_EMBEDDING_SPLITS_ENAB import static android.view.WindowManager.TRANSIT_CLOSE; import static android.view.WindowManager.TRANSIT_FLAG_OPEN_BEHIND; import static android.view.WindowManager.TRANSIT_OLD_UNSET; +import static android.view.WindowManager.TRANSIT_RELAUNCH; import static android.window.TransitionInfo.FLAG_IS_OCCLUDED; import static android.window.TransitionInfo.FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT; @@ -465,7 +466,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A final int launchedFromPid; // always the pid who started the activity. final int launchedFromUid; // always the uid who started the activity. final String launchedFromPackage; // always the package who started the activity. - final @Nullable String launchedFromFeatureId; // always the feature in launchedFromPackage + @Nullable + final String launchedFromFeatureId; // always the feature in launchedFromPackage private final int mLaunchSourceType; // original launch source type final Intent intent; // the original intent that generated us final String shortComponentName; // the short component name of the intent @@ -731,7 +733,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A /** * Solely for reporting to ActivityMetricsLogger. Just tracks whether, the last time this - * Actiivty was part of a syncset, all windows were ready by the time the sync was ready (vs. + * Activity was part of a syncset, all windows were ready by the time the sync was ready (vs. * only the top-occluding ones). The assumption here is if some were not ready, they were * covered with starting-window/splash-screen. */ @@ -4222,7 +4224,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A getDisplayContent().mOpeningApps.remove(this); getDisplayContent().mUnknownAppVisibilityController.appRemovedOrHidden(this); - mWmService.mTaskSnapshotController.onAppRemoved(this); + mWmService.mSnapshotController.onAppRemoved(this); + mTaskSupervisor.getActivityMetricsLogger().notifyActivityRemoved(this); mTaskSupervisor.mStoppingActivities.remove(this); waitingToShow = false; @@ -4743,6 +4746,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } catch (RemoteException e) { Slog.w(TAG, "Exception thrown sending result to " + this, e); } + // We return here to ensure that result for media projection setup is not stored as a + // pending result after being scheduled. This is to prevent this stored result being + // sent again when the destination component is resumed. + return; } addResultLocked(null /* from */, resultWho, requestCode, resultCode, data); @@ -4750,7 +4757,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A /** * Provides a lifecycle item for the current stat. Only to be used when force sending an - * activity result (as part of MeidaProjection setup). Does not support the following states: + * activity result (as part of MediaProjection setup). Does not support the following states: * {@link State#INITIALIZING}, {@link State#RESTARTING_PROCESS}, * {@link State#FINISHING}, {@link State#DESTROYING}, {@link State#DESTROYED}. It does not make * sense to force send a result to an activity in these states. Does not support @@ -5199,7 +5206,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A Slog.w(TAG_WM, "Attempted to set visibility of non-existing app token: " + token); return; } - if (visible == mVisibleRequested && visible == mVisible + if (visible == mVisibleRequested && visible == mVisible && visible == isClientVisible() && mTransitionController.isShellTransitionsEnabled()) { // For shell transition, it is no-op if there is no state change. return; @@ -5552,7 +5559,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A && !fromTransition) { // Take the screenshot before possibly hiding the WSA, otherwise the screenshot // will not be taken. - mWmService.mTaskSnapshotController.notifyAppVisibilityChanged(this, visible); + mWmService.mSnapshotController.notifyAppVisibilityChanged(this, visible); } // If we are hidden but there is no delay needed we immediately @@ -8356,6 +8363,10 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * requested in the config or via an ADB command. For more context see {@link * LetterboxUiController#getHorizontalPositionMultiplier(Configuration)} and * {@link LetterboxUiController#getVerticalPositionMultiplier(Configuration)} + * <p> + * Note that this is the final step that can change the resolved bounds. After this method + * is called, the position of the bounds will be moved to app space as sandboxing if the + * activity has a size compat scale. */ private void updateResolvedBoundsPosition(Configuration newParentConfiguration) { final Configuration resolvedConfig = getResolvedOverrideConfiguration(); @@ -8417,6 +8428,18 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Since bounds has changed, the configuration needs to be computed accordingly. getTaskFragment().computeConfigResourceOverrides(resolvedConfig, newParentConfiguration); + + // The position of configuration bounds were calculated in screen space because that is + // easier to resolve the relative position in parent container. However, if the activity is + // scaled, the position should follow the scale because the configuration will be sent to + // the client which is expected to be in a scaled environment. + if (mSizeCompatScale != 1f) { + final int screenPosX = resolvedBounds.left; + final int screenPosY = resolvedBounds.top; + final int dx = (int) (screenPosX / mSizeCompatScale + 0.5f) - screenPosX; + final int dy = (int) (screenPosY / mSizeCompatScale + 0.5f) - screenPosY; + offsetBounds(resolvedConfig, dx, dy); + } } void recomputeConfiguration() { @@ -9679,9 +9702,36 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return; } - if (getParent() != null) { + if (mTransitionController.isShellTransitionsEnabled()) { + final Transition transition = new Transition(TRANSIT_RELAUNCH, 0 /* flags */, + mTransitionController, mWmService.mSyncEngine); + final Runnable executeRestart = () -> { + if (mState != RESTARTING_PROCESS || !attachedToProcess()) { + transition.abort(); + return; + } + // Request invisible so there will be a change after the activity is restarted + // to be visible. + setVisibleRequested(false); + transition.collect(this); + mTransitionController.requestStartTransition(transition, task, + null /* remoteTransition */, null /* displayChange */); + scheduleStopForRestartProcess(); + }; + if (mWmService.mSyncEngine.hasActiveSync()) { + mWmService.mSyncEngine.queueSyncSet( + () -> mTransitionController.moveToCollecting(transition), executeRestart); + } else { + mTransitionController.moveToCollecting(transition); + executeRestart.run(); + } + } else { startFreezingScreen(); + scheduleStopForRestartProcess(); } + } + + private void scheduleStopForRestartProcess() { // The process will be killed until the activity reports stopped with saved state (see // {@link ActivityTaskManagerService.activityStopped}). try { @@ -10460,6 +10510,18 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A && !inPinnedWindowingMode() && !inFreeformWindowingMode(); } + boolean canCaptureSnapshot() { + if (!isSurfaceShowing() || findMainWindow() == null) { + return false; + } + return forAllWindows( + // Ensure at least one window for the top app is visible before attempting to + // take a screenshot. Visible here means that the WSA surface is shown and has + // an alpha greater than 0. + ws -> ws.mWinAnimator != null && ws.mWinAnimator.getShown() + && ws.mWinAnimator.mLastAlpha > 0f, true /* traverseTopToBottom */); + } + void overrideCustomTransition(boolean open, int enterAnim, int exitAnim, int backgroundColor) { CustomAppTransition transition = getCustomAnimation(open); if (transition == null) { diff --git a/services/core/java/com/android/server/wm/ActivitySnapshotCache.java b/services/core/java/com/android/server/wm/ActivitySnapshotCache.java new file mode 100644 index 000000000000..a54dd826b5bb --- /dev/null +++ b/services/core/java/com/android/server/wm/ActivitySnapshotCache.java @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.wm; + +import android.window.TaskSnapshot; + +/** + * A snapshot cache for activity, the token is the hashCode of the activity. + */ +class ActivitySnapshotCache extends SnapshotCache<ActivityRecord> { + + ActivitySnapshotCache(WindowManagerService service) { + super(service, "Activity"); + } + + @Override + void putSnapshot(ActivityRecord ar, TaskSnapshot snapshot) { + final int hasCode = System.identityHashCode(ar); + final CacheEntry entry = mRunningCache.get(hasCode); + if (entry != null) { + mAppIdMap.remove(entry.topApp); + } + mAppIdMap.put(ar, hasCode); + mRunningCache.put(hasCode, new CacheEntry(snapshot, ar)); + } +} diff --git a/services/core/java/com/android/server/wm/ActivitySnapshotController.java b/services/core/java/com/android/server/wm/ActivitySnapshotController.java new file mode 100644 index 000000000000..90a4820e8724 --- /dev/null +++ b/services/core/java/com/android/server/wm/ActivitySnapshotController.java @@ -0,0 +1,505 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.wm; + +import static com.android.server.wm.SnapshotController.ACTIVITY_CLOSE; +import static com.android.server.wm.SnapshotController.ACTIVITY_OPEN; +import static com.android.server.wm.SnapshotController.TASK_CLOSE; +import static com.android.server.wm.SnapshotController.TASK_OPEN; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.app.ActivityManager; +import android.os.Environment; +import android.os.SystemProperties; +import android.util.ArraySet; +import android.util.Slog; +import android.util.SparseArray; +import android.window.TaskSnapshot; + +import com.android.internal.annotations.VisibleForTesting; +import com.android.server.LocalServices; +import com.android.server.pm.UserManagerInternal; +import com.android.server.wm.BaseAppSnapshotPersister.PersistInfoProvider; +import com.android.server.wm.SnapshotController.TransitionState; + +import java.io.File; +import java.util.ArrayList; + +/** + * When an app token becomes invisible, we take a snapshot (bitmap) and put it into our cache. + * Internally we use gralloc buffers to be able to draw them wherever we like without any copying. + * <p> + * System applications may retrieve a snapshot to represent the current state of an activity, and + * draw them in their own process. + * <p> + * Unlike TaskSnapshotController, we only keep one activity snapshot for a visible task in the + * cache. Which should largely reduce the memory usage. + * <p> + * To access this class, acquire the global window manager lock. + */ +class ActivitySnapshotController extends AbsAppSnapshotController<ActivityRecord, + ActivitySnapshotCache> { + private static final boolean DEBUG = false; + private static final String TAG = AbsAppSnapshotController.TAG; + // Maximum persisted snapshot count on disk. + private static final int MAX_PERSIST_SNAPSHOT_COUNT = 20; + + static final String SNAPSHOTS_DIRNAME = "activity_snapshots"; + + /** + * The pending activities which should capture snapshot when process transition finish. + */ + @VisibleForTesting + final ArraySet<ActivityRecord> mPendingCaptureActivity = new ArraySet<>(); + + /** + * The pending activities which should remove snapshot from memory when process transition + * finish. + */ + @VisibleForTesting + final ArraySet<ActivityRecord> mPendingRemoveActivity = new ArraySet<>(); + + /** + * The pending activities which should delete snapshot files when process transition finish. + */ + @VisibleForTesting + final ArraySet<ActivityRecord> mPendingDeleteActivity = new ArraySet<>(); + + /** + * The pending activities which should load snapshot from disk when process transition finish. + */ + @VisibleForTesting + final ArraySet<ActivityRecord> mPendingLoadActivity = new ArraySet<>(); + + private final SnapshotPersistQueue mSnapshotPersistQueue; + private final PersistInfoProvider mPersistInfoProvider; + private final AppSnapshotLoader mSnapshotLoader; + + /** + * File information holders, to make the sequence align, always update status of + * mUserSavedFiles/mSavedFilesInOrder before persist file from mPersister. + */ + private final SparseArray<SparseArray<UserSavedFile>> mUserSavedFiles = new SparseArray<>(); + // Keep sorted with create timeline. + private final ArrayList<UserSavedFile> mSavedFilesInOrder = new ArrayList<>(); + private final TaskSnapshotPersister mPersister; + + ActivitySnapshotController(WindowManagerService service, SnapshotPersistQueue persistQueue) { + super(service); + mSnapshotPersistQueue = persistQueue; + mPersistInfoProvider = createPersistInfoProvider(service, + Environment::getDataSystemCeDirectory); + mPersister = new TaskSnapshotPersister(persistQueue, mPersistInfoProvider); + mSnapshotLoader = new AppSnapshotLoader(mPersistInfoProvider); + initialize(new ActivitySnapshotCache(service)); + + final boolean snapshotEnabled = + !service.mContext + .getResources() + .getBoolean(com.android.internal.R.bool.config_disableTaskSnapshots) + && isSnapshotEnabled() + && !ActivityManager.isLowRamDeviceStatic(); // Don't support Android Go + setSnapshotEnabled(snapshotEnabled); + } + + void systemReady() { + if (shouldDisableSnapshots()) { + return; + } + mService.mSnapshotController.registerTransitionStateConsumer( + ACTIVITY_OPEN, this::handleOpenActivityTransition); + mService.mSnapshotController.registerTransitionStateConsumer( + ACTIVITY_CLOSE, this::handleCloseActivityTransition); + mService.mSnapshotController.registerTransitionStateConsumer( + TASK_OPEN, this::handleOpenTaskTransition); + mService.mSnapshotController.registerTransitionStateConsumer( + TASK_CLOSE, this::handleCloseTaskTransition); + } + + @Override + protected float initSnapshotScale() { + final float config = mService.mContext.getResources().getFloat( + com.android.internal.R.dimen.config_resActivitySnapshotScale); + return Math.max(Math.min(config, 1f), 0.1f); + } + + // TODO remove when enabled + static boolean isSnapshotEnabled() { + return SystemProperties.getInt("persist.wm.debug.activity_screenshot", 0) != 0; + } + + static PersistInfoProvider createPersistInfoProvider( + WindowManagerService service, BaseAppSnapshotPersister.DirectoryResolver resolver) { + // Don't persist reduced file, instead we only persist the "HighRes" bitmap which has + // already scaled with #initSnapshotScale + final boolean use16BitFormat = service.mContext.getResources().getBoolean( + com.android.internal.R.bool.config_use16BitTaskSnapshotPixelFormat); + return new PersistInfoProvider(resolver, SNAPSHOTS_DIRNAME, + false /* enableLowResSnapshots */, 0 /* lowResScaleFactor */, use16BitFormat); + } + + /** Retrieves a snapshot for an activity from cache. */ + @Nullable + TaskSnapshot getSnapshot(ActivityRecord ar) { + final int code = getSystemHashCode(ar); + return mCache.getSnapshot(code); + } + + private void cleanUpUserFiles(int userId) { + synchronized (mSnapshotPersistQueue.getLock()) { + mSnapshotPersistQueue.sendToQueueLocked( + new SnapshotPersistQueue.WriteQueueItem(mPersistInfoProvider) { + @Override + boolean isReady() { + final UserManagerInternal mUserManagerInternal = + LocalServices.getService(UserManagerInternal.class); + return mUserManagerInternal.isUserUnlocked(userId); + } + + @Override + void write() { + final File file = mPersistInfoProvider.getDirectory(userId); + if (file.exists()) { + final File[] contents = file.listFiles(); + if (contents != null) { + for (int i = contents.length - 1; i >= 0; i--) { + contents[i].delete(); + } + } + } + } + }); + } + } + + /** + * Prepare to handle on transition start. Clear all temporary fields. + */ + void preTransitionStart() { + resetTmpFields(); + } + + /** + * on transition start has notified, start process data. + */ + void postTransitionStart() { + if (shouldDisableSnapshots()) { + return; + } + onCommitTransition(); + } + + @VisibleForTesting + void resetTmpFields() { + mPendingCaptureActivity.clear(); + mPendingRemoveActivity.clear(); + mPendingDeleteActivity.clear(); + mPendingLoadActivity.clear(); + } + + /** + * Start process all pending activities for a transition. + */ + private void onCommitTransition() { + if (DEBUG) { + Slog.d(TAG, "ActivitySnapshotController#onCommitTransition result:" + + " capture " + mPendingCaptureActivity + + " remove " + mPendingRemoveActivity + + " delete " + mPendingDeleteActivity + + " load " + mPendingLoadActivity); + } + // task snapshots + for (int i = mPendingCaptureActivity.size() - 1; i >= 0; i--) { + recordSnapshot(mPendingCaptureActivity.valueAt(i)); + } + // clear mTmpRemoveActivity from cache + for (int i = mPendingRemoveActivity.size() - 1; i >= 0; i--) { + final ActivityRecord ar = mPendingRemoveActivity.valueAt(i); + final int code = getSystemHashCode(ar); + mCache.onIdRemoved(code); + } + // clear snapshot on cache and delete files + for (int i = mPendingDeleteActivity.size() - 1; i >= 0; i--) { + final ActivityRecord ar = mPendingDeleteActivity.valueAt(i); + final int code = getSystemHashCode(ar); + mCache.onIdRemoved(code); + removeIfUserSavedFileExist(code, ar.mUserId); + } + // load snapshot to cache + for (int i = mPendingLoadActivity.size() - 1; i >= 0; i--) { + final ActivityRecord ar = mPendingLoadActivity.valueAt(i); + final int code = getSystemHashCode(ar); + final int userId = ar.mUserId; + if (mCache.getSnapshot(code) != null) { + // already in cache, skip + continue; + } + if (containsFile(code, userId)) { + synchronized (mSnapshotPersistQueue.getLock()) { + mSnapshotPersistQueue.sendToQueueLocked( + new SnapshotPersistQueue.WriteQueueItem(mPersistInfoProvider) { + @Override + void write() { + final TaskSnapshot snapshot = mSnapshotLoader.loadTask(code, + userId, false /* loadLowResolutionBitmap */); + synchronized (mService.getWindowManagerLock()) { + if (snapshot != null && !ar.finishing) { + mCache.putSnapshot(ar, snapshot); + } + } + } + }); + } + } + } + // don't keep any reference + resetTmpFields(); + } + + private void recordSnapshot(ActivityRecord activity) { + final TaskSnapshot snapshot = recordSnapshotInner(activity, false /* allowSnapshotHome */); + if (snapshot != null) { + final int code = getSystemHashCode(activity); + addUserSavedFile(code, activity.mUserId, snapshot); + } + } + + /** + * Called when the visibility of an app changes outside the regular app transition flow. + */ + void notifyAppVisibilityChanged(ActivityRecord appWindowToken, boolean visible) { + if (!visible) { + resetTmpFields(); + addBelowTopActivityIfExist(appWindowToken.getTask(), mPendingRemoveActivity, + "remove-snapshot"); + onCommitTransition(); + } + } + + private static int getSystemHashCode(ActivityRecord activity) { + return System.identityHashCode(activity); + } + + void handleOpenActivityTransition(TransitionState<ActivityRecord> transitionState) { + ArraySet<ActivityRecord> participant = transitionState.getParticipant(false /* open */); + for (ActivityRecord ar : participant) { + mPendingCaptureActivity.add(ar); + // remove the snapshot for the one below close + final ActivityRecord below = ar.getTask().getActivityBelow(ar); + if (below != null) { + mPendingRemoveActivity.add(below); + } + } + } + + void handleCloseActivityTransition(TransitionState<ActivityRecord> transitionState) { + ArraySet<ActivityRecord> participant = transitionState.getParticipant(true /* open */); + for (ActivityRecord ar : participant) { + mPendingDeleteActivity.add(ar); + // load next one if exists. + final ActivityRecord below = ar.getTask().getActivityBelow(ar); + if (below != null) { + mPendingLoadActivity.add(below); + } + } + } + + void handleCloseTaskTransition(TransitionState<Task> closeTaskTransitionRecord) { + ArraySet<Task> participant = closeTaskTransitionRecord.getParticipant(false /* open */); + for (Task close : participant) { + // this is close task transition + // remove the N - 1 from cache + addBelowTopActivityIfExist(close, mPendingRemoveActivity, "remove-snapshot"); + } + } + + void handleOpenTaskTransition(TransitionState<Task> openTaskTransitionRecord) { + ArraySet<Task> participant = openTaskTransitionRecord.getParticipant(true /* open */); + for (Task open : participant) { + // this is close task transition + // remove the N - 1 from cache + addBelowTopActivityIfExist(open, mPendingLoadActivity, "load-snapshot"); + // Move the activities to top of mSavedFilesInOrder, so when purge happen, there + // will trim the persisted files from the most non-accessed. + adjustSavedFileOrder(open); + } + } + + // Add the top -1 activity to a set if it exists. + private void addBelowTopActivityIfExist(Task task, ArraySet<ActivityRecord> set, + String debugMessage) { + final ActivityRecord topActivity = task.getTopMostActivity(); + if (topActivity != null) { + final ActivityRecord below = task.getActivityBelow(topActivity); + if (below != null) { + set.add(below); + if (DEBUG) { + Slog.d(TAG, "ActivitySnapshotController#addBelowTopActivityIfExist " + + below + " from " + debugMessage); + } + } + } + } + + private void adjustSavedFileOrder(Task nextTopTask) { + final int userId = nextTopTask.mUserId; + nextTopTask.forAllActivities(ar -> { + final int code = getSystemHashCode(ar); + final UserSavedFile usf = getUserFiles(userId).get(code); + if (usf != null) { + mSavedFilesInOrder.remove(usf); + mSavedFilesInOrder.add(usf); + } + }, false /* traverseTopToBottom */); + } + + @Override + void onAppRemoved(ActivityRecord activity) { + super.onAppRemoved(activity); + final int code = getSystemHashCode(activity); + removeIfUserSavedFileExist(code, activity.mUserId); + if (DEBUG) { + Slog.d(TAG, "ActivitySnapshotController#onAppRemoved delete snapshot " + activity); + } + } + + @Override + void onAppDied(ActivityRecord activity) { + super.onAppDied(activity); + final int code = getSystemHashCode(activity); + removeIfUserSavedFileExist(code, activity.mUserId); + if (DEBUG) { + Slog.d(TAG, "ActivitySnapshotController#onAppDied delete snapshot " + activity); + } + } + + @Override + ActivityRecord getTopActivity(ActivityRecord activity) { + return activity; + } + + @Override + ActivityRecord getTopFullscreenActivity(ActivityRecord activity) { + final WindowState win = activity.findMainWindow(); + return (win != null && win.mAttrs.isFullscreen()) ? activity : null; + } + + @Override + ActivityManager.TaskDescription getTaskDescription(ActivityRecord object) { + return object.taskDescription; + } + + /** + * Find the window for a given activity to take a snapshot. During app transitions, trampoline + * activities can appear in the children, but should be ignored. + */ + @Override + protected ActivityRecord findAppTokenForSnapshot(ActivityRecord activity) { + if (activity == null) { + return null; + } + return activity.canCaptureSnapshot() ? activity : null; + } + + @Override + protected boolean use16BitFormat() { + return mPersistInfoProvider.use16BitFormat(); + } + + @NonNull + private SparseArray<UserSavedFile> getUserFiles(int userId) { + if (mUserSavedFiles.get(userId) == null) { + mUserSavedFiles.put(userId, new SparseArray<>()); + // This is the first time this user attempt to access snapshot, clear up the disk. + cleanUpUserFiles(userId); + } + return mUserSavedFiles.get(userId); + } + + private void removeIfUserSavedFileExist(int code, int userId) { + final UserSavedFile usf = getUserFiles(userId).get(code); + if (usf != null) { + mUserSavedFiles.remove(code); + mSavedFilesInOrder.remove(usf); + mPersister.removeSnap(code, userId); + } + } + + private boolean containsFile(int code, int userId) { + return getUserFiles(userId).get(code) != null; + } + + private void addUserSavedFile(int code, int userId, TaskSnapshot snapshot) { + final SparseArray<UserSavedFile> savedFiles = getUserFiles(userId); + final UserSavedFile savedFile = savedFiles.get(code); + if (savedFile == null) { + final UserSavedFile usf = new UserSavedFile(code, userId); + savedFiles.put(code, usf); + mSavedFilesInOrder.add(usf); + mPersister.persistSnapshot(code, userId, snapshot); + + if (mSavedFilesInOrder.size() > MAX_PERSIST_SNAPSHOT_COUNT * 2) { + purgeSavedFile(); + } + } + } + + private void purgeSavedFile() { + final int savedFileCount = mSavedFilesInOrder.size(); + final int removeCount = savedFileCount - MAX_PERSIST_SNAPSHOT_COUNT; + final ArrayList<UserSavedFile> usfs = new ArrayList<>(); + if (removeCount > 0) { + final int removeTillIndex = savedFileCount - removeCount; + for (int i = savedFileCount - 1; i > removeTillIndex; --i) { + final UserSavedFile usf = mSavedFilesInOrder.remove(i); + if (usf != null) { + mUserSavedFiles.remove(usf.mFileId); + usfs.add(usf); + } + } + } + if (usfs.size() > 0) { + removeSnapshotFiles(usfs); + } + } + + private void removeSnapshotFiles(ArrayList<UserSavedFile> files) { + synchronized (mSnapshotPersistQueue.getLock()) { + mSnapshotPersistQueue.sendToQueueLocked( + new SnapshotPersistQueue.WriteQueueItem(mPersistInfoProvider) { + @Override + void write() { + for (int i = files.size() - 1; i >= 0; --i) { + final UserSavedFile usf = files.get(i); + mSnapshotPersistQueue.deleteSnapshot( + usf.mFileId, usf.mUserId, mPersistInfoProvider); + } + } + }); + } + } + + static class UserSavedFile { + int mFileId; + int mUserId; + UserSavedFile(int fileId, int userId) { + mFileId = fileId; + mUserId = userId; + } + } +} diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java index 4e94f96af37b..841d28b0231f 100644 --- a/services/core/java/com/android/server/wm/AppTransitionController.java +++ b/services/core/java/com/android/server/wm/AppTransitionController.java @@ -321,7 +321,7 @@ public class AppTransitionController { mService.mSurfaceAnimationRunner.continueStartingAnimations(); } - mService.mTaskSnapshotController.onTransitionStarting(mDisplayContent); + mService.mSnapshotController.onTransitionStarting(mDisplayContent); mDisplayContent.mOpeningApps.clear(); mDisplayContent.mClosingApps.clear(); diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index a4d475fd928f..1344788d0314 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -1228,7 +1228,8 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp private void finishHoldScreenUpdate() { final boolean hold = mTmpHoldScreenWindow != null; if (hold && mTmpHoldScreenWindow != mHoldScreenWindow) { - mHoldScreenWakeLock.setWorkSource(new WorkSource(mTmpHoldScreenWindow.mSession.mUid)); + mHoldScreenWakeLock.setWorkSource(new WorkSource(mTmpHoldScreenWindow.mSession.mUid, + mTmpHoldScreenWindow.mSession.mPackageName)); } mHoldScreenWindow = mTmpHoldScreenWindow; mTmpHoldScreenWindow = null; diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java index 8c5954856ed7..8f40e79d7c0f 100644 --- a/services/core/java/com/android/server/wm/InputMonitor.java +++ b/services/core/java/com/android/server/wm/InputMonitor.java @@ -18,6 +18,7 @@ package com.android.server.wm; import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; +import static android.view.ViewTreeObserver.InternalInsetsInfo.TOUCHABLE_INSETS_REGION; import static android.view.WindowManager.INPUT_CONSUMER_PIP; import static android.view.WindowManager.INPUT_CONSUMER_RECENTS_ANIMATION; import static android.view.WindowManager.INPUT_CONSUMER_WALLPAPER; @@ -296,8 +297,11 @@ final class InputMonitor { // be applied using the SurfaceControl hierarchy from the Organizer. This means // we need to make sure that these changes in crop are reflected in the input // windows, and so ensure this flag is set so that the input crop always reflects - // the surface hierarchy. - useSurfaceBoundsAsTouchRegion = true; + // the surface hierarchy. However, we only want to set this when the client did + // not already provide a touchable region, so that we don't ignore the one provided. + if (w.mTouchableInsets != TOUCHABLE_INSETS_REGION) { + useSurfaceBoundsAsTouchRegion = true; + } if (w.mAttrs.isModal()) { TaskFragment parent = w.getTaskFragment(); diff --git a/services/core/java/com/android/server/wm/LetterboxUiController.java b/services/core/java/com/android/server/wm/LetterboxUiController.java index 980a9418725b..ef464d299e2f 100644 --- a/services/core/java/com/android/server/wm/LetterboxUiController.java +++ b/services/core/java/com/android/server/wm/LetterboxUiController.java @@ -841,7 +841,7 @@ final class LetterboxUiController { int dividerInsets = getResources().getDimensionPixelSize(R.dimen.docked_stack_divider_insets); int dividerSize = dividerWindowWidth - dividerInsets * 2; - final Rect bounds = new Rect(displayContent.getBounds()); + final Rect bounds = new Rect(displayContent.getWindowConfiguration().getAppBounds()); if (bounds.width() >= bounds.height()) { bounds.inset(/* dx */ dividerSize / 2, /* dy */ 0); bounds.right = bounds.centerX(); @@ -1498,7 +1498,7 @@ final class LetterboxUiController { } private void inheritConfiguration(ActivityRecord firstOpaque) { - // To avoid wrong behaviour, we're not forcing a specific aspet ratio to activities + // To avoid wrong behaviour, we're not forcing a specific aspect ratio to activities // which are not already providing one (e.g. permission dialogs) and presumably also // not resizable. if (mActivityRecord.getMinAspectRatio() != UNDEFINED_ASPECT_RATIO) { diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index 78ee6f95fdba..7b10c6372b0e 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -116,7 +116,7 @@ class Session extends IWindowSession.Stub implements IBinder.DeathRecipient { private boolean mShowingAlertWindowNotificationAllowed; private boolean mClientDead = false; private float mLastReportedAnimatorScale; - private String mPackageName; + protected String mPackageName; private String mRelayoutTag; private final InsetsSourceControl.Array mDummyControls = new InsetsSourceControl.Array(); final boolean mSetsUnrestrictedKeepClearAreas; diff --git a/services/core/java/com/android/server/wm/AbsAppSnapshotCache.java b/services/core/java/com/android/server/wm/SnapshotCache.java index c8adc8f8b937..401b2604c28f 100644 --- a/services/core/java/com/android/server/wm/AbsAppSnapshotCache.java +++ b/services/core/java/com/android/server/wm/SnapshotCache.java @@ -25,13 +25,13 @@ import java.io.PrintWriter; * Base class for an app snapshot cache * @param <TYPE> The basic type, either Task or ActivityRecord */ -abstract class AbsAppSnapshotCache<TYPE extends WindowContainer> { +abstract class SnapshotCache<TYPE extends WindowContainer> { protected final WindowManagerService mService; protected final String mName; protected final ArrayMap<ActivityRecord, Integer> mAppIdMap = new ArrayMap<>(); protected final ArrayMap<Integer, CacheEntry> mRunningCache = new ArrayMap<>(); - AbsAppSnapshotCache(WindowManagerService service, String name) { + SnapshotCache(WindowManagerService service, String name) { mService = service; mName = name; } diff --git a/services/core/java/com/android/server/wm/SnapshotController.java b/services/core/java/com/android/server/wm/SnapshotController.java new file mode 100644 index 000000000000..cd1263e5d168 --- /dev/null +++ b/services/core/java/com/android/server/wm/SnapshotController.java @@ -0,0 +1,337 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.wm; + +import static android.view.WindowManager.TRANSIT_CLOSE; +import static android.view.WindowManager.TRANSIT_FIRST_CUSTOM; +import static android.view.WindowManager.TRANSIT_OPEN; +import static android.view.WindowManager.TRANSIT_TO_BACK; +import static android.view.WindowManager.TRANSIT_TO_FRONT; + +import android.annotation.IntDef; +import android.util.ArraySet; +import android.util.Slog; +import android.util.SparseArray; +import android.view.WindowManager; + +import com.android.internal.annotations.VisibleForTesting; + +import java.io.PrintWriter; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.ArrayList; +import java.util.function.Consumer; + +/** + * Integrates common functionality from TaskSnapshotController and ActivitySnapshotController. + */ +class SnapshotController { + private static final boolean DEBUG = false; + private static final String TAG = AbsAppSnapshotController.TAG; + + static final int ACTIVITY_OPEN = 1; + static final int ACTIVITY_CLOSE = 2; + static final int TASK_OPEN = 4; + static final int TASK_CLOSE = 8; + /** @hide */ + @Retention(RetentionPolicy.SOURCE) + @IntDef( + value = {ACTIVITY_OPEN, + ACTIVITY_CLOSE, + TASK_OPEN, + TASK_CLOSE}) + @interface TransitionStateType {} + + private final SnapshotPersistQueue mSnapshotPersistQueue; + final TaskSnapshotController mTaskSnapshotController; + final ActivitySnapshotController mActivitySnapshotController; + + private final ArraySet<Task> mTmpCloseTasks = new ArraySet<>(); + private final ArraySet<Task> mTmpOpenTasks = new ArraySet<>(); + + private final SparseArray<TransitionState> mTmpOpenCloseRecord = new SparseArray<>(); + private final ArraySet<Integer> mTmpAnalysisRecord = new ArraySet<>(); + private final SparseArray<ArrayList<Consumer<TransitionState>>> mTransitionStateConsumer = + new SparseArray<>(); + private int mActivatedType; + + private final ActivityOrderCheck mActivityOrderCheck = new ActivityOrderCheck(); + private final ActivityOrderCheck.AnalysisResult mResultHandler = (type, close, open) -> { + addTransitionRecord(type, true/* open */, open); + addTransitionRecord(type, false/* open */, close); + }; + + private static class ActivityOrderCheck { + private ActivityRecord mOpenActivity; + private ActivityRecord mCloseActivity; + private int mOpenIndex = -1; + private int mCloseIndex = -1; + + private void reset() { + mOpenActivity = null; + mCloseActivity = null; + mOpenIndex = -1; + mCloseIndex = -1; + } + + private void setTarget(boolean open, ActivityRecord ar, int index) { + if (open) { + mOpenActivity = ar; + mOpenIndex = index; + } else { + mCloseActivity = ar; + mCloseIndex = index; + } + } + + void analysisOrder(ArraySet<ActivityRecord> closeApps, + ArraySet<ActivityRecord> openApps, Task task, AnalysisResult result) { + for (int j = closeApps.size() - 1; j >= 0; j--) { + final ActivityRecord ar = closeApps.valueAt(j); + if (ar.getTask() == task) { + setTarget(false, ar, task.mChildren.indexOf(ar)); + break; + } + } + for (int j = openApps.size() - 1; j >= 0; j--) { + final ActivityRecord ar = openApps.valueAt(j); + if (ar.getTask() == task) { + setTarget(true, ar, task.mChildren.indexOf(ar)); + break; + } + } + if (mOpenIndex > mCloseIndex && mCloseIndex != -1) { + result.onCheckResult(ACTIVITY_OPEN, mCloseActivity, mOpenActivity); + } else if (mOpenIndex < mCloseIndex && mOpenIndex != -1) { + result.onCheckResult(ACTIVITY_CLOSE, mCloseActivity, mOpenActivity); + } + reset(); + } + private interface AnalysisResult { + void onCheckResult(@TransitionStateType int type, + ActivityRecord close, ActivityRecord open); + } + } + + private void addTransitionRecord(int type, boolean open, WindowContainer target) { + TransitionState record = mTmpOpenCloseRecord.get(type); + if (record == null) { + record = new TransitionState(); + mTmpOpenCloseRecord.set(type, record); + } + record.addParticipant(target, open); + mTmpAnalysisRecord.add(type); + } + + private void clearRecord() { + mTmpOpenCloseRecord.clear(); + mTmpAnalysisRecord.clear(); + } + + static class TransitionState<TYPE extends WindowContainer> { + private final ArraySet<TYPE> mOpenParticipant = new ArraySet<>(); + private final ArraySet<TYPE> mCloseParticipant = new ArraySet<>(); + + void addParticipant(TYPE target, boolean open) { + final ArraySet<TYPE> participant = open + ? mOpenParticipant : mCloseParticipant; + participant.add(target); + } + + ArraySet<TYPE> getParticipant(boolean open) { + return open ? mOpenParticipant : mCloseParticipant; + } + } + + SnapshotController(WindowManagerService wms) { + mSnapshotPersistQueue = new SnapshotPersistQueue(); + mTaskSnapshotController = new TaskSnapshotController(wms, mSnapshotPersistQueue); + mActivitySnapshotController = new ActivitySnapshotController(wms, mSnapshotPersistQueue); + } + + void registerTransitionStateConsumer(@TransitionStateType int type, + Consumer<TransitionState> consumer) { + ArrayList<Consumer<TransitionState>> consumers = mTransitionStateConsumer.get(type); + if (consumers == null) { + consumers = new ArrayList<>(); + mTransitionStateConsumer.set(type, consumers); + } + if (!consumers.contains(consumer)) { + consumers.add(consumer); + } + mActivatedType |= type; + } + + void unregisterTransitionStateConsumer(int type, Consumer<TransitionState> consumer) { + final ArrayList<Consumer<TransitionState>> consumers = mTransitionStateConsumer.get(type); + if (consumers == null) { + return; + } + consumers.remove(consumer); + if (consumers.size() == 0) { + mActivatedType &= ~type; + } + } + + private boolean hasTransitionStateConsumer(@TransitionStateType int type) { + return (mActivatedType & type) != 0; + } + + void systemReady() { + mSnapshotPersistQueue.systemReady(); + mTaskSnapshotController.systemReady(); + mActivitySnapshotController.systemReady(); + } + + void setPause(boolean paused) { + mSnapshotPersistQueue.setPaused(paused); + } + + void onAppRemoved(ActivityRecord activity) { + mTaskSnapshotController.onAppRemoved(activity); + mActivitySnapshotController.onAppRemoved(activity); + } + + void onAppDied(ActivityRecord activity) { + mTaskSnapshotController.onAppDied(activity); + mActivitySnapshotController.onAppDied(activity); + } + + void notifyAppVisibilityChanged(ActivityRecord appWindowToken, boolean visible) { + if (!visible && hasTransitionStateConsumer(TASK_CLOSE)) { + // close task transition + addTransitionRecord(TASK_CLOSE, false /*open*/, appWindowToken.getTask()); + mActivitySnapshotController.preTransitionStart(); + notifyTransition(TASK_CLOSE); + mActivitySnapshotController.postTransitionStart(); + clearRecord(); + } + } + + // For legacy transition + void onTransitionStarting(DisplayContent displayContent) { + handleAppTransition(displayContent.mClosingApps, displayContent.mOpeningApps); + } + + // For shell transition, adapt to legacy transition. + void onTransitionReady(@WindowManager.TransitionType int type, + ArraySet<WindowContainer> participants) { + final boolean isTransitionOpen = isTransitionOpen(type); + final boolean isTransitionClose = isTransitionClose(type); + if (!isTransitionOpen && !isTransitionClose && type < TRANSIT_FIRST_CUSTOM + || (mActivatedType == 0)) { + return; + } + final ArraySet<ActivityRecord> openingApps = new ArraySet<>(); + final ArraySet<ActivityRecord> closingApps = new ArraySet<>(); + + for (int i = participants.size() - 1; i >= 0; --i) { + final ActivityRecord ar = participants.valueAt(i).asActivityRecord(); + if (ar == null || ar.getTask() == null) continue; + if (ar.isVisibleRequested()) { + openingApps.add(ar); + } else { + closingApps.add(ar); + } + } + handleAppTransition(closingApps, openingApps); + } + + private static boolean isTransitionOpen(int type) { + return type == TRANSIT_OPEN || type == TRANSIT_TO_FRONT; + } + private static boolean isTransitionClose(int type) { + return type == TRANSIT_CLOSE || type == TRANSIT_TO_BACK; + } + + @VisibleForTesting + void handleAppTransition(ArraySet<ActivityRecord> closingApps, + ArraySet<ActivityRecord> openApps) { + if (mActivatedType == 0) { + return; + } + analysisTransition(closingApps, openApps); + mActivitySnapshotController.preTransitionStart(); + for (Integer transitionType : mTmpAnalysisRecord) { + notifyTransition(transitionType); + } + mActivitySnapshotController.postTransitionStart(); + clearRecord(); + } + + private void notifyTransition(int transitionType) { + final TransitionState record = mTmpOpenCloseRecord.get(transitionType); + final ArrayList<Consumer<TransitionState>> consumers = + mTransitionStateConsumer.get(transitionType); + for (Consumer<TransitionState> consumer : consumers) { + consumer.accept(record); + } + } + + private void analysisTransition(ArraySet<ActivityRecord> closingApps, + ArraySet<ActivityRecord> openingApps) { + getParticipantTasks(closingApps, mTmpCloseTasks, false /* isOpen */); + getParticipantTasks(openingApps, mTmpOpenTasks, true /* isOpen */); + if (DEBUG) { + Slog.d(TAG, "AppSnapshotController#analysisTransition participants" + + " mTmpCloseTasks " + mTmpCloseTasks + + " mTmpOpenTasks " + mTmpOpenTasks); + } + for (int i = mTmpCloseTasks.size() - 1; i >= 0; i--) { + final Task closeTask = mTmpCloseTasks.valueAt(i); + if (mTmpOpenTasks.contains(closeTask)) { + if (hasTransitionStateConsumer(ACTIVITY_OPEN) + || hasTransitionStateConsumer(ACTIVITY_CLOSE)) { + mActivityOrderCheck.analysisOrder(closingApps, openingApps, closeTask, + mResultHandler); + } + } else if (hasTransitionStateConsumer(TASK_CLOSE)) { + // close task transition + addTransitionRecord(TASK_CLOSE, false /*open*/, closeTask); + } + } + if (hasTransitionStateConsumer(TASK_OPEN)) { + for (int i = mTmpOpenTasks.size() - 1; i >= 0; i--) { + final Task openTask = mTmpOpenTasks.valueAt(i); + if (!mTmpCloseTasks.contains(openTask)) { + // this is open task transition + addTransitionRecord(TASK_OPEN, true /*open*/, openTask); + } + } + } + mTmpCloseTasks.clear(); + mTmpOpenTasks.clear(); + } + + private void getParticipantTasks(ArraySet<ActivityRecord> activityRecords, ArraySet<Task> tasks, + boolean isOpen) { + for (int i = activityRecords.size() - 1; i >= 0; i--) { + final ActivityRecord activity = activityRecords.valueAt(i); + final Task task = activity.getTask(); + if (task == null) continue; + + if (isOpen == activity.isVisibleRequested()) { + tasks.add(task); + } + } + } + + void dump(PrintWriter pw, String prefix) { + mTaskSnapshotController.dump(pw, prefix); + mActivitySnapshotController.dump(pw, prefix); + } +} diff --git a/services/core/java/com/android/server/wm/SnapshotPersistQueue.java b/services/core/java/com/android/server/wm/SnapshotPersistQueue.java index fdc361671b8d..afef85e34fe0 100644 --- a/services/core/java/com/android/server/wm/SnapshotPersistQueue.java +++ b/services/core/java/com/android/server/wm/SnapshotPersistQueue.java @@ -129,7 +129,7 @@ class SnapshotPersistQueue { } } - private void deleteSnapshot(int index, int userId, PersistInfoProvider provider) { + void deleteSnapshot(int index, int userId, PersistInfoProvider provider) { final File protoFile = provider.getProtoFile(index, userId); final File bitmapLowResFile = provider.getLowResolutionBitmapFile(index, userId); protoFile.delete(); diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 8c6de8e6f638..68b2d0fc50d5 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -3361,6 +3361,8 @@ class Task extends TaskFragment { && info.pictureInPictureParams.isLaunchIntoPip() && top.getLastParentBeforePip() != null) ? top.getLastParentBeforePip().mTaskId : INVALID_TASK_ID; + info.lastParentTaskIdBeforePip = top != null && top.getLastParentBeforePip() != null + ? top.getLastParentBeforePip().mTaskId : INVALID_TASK_ID; info.shouldDockBigOverlays = top != null && top.shouldDockBigOverlays; info.mTopActivityLocusId = top != null ? top.getLocusId() : null; diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index 7c57dc17e802..6bc9fa4f3b46 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -458,6 +458,22 @@ class TaskFragment extends WindowContainer<WindowContainer> { && organizer.asBinder().equals(mTaskFragmentOrganizer.asBinder()); } + /** + * Returns the process of organizer if this TaskFragment is organized and the activity lives in + * a different process than the organizer. + */ + @Nullable + private WindowProcessController getOrganizerProcessIfDifferent(@Nullable ActivityRecord r) { + if ((r == null || mTaskFragmentOrganizerProcessName == null) + || (mTaskFragmentOrganizerProcessName.equals(r.processName) + && mTaskFragmentOrganizerUid == r.getUid())) { + // No organizer or the process is the same. + return null; + } + return mAtmService.getProcessController(mTaskFragmentOrganizerProcessName, + mTaskFragmentOrganizerUid); + } + void setAnimationParams(@NonNull TaskFragmentAnimationParams animationParams) { mAnimationParams = animationParams; } @@ -815,6 +831,16 @@ class TaskFragment extends WindowContainer<WindowContainer> { setResumedActivity(record, reason + " - onActivityStateChanged"); mTaskSupervisor.mRecentTasks.add(record.getTask()); } + + // Update the process state for the organizer process if the activity is in a different + // process in case the organizer process may not have activity state change in its process. + final WindowProcessController hostProcess = getOrganizerProcessIfDifferent(record); + if (hostProcess != null) { + mTaskSupervisor.onProcessActivityStateChanged(hostProcess, false /* forceBatch */); + hostProcess.updateProcessInfo(false /* updateServiceConnectionActivities */, + true /* activityChange */, true /* updateOomAdj */, + false /* addPendingTopUid */); + } } /** @@ -1942,6 +1968,11 @@ class TaskFragment extends WindowContainer<WindowContainer> { addingActivity.inHistory = true; task.onDescendantActivityAdded(taskHadActivity, activityType, addingActivity); } + + final WindowProcessController hostProcess = getOrganizerProcessIfDifferent(addingActivity); + if (hostProcess != null) { + hostProcess.addEmbeddedActivity(addingActivity); + } } @Override @@ -2232,8 +2263,8 @@ class TaskFragment extends WindowContainer<WindowContainer> { // task, because they should not be affected by insets. inOutConfig.smallestScreenWidthDp = (int) (0.5f + Math.min(mTmpFullBounds.width(), mTmpFullBounds.height()) / density); - } else if (windowingMode == WINDOWING_MODE_MULTI_WINDOW - && isEmbeddedWithBoundsOverride()) { + } else if (windowingMode == WINDOWING_MODE_MULTI_WINDOW && mIsEmbedded + && insideParentBounds && !resolvedBounds.equals(parentBounds)) { // For embedded TFs, the smallest width should be updated. Otherwise, inherit // from the parent task would result in applications loaded wrong resource. inOutConfig.smallestScreenWidthDp = @@ -2757,14 +2788,18 @@ class TaskFragment extends WindowContainer<WindowContainer> { void removeChild(WindowContainer child, boolean removeSelfIfPossible) { super.removeChild(child); + final ActivityRecord r = child.asActivityRecord(); if (BackNavigationController.isScreenshotEnabled()) { //TODO(b/207481538) Remove once the infrastructure to support per-activity screenshot is // implemented - ActivityRecord r = child.asActivityRecord(); if (r != null) { mBackScreenshots.remove(r.mActivityComponent.flattenToString()); } } + final WindowProcessController hostProcess = getOrganizerProcessIfDifferent(r); + if (hostProcess != null) { + hostProcess.removeEmbeddedActivity(r); + } if (removeSelfIfPossible && shouldRemoveSelfOnLastChildRemoval() && !hasChild()) { removeImmediately("removeLastChild " + child); } diff --git a/services/core/java/com/android/server/wm/TaskSnapshotCache.java b/services/core/java/com/android/server/wm/TaskSnapshotCache.java index 55e863ea5fbd..33486ccb995f 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotCache.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotCache.java @@ -24,7 +24,7 @@ import android.window.TaskSnapshot; * <p> * Access to this class should be guarded by the global window manager lock. */ -class TaskSnapshotCache extends AbsAppSnapshotCache<Task> { +class TaskSnapshotCache extends SnapshotCache<Task> { private final AppSnapshotLoader mLoader; diff --git a/services/core/java/com/android/server/wm/TaskSnapshotController.java b/services/core/java/com/android/server/wm/TaskSnapshotController.java index 679f0f592035..4d0bff961e60 100644 --- a/services/core/java/com/android/server/wm/TaskSnapshotController.java +++ b/services/core/java/com/android/server/wm/TaskSnapshotController.java @@ -16,6 +16,7 @@ package com.android.server.wm; +import static com.android.server.wm.SnapshotController.TASK_CLOSE; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_SCREENSHOT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; @@ -77,6 +78,13 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot setSnapshotEnabled(snapshotEnabled); } + void systemReady() { + if (!shouldDisableSnapshots()) { + mService.mSnapshotController.registerTransitionStateConsumer(TASK_CLOSE, + this::handleTaskClose); + } + } + static PersistInfoProvider createPersistInfoProvider(WindowManagerService service, BaseAppSnapshotPersister.DirectoryResolver resolver) { final float highResTaskSnapshotScale = service.mContext.getResources().getFloat( @@ -109,8 +117,21 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot enableLowResSnapshots, lowResScaleFactor, use16BitFormat); } - void onTransitionStarting(DisplayContent displayContent) { - handleClosingApps(displayContent.mClosingApps); + void handleTaskClose(SnapshotController.TransitionState<Task> closeTaskTransitionRecord) { + if (shouldDisableSnapshots()) { + return; + } + mTmpTasks.clear(); + final ArraySet<Task> tasks = closeTaskTransitionRecord.getParticipant(false /* open */); + if (mService.mAtmService.getTransitionController().isShellTransitionsEnabled()) { + mTmpTasks.addAll(tasks); + } else { + for (Task task : tasks) { + getClosingTasksInner(task, mTmpTasks); + } + } + snapshotTasks(mTmpTasks); + mSkipClosingAppSnapshotTasks.clear(); } /** @@ -189,18 +210,7 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot * children, which should be ignored. */ @Nullable protected ActivityRecord findAppTokenForSnapshot(Task task) { - return task.getActivity((r) -> { - if (r == null || !r.isSurfaceShowing() || r.findMainWindow() == null) { - return false; - } - return r.forAllWindows( - // Ensure at least one window for the top app is visible before attempting to - // take a screenshot. Visible here means that the WSA surface is shown and has - // an alpha greater than 0. - ws -> ws.mWinAnimator != null && ws.mWinAnimator.getShown() - && ws.mWinAnimator.mLastAlpha > 0f, true /* traverseTopToBottom */); - - }); + return task.getActivity(ActivityRecord::canCaptureSnapshot); } @@ -272,32 +282,22 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot final Task task = activity.getTask(); if (task == null) continue; - // Since RecentsAnimation will handle task snapshot while switching apps with the - // best capture timing (e.g. IME window capture), - // No need additional task capture while task is controlled by RecentsAnimation. - if (isAnimatingByRecents(task)) { - mSkipClosingAppSnapshotTasks.add(task); - } - // If the task of the app is not visible anymore, it means no other app in that task - // is opening. Thus, the task is closing. - if (!task.isVisible() && !mSkipClosingAppSnapshotTasks.contains(task)) { - outClosingTasks.add(task); - } + getClosingTasksInner(task, outClosingTasks); } } - /** - * Called when an {@link ActivityRecord} has been removed. - */ - void onAppRemoved(ActivityRecord activity) { - mCache.onAppRemoved(activity); - } - - /** - * Called when the process of an {@link ActivityRecord} has died. - */ - void onAppDied(ActivityRecord activity) { - mCache.onAppDied(activity); + void getClosingTasksInner(Task task, ArraySet<Task> outClosingTasks) { + // Since RecentsAnimation will handle task snapshot while switching apps with the + // best capture timing (e.g. IME window capture), + // No need additional task capture while task is controlled by RecentsAnimation. + if (isAnimatingByRecents(task)) { + mSkipClosingAppSnapshotTasks.add(task); + } + // If the task of the app is not visible anymore, it means no other app in that task + // is opening. Thus, the task is closing. + if (!task.isVisible() && !mSkipClosingAppSnapshotTasks.contains(task)) { + outClosingTasks.add(task); + } } void notifyTaskRemovedFromRecents(int taskId, int userId) { @@ -361,9 +361,4 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot && mService.mPolicy.isKeyguardSecure(mService.mCurrentUserId); snapshotTasks(mTmpTasks, allowSnapshotHome); } - - private boolean isAnimatingByRecents(@NonNull Task task) { - return task.isAnimatingByRecents() - || mService.mAtmService.getTransitionController().inRecentsTransition(task); - } } diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 873a83d5527e..ba49dd0032a4 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -879,8 +879,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { && mTransientLaunches != null) { // If transition is transient, then snapshots are taken at end of // transition. - mController.mTaskSnapshotController.recordSnapshot( - task, false /* allowSnapshotHome */); + mController.mSnapshotController.mTaskSnapshotController + .recordSnapshot(task, false /* allowSnapshotHome */); + mController.mSnapshotController.mActivitySnapshotController + .notifyAppVisibilityChanged(ar, false /* visible */); } ar.commitVisibility(false /* visible */, false /* performLayout */, true /* fromTransition */); @@ -1225,13 +1227,7 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // transferred. If transition is transient, IME won't be moved during the transition and // the tasks are still live, so we take the snapshot at the end of the transition instead. if (mTransientLaunches == null) { - for (int i = mParticipants.size() - 1; i >= 0; --i) { - final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); - if (ar == null || ar.isVisibleRequested() || ar.getTask() == null - || ar.getTask().isVisibleRequested()) continue; - mController.mTaskSnapshotController.recordSnapshot( - ar.getTask(), false /* allowSnapshotHome */); - } + mController.mSnapshotController.onTransitionReady(mType, mParticipants); } // This is non-null only if display has changes. It handles the visible windows that don't @@ -1485,9 +1481,9 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { // then we have to notify KeyguardService directly. This can happen if there is // another ongoing transition when the app changes occlusion OR if the app dies or // is killed. Both of these are common during tests. - final boolean notify = !(transit == TRANSIT_KEYGUARD_OCCLUDE - || transit == TRANSIT_KEYGUARD_UNOCCLUDE); - mController.mAtm.mWindowManager.mPolicy.applyKeyguardOcclusionChange(notify); + if (transit != TRANSIT_KEYGUARD_OCCLUDE && transit != TRANSIT_KEYGUARD_UNOCCLUDE) { + mController.mAtm.mWindowManager.mPolicy.applyKeyguardOcclusionChange(); + } } } diff --git a/services/core/java/com/android/server/wm/TransitionController.java b/services/core/java/com/android/server/wm/TransitionController.java index c74f167c2222..f314b21a0d72 100644 --- a/services/core/java/com/android/server/wm/TransitionController.java +++ b/services/core/java/com/android/server/wm/TransitionController.java @@ -88,8 +88,9 @@ class TransitionController { private WindowProcessController mTransitionPlayerProc; final ActivityTaskManagerService mAtm; + final RemotePlayer mRemotePlayer; - TaskSnapshotController mTaskSnapshotController; + SnapshotController mSnapshotController; TransitionTracer mTransitionTracer; private final ArrayList<WindowManagerInternal.AppTransitionListener> mLegacyListeners = @@ -153,7 +154,7 @@ class TransitionController { } void setWindowManager(WindowManagerService wms) { - mTaskSnapshotController = wms.mTaskSnapshotController; + mSnapshotController = wms.mSnapshotController; mTransitionTracer = wms.mTransitionTracer; mIsWaitingForDisplayEnabled = !wms.mDisplayEnabled; registerLegacyListener(wms.mActivityManagerAppTransitionNotifier); @@ -739,12 +740,12 @@ class TransitionController { t.setEarlyWakeupStart(); // Usually transitions put quite a load onto the system already (with all the things // happening in app), so pause task snapshot persisting to not increase the load. - mAtm.mWindowManager.mSnapshotPersistQueue.setPaused(true); + mAtm.mWindowManager.mSnapshotController.setPause(true); mAnimatingState = true; Trace.asyncTraceBegin(Trace.TRACE_TAG_WINDOW_MANAGER, "transitAnim", 0); } else if (!animatingState && mAnimatingState) { t.setEarlyWakeupEnd(); - mAtm.mWindowManager.mSnapshotPersistQueue.setPaused(false); + mAtm.mWindowManager.mSnapshotController.setPause(false); mAnimatingState = false; Trace.asyncTraceEnd(Trace.TRACE_TAG_WINDOW_MANAGER, "transitAnim", 0); } diff --git a/services/core/java/com/android/server/wm/WindowAnimator.java b/services/core/java/com/android/server/wm/WindowAnimator.java index 25965331241e..10bedd4b921f 100644 --- a/services/core/java/com/android/server/wm/WindowAnimator.java +++ b/services/core/java/com/android/server/wm/WindowAnimator.java @@ -200,11 +200,11 @@ public class WindowAnimator { | ANIMATION_TYPE_RECENTS /* typesToCheck */); if (runningExpensiveAnimations && !mRunningExpensiveAnimations) { // Usually app transitions put quite a load onto the system already (with all the things - // happening in app), so pause task snapshot persisting to not increase the load. - mService.mSnapshotPersistQueue.setPaused(true); + // happening in app), so pause snapshot persisting to not increase the load. + mService.mSnapshotController.setPause(true); mTransaction.setEarlyWakeupStart(); } else if (!runningExpensiveAnimations && mRunningExpensiveAnimations) { - mService.mSnapshotPersistQueue.setPaused(false); + mService.mSnapshotController.setPause(false); mTransaction.setEarlyWakeupEnd(); } mRunningExpensiveAnimations = runningExpensiveAnimations; diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index f7641f5bfb54..61685fc9635c 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -689,8 +689,8 @@ public class WindowManagerService extends IWindowManager.Stub // changes the orientation. private final PowerManager.WakeLock mScreenFrozenLock; - final SnapshotPersistQueue mSnapshotPersistQueue; final TaskSnapshotController mTaskSnapshotController; + final SnapshotController mSnapshotController; final BlurController mBlurController; final TaskFpsCallbackController mTaskFpsCallbackController; @@ -1200,8 +1200,8 @@ public class WindowManagerService extends IWindowManager.Stub mSyncEngine = new BLASTSyncEngine(this); mWindowPlacerLocked = new WindowSurfacePlacer(this); - mSnapshotPersistQueue = new SnapshotPersistQueue(); - mTaskSnapshotController = new TaskSnapshotController(this, mSnapshotPersistQueue); + mSnapshotController = new SnapshotController(this); + mTaskSnapshotController = mSnapshotController.mTaskSnapshotController; mWindowTracing = WindowTracing.createDefaultAndStartLooper(this, Choreographer.getInstance()); @@ -5141,7 +5141,7 @@ public class WindowManagerService extends IWindowManager.Stub mSystemReady = true; mPolicy.systemReady(); mRoot.forAllDisplayPolicies(DisplayPolicy::systemReady); - mSnapshotPersistQueue.systemReady(); + mSnapshotController.systemReady(); mHasWideColorGamutSupport = queryWideColorGamutSupport(); mHasHdrSupport = queryHdrSupport(); UiThread.getHandler().post(mSettingsObserver::loadSettings); @@ -6685,7 +6685,7 @@ public class WindowManagerService extends IWindowManager.Stub pw.println(); mInputManagerCallback.dump(pw, " "); - mTaskSnapshotController.dump(pw, " "); + mSnapshotController.dump(pw, " "); if (mAccessibilityController.hasCallbacks()) { mAccessibilityController.dump(pw, " "); } @@ -9383,30 +9383,6 @@ public class WindowManagerService extends IWindowManager.Stub mSurfaceSyncGroupController.markSyncGroupReady(syncGroupToken); } - private ArraySet<ActivityRecord> getVisibleActivityRecords(int displayId) { - ArraySet<ActivityRecord> result = new ArraySet<>(); - synchronized (mGlobalLock) { - ArraySet<ComponentName> addedActivities = new ArraySet<>(); - DisplayContent displayContent = mRoot.getDisplayContent(displayId); - if (displayContent != null) { - displayContent.forAllWindows( - (w) -> { - if (w.isVisible() - && w.isDisplayed() - && w.mActivityRecord != null - && !addedActivities.contains( - w.mActivityRecord.mActivityComponent) - && w.mActivityRecord.isVisible() - && w.isVisibleNow()) { - addedActivities.add(w.mActivityRecord.mActivityComponent); - result.add(w.mActivityRecord); - } - }, - true /* traverseTopToBottom */); - } - } - return result; - } /** * Must be called when a screenshot is taken via hardware chord. @@ -9422,14 +9398,20 @@ public class WindowManagerService extends IWindowManager.Stub throw new SecurityException("Requires STATUS_BAR_SERVICE permission"); } synchronized (mGlobalLock) { - ArraySet<ComponentName> notifiedApps = new ArraySet<>(); - ArraySet<ActivityRecord> visibleApps = getVisibleActivityRecords(displayId); - for (ActivityRecord ar : visibleApps) { - if (ar.isRegisteredForScreenCaptureCallback()) { - ar.reportScreenCaptured(); - notifiedApps.add(ar.mActivityComponent); - } + final DisplayContent displayContent = mRoot.getDisplayContent(displayId); + if (displayContent == null) { + return new ArrayList<>(); } + ArraySet<ComponentName> notifiedApps = new ArraySet<>(); + displayContent.forAllActivities( + (ar) -> { + if (!notifiedApps.contains(ar.mActivityComponent) && ar.isVisible() + && ar.isRegisteredForScreenCaptureCallback()) { + ar.reportScreenCaptured(); + notifiedApps.add(ar.mActivityComponent); + } + }, + true /* traverseTopToBottom */); return List.copyOf(notifiedApps); } } diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java index 17d4f1be011e..c74af8291142 100644 --- a/services/core/java/com/android/server/wm/WindowOrganizerController.java +++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java @@ -439,7 +439,11 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub // multiple sync at the same time because it may cause conflict. // Create a new transition when there is no active sync to collect the changes. final Transition transition = mTransitionController.createTransition(type); - applyTransaction(wct, -1 /* syncId */, transition, caller); + if (applyTransaction(wct, -1 /* syncId */, transition, caller) + == TRANSACT_EFFECTS_NONE && transition.mParticipants.isEmpty()) { + transition.abort(); + return; + } mTransitionController.requestStartTransition(transition, null /* startTask */, null /* remoteTransition */, null /* displayChange */); transition.setAllReady(); @@ -476,24 +480,26 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub // calls startSyncSet. () -> mTransitionController.moveToCollecting(nextTransition), () -> { - if (mTaskFragmentOrganizerController.isValidTransaction(wct)) { - applyTransaction(wct, -1 /*syncId*/, nextTransition, caller); + if (mTaskFragmentOrganizerController.isValidTransaction(wct) + && (applyTransaction(wct, -1 /* syncId */, nextTransition, caller) + != TRANSACT_EFFECTS_NONE + || !nextTransition.mParticipants.isEmpty())) { mTransitionController.requestStartTransition(nextTransition, null /* startTask */, null /* remoteTransition */, null /* displayChange */); nextTransition.setAllReady(); - } else { - nextTransition.abort(); + return; } + nextTransition.abort(); }); } finally { Binder.restoreCallingIdentity(ident); } } - private void applyTransaction(@NonNull WindowContainerTransaction t, int syncId, + private int applyTransaction(@NonNull WindowContainerTransaction t, int syncId, @Nullable Transition transition, @NonNull CallerInfo caller) { - applyTransaction(t, syncId, transition, caller, null /* finishTransition */); + return applyTransaction(t, syncId, transition, caller, null /* finishTransition */); } /** @@ -501,8 +507,9 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub * @param transition A transition to collect changes into. * @param caller Info about the calling process. * @param finishTransition The transition that is currently being finished. + * @return The effects of the window container transaction. */ - private void applyTransaction(@NonNull WindowContainerTransaction t, int syncId, + private int applyTransaction(@NonNull WindowContainerTransaction t, int syncId, @Nullable Transition transition, @NonNull CallerInfo caller, @Nullable Transition finishTransition) { int effects = TRANSACT_EFFECTS_NONE; @@ -639,6 +646,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub mService.mTaskSupervisor.setDeferRootVisibilityUpdate(false /* deferUpdate */); mService.continueWindowLayout(); } + return effects; } private int applyChanges(@NonNull WindowContainer<?> container, @@ -676,7 +684,7 @@ class WindowOrganizerController extends IWindowOrganizerController.Stub } } - final int prevWindowingMode = container.getWindowingMode(); + final int prevWindowingMode = container.getRequestedOverrideWindowingMode(); if (windowingMode > -1 && prevWindowingMode != windowingMode) { if (mService.isInLockTaskMode() && WindowConfiguration.inMultiWindowMode(windowingMode)) { diff --git a/services/core/java/com/android/server/wm/WindowProcessController.java b/services/core/java/com/android/server/wm/WindowProcessController.java index 834b708f3f9a..8685723a5807 100644 --- a/services/core/java/com/android/server/wm/WindowProcessController.java +++ b/services/core/java/com/android/server/wm/WindowProcessController.java @@ -69,6 +69,7 @@ import android.os.Message; import android.os.Process; import android.os.RemoteException; import android.os.UserHandle; +import android.util.ArrayMap; import android.util.Log; import android.util.Slog; import android.util.proto.ProtoOutputStream; @@ -228,8 +229,17 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio * in another process. This is used to check if the process is currently showing anything * visible to the user. */ + private static final int REMOTE_ACTIVITY_FLAG_HOST_ACTIVITY = 1; + /** The activity in a different process is embedded in a task created by this process. */ + private static final int REMOTE_ACTIVITY_FLAG_EMBEDDED_ACTIVITY = 1 << 1; + + /** + * Activities that run on different processes while this process shows something in these + * activities or the appearance of the activities are controlled by this process. The value of + * map is an array of size 1 to store the kinds of remote. + */ @Nullable - private final ArrayList<ActivityRecord> mHostActivities = new ArrayList<>(); + private ArrayMap<ActivityRecord, int[]> mRemoteActivities; /** Whether our process is currently running a {@link RecentsAnimation} */ private boolean mRunningRecentsAnimation; @@ -857,7 +867,7 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio return true; } } - if (isEmbedded()) { + if (hasEmbeddedWindow()) { return true; } } @@ -868,9 +878,13 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio * @return {@code true} if this process is rendering content on to a window shown by * another process. */ - private boolean isEmbedded() { - for (int i = mHostActivities.size() - 1; i >= 0; --i) { - final ActivityRecord r = mHostActivities.get(i); + private boolean hasEmbeddedWindow() { + if (mRemoteActivities == null) return false; + for (int i = mRemoteActivities.size() - 1; i >= 0; --i) { + if ((mRemoteActivities.valueAt(i)[0] & REMOTE_ACTIVITY_FLAG_HOST_ACTIVITY) == 0) { + continue; + } + final ActivityRecord r = mRemoteActivities.keyAt(i); if (r.isInterestingToUserLocked()) { return true; } @@ -1038,15 +1052,46 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio /** Adds an activity that hosts UI drawn by the current process. */ void addHostActivity(ActivityRecord r) { - if (mHostActivities.contains(r)) { - return; - } - mHostActivities.add(r); + final int[] flags = getRemoteActivityFlags(r); + flags[0] |= REMOTE_ACTIVITY_FLAG_HOST_ACTIVITY; } /** Removes an activity that hosts UI drawn by the current process. */ void removeHostActivity(ActivityRecord r) { - mHostActivities.remove(r); + removeRemoteActivityFlags(r, REMOTE_ACTIVITY_FLAG_HOST_ACTIVITY); + } + + /** Adds an embedded activity in a different process to this process that organizes it. */ + void addEmbeddedActivity(ActivityRecord r) { + final int[] flags = getRemoteActivityFlags(r); + flags[0] |= REMOTE_ACTIVITY_FLAG_EMBEDDED_ACTIVITY; + } + + /** Removes an embedded activity which was added by {@link #addEmbeddedActivity}. */ + void removeEmbeddedActivity(ActivityRecord r) { + removeRemoteActivityFlags(r, REMOTE_ACTIVITY_FLAG_EMBEDDED_ACTIVITY); + } + + private int[] getRemoteActivityFlags(ActivityRecord r) { + if (mRemoteActivities == null) { + mRemoteActivities = new ArrayMap<>(); + } + int[] flags = mRemoteActivities.get(r); + if (flags == null) { + mRemoteActivities.put(r, flags = new int[1]); + } + return flags; + } + + private void removeRemoteActivityFlags(ActivityRecord r, int flags) { + if (mRemoteActivities == null) return; + final int index = mRemoteActivities.indexOfKey(r); + if (index < 0) return; + final int[] currentFlags = mRemoteActivities.valueAt(index); + currentFlags[0] &= ~flags; + if (currentFlags[0] == 0) { + mRemoteActivities.removeAt(index); + } } public interface ComputeOomAdjCallback { @@ -1121,6 +1166,16 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio } } } + if (mRemoteActivities != null) { + // Make this process have visible state if its organizer embeds visible activities of + // other process, so this process can be responsive for the organizer events. + for (int i = mRemoteActivities.size() - 1; i >= 0; i--) { + if ((mRemoteActivities.valueAt(i)[0] & REMOTE_ACTIVITY_FLAG_EMBEDDED_ACTIVITY) != 0 + && mRemoteActivities.keyAt(i).isVisibleRequested()) { + stateFlags |= ACTIVITY_STATE_FLAG_IS_VISIBLE; + } + } + } stateFlags |= minTaskLayer & ACTIVITY_STATE_FLAG_MASK_MIN_TASK_LAYER; if (visible) { @@ -1795,7 +1850,21 @@ public class WindowProcessController extends ConfigurationContainer<Configuratio pw.print(prefix); pw.print(" - "); pw.println(mActivities.get(i)); } } - + if (mRemoteActivities != null && !mRemoteActivities.isEmpty()) { + pw.print(prefix); pw.println("Remote Activities:"); + for (int i = mRemoteActivities.size() - 1; i >= 0; i--) { + pw.print(prefix); pw.print(" - "); + pw.print(mRemoteActivities.keyAt(i)); pw.print(" flags="); + final int flags = mRemoteActivities.valueAt(i)[0]; + if ((flags & REMOTE_ACTIVITY_FLAG_HOST_ACTIVITY) != 0) { + pw.print("host "); + } + if ((flags & REMOTE_ACTIVITY_FLAG_EMBEDDED_ACTIVITY) != 0) { + pw.print("embedded"); + } + pw.println(); + } + } if (mRecentTasks.size() > 0) { pw.println(prefix + "Recent Tasks:"); for (int i = 0; i < mRecentTasks.size(); i++) { diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 8a083aa6220f..d1bd06f7fa99 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2913,8 +2913,9 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP .windowForClientLocked(mSession, mClient, false); Slog.i(TAG, "WIN DEATH: " + win); if (win != null) { - if (win.mActivityRecord != null && win.mActivityRecord.findMainWindow() == win) { - mWmService.mTaskSnapshotController.onAppDied(win.mActivityRecord); + if (win.mActivityRecord != null + && win.mActivityRecord.findMainWindow() == win) { + mWmService.mSnapshotController.onAppDied(win.mActivityRecord); } win.removeIfPossible(); } else if (mHasSurface) { diff --git a/services/credentials/java/com/android/server/credentials/ClearRequestSession.java b/services/credentials/java/com/android/server/credentials/ClearRequestSession.java index e09c0a2c2280..38dadc6b5b21 100644 --- a/services/credentials/java/com/android/server/credentials/ClearRequestSession.java +++ b/services/credentials/java/com/android/server/credentials/ClearRequestSession.java @@ -121,33 +121,36 @@ public final class ClearRequestSession extends RequestSession<ClearCredentialSta private void respondToClientWithResponseAndFinish() { Log.i(TAG, "respondToClientWithResponseAndFinish"); + collectFinalPhaseMetricStatus(false, ProviderStatusForMetrics.FINAL_SUCCESS); if (isSessionCancelled()) { - mChosenProviderFinalPhaseMetric.setChosenProviderStatus( - ProviderStatusForMetrics.FINAL_SUCCESS.getMetricCode()); - logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */ - ApiStatus.CLIENT_CANCELED); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); return; } try { mClientCallback.onSuccess(); - logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */ - ApiStatus.SUCCESS); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.SUCCESS.getMetricCode()); } catch (RemoteException e) { - mChosenProviderFinalPhaseMetric.setChosenProviderStatus( - ProviderStatusForMetrics.FINAL_FAILURE.getMetricCode()); + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); Log.i(TAG, "Issue while propagating the response to the client"); - logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */ - ApiStatus.FAILURE); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.FAILURE.getMetricCode()); } finishSession(/*propagateCancellation=*/false); } private void respondToClientWithErrorAndFinish(String errorType, String errorMsg) { Log.i(TAG, "respondToClientWithErrorAndFinish"); + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); if (isSessionCancelled()) { - logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */ - ApiStatus.CLIENT_CANCELED); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); return; } @@ -156,8 +159,9 @@ public final class ClearRequestSession extends RequestSession<ClearCredentialSta } catch (RemoteException e) { e.printStackTrace(); } - logApiCall(ApiName.CLEAR_CREDENTIAL, /* apiStatus */ - ApiStatus.FAILURE); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.FAILURE.getMetricCode()); finishSession(/*propagateCancellation=*/false); } diff --git a/services/credentials/java/com/android/server/credentials/CreateRequestSession.java b/services/credentials/java/com/android/server/credentials/CreateRequestSession.java index 4f8235a11b2a..06fe4f0b874b 100644 --- a/services/credentials/java/com/android/server/credentials/CreateRequestSession.java +++ b/services/credentials/java/com/android/server/credentials/CreateRequestSession.java @@ -142,40 +142,47 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR private void respondToClientWithResponseAndFinish(CreateCredentialResponse response) { Log.i(TAG, "respondToClientWithResponseAndFinish"); - // TODO immediately add exception bit to chosen provider and do final emits across all - // including sequenceCounter! + // TODO(b/271135048) - Improve Metrics super/sub class setup and emit. + collectFinalPhaseMetricStatus(false, ProviderStatusForMetrics.FINAL_SUCCESS); if (mRequestSessionStatus == RequestSessionStatus.COMPLETE) { Log.i(TAG, "Request has already been completed. This is strange."); return; } if (isSessionCancelled()) { - logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */ - ApiStatus.CLIENT_CANCELED); + // TODO(b/271135048) - Migrate to superclass utilities (post beta1 cleanup) - applies + // for all + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); return; } try { mClientCallback.onResponse(response); - logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */ - ApiStatus.SUCCESS); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.SUCCESS.getMetricCode()); } catch (RemoteException e) { + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); Log.i(TAG, "Issue while responding to client: " + e.getMessage()); - logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */ - ApiStatus.FAILURE); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.FAILURE.getMetricCode()); } finishSession(/*propagateCancellation=*/false); } private void respondToClientWithErrorAndFinish(String errorType, String errorMsg) { Log.i(TAG, "respondToClientWithErrorAndFinish"); - // TODO add exception bit + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); if (mRequestSessionStatus == RequestSessionStatus.COMPLETE) { Log.i(TAG, "Request has already been completed. This is strange."); return; } if (isSessionCancelled()) { - logApiCall(ApiName.CREATE_CREDENTIAL, /* apiStatus */ - ApiStatus.CLIENT_CANCELED); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); return; } @@ -189,12 +196,16 @@ public final class CreateRequestSession extends RequestSession<CreateCredentialR } private void logFailureOrUserCancel(String errorType) { + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); if (CreateCredentialException.TYPE_USER_CANCELED.equals(errorType)) { - logApiCall(ApiName.CREATE_CREDENTIAL, - /* apiStatus */ ApiStatus.USER_CANCELED); + mChosenProviderFinalPhaseMetric.setHasException(false); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.USER_CANCELED.getMetricCode()); } else { - logApiCall(ApiName.CREATE_CREDENTIAL, - /* apiStatus */ ApiStatus.FAILURE); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.FAILURE.getMetricCode()); } } diff --git a/services/credentials/java/com/android/server/credentials/CredentialManagerService.java b/services/credentials/java/com/android/server/credentials/CredentialManagerService.java index 85a48d9838d1..a15d66300eca 100644 --- a/services/credentials/java/com/android/server/credentials/CredentialManagerService.java +++ b/services/credentials/java/com/android/server/credentials/CredentialManagerService.java @@ -16,6 +16,7 @@ package com.android.server.credentials; +import static android.Manifest.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS; import static android.Manifest.permission.CREDENTIAL_MANAGER_SET_ORIGIN; import static android.Manifest.permission.LAUNCH_CREDENTIAL_SELECTOR; import static android.content.Context.CREDENTIAL_SERVICE; @@ -124,7 +125,8 @@ public final class CredentialManagerService serviceInfos.forEach( info -> { services.add( - new CredentialManagerServiceImpl(this, mLock, resolvedUserId, info)); + new CredentialManagerServiceImpl(this, mLock, resolvedUserId, + info)); }); return services; } @@ -418,6 +420,7 @@ public final class CredentialManagerService // Check privileged permissions mContext.enforceCallingPermission(CREDENTIAL_MANAGER_SET_ORIGIN, null); } + enforcePermissionForAllowedProviders(request); final int userId = UserHandle.getCallingUserId(); final int callingUid = Binder.getCallingUid(); @@ -447,6 +450,9 @@ public final class CredentialManagerService // TODO(b/273308895): implement ICancellationSignal cancelTransport = CancellationSignal.createTransport(); + + enforcePermissionForAllowedProviders(request); + return cancelTransport; } @@ -595,7 +601,7 @@ public final class CredentialManagerService try { var initMetric = session.mInitialPhaseMetric; initMetric.setCredentialServiceBeginQueryTimeNanoseconds(System.nanoTime()); - MetricUtilities.logApiCalled(initMetric); + MetricUtilities.logApiCalled(initMetric, ++session.mSequenceCounter); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); } @@ -823,6 +829,17 @@ public final class CredentialManagerService } } + private void enforcePermissionForAllowedProviders(GetCredentialRequest request) { + boolean containsAllowedProviders = request.getCredentialOptions() + .stream() + .anyMatch(option -> option.getAllowedProviders() != null + && !option.getAllowedProviders().isEmpty()); + if (containsAllowedProviders) { + mContext.enforceCallingPermission(CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS, + null); + } + } + private void enforceCallingPackage(String callingPackage, int callingUid) { int packageUid; PackageManager pm = mContext.createContextAsUser( diff --git a/services/credentials/java/com/android/server/credentials/GetRequestSession.java b/services/credentials/java/com/android/server/credentials/GetRequestSession.java index 00fbbba7cea5..8082cdbf6ec8 100644 --- a/services/credentials/java/com/android/server/credentials/GetRequestSession.java +++ b/services/credentials/java/com/android/server/credentials/GetRequestSession.java @@ -27,6 +27,7 @@ import android.credentials.GetCredentialResponse; import android.credentials.IGetCredentialCallback; import android.credentials.ui.ProviderData; import android.credentials.ui.RequestInfo; +import android.os.Binder; import android.os.CancellationSignal; import android.os.RemoteException; import android.service.credentials.CallingAppInfo; @@ -84,11 +85,12 @@ public class GetRequestSession extends RequestSession<GetCredentialRequest, protected void launchUiWithProviderData(ArrayList<ProviderData> providerDataList) { mChosenProviderFinalPhaseMetric.setUiCallStartTimeNanoseconds(System.nanoTime()); try { - mClientCallback.onPendingIntent(mCredentialManagerUi.createPendingIntent( + Binder.withCleanCallingIdentity(() -> + mClientCallback.onPendingIntent(mCredentialManagerUi.createPendingIntent( RequestInfo.newGetRequestInfo( - mRequestId, mClientRequest, mClientAppInfo.getPackageName()), - providerDataList)); - } catch (RemoteException e) { + mRequestId, mClientRequest, mClientAppInfo.getPackageName()), + providerDataList))); + } catch (RuntimeException e) { mChosenProviderFinalPhaseMetric.setUiReturned(false); respondToClientWithErrorAndFinish( GetCredentialException.TYPE_UNKNOWN, "Unable to instantiate selector"); @@ -123,36 +125,43 @@ public class GetRequestSession extends RequestSession<GetCredentialRequest, } private void respondToClientWithResponseAndFinish(GetCredentialResponse response) { + collectFinalPhaseMetricStatus(false, ProviderStatusForMetrics.FINAL_SUCCESS); if (mRequestSessionStatus == RequestSessionStatus.COMPLETE) { Log.i(TAG, "Request has already been completed. This is strange."); return; } if (isSessionCancelled()) { - logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */ - ApiStatus.CLIENT_CANCELED); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); return; } try { mClientCallback.onResponse(response); - logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */ - ApiStatus.SUCCESS); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.SUCCESS.getMetricCode()); } catch (RemoteException e) { + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); Log.i(TAG, "Issue while responding to client with a response : " + e.getMessage()); - logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */ - ApiStatus.FAILURE); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.FAILURE.getMetricCode()); } finishSession(/*propagateCancellation=*/false); } private void respondToClientWithErrorAndFinish(String errorType, String errorMsg) { + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); if (mRequestSessionStatus == RequestSessionStatus.COMPLETE) { Log.i(TAG, "Request has already been completed. This is strange."); return; } if (isSessionCancelled()) { - logApiCall(ApiName.GET_CREDENTIAL, /* apiStatus */ - ApiStatus.CLIENT_CANCELED); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.CLIENT_CANCELED.getMetricCode()); finishSession(/*propagateCancellation=*/true); return; } @@ -167,12 +176,16 @@ public class GetRequestSession extends RequestSession<GetCredentialRequest, } private void logFailureOrUserCancel(String errorType) { + collectFinalPhaseMetricStatus(true, ProviderStatusForMetrics.FINAL_FAILURE); if (GetCredentialException.TYPE_USER_CANCELED.equals(errorType)) { - logApiCall(ApiName.GET_CREDENTIAL, - /* apiStatus */ ApiStatus.USER_CANCELED); + mChosenProviderFinalPhaseMetric.setHasException(false); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.USER_CANCELED.getMetricCode()); } else { - logApiCall(ApiName.GET_CREDENTIAL, - /* apiStatus */ ApiStatus.FAILURE); + logApiCall(mChosenProviderFinalPhaseMetric, + mCandidateBrowsingPhaseMetric, + /* apiStatus */ ApiStatus.FAILURE.getMetricCode()); } } diff --git a/services/credentials/java/com/android/server/credentials/MetricUtilities.java b/services/credentials/java/com/android/server/credentials/MetricUtilities.java index 99f3b3efe838..65fb3681d24d 100644 --- a/services/credentials/java/com/android/server/credentials/MetricUtilities.java +++ b/services/credentials/java/com/android/server/credentials/MetricUtilities.java @@ -24,10 +24,12 @@ import android.util.Log; import com.android.internal.util.FrameworkStatsLog; import com.android.server.credentials.metrics.ApiName; import com.android.server.credentials.metrics.ApiStatus; +import com.android.server.credentials.metrics.CandidateBrowsingPhaseMetric; import com.android.server.credentials.metrics.CandidatePhaseMetric; import com.android.server.credentials.metrics.ChosenProviderFinalPhaseMetric; import com.android.server.credentials.metrics.InitialPhaseMetric; +import java.util.List; import java.util.Map; /** @@ -81,77 +83,138 @@ public class MetricUtilities { } /** - * A logging utility used primarily for the candidate phase of the current metric setup. + * A logging utility used primarily for the final phase of the current metric setup. * - * @param providers a map with known providers + * @param finalPhaseMetric the coalesced data of the chosen provider + * @param browsingPhaseMetrics the coalesced data of the browsing phase + * @param apiStatus the final status of this particular api call * @param emitSequenceId an emitted sequence id for the current session */ - protected static void logApiCalled(Map<String, ProviderSession> providers, + protected static void logApiCalled(ChosenProviderFinalPhaseMetric finalPhaseMetric, + List<CandidateBrowsingPhaseMetric> browsingPhaseMetrics, int apiStatus, int emitSequenceId) { try { - var providerSessions = providers.values(); - int providerSize = providerSessions.size(); - int[] candidateUidList = new int[providerSize]; - int[] candidateQueryRoundTripTimeList = new int[providerSize]; - int[] candidateStatusList = new int[providerSize]; + int browsedSize = browsingPhaseMetrics.size(); + int[] browsedClickedEntries = new int[browsedSize]; + int[] browsedProviderUid = new int[browsedSize]; int index = 0; - for (var session : providerSessions) { - CandidatePhaseMetric metric = session.mCandidatePhasePerProviderMetric; - candidateUidList[index] = metric.getCandidateUid(); - candidateQueryRoundTripTimeList[index] = metric.getQueryLatencyMicroseconds(); - candidateStatusList[index] = metric.getProviderQueryStatus(); + for (CandidateBrowsingPhaseMetric metric : browsingPhaseMetrics) { + browsedClickedEntries[index] = metric.getEntryEnum(); + browsedProviderUid[index] = metric.getProviderUid(); index++; } - // TODO Handle the emit here + FrameworkStatsLog.write(FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE, + /* session_id */ finalPhaseMetric.getSessionId(), + /* sequence_num */ emitSequenceId, + /* ui_returned_final_start */ finalPhaseMetric.isUiReturned(), + /* chosen_provider_uid */ finalPhaseMetric.getChosenUid(), + /* chosen_provider_query_start_timestamp_microseconds */ + finalPhaseMetric.getTimestampFromReferenceStartMicroseconds(finalPhaseMetric + .getQueryStartTimeNanoseconds()), + /* chosen_provider_query_end_timestamp_microseconds */ + finalPhaseMetric.getTimestampFromReferenceStartMicroseconds(finalPhaseMetric + .getQueryEndTimeNanoseconds()), + /* chosen_provider_ui_invoked_timestamp_microseconds */ + finalPhaseMetric.getTimestampFromReferenceStartMicroseconds(finalPhaseMetric + .getUiCallStartTimeNanoseconds()), + /* chosen_provider_ui_finished_timestamp_microseconds */ + finalPhaseMetric.getTimestampFromReferenceStartMicroseconds(finalPhaseMetric + .getUiCallEndTimeNanoseconds()), + /* chosen_provider_finished_timestamp_microseconds */ + finalPhaseMetric.getTimestampFromReferenceStartMicroseconds(finalPhaseMetric + .getFinalFinishTimeNanoseconds()), + /* chosen_provider_status */ finalPhaseMetric.getChosenProviderStatus(), + /* chosen_provider_has_exception */ finalPhaseMetric.isHasException(), + /* chosen_provider_available_entries */ finalPhaseMetric.getAvailableEntries() + .stream().mapToInt(i -> i).toArray(), + /* chosen_provider_action_entry_count */ finalPhaseMetric.getActionEntryCount(), + /* chosen_provider_credential_entry_count */ + finalPhaseMetric.getCredentialEntryCount(), + /* chosen_provider_credential_entry_type_count */ + finalPhaseMetric.getCredentialEntryTypeCount(), + /* chosen_provider_remote_entry_count */ + finalPhaseMetric.getRemoteEntryCount(), + /* chosen_provider_authentication_entry_count */ + finalPhaseMetric.getAuthenticationEntryCount(), + /* clicked_entries */ browsedClickedEntries, + /* provider_of_clicked_entry */ browsedProviderUid, + /* api_status */ apiStatus + ); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); } } /** - * The most common logging helper, handles the overall status of the API request with the - * provider status and latencies. Other versions of this method may be more useful depending - * on the situation, as this is geared towards the logging of {@link ProviderSession} types. + * A logging utility used primarily for the candidate phase of the current metric setup. * - * @param apiName the api type to log - * @param apiStatus the api status to log - * @param providers a map with known providers - * @param callingUid the calling UID of the client app - * @param chosenProviderFinalPhaseMetric the metric data type of the final chosen provider - * TODO remove soon + * @param providers a map with known providers and their held metric objects + * @param emitSequenceId an emitted sequence id for the current session */ - protected static void logApiCalled(ApiName apiName, ApiStatus apiStatus, - Map<String, ProviderSession> providers, int callingUid, - ChosenProviderFinalPhaseMetric chosenProviderFinalPhaseMetric) { + protected static void logApiCalled(Map<String, ProviderSession> providers, + int emitSequenceId) { try { var providerSessions = providers.values(); int providerSize = providerSessions.size(); + int sessionId = -1; + boolean queryReturned = false; int[] candidateUidList = new int[providerSize]; - int[] candidateQueryRoundTripTimeList = new int[providerSize]; + int[] candidateQueryStartTimeStampList = new int[providerSize]; + int[] candidateQueryEndTimeStampList = new int[providerSize]; int[] candidateStatusList = new int[providerSize]; + boolean[] candidateHasExceptionList = new boolean[providerSize]; + int[] candidateTotalEntryCountList = new int[providerSize]; + int[] candidateCredentialEntryCountList = new int[providerSize]; + int[] candidateCredentialTypeCountList = new int[providerSize]; + int[] candidateActionEntryCountList = new int[providerSize]; + int[] candidateAuthEntryCountList = new int[providerSize]; + int[] candidateRemoteEntryCountList = new int[providerSize]; int index = 0; for (var session : providerSessions) { CandidatePhaseMetric metric = session.mCandidatePhasePerProviderMetric; + if (sessionId == -1) { + sessionId = metric.getSessionId(); + } + if (!queryReturned) { + queryReturned = metric.isQueryReturned(); + } candidateUidList[index] = metric.getCandidateUid(); - candidateQueryRoundTripTimeList[index] = metric.getQueryLatencyMicroseconds(); + candidateQueryStartTimeStampList[index] = + metric.getTimestampFromReferenceStartMicroseconds( + metric.getStartQueryTimeNanoseconds()); + candidateQueryEndTimeStampList[index] = + metric.getTimestampFromReferenceStartMicroseconds( + metric.getQueryFinishTimeNanoseconds()); candidateStatusList[index] = metric.getProviderQueryStatus(); + candidateHasExceptionList[index] = metric.isHasException(); + candidateTotalEntryCountList[index] = metric.getNumEntriesTotal(); + candidateCredentialEntryCountList[index] = metric.getCredentialEntryCount(); + candidateCredentialTypeCountList[index] = metric.getCredentialEntryTypeCount(); + candidateActionEntryCountList[index] = metric.getActionEntryCount(); + candidateAuthEntryCountList[index] = metric.getAuthenticationEntryCount(); + candidateRemoteEntryCountList[index] = metric.getRemoteEntryCount(); index++; } - FrameworkStatsLog.write(FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED, - /* api_name */apiName.getMetricCode(), - /* caller_uid */ callingUid, - /* api_status */ apiStatus.getMetricCode(), - /* repeated_candidate_provider_uid */ candidateUidList, - /* repeated_candidate_provider_round_trip_time_query_microseconds */ - candidateQueryRoundTripTimeList, - /* repeated_candidate_provider_status */ candidateStatusList, - /* chosen_provider_uid */ chosenProviderFinalPhaseMetric.getChosenUid(), - /* chosen_provider_round_trip_time_overall_microseconds */ - chosenProviderFinalPhaseMetric.getEntireProviderLatencyMicroseconds(), - /* chosen_provider_final_phase_microseconds (backwards compat only) */ - DEFAULT_INT_32, - /* chosen_provider_status */ chosenProviderFinalPhaseMetric - .getChosenProviderStatus()); + FrameworkStatsLog.write(FrameworkStatsLog.CREDENTIAL_MANAGER_CANDIDATE_PHASE, + /* session_id */ sessionId, + /* sequence_num */ emitSequenceId, + /* query_returned */ queryReturned, + /* candidate_provider_uid_list */ candidateUidList, + /* candidate_provider_query_start_timestamp_microseconds */ + candidateQueryStartTimeStampList, + /* candidate_provider_query_end_timestamp_microseconds */ + candidateQueryEndTimeStampList, + /* candidate_provider_status */ candidateStatusList, + /* candidate_provider_has_exception */ candidateHasExceptionList, + /* candidate_provider_num_entries */ candidateTotalEntryCountList, + /* candidate_provider_action_entry_count */ candidateActionEntryCountList, + /* candidate_provider_credential_entry_count */ + candidateCredentialEntryCountList, + /* candidate_provider_credential_entry_type_count */ + candidateCredentialTypeCountList, + /* candidate_provider_remote_entry_count */ candidateRemoteEntryCountList, + /* candidate_provider_authentication_entry_count */ candidateAuthEntryCountList + ); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); } @@ -162,7 +225,6 @@ public class MetricUtilities { * contain default values for all other optional parameters. * * TODO(b/271135048) - given space requirements, this may be a good candidate for another atom - * TODO immediately remove and carry over TODO to new log for this setup * * @param apiName the api name to log * @param apiStatus the status to log @@ -194,14 +256,24 @@ public class MetricUtilities { * Handles the metric emit for the initial phase. * * @param initialPhaseMetric contains all the data for this emit + * @param sequenceNum the sequence number for this api call session emit */ - protected static void logApiCalled(InitialPhaseMetric initialPhaseMetric) { - /* - FrameworkStatsLog.write(FrameworkStatsLog.INITIAL_PHASE, - .. session_id .. initialPhaseMetric.getSessionId(), - ... - TODO Immediately - Fill in asap now that the split atom is checked in. - */ + protected static void logApiCalled(InitialPhaseMetric initialPhaseMetric, int sequenceNum) { + try { + FrameworkStatsLog.write(FrameworkStatsLog.CREDENTIAL_MANAGER_INIT_PHASE, + /* api_name */ initialPhaseMetric.getApiName(), + /* caller_uid */ initialPhaseMetric.getCallerUid(), + /* session_id */ initialPhaseMetric.getSessionId(), + /* sequence_num */ sequenceNum, + /* initial_timestamp_reference_nanoseconds */ + initialPhaseMetric.getCredentialServiceStartedTimeNanoseconds(), + /* count_credential_request_classtypes */ + initialPhaseMetric.getCountRequestClassType() + // TODO(b/271135048) - add total count of request options + ); + } catch (Exception e) { + Log.w(TAG, "Unexpected error during metric logging: " + e); + } } } diff --git a/services/credentials/java/com/android/server/credentials/ProviderClearSession.java b/services/credentials/java/com/android/server/credentials/ProviderClearSession.java index b86dabaa8503..69a642d87ff6 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderClearSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderClearSession.java @@ -91,7 +91,7 @@ public final class ProviderClearSession extends ProviderSession<ClearCredentialS if (exception instanceof ClearCredentialStateException) { mProviderException = (ClearCredentialStateException) exception; } - captureCandidateFailure(); + captureCandidateFailureInMetrics(); updateStatusAndInvokeCallback(toStatus(errorCode)); } diff --git a/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java b/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java index bbbb15666028..2ba9c226f5b4 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderCreateSession.java @@ -158,7 +158,7 @@ public final class ProviderCreateSession extends ProviderSession< // Store query phase exception for aggregation with final response mProviderException = (CreateCredentialException) exception; } - captureCandidateFailure(); + captureCandidateFailureInMetrics(); updateStatusAndInvokeCallback(toStatus(errorCode)); } @@ -179,24 +179,32 @@ public final class ProviderCreateSession extends ProviderSession< mProviderResponseDataHandler.addResponseContent(response.getCreateEntries(), response.getRemoteCreateEntry()); if (mProviderResponseDataHandler.isEmptyResponse(response)) { - gatheCandidateEntryMetrics(response); + gatherCandidateEntryMetrics(response); updateStatusAndInvokeCallback(Status.EMPTY_RESPONSE); } else { - gatheCandidateEntryMetrics(response); + gatherCandidateEntryMetrics(response); updateStatusAndInvokeCallback(Status.SAVE_ENTRIES_RECEIVED); } } - private void gatheCandidateEntryMetrics(BeginCreateCredentialResponse response) { + private void gatherCandidateEntryMetrics(BeginCreateCredentialResponse response) { try { var createEntries = response.getCreateEntries(); - int numCreateEntries = createEntries == null ? 0 : createEntries.size(); - // TODO confirm how to get types from slice - if (numCreateEntries > 0) { + int numRemoteEntry = MetricUtilities.ZERO; + if (response.getRemoteCreateEntry() != null) { + numRemoteEntry = MetricUtilities.UNIT; + mCandidatePhasePerProviderMetric.addEntry(EntryEnum.REMOTE_ENTRY); + } + int numCreateEntries = + createEntries == null ? MetricUtilities.ZERO : createEntries.size(); + if (numCreateEntries > MetricUtilities.ZERO) { createEntries.forEach(c -> mCandidatePhasePerProviderMetric.addEntry(EntryEnum.CREDENTIAL_ENTRY)); } - mCandidatePhasePerProviderMetric.setNumEntriesTotal(numCreateEntries); + mCandidatePhasePerProviderMetric.setNumEntriesTotal(numCreateEntries + numRemoteEntry); + mCandidatePhasePerProviderMetric.setRemoteEntryCount(numRemoteEntry); + mCandidatePhasePerProviderMetric.setCredentialEntryCount(numCreateEntries); + mCandidatePhasePerProviderMetric.setCredentialEntryTypeCount(MetricUtilities.UNIT); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); } diff --git a/services/credentials/java/com/android/server/credentials/ProviderGetSession.java b/services/credentials/java/com/android/server/credentials/ProviderGetSession.java index bf1db373446b..95b0ff024bfc 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderGetSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderGetSession.java @@ -50,6 +50,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.stream.Collectors; /** * Central provider session that listens for provider callbacks, and maintains provider state. @@ -93,7 +94,8 @@ public final class ProviderGetSession extends ProviderSession<BeginGetCredential RemoteCredentialService remoteCredentialService) { android.credentials.GetCredentialRequest filteredRequest = filterOptions(providerInfo.getCapabilities(), - getRequestSession.mClientRequest); + getRequestSession.mClientRequest, + providerInfo.getComponentName()); if (filteredRequest != null) { Map<String, CredentialOption> beginGetOptionToCredentialOptionMap = new HashMap<>(); @@ -141,17 +143,19 @@ public final class ProviderGetSession extends ProviderSession<BeginGetCredential @Nullable private static android.credentials.GetCredentialRequest filterOptions( List<String> providerCapabilities, - android.credentials.GetCredentialRequest clientRequest + android.credentials.GetCredentialRequest clientRequest, + ComponentName componentName ) { List<CredentialOption> filteredOptions = new ArrayList<>(); for (CredentialOption option : clientRequest.getCredentialOptions()) { - if (providerCapabilities.contains(option.getType())) { + if (providerCapabilities.contains(option.getType()) + && isProviderAllowed(option, componentName)) { Log.i(TAG, "In createProviderRequest - capability found : " + option.getType()); filteredOptions.add(option); } else { Log.i(TAG, "In createProviderRequest - capability not " - + "found : " + option.getType()); + + "found, or provider not allowed : " + option.getType()); } } if (!filteredOptions.isEmpty()) { @@ -164,6 +168,16 @@ public final class ProviderGetSession extends ProviderSession<BeginGetCredential return null; } + private static boolean isProviderAllowed(CredentialOption option, ComponentName componentName) { + if (!option.getAllowedProviders().isEmpty() && !option.getAllowedProviders().contains( + componentName)) { + Log.d(TAG, "Provider allow list specified but does not contain this provider: " + + componentName.flattenToString()); + return false; + } + return true; + } + public ProviderGetSession(Context context, CredentialProviderInfo info, ProviderInternalCallback<GetCredentialResponse> callbacks, @@ -195,7 +209,7 @@ public final class ProviderGetSession extends ProviderSession<BeginGetCredential if (exception instanceof GetCredentialException) { mProviderException = (GetCredentialException) exception; } - captureCandidateFailure(); + captureCandidateFailureInMetrics(); updateStatusAndInvokeCallback(toStatus(errorCode)); } @@ -448,9 +462,11 @@ public final class ProviderGetSession extends ProviderSession<BeginGetCredential int numCredEntries = response.getCredentialEntries().size(); int numActionEntries = response.getActions().size(); int numAuthEntries = response.getAuthenticationActions().size(); - // TODO immediately add remote entries - // TODO immediately confirm how to get types from slice to get unique type count via - // dedupe + int numRemoteEntry = MetricUtilities.ZERO; + if (response.getRemoteCredentialEntry() != null) { + numRemoteEntry = MetricUtilities.UNIT; + mCandidatePhasePerProviderMetric.addEntry(EntryEnum.REMOTE_ENTRY); + } response.getCredentialEntries().forEach(c -> mCandidatePhasePerProviderMetric.addEntry(EntryEnum.CREDENTIAL_ENTRY)); response.getActions().forEach(c -> @@ -458,10 +474,15 @@ public final class ProviderGetSession extends ProviderSession<BeginGetCredential response.getAuthenticationActions().forEach(c -> mCandidatePhasePerProviderMetric.addEntry(EntryEnum.AUTHENTICATION_ENTRY)); mCandidatePhasePerProviderMetric.setNumEntriesTotal(numCredEntries + numAuthEntries - + numActionEntries); + + numActionEntries + numRemoteEntry); mCandidatePhasePerProviderMetric.setCredentialEntryCount(numCredEntries); + int numTypes = (response.getCredentialEntries().stream() + .map(CredentialEntry::getType).collect( + Collectors.toSet())).size(); // Dedupe type strings + mCandidatePhasePerProviderMetric.setCredentialEntryTypeCount(numTypes); mCandidatePhasePerProviderMetric.setActionEntryCount(numActionEntries); mCandidatePhasePerProviderMetric.setAuthenticationEntryCount(numAuthEntries); + mCandidatePhasePerProviderMetric.setRemoteEntryCount(numRemoteEntry); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); } diff --git a/services/credentials/java/com/android/server/credentials/ProviderSession.java b/services/credentials/java/com/android/server/credentials/ProviderSession.java index faa91dce7b92..64ac9b3b4b94 100644 --- a/services/credentials/java/com/android/server/credentials/ProviderSession.java +++ b/services/credentials/java/com/android/server/credentials/ProviderSession.java @@ -209,10 +209,8 @@ public abstract class ProviderSession<T, R> return mRemoteCredentialService; } - protected void captureCandidateFailure() { + protected void captureCandidateFailureInMetrics() { mCandidatePhasePerProviderMetric.setHasException(true); - // TODO(b/271135048) - this is a true exception, but what about the empty case? - // Add more nuance in next iteration. } /** Updates the status . */ @@ -225,7 +223,6 @@ public abstract class ProviderSession<T, R> private void updateCandidateMetric(Status status) { try { mCandidatePhasePerProviderMetric.setCandidateUid(mProviderSessionUid); - // TODO immediately update the candidate phase here to have more new data mCandidatePhasePerProviderMetric .setQueryFinishTimeNanoseconds(System.nanoTime()); if (isTerminatingStatus(status)) { diff --git a/services/credentials/java/com/android/server/credentials/RequestSession.java b/services/credentials/java/com/android/server/credentials/RequestSession.java index 3ac10c9a7d22..0aa080b3c7e6 100644 --- a/services/credentials/java/com/android/server/credentials/RequestSession.java +++ b/services/credentials/java/com/android/server/credentials/RequestSession.java @@ -34,13 +34,12 @@ import android.service.credentials.CallingAppInfo; import android.util.Log; import com.android.internal.R; -import com.android.server.credentials.metrics.ApiName; -import com.android.server.credentials.metrics.ApiStatus; import com.android.server.credentials.metrics.CandidateBrowsingPhaseMetric; import com.android.server.credentials.metrics.CandidatePhaseMetric; import com.android.server.credentials.metrics.ChosenProviderFinalPhaseMetric; import com.android.server.credentials.metrics.EntryEnum; import com.android.server.credentials.metrics.InitialPhaseMetric; +import com.android.server.credentials.metrics.ProviderStatusForMetrics; import java.util.ArrayList; import java.util.HashMap; @@ -185,7 +184,7 @@ abstract class RequestSession<T, U> implements CredentialManagerUi.CredentialMan EntryEnum.getMetricCodeFromString(selection.getEntryKey())); browsingPhaseMetric.setProviderUid(providerSession.mCandidatePhasePerProviderMetric .getCandidateUid()); - this.mCandidateBrowsingPhaseMetric.add(new CandidateBrowsingPhaseMetric()); + this.mCandidateBrowsingPhaseMetric.add(browsingPhaseMetric); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); } @@ -209,16 +208,12 @@ abstract class RequestSession<T, U> implements CredentialManagerUi.CredentialMan return false; } - protected void logApiCall(ApiName apiName, ApiStatus apiStatus) { - logApiCalled(apiName, apiStatus, mProviders, mCallingUid, - mChosenProviderFinalPhaseMetric); - } - protected void logApiCall(ChosenProviderFinalPhaseMetric finalPhaseMetric, - List<CandidateBrowsingPhaseMetric> browsingPhaseMetrics) { + List<CandidateBrowsingPhaseMetric> browsingPhaseMetrics, int apiStatus) { // TODO (b/270403549) - this browsing phase object is fine but also have a new emit // For the returned types by authentication entries - i.e. a CandidatePhase During Browse - // TODO call MetricUtilities with new setup + // Possibly think of adding in more atoms for other APIs as well. + logApiCalled(finalPhaseMetric, browsingPhaseMetrics, apiStatus, ++mSequenceCounter); } protected boolean isSessionCancelled() { @@ -266,8 +261,20 @@ abstract class RequestSession<T, U> implements CredentialManagerUi.CredentialMan } } + protected void collectFinalPhaseMetricStatus(boolean hasException, + ProviderStatusForMetrics finalSuccess) { + mChosenProviderFinalPhaseMetric.setHasException(hasException); + mChosenProviderFinalPhaseMetric.setChosenProviderStatus( + finalSuccess.getMetricCode()); + } + /** - * Called by RequestSession's upon chosen metric determination. + * Called by RequestSession's upon chosen metric determination. It's expected that most bits + * are transferred here. However, certain new information, such as the selected provider's final + * exception bit, the framework to ui and back latency, or the ui response bit are set at other + * locations. Other information, such browsing metrics, api_status, and the sequence id count + * are combined together during the final emit moment with the actual and official + * {@link com.android.internal.util.FrameworkStatsLog} metric generation. * * @param componentName the componentName to associate with a provider */ @@ -286,10 +293,19 @@ abstract class RequestSession<T, U> implements CredentialManagerUi.CredentialMan metric.getServiceBeganTimeNanoseconds()); mChosenProviderFinalPhaseMetric.setQueryStartTimeNanoseconds( metric.getStartQueryTimeNanoseconds()); - - // TODO immediately update with the entry count numbers from the candidate metrics - // TODO immediately add the exception bit for candidates and providers - + mChosenProviderFinalPhaseMetric.setQueryEndTimeNanoseconds(metric + .getQueryFinishTimeNanoseconds()); + + mChosenProviderFinalPhaseMetric.setNumEntriesTotal(metric.getNumEntriesTotal()); + mChosenProviderFinalPhaseMetric.setCredentialEntryCount(metric + .getCredentialEntryCount()); + mChosenProviderFinalPhaseMetric.setCredentialEntryTypeCount( + metric.getCredentialEntryTypeCount()); + mChosenProviderFinalPhaseMetric.setActionEntryCount(metric.getActionEntryCount()); + mChosenProviderFinalPhaseMetric.setRemoteEntryCount(metric.getRemoteEntryCount()); + mChosenProviderFinalPhaseMetric.setAuthenticationEntryCount( + metric.getAuthenticationEntryCount()); + mChosenProviderFinalPhaseMetric.setAvailableEntries(metric.getAvailableEntries()); mChosenProviderFinalPhaseMetric.setFinalFinishTimeNanoseconds(System.nanoTime()); } catch (Exception e) { Log.w(TAG, "Unexpected error during metric logging: " + e); diff --git a/services/credentials/java/com/android/server/credentials/metrics/ApiName.java b/services/credentials/java/com/android/server/credentials/metrics/ApiName.java index d4b51dfcc299..abd749c38985 100644 --- a/services/credentials/java/com/android/server/credentials/metrics/ApiName.java +++ b/services/credentials/java/com/android/server/credentials/metrics/ApiName.java @@ -16,19 +16,19 @@ package com.android.server.credentials.metrics; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CLEAR_CREDENTIAL; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CREATE_CREDENTIAL; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_GET_CREDENTIAL; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_UNKNOWN; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_CLEAR_CREDENTIAL; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_CREATE_CREDENTIAL; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_GET_CREDENTIAL; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_UNKNOWN; public enum ApiName { - UNKNOWN(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_UNKNOWN), - GET_CREDENTIAL(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_GET_CREDENTIAL), - CREATE_CREDENTIAL(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CREATE_CREDENTIAL), - CLEAR_CREDENTIAL(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CLEAR_CREDENTIAL), + UNKNOWN(CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_UNKNOWN), + GET_CREDENTIAL(CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_GET_CREDENTIAL), + CREATE_CREDENTIAL(CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_CREATE_CREDENTIAL), + CLEAR_CREDENTIAL(CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_CLEAR_CREDENTIAL), IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE( - CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE + CREDENTIAL_MANAGER_INITIAL_PHASE__API_NAME__API_NAME_IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE ); private final int mInnerMetricCode; diff --git a/services/credentials/java/com/android/server/credentials/metrics/ApiStatus.java b/services/credentials/java/com/android/server/credentials/metrics/ApiStatus.java index 22cab707387d..8fea36903a5c 100644 --- a/services/credentials/java/com/android/server/credentials/metrics/ApiStatus.java +++ b/services/credentials/java/com/android/server/credentials/metrics/ApiStatus.java @@ -16,18 +16,18 @@ package com.android.server.credentials.metrics; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_CLIENT_CANCELED; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_FAILURE; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_SUCCESS; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_USER_CANCELED; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_CLIENT_CANCELED; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_FAILURE; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_SUCCESS; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_USER_CANCELED; public enum ApiStatus { - SUCCESS(CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_SUCCESS), - FAILURE(CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_FAILURE), + SUCCESS(CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_SUCCESS), + FAILURE(CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_FAILURE), CLIENT_CANCELED( - CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_CLIENT_CANCELED), + CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_CLIENT_CANCELED), USER_CANCELED( - CREDENTIAL_MANAGER_API_CALLED__API_STATUS__API_STATUS_USER_CANCELED); + CREDENTIAL_MANAGER_FINAL_PHASE__API_STATUS__API_STATUS_USER_CANCELED); private final int mInnerMetricCode; diff --git a/services/credentials/java/com/android/server/credentials/metrics/CandidatePhaseMetric.java b/services/credentials/java/com/android/server/credentials/metrics/CandidatePhaseMetric.java index f00c7f46c5ae..40532946a5a0 100644 --- a/services/credentials/java/com/android/server/credentials/metrics/CandidatePhaseMetric.java +++ b/services/credentials/java/com/android/server/credentials/metrics/CandidatePhaseMetric.java @@ -70,7 +70,7 @@ public class CandidatePhaseMetric { // The count of authentication entries from this provider, defaults to -1 private int mAuthenticationEntryCount = -1; // Gathered to pass on to chosen provider when required - private List<EntryEnum> mAvailableEntries = new ArrayList<>(); + private final List<Integer> mAvailableEntries = new ArrayList<>(); public CandidatePhaseMetric() { } @@ -252,7 +252,7 @@ public class CandidatePhaseMetric { * collector */ public void addEntry(EntryEnum e) { - this.mAvailableEntries.add(e); + this.mAvailableEntries.add(e.getMetricCode()); } /** @@ -262,7 +262,7 @@ public class CandidatePhaseMetric { * @return the full collection of entries encountered by the candidate provider associated with * this metric */ - public List<EntryEnum> getAvailableEntries() { + public List<Integer> getAvailableEntries() { return new ArrayList<>(this.mAvailableEntries); // no alias copy } } diff --git a/services/credentials/java/com/android/server/credentials/metrics/ChosenProviderFinalPhaseMetric.java b/services/credentials/java/com/android/server/credentials/metrics/ChosenProviderFinalPhaseMetric.java index 32fe204d7814..2eef19732723 100644 --- a/services/credentials/java/com/android/server/credentials/metrics/ChosenProviderFinalPhaseMetric.java +++ b/services/credentials/java/com/android/server/credentials/metrics/ChosenProviderFinalPhaseMetric.java @@ -20,6 +20,9 @@ import android.util.Log; import com.android.server.credentials.MetricUtilities; +import java.util.ArrayList; +import java.util.List; + /** * The central chosen provider metric object that mimics our defined metric setup. This is used * in the final phase of the flow and emits final status metrics. @@ -27,14 +30,13 @@ import com.android.server.credentials.MetricUtilities; * these data-types are available at different moments of the flow (and typically, one can feed * into the next). * TODO(b/270403549) - iterate on this in V3+ - * TODO(Immediately) - finalize V3 only types */ public class ChosenProviderFinalPhaseMetric { // TODO(b/270403549) - applies elsewhere, likely removed or replaced w/ some hashed/count index private static final String TAG = "ChosenFinalPhaseMetric"; // The session id associated with this API call, used to unite split emits - private long mSessionId = -1; + private int mSessionId = -1; // Reveals if the UI was returned, false by default private boolean mUiReturned = false; private int mChosenUid = -1; @@ -52,6 +54,8 @@ public class ChosenProviderFinalPhaseMetric { // The first query timestamp, which upon emit is normalized to microseconds using the reference // start timestamp private long mQueryStartTimeNanoseconds = -1; + // The timestamp at query end, which upon emit will be normalized to microseconds with reference + private long mQueryEndTimeNanoseconds = -1; // The UI call timestamp, which upon emit will be normalized to microseconds using reference private long mUiCallStartTimeNanoseconds = -1; // The UI return timestamp, which upon emit will be normalized to microseconds using reference @@ -63,8 +67,23 @@ public class ChosenProviderFinalPhaseMetric { // Other General Information, such as final api status, provider status, entry info, etc... private int mChosenProviderStatus = -1; - // TODO add remaining properties based on the Atom ; specifically, migrate the candidate - // Entry information, and store final status here + // Indicates if an exception was thrown by this provider, false by default + private boolean mHasException = false; + // Indicates the number of total entries available, defaults to -1. Not presently emitted, but + // left as a utility + private int mNumEntriesTotal = -1; + // The count of action entries from this provider, defaults to -1 + private int mActionEntryCount = -1; + // The count of credential entries from this provider, defaults to -1 + private int mCredentialEntryCount = -1; + // The *type-count* of the credential entries, defaults to -1 + private int mCredentialEntryTypeCount = -1; + // The count of remote entries from this provider, defaults to -1 + private int mRemoteEntryCount = -1; + // The count of authentication entries from this provider, defaults to -1 + private int mAuthenticationEntryCount = -1; + // Gathered to pass on to chosen provider when required + private List<Integer> mAvailableEntries = new ArrayList<>(); public ChosenProviderFinalPhaseMetric() { @@ -159,6 +178,10 @@ public class ChosenProviderFinalPhaseMetric { mQueryStartTimeNanoseconds = queryStartTimeNanoseconds; } + public void setQueryEndTimeNanoseconds(long queryEndTimeNanoseconds) { + mQueryEndTimeNanoseconds = queryEndTimeNanoseconds; + } + public void setUiCallStartTimeNanoseconds(long uiCallStartTimeNanoseconds) { this.mUiCallStartTimeNanoseconds = uiCallStartTimeNanoseconds; } @@ -179,6 +202,10 @@ public class ChosenProviderFinalPhaseMetric { return mQueryStartTimeNanoseconds; } + public long getQueryEndTimeNanoseconds() { + return mQueryEndTimeNanoseconds; + } + public long getUiCallStartTimeNanoseconds() { return mUiCallStartTimeNanoseconds; } @@ -222,11 +249,11 @@ public class ChosenProviderFinalPhaseMetric { /* ----------- Session ID -------------- */ - public void setSessionId(long sessionId) { + public void setSessionId(int sessionId) { mSessionId = sessionId; } - public long getSessionId() { + public int getSessionId() { return mSessionId; } @@ -239,4 +266,95 @@ public class ChosenProviderFinalPhaseMetric { public boolean isUiReturned() { return mUiReturned; } + + /* -------------- Number of Entries ---------------- */ + + public void setNumEntriesTotal(int numEntriesTotal) { + mNumEntriesTotal = numEntriesTotal; + } + + public int getNumEntriesTotal() { + return mNumEntriesTotal; + } + + /* -------------- Count of Action Entries ---------------- */ + + public void setActionEntryCount(int actionEntryCount) { + mActionEntryCount = actionEntryCount; + } + + public int getActionEntryCount() { + return mActionEntryCount; + } + + /* -------------- Count of Credential Entries ---------------- */ + + public void setCredentialEntryCount(int credentialEntryCount) { + mCredentialEntryCount = credentialEntryCount; + } + + public int getCredentialEntryCount() { + return mCredentialEntryCount; + } + + /* -------------- Count of Credential Entry Types ---------------- */ + + public void setCredentialEntryTypeCount(int credentialEntryTypeCount) { + mCredentialEntryTypeCount = credentialEntryTypeCount; + } + + public int getCredentialEntryTypeCount() { + return mCredentialEntryTypeCount; + } + + /* -------------- Count of Remote Entries ---------------- */ + + public void setRemoteEntryCount(int remoteEntryCount) { + mRemoteEntryCount = remoteEntryCount; + } + + public int getRemoteEntryCount() { + return mRemoteEntryCount; + } + + /* -------------- Count of Authentication Entries ---------------- */ + + public void setAuthenticationEntryCount(int authenticationEntryCount) { + mAuthenticationEntryCount = authenticationEntryCount; + } + + public int getAuthenticationEntryCount() { + return mAuthenticationEntryCount; + } + + /* -------------- The Entries Gathered ---------------- */ + + /** + * Sets the collected list of entries from the candidate phase to be retrievable in the + * chosen phase in a semantically correct way. + */ + public void setAvailableEntries(List<Integer> entries) { + this.mAvailableEntries = new ArrayList<>(entries); // no alias copy + } + + /** + * Returns a list of the entries captured by this metric collector associated + * with a particular chosen provider. + * + * @return the full collection of entries encountered by the chosen provider during the + * candidate phase. + */ + public List<Integer> getAvailableEntries() { + return new ArrayList<>(this.mAvailableEntries); // no alias copy + } + + /* -------------- Has Exception ---------------- */ + + public void setHasException(boolean hasException) { + mHasException = hasException; + } + + public boolean isHasException() { + return mHasException; + } } diff --git a/services/credentials/java/com/android/server/credentials/metrics/EntryEnum.java b/services/credentials/java/com/android/server/credentials/metrics/EntryEnum.java index 73403a67a233..440ac518cc4e 100644 --- a/services/credentials/java/com/android/server/credentials/metrics/EntryEnum.java +++ b/services/credentials/java/com/android/server/credentials/metrics/EntryEnum.java @@ -16,11 +16,11 @@ package com.android.server.credentials.metrics; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CLEAR_CREDENTIAL; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CREATE_CREDENTIAL; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_GET_CREDENTIAL; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_UNKNOWN; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__ACTION_ENTRY; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__AUTHENTICATION_ENTRY; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__CREDENTIAL_ENTRY; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__REMOTE_ENTRY; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__UNKNOWN; import static com.android.server.credentials.ProviderGetSession.ACTION_ENTRY_KEY; import static com.android.server.credentials.ProviderGetSession.AUTHENTICATION_ACTION_ENTRY_KEY; import static com.android.server.credentials.ProviderGetSession.CREDENTIAL_ENTRY_KEY; @@ -32,13 +32,12 @@ import java.util.AbstractMap; import java.util.Map; public enum EntryEnum { - // TODO immediately, update with built entries - UNKNOWN(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_UNKNOWN), - ACTION_ENTRY(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_GET_CREDENTIAL), - CREDENTIAL_ENTRY(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CREATE_CREDENTIAL), - REMOTE_ENTRY(CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_CLEAR_CREDENTIAL), + UNKNOWN(CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__UNKNOWN), + ACTION_ENTRY(CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__ACTION_ENTRY), + CREDENTIAL_ENTRY(CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__CREDENTIAL_ENTRY), + REMOTE_ENTRY(CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__REMOTE_ENTRY), AUTHENTICATION_ENTRY( - CREDENTIAL_MANAGER_API_CALLED__API_NAME__API_NAME_IS_ENABLED_CREDENTIAL_PROVIDER_SERVICE + CREDENTIAL_MANAGER_FINAL_PHASE__CLICKED_ENTRIES__AUTHENTICATION_ENTRY ); private static final String TAG = "EntryEnum"; diff --git a/services/credentials/java/com/android/server/credentials/metrics/ProviderStatusForMetrics.java b/services/credentials/java/com/android/server/credentials/metrics/ProviderStatusForMetrics.java index 08f1afa2f438..83713ab1c842 100644 --- a/services/credentials/java/com/android/server/credentials/metrics/ProviderStatusForMetrics.java +++ b/services/credentials/java/com/android/server/credentials/metrics/ProviderStatusForMetrics.java @@ -16,24 +16,24 @@ package com.android.server.credentials.metrics; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_FAILURE; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_SUCCESS; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_FAILURE; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_SUCCESS; -import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_UNKNOWN; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_FINAL_FAILURE; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_FINAL_SUCCESS; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_QUERY_FAILURE; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_QUERY_SUCCESS; +import static com.android.internal.util.FrameworkStatsLog.CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_UNKNOWN; public enum ProviderStatusForMetrics { UNKNOWN( - CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_UNKNOWN), + CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_UNKNOWN), FINAL_FAILURE( - CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_FAILURE), + CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_FINAL_FAILURE), QUERY_FAILURE( - CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_FAILURE), + CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_QUERY_FAILURE), FINAL_SUCCESS( - CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_FINAL_SUCCESS), + CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_FINAL_SUCCESS), QUERY_SUCCESS( - CREDENTIAL_MANAGER_API_CALLED__CANDIDATE_PROVIDER_STATUS__PROVIDER_QUERY_SUCCESS); + CREDENTIAL_MANAGER_FINAL_PHASE__CHOSEN_PROVIDER_STATUS__PROVIDER_QUERY_SUCCESS); private final int mInnerMetricCode; diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 303de129d004..269c4abf537e 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -225,6 +225,7 @@ import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPR import static android.net.ConnectivityManager.PROFILE_NETWORK_PREFERENCE_ENTERPRISE_NO_FALLBACK; import static android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK; import static android.provider.DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER; +import static android.provider.DeviceConfig.NAMESPACE_TELEPHONY; import static android.provider.Settings.Global.PRIVATE_DNS_SPECIFIER; import static android.provider.Settings.Secure.MANAGED_PROVISIONING_DPC_DOWNLOADED; import static android.provider.Settings.Secure.USER_SETUP_COMPLETE; @@ -426,6 +427,7 @@ import android.security.keystore.AttestationUtils; import android.security.keystore.KeyGenParameterSpec; import android.security.keystore.ParcelableKeyGenParameterSpec; import android.stats.devicepolicy.DevicePolicyEnums; +import android.telecom.TelecomManager; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; @@ -3324,7 +3326,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { onLockSettingsReady(); loadAdminDataAsync(); mOwners.systemReady(); - if (isWorkProfileTelephonyFlagEnabled()) { + if (isWorkProfileTelephonyEnabled()) { applyManagedSubscriptionsPolicyIfRequired(); } break; @@ -3534,26 +3536,21 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { userId == UserHandle.USER_SYSTEM ? UserHandle.USER_ALL : userId); updatePermissionPolicyCache(userId); updateAdminCanGrantSensorsPermissionCache(userId); - final List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs; - boolean isManagedSubscription; + final List<PreferentialNetworkServiceConfig> preferentialNetworkServiceConfigs; synchronized (getLockObject()) { ActiveAdmin owner = getDeviceOrProfileOwnerAdminLocked(userId); preferentialNetworkServiceConfigs = owner != null ? owner.mPreferentialNetworkServiceConfigs : List.of(PreferentialNetworkServiceConfig.DEFAULT); - - isManagedSubscription = owner != null && owner.mManagedSubscriptionsPolicy != null - && owner.mManagedSubscriptionsPolicy.getPolicyType() - == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS; } updateNetworkPreferenceForUser(userId, preferentialNetworkServiceConfigs); - if (isManagedSubscription) { - String defaultDialerPackageName = getDefaultRoleHolderPackageName( - com.android.internal.R.string.config_defaultDialer); - String defaultSmsPackageName = getDefaultRoleHolderPackageName( - com.android.internal.R.string.config_defaultSms); + if (isProfileOwnerOfOrganizationOwnedDevice(userId) + && getManagedSubscriptionsPolicy().getPolicyType() + == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) { + String defaultDialerPackageName = getOemDefaultDialerPackage(); + String defaultSmsPackageName = getOemDefaultSmsPackage(); updateDialerAndSmsManagedShortcutsOverrideCache(defaultDialerPackageName, defaultSmsPackageName); } @@ -7640,7 +7637,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } mLockSettingsInternal.refreshStrongAuthTimeout(parentId); - if (isWorkProfileTelephonyFlagEnabled()) { + if (isWorkProfileTelephonyEnabled()) { clearManagedSubscriptionsPolicy(); clearLauncherShortcutOverrides(); updateTelephonyCrossProfileIntentFilters(parentId, UserHandle.USER_NULL, false); @@ -10991,8 +10988,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { synchronized (mSubscriptionsChangedListenerLock) { pw.println("Subscription changed listener : " + mSubscriptionsChangedListener); } - pw.println( - "Flag enable_work_profile_telephony : " + isWorkProfileTelephonyFlagEnabled()); + pw.println("DPM Flag enable_work_profile_telephony : " + + isWorkProfileTelephonyDevicePolicyManagerFlagEnabled()); + pw.println("Telephony Flag enable_work_profile_telephony : " + + isWorkProfileTelephonySubscriptionManagerFlagEnabled()); mHandler.post(() -> handleDump(pw)); dumpResources(pw); @@ -11780,22 +11779,9 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { final CallerIdentity caller = getCallerIdentity(); Preconditions.checkCallAuthorization(canManageUsers(caller) || canQueryAdminPolicy(caller)); - // Move AccessibilityManager out of lock to prevent potential deadlock - final List<AccessibilityServiceInfo> installedServices; - long id = mInjector.binderClearCallingIdentity(); - try { - UserInfo user = getUserInfo(userId); - if (user.isManagedProfile()) { - userId = user.profileGroupId; - } - installedServices = withAccessibilityManager(userId, - AccessibilityManager::getInstalledAccessibilityServiceList); - } finally { - mInjector.binderRestoreCallingIdentity(id); - } + List<String> result = null; synchronized (getLockObject()) { - List<String> result = null; // If we have multiple profiles we return the intersection of the // permitted lists. This can happen in cases where we have a device // and profile owner. @@ -11817,9 +11803,22 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } } + } + + // If we have a permitted list add all system accessibility services. + if (result != null) { + long id = mInjector.binderClearCallingIdentity(); + try { + UserInfo user = getUserInfo(userId); + if (user.isManagedProfile()) { + userId = user.profileGroupId; + } + // Move AccessibilityManager out of {@link getLockObject} to prevent potential + // deadlock. + final List<AccessibilityServiceInfo> installedServices = + withAccessibilityManager(userId, + AccessibilityManager::getInstalledAccessibilityServiceList); - // If we have a permitted list add all system accessibility services. - if (result != null) { if (installedServices != null) { for (AccessibilityServiceInfo service : installedServices) { ServiceInfo serviceInfo = service.getResolveInfo().serviceInfo; @@ -11829,10 +11828,12 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } } + } finally { + mInjector.binderRestoreCallingIdentity(id); } - - return result; } + + return result; } @Override @@ -22703,11 +22704,24 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { DEFAULT_KEEP_PROFILES_RUNNING_FLAG); } - private static boolean isWorkProfileTelephonyFlagEnabled() { - return DeviceConfig.getBoolean( - NAMESPACE_DEVICE_POLICY_MANAGER, - ENABLE_WORK_PROFILE_TELEPHONY_FLAG, - DEFAULT_WORK_PROFILE_TELEPHONY_FLAG); + private boolean isWorkProfileTelephonyEnabled() { + return isWorkProfileTelephonyDevicePolicyManagerFlagEnabled() + && isWorkProfileTelephonySubscriptionManagerFlagEnabled(); + } + + private boolean isWorkProfileTelephonyDevicePolicyManagerFlagEnabled() { + return DeviceConfig.getBoolean(NAMESPACE_DEVICE_POLICY_MANAGER, + ENABLE_WORK_PROFILE_TELEPHONY_FLAG, DEFAULT_WORK_PROFILE_TELEPHONY_FLAG); + } + + private boolean isWorkProfileTelephonySubscriptionManagerFlagEnabled() { + final long ident = mInjector.binderClearCallingIdentity(); + try { + return DeviceConfig.getBoolean(NAMESPACE_TELEPHONY, ENABLE_WORK_PROFILE_TELEPHONY_FLAG, + false); + } finally { + mInjector.binderRestoreCallingIdentity(ident); + } } @Override @@ -22820,7 +22834,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { @Override public ManagedSubscriptionsPolicy getManagedSubscriptionsPolicy() { - if (isWorkProfileTelephonyFlagEnabled()) { + if (isWorkProfileTelephonyEnabled()) { synchronized (getLockObject()) { ActiveAdmin admin = getProfileOwnerOfOrganizationOwnedDeviceLocked(); if (admin != null && admin.mManagedSubscriptionsPolicy != null) { @@ -22834,7 +22848,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { @Override public void setManagedSubscriptionsPolicy(ManagedSubscriptionsPolicy policy) { - if (!isWorkProfileTelephonyFlagEnabled()) { + if (!isWorkProfileTelephonyEnabled()) { throw new UnsupportedOperationException("This api is not enabled"); } CallerIdentity caller = getCallerIdentity(); @@ -22842,9 +22856,10 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { "This policy can only be set by a profile owner on an organization-owned " + "device."); + int parentUserId = getProfileParentId(caller.getUserId()); synchronized (getLockObject()) { final ActiveAdmin admin = getProfileOwnerLocked(caller.getUserId()); - if (hasUserSetupCompleted(UserHandle.USER_SYSTEM) && !isAdminTestOnlyLocked( + if (hasUserSetupCompleted(parentUserId) && !isAdminTestOnlyLocked( admin.info.getComponent(), caller.getUserId())) { throw new IllegalStateException("Not allowed to apply this policy after setup"); } @@ -22866,7 +22881,6 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { if (policyType == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS) { final long id = mInjector.binderClearCallingIdentity(); try { - int parentUserId = getProfileParentId(caller.getUserId()); installOemDefaultDialerAndSmsApp(caller.getUserId()); updateTelephonyCrossProfileIntentFilters(parentUserId, caller.getUserId(), true); } finally { @@ -22877,10 +22891,8 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { private void installOemDefaultDialerAndSmsApp(int targetUserId) { try { - String defaultDialerPackageName = getDefaultRoleHolderPackageName( - com.android.internal.R.string.config_defaultDialer); - String defaultSmsPackageName = getDefaultRoleHolderPackageName( - com.android.internal.R.string.config_defaultSms); + String defaultDialerPackageName = getOemDefaultDialerPackage(); + String defaultSmsPackageName = getOemDefaultSmsPackage(); if (defaultDialerPackageName != null) { mIPackageManager.installExistingPackageAsUser(defaultDialerPackageName, @@ -22906,6 +22918,15 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { } } + private String getOemDefaultDialerPackage() { + TelecomManager telecomManager = mContext.getSystemService(TelecomManager.class); + return telecomManager.getSystemDialerPackage(); + } + + private String getOemDefaultSmsPackage() { + return mContext.getString(R.string.config_defaultSms); + } + private void updateDialerAndSmsManagedShortcutsOverrideCache( String defaultDialerPackageName, String defaultSmsPackageName) { diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy0/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy0/cpuinfo_cur_freq deleted file mode 100644 index 80b164d85baa..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy0/cpuinfo_cur_freq +++ /dev/null @@ -1 +0,0 @@ -"1.23 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy0/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy0/cpuinfo_max_freq deleted file mode 100644 index 582d8c8b8378..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy0/cpuinfo_max_freq +++ /dev/null @@ -1 +0,0 @@ -+2.5 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/cpuinfo_max_freq deleted file mode 100644 index 749fce669df1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/cpuinfo_max_freq +++ /dev/null @@ -1 +0,0 @@ -1000000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/scaling_cur_freq index d4f015c68e40..d4f015c68e40 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/cpuinfo_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy1/scaling_cur_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy2/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy2/cpuinfo_cur_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy2/cpuinfo_cur_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy2/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy2/cpuinfo_max_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/corrupted_cpufreq/policy2/cpuinfo_max_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/cpuinfo_cur_freq deleted file mode 100644 index dadd9737778d..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/cpuinfo_cur_freq +++ /dev/null @@ -1 +0,0 @@ -1230000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/cpuinfo_max_freq deleted file mode 100644 index a93d6f7b2c09..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/cpuinfo_max_freq +++ /dev/null @@ -1 +0,0 @@ -2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_cur_freq index 573541ac9702..dadd9737778d 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_cur_freq @@ -1 +1 @@ -0 +1230000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_max_freq index 573541ac9702..a93d6f7b2c09 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy0/scaling_max_freq @@ -1 +1 @@ -0 +2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/scaling_cur_freq index 2bc4ce96ec98..2bc4ce96ec98 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/cpuinfo_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/scaling_cur_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/scaling_max_freq index c754f1a461ab..c754f1a461ab 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/cpuinfo_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy1/scaling_max_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy2/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy2/cpuinfo_cur_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy2/cpuinfo_cur_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy2/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy2/cpuinfo_max_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state/policy2/cpuinfo_max_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/cpuinfo_cur_freq deleted file mode 100644 index 749fce669df1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/cpuinfo_cur_freq +++ /dev/null @@ -1 +0,0 @@ -1000000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/cpuinfo_max_freq deleted file mode 100644 index a93d6f7b2c09..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/cpuinfo_max_freq +++ /dev/null @@ -1 +0,0 @@ -2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_cur_freq index 573541ac9702..749fce669df1 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_cur_freq @@ -1 +1 @@ -0 +1000000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_max_freq index 573541ac9702..a93d6f7b2c09 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy0/scaling_max_freq @@ -1 +1 @@ -0 +2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/scaling_cur_freq index c754f1a461ab..c754f1a461ab 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/cpuinfo_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/scaling_cur_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/scaling_max_freq index c754f1a461ab..c754f1a461ab 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/cpuinfo_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy1/scaling_max_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy2/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy2/cpuinfo_cur_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy2/cpuinfo_cur_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy2/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy2/cpuinfo_max_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_with_time_in_state_2/policy2/cpuinfo_max_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/cpuinfo_cur_freq deleted file mode 100644 index dadd9737778d..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/cpuinfo_cur_freq +++ /dev/null @@ -1 +0,0 @@ -1230000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/cpuinfo_max_freq deleted file mode 100644 index a93d6f7b2c09..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/cpuinfo_max_freq +++ /dev/null @@ -1 +0,0 @@ -2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_cur_freq index 573541ac9702..dadd9737778d 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_cur_freq @@ -1 +1 @@ -0 +1230000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_max_freq index 573541ac9702..a93d6f7b2c09 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy0/scaling_max_freq @@ -1 +1 @@ -0 +2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/scaling_cur_freq index 2bc4ce96ec98..2bc4ce96ec98 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/cpuinfo_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/scaling_cur_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/scaling_max_freq index c754f1a461ab..c754f1a461ab 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/cpuinfo_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy1/scaling_max_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy2/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy2/cpuinfo_cur_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy2/cpuinfo_cur_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy2/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy2/cpuinfo_max_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state/policy2/cpuinfo_max_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/cpuinfo_cur_freq deleted file mode 100644 index 749fce669df1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/cpuinfo_cur_freq +++ /dev/null @@ -1 +0,0 @@ -1000000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/cpuinfo_max_freq deleted file mode 100644 index a93d6f7b2c09..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/cpuinfo_max_freq +++ /dev/null @@ -1 +0,0 @@ -2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_cur_freq index 573541ac9702..749fce669df1 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_cur_freq @@ -1 +1 @@ -0 +1000000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_max_freq index 573541ac9702..a93d6f7b2c09 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy0/scaling_max_freq @@ -1 +1 @@ -0 +2500000 diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/scaling_cur_freq index c754f1a461ab..c754f1a461ab 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/cpuinfo_cur_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/scaling_cur_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/scaling_max_freq index c754f1a461ab..c754f1a461ab 100644 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/cpuinfo_max_freq +++ b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy1/scaling_max_freq diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy2/cpuinfo_cur_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy2/cpuinfo_cur_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy2/cpuinfo_cur_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy2/cpuinfo_max_freq b/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy2/cpuinfo_max_freq deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/services/tests/mockingservicestests/assets/CpuInfoReaderTest/valid_cpufreq_without_time_in_state_2/policy2/cpuinfo_max_freq +++ /dev/null diff --git a/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java b/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java index 31cfa780a133..47ae97fc5d27 100644 --- a/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/AppStateTrackerTest.java @@ -1365,8 +1365,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(1)).unblockAlarmsForUid(eq(UID_10_1)); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidGone(UID_10_1, true); @@ -1385,7 +1385,7 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); verify(l, times(1)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidActive(UID_10_1); @@ -1403,8 +1403,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(1)).unblockAlarmsForUid(eq(UID_10_1)); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidIdle(UID_10_1, true); @@ -1423,7 +1423,7 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); verify(l, times(1)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidCachedChanged(UID_10_1, true); @@ -1441,8 +1441,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(1)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(1)).handleUidCachedChanged(UID_10_1, true); reset(l); mIUidObserver.onUidCachedChanged(UID_10_1, false); @@ -1460,8 +1460,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(1)).handleUidCachedChanged(UID_10_1, false); reset(l); @@ -1481,8 +1481,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidActive(UID_10_1); @@ -1500,8 +1500,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(1)).unblockAlarmsForUid(eq(UID_10_1)); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidGone(UID_10_1, true); @@ -1520,7 +1520,7 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); verify(l, times(1)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidActive(UID_10_1); @@ -1538,8 +1538,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(1)).unblockAlarmsForUid(eq(UID_10_1)); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidIdle(UID_10_1, true); @@ -1558,7 +1558,7 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); verify(l, times(1)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).handleUidCachedChanged(anyInt(), anyBoolean()); reset(l); mIUidObserver.onUidCachedChanged(UID_10_1, true); @@ -1576,8 +1576,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(1)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(1)).handleUidCachedChanged(UID_10_1, true); reset(l); mIUidObserver.onUidCachedChanged(UID_10_1, false); @@ -1595,8 +1595,8 @@ public class AppStateTrackerTest { verify(l, times(0)).unblockAllUnrestrictedAlarms(); verify(l, times(0)).unblockAlarmsForUid(anyInt()); verify(l, times(0)).unblockAlarmsForUidPackage(anyInt(), anyString()); - verify(l, times(0)).removeAlarmsForUid(UID_10_1); - verify(l, times(0)).removeListenerAlarmsForCachedUid(UID_10_1); + verify(l, times(0)).removeAlarmsForUid(anyInt()); + verify(l, times(1)).handleUidCachedChanged(UID_10_1, false); reset(l); } diff --git a/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java b/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java index 174141101dfc..f9f53251fa7e 100644 --- a/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/alarm/AlarmManagerServiceTest.java @@ -65,6 +65,7 @@ import static com.android.server.alarm.AlarmManagerService.AlarmHandler.EXACT_AL import static com.android.server.alarm.AlarmManagerService.AlarmHandler.EXACT_ALARM_DENY_LIST_PACKAGES_REMOVED; import static com.android.server.alarm.AlarmManagerService.AlarmHandler.REFRESH_EXACT_ALARM_CANDIDATES; import static com.android.server.alarm.AlarmManagerService.AlarmHandler.REMOVE_EXACT_ALARMS; +import static com.android.server.alarm.AlarmManagerService.AlarmHandler.REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED; import static com.android.server.alarm.AlarmManagerService.AlarmHandler.REMOVE_FOR_CANCELED; import static com.android.server.alarm.AlarmManagerService.AlarmHandler.TARE_AFFORDABILITY_CHANGED; import static com.android.server.alarm.AlarmManagerService.AlarmHandler.TEMPORARY_QUOTA_CHANGED; @@ -3811,10 +3812,12 @@ public final class AlarmManagerServiceTest { assertEquals(8, mService.mAlarmStore.size()); - mListener.removeListenerAlarmsForCachedUid(TEST_CALLING_UID); + mListener.handleUidCachedChanged(TEST_CALLING_UID, true); + assertAndHandleMessageSync(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED); assertEquals(7, mService.mAlarmStore.size()); - mListener.removeListenerAlarmsForCachedUid(TEST_CALLING_UID_2); + mListener.handleUidCachedChanged(TEST_CALLING_UID_2, true); + assertAndHandleMessageSync(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED); assertEquals(6, mService.mAlarmStore.size()); } @@ -3845,10 +3848,12 @@ public final class AlarmManagerServiceTest { assertEquals(numExactListenerUid1 + 3, mService.mAlarmsPerUid.get(TEST_CALLING_UID)); assertEquals(numExactListenerUid2 + 2, mService.mAlarmsPerUid.get(TEST_CALLING_UID_2)); - mListener.removeListenerAlarmsForCachedUid(TEST_CALLING_UID); + mListener.handleUidCachedChanged(TEST_CALLING_UID, true); + assertAndHandleMessageSync(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED); assertEquals(3, mService.mAlarmsPerUid.get(TEST_CALLING_UID)); - mListener.removeListenerAlarmsForCachedUid(TEST_CALLING_UID_2); + mListener.handleUidCachedChanged(TEST_CALLING_UID_2, true); + assertAndHandleMessageSync(REMOVE_EXACT_LISTENER_ALARMS_ON_CACHED); assertEquals(2, mService.mAlarmsPerUid.get(TEST_CALLING_UID_2)); } } diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java index 8a5d3a6772a5..63e8e56d09b2 100644 --- a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueModernImplTest.java @@ -50,6 +50,7 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; @@ -1078,7 +1079,7 @@ public final class BroadcastQueueModernImplTest { eq(getUidForPackage(PACKAGE_GREEN)), anyInt(), eq(Intent.ACTION_TIME_TICK), eq(BROADCAST_DELIVERY_EVENT_REPORTED__RECEIVER_TYPE__MANIFEST), eq(BROADCAST_DELIVERY_EVENT_REPORTED__PROC_START_TYPE__PROCESS_START_TYPE_COLD), - anyLong(), anyLong(), anyLong(), anyInt()), times(1)); + anyLong(), anyLong(), anyLong(), anyInt(), anyString(), anyString()), times(1)); } private Intent createPackageChangedIntent(int uid, List<String> componentNameList) { diff --git a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java index 2d4f5ca2f71d..bca39ae64823 100644 --- a/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java +++ b/services/tests/mockingservicestests/src/com/android/server/am/BroadcastQueueTest.java @@ -1646,6 +1646,79 @@ public class BroadcastQueueTest { } /** + * Verify prioritized receivers work as expected with deferrable broadcast - broadcast to + * app in cached state should be deferred and the rest should be delivered as per the priority + * order. + */ + @Test + public void testPrioritized_withDeferrableBroadcasts() throws Exception { + // Legacy stack doesn't support deferral + Assume.assumeTrue(mImpl == Impl.MODERN); + + final ProcessRecord callerApp = makeActiveProcessRecord(PACKAGE_RED); + final ProcessRecord receiverGreenApp = makeActiveProcessRecord(PACKAGE_GREEN); + final ProcessRecord receiverBlueApp = makeActiveProcessRecord(PACKAGE_BLUE); + final ProcessRecord receiverYellowApp = makeActiveProcessRecord(PACKAGE_YELLOW); + final ProcessRecord receiverOrangeApp = makeActiveProcessRecord(PACKAGE_ORANGE); + + receiverGreenApp.setCached(true); + receiverBlueApp.setCached(true); + + final Intent timeTick = new Intent(Intent.ACTION_TIME_TICK); + final BroadcastOptions opts = BroadcastOptions.makeBasic() + .setDeferralPolicy(BroadcastOptions.DEFERRAL_POLICY_UNTIL_ACTIVE); + final List receivers = List.of( + makeRegisteredReceiver(callerApp, 10), + makeRegisteredReceiver(receiverGreenApp, 9), + makeRegisteredReceiver(receiverBlueApp, 8), + makeRegisteredReceiver(receiverYellowApp, 8), + makeRegisteredReceiver(receiverOrangeApp, 7) + ); + enqueueBroadcast(makeBroadcastRecord(timeTick, callerApp, opts, receivers)); + waitForIdle(); + + // Green ignored since it's in cached state + verifyScheduleRegisteredReceiver(never(), receiverGreenApp, timeTick); + // Blue ignored since it's in cached state + verifyScheduleRegisteredReceiver(never(), receiverBlueApp, timeTick); + + final IApplicationThread redThread = mAms.getProcessRecordLocked(PACKAGE_RED, + getUidForPackage(PACKAGE_RED)).getThread(); + final IApplicationThread yellowThread = mAms.getProcessRecordLocked(PACKAGE_YELLOW, + getUidForPackage(PACKAGE_YELLOW)).getThread(); + final IApplicationThread orangeThread = mAms.getProcessRecordLocked(PACKAGE_ORANGE, + getUidForPackage(PACKAGE_ORANGE)).getThread(); + + // Verify apps that are not in cached state will receive the broadcast in the order + // we expect. + final InOrder inOrder = inOrder(redThread, yellowThread, orangeThread); + inOrder.verify(redThread).scheduleRegisteredReceiver( + any(), argThat(filterEqualsIgnoringComponent(timeTick)), + anyInt(), any(), any(), anyBoolean(), anyBoolean(), anyBoolean(), + eq(UserHandle.USER_SYSTEM), anyInt(), anyInt(), any()); + inOrder.verify(yellowThread).scheduleRegisteredReceiver( + any(), argThat(filterEqualsIgnoringComponent(timeTick)), + anyInt(), any(), any(), anyBoolean(), anyBoolean(), anyBoolean(), + eq(UserHandle.USER_SYSTEM), anyInt(), anyInt(), any()); + inOrder.verify(orangeThread).scheduleRegisteredReceiver( + any(), argThat(filterEqualsIgnoringComponent(timeTick)), + anyInt(), any(), any(), anyBoolean(), anyBoolean(), anyBoolean(), + eq(UserHandle.USER_SYSTEM), anyInt(), anyInt(), any()); + + // Shift blue to be active and confirm that deferred broadcast is delivered + receiverBlueApp.setCached(false); + mUidObserver.onUidCachedChanged(getUidForPackage(PACKAGE_BLUE), false); + waitForIdle(); + verifyScheduleRegisteredReceiver(times(1), receiverBlueApp, timeTick); + + // Shift green to be active and confirm that deferred broadcast is delivered + receiverGreenApp.setCached(false); + mUidObserver.onUidCachedChanged(getUidForPackage(PACKAGE_GREEN), false); + waitForIdle(); + verifyScheduleRegisteredReceiver(times(1), receiverGreenApp, timeTick); + } + + /** * Verify that we handle replacing a pending broadcast. */ @Test diff --git a/services/tests/servicestests/src/com/android/server/audio/SpatializerHelperTest.java b/services/tests/servicestests/src/com/android/server/audio/SpatializerHelperTest.java index 8f072380e0ca..3ad24de4cdca 100644 --- a/services/tests/servicestests/src/com/android/server/audio/SpatializerHelperTest.java +++ b/services/tests/servicestests/src/com/android/server/audio/SpatializerHelperTest.java @@ -80,7 +80,9 @@ public class SpatializerHelperTest { asAdapter = mMockAudioSystem; } mSpatHelper = new SpatializerHelper(mMockAudioService, asAdapter, - false /*headTrackingEnabledByDefault*/); + true /*binauralEnabledDefault*/, + true /*transauralEnabledDefault*/, + false /*headTrackingEnabledDefault*/); } diff --git a/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricFrameworkStatsLoggerTest.java b/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricFrameworkStatsLoggerTest.java new file mode 100644 index 000000000000..5adf391a1c32 --- /dev/null +++ b/services/tests/servicestests/src/com/android/server/biometrics/log/BiometricFrameworkStatsLoggerTest.java @@ -0,0 +1,125 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.biometrics.log; + +import static com.google.common.truth.Truth.assertThat; + +import android.hardware.biometrics.BiometricsProtoEnums; +import android.hardware.biometrics.common.AuthenticateReason; +import android.hardware.biometrics.common.OperationContext; +import android.hardware.biometrics.common.WakeReason; +import android.platform.test.annotations.Presubmit; + +import androidx.test.filters.SmallTest; + +import org.junit.Test; + +@Presubmit +@SmallTest +public class BiometricFrameworkStatsLoggerTest { + + @Test + public void testConvertsWakeReason_whenEmpty() { + final OperationContextExt ctx = new OperationContextExt(); + + final int reason = BiometricFrameworkStatsLogger.toProtoWakeReason(ctx); + final int[] reasonDetails = BiometricFrameworkStatsLogger + .toProtoWakeReasonDetails(ctx); + + assertThat(reason).isEqualTo(BiometricsProtoEnums.WAKE_REASON_UNKNOWN); + assertThat(reasonDetails).isEmpty(); + } + + @Test + public void testConvertsWakeReason_whenPowerReason() { + final OperationContext context = new OperationContext(); + context.wakeReason = WakeReason.WAKE_MOTION; + final OperationContextExt ctx = new OperationContextExt(context); + + final int reason = BiometricFrameworkStatsLogger.toProtoWakeReason(ctx); + final int[] reasonDetails = BiometricFrameworkStatsLogger + .toProtoWakeReasonDetails(new OperationContextExt(context)); + + assertThat(reason).isEqualTo(BiometricsProtoEnums.WAKE_REASON_WAKE_MOTION); + assertThat(reasonDetails).isEmpty(); + } + + @Test + public void testConvertsWakeReason_whenFaceReason() { + final OperationContext context = new OperationContext(); + context.authenticateReason = AuthenticateReason.faceAuthenticateReason( + AuthenticateReason.Face.ASSISTANT_VISIBLE); + final OperationContextExt ctx = new OperationContextExt(context); + + final int reason = BiometricFrameworkStatsLogger.toProtoWakeReason(ctx); + final int[] reasonDetails = BiometricFrameworkStatsLogger + .toProtoWakeReasonDetails(ctx); + + assertThat(reason).isEqualTo(BiometricsProtoEnums.WAKE_REASON_UNKNOWN); + assertThat(reasonDetails).asList().containsExactly( + BiometricsProtoEnums.DETAILS_FACE_ASSISTANT_VISIBLE); + } + + @Test + public void testConvertsWakeReason_whenVendorReason() { + final OperationContext context = new OperationContext(); + context.authenticateReason = AuthenticateReason.vendorAuthenticateReason( + new AuthenticateReason.Vendor()); + final OperationContextExt ctx = new OperationContextExt(context); + + final int reason = BiometricFrameworkStatsLogger.toProtoWakeReason(ctx); + final int[] reasonDetails = BiometricFrameworkStatsLogger + .toProtoWakeReasonDetails(ctx); + + assertThat(reason).isEqualTo(BiometricsProtoEnums.WAKE_REASON_UNKNOWN); + assertThat(reasonDetails).isEmpty(); + } + + + @Test + public void testConvertsWakeReason_whenPowerAndFaceReason() { + final OperationContext context = new OperationContext(); + context.wakeReason = WakeReason.WAKE_KEY; + context.authenticateReason = AuthenticateReason.faceAuthenticateReason( + AuthenticateReason.Face.PRIMARY_BOUNCER_SHOWN); + final OperationContextExt ctx = new OperationContextExt(context); + + final int reason = BiometricFrameworkStatsLogger.toProtoWakeReason(ctx); + final int[] reasonDetails = BiometricFrameworkStatsLogger + .toProtoWakeReasonDetails(ctx); + + assertThat(reason).isEqualTo(BiometricsProtoEnums.WAKE_REASON_WAKE_KEY); + assertThat(reasonDetails).asList().containsExactly( + BiometricsProtoEnums.DETAILS_FACE_PRIMARY_BOUNCER_SHOWN); + } + + @Test + public void testConvertsWakeReason_whenPowerAndVendorReason() { + final OperationContext context = new OperationContext(); + context.wakeReason = WakeReason.LID; + context.authenticateReason = AuthenticateReason.vendorAuthenticateReason( + new AuthenticateReason.Vendor()); + final OperationContextExt ctx = new OperationContextExt(context); + + final int reason = BiometricFrameworkStatsLogger.toProtoWakeReason(ctx); + final int[] reasonDetails = BiometricFrameworkStatsLogger + .toProtoWakeReasonDetails(ctx); + + assertThat(reason).isEqualTo(BiometricsProtoEnums.WAKE_REASON_LID); + assertThat(reasonDetails).isEmpty(); + } +} diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java index aaabb286589c..4f74ef8b5f70 100644 --- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java @@ -5002,6 +5002,8 @@ public class DevicePolicyManagerTest extends DpmTestBase { configureProfileOwnerOfOrgOwnedDevice(admin1, CALLER_USER_HANDLE); DeviceConfig.setProperty(DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER, FLAG_ENABLE_WORK_PROFILE_TELEPHONY, "true", false); + DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY, + FLAG_ENABLE_WORK_PROFILE_TELEPHONY, "true", false); // Even if the caller is the managed profile, the current user is the user 0 when(getServices().iactivityManager.getCurrentUser()) .thenReturn(new UserInfo(UserHandle.USER_SYSTEM, "user system", 0)); @@ -5064,6 +5066,8 @@ public class DevicePolicyManagerTest extends DpmTestBase { verify(getServices().subscriptionManager).setSubscriptionUserHandle(0, null); DeviceConfig.setProperty(DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER, FLAG_ENABLE_WORK_PROFILE_TELEPHONY, "false", false); + DeviceConfig.setProperty(DeviceConfig.NAMESPACE_TELEPHONY, + FLAG_ENABLE_WORK_PROFILE_TELEPHONY, "false", false); } @Test diff --git a/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java index 94d30bb4440b..6d2ce7fbe68d 100644 --- a/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/display/DisplayManagerServiceTest.java @@ -34,7 +34,9 @@ import static org.junit.Assert.assertThrows; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; import static org.mockito.ArgumentMatchers.anyLong; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.any; +import static org.mockito.Mockito.atLeastOnce; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; @@ -65,12 +67,14 @@ import android.hardware.display.HdrConversionMode; import android.hardware.display.IDisplayManagerCallback; import android.hardware.display.IVirtualDisplayCallback; import android.hardware.display.VirtualDisplayConfig; +import android.media.projection.IMediaProjection; import android.media.projection.IMediaProjectionManager; import android.os.Binder; import android.os.Handler; import android.os.IBinder; import android.os.MessageQueue; import android.os.Process; +import android.os.RemoteException; import android.view.ContentRecordingSession; import android.view.Display; import android.view.DisplayCutout; @@ -1024,11 +1028,14 @@ public class DisplayManagerServiceTest { } @Test - public void testCreateVirtualDisplay_setContentRecordingSessionSuccess() throws Exception { + public void testCreateVirtualDisplay_setContentRecordingSessionSuccess() + throws RemoteException { when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); when(mMockWindowManagerInternal .setContentRecordingSession(any(ContentRecordingSession.class))) .thenReturn(true); + IMediaProjection projection = mock(IMediaProjection.class); + doReturn(true).when(mMockProjectionService).isCurrentProjection(eq(projection)); final VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder( VIRTUAL_DISPLAY_NAME, 600, 800, 320); @@ -1042,17 +1049,19 @@ public class DisplayManagerServiceTest { DisplayManagerService.BinderService binderService = displayManager.new BinderService(); final int displayId = binderService.createVirtualDisplay(builder.build(), - mMockAppToken /* callback */, null /* projection */, PACKAGE_NAME); + mMockAppToken /* callback */, projection, PACKAGE_NAME); assertThat(displayId).isNotEqualTo(Display.INVALID_DISPLAY); } @Test - public void testCreateVirtualDisplay_setContentRecordingSessionFail() throws Exception { + public void testCreateVirtualDisplay_setContentRecordingSessionFail() throws RemoteException { when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); when(mMockWindowManagerInternal .setContentRecordingSession(any(ContentRecordingSession.class))) .thenReturn(false); + IMediaProjection projection = mock(IMediaProjection.class); + doReturn(true).when(mMockProjectionService).isCurrentProjection(eq(projection)); final VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder( VIRTUAL_DISPLAY_NAME, 600, 800, 320); @@ -1066,11 +1075,96 @@ public class DisplayManagerServiceTest { DisplayManagerService.BinderService binderService = displayManager.new BinderService(); final int displayId = binderService.createVirtualDisplay(builder.build(), - mMockAppToken /* callback */, null /* projection */, PACKAGE_NAME); + mMockAppToken /* callback */, projection, PACKAGE_NAME); assertThat(displayId).isEqualTo(Display.INVALID_DISPLAY); } + @Test + public void testCreateVirtualDisplay_setContentRecordingSession_noProjection_noFlags() { + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + + // Set no flags for the VirtualDisplay. + final VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder( + VIRTUAL_DISPLAY_NAME, 600, 800, 320); + builder.setUniqueId("uniqueId --- setContentRecordingSession false"); + builder.setContentRecordingSession( + ContentRecordingSession.createDisplaySession(new Binder(""))); + + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + registerDefaultDisplays(displayManager); + displayManager.windowManagerAndInputReady(); + + // Pass in a null projection. + DisplayManagerService.BinderService binderService = displayManager.new BinderService(); + final int displayId = binderService.createVirtualDisplay(builder.build(), + mMockAppToken /* callback */, null /* projection */, PACKAGE_NAME); + + // VirtualDisplay is created but not for mirroring. + assertThat(displayId).isNotEqualTo(Display.INVALID_DISPLAY); + verify(mMockWindowManagerInternal, never()).setContentRecordingSession( + any(ContentRecordingSession.class)); + } + + @Test + public void testCreateVirtualDisplay_setContentRecordingSession_noProjection_noMirroringFlag() { + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + + // Set a non-mirroring flag for the VirtualDisplay. + final VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder( + VIRTUAL_DISPLAY_NAME, 600, 800, 320); + builder.setUniqueId("uniqueId --- setContentRecordingSession false"); + builder.setFlags(VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY); + builder.setContentRecordingSession( + ContentRecordingSession.createDisplaySession(new Binder(""))); + + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + registerDefaultDisplays(displayManager); + displayManager.windowManagerAndInputReady(); + + // Pass in a null projection. + DisplayManagerService.BinderService binderService = displayManager.new BinderService(); + final int displayId = binderService.createVirtualDisplay(builder.build(), + mMockAppToken /* callback */, null /* projection */, PACKAGE_NAME); + + // VirtualDisplay is created but not for mirroring. + assertThat(displayId).isNotEqualTo(Display.INVALID_DISPLAY); + verify(mMockWindowManagerInternal, never()).setContentRecordingSession( + any(ContentRecordingSession.class)); + } + + @Test + public void testCreateVirtualDisplay_setContentRecordingSession_projection_noMirroringFlag() + throws RemoteException { + when(mMockAppToken.asBinder()).thenReturn(mMockAppToken); + when(mMockWindowManagerInternal + .setContentRecordingSession(any(ContentRecordingSession.class))) + .thenReturn(true); + IMediaProjection projection = mock(IMediaProjection.class); + doReturn(true).when(mMockProjectionService).isCurrentProjection(eq(projection)); + + // Set no flags for the VirtualDisplay. + final VirtualDisplayConfig.Builder builder = new VirtualDisplayConfig.Builder( + VIRTUAL_DISPLAY_NAME, 600, 800, 320); + builder.setUniqueId("uniqueId --- setContentRecordingSession false"); + builder.setContentRecordingSession( + ContentRecordingSession.createDisplaySession(new Binder(""))); + + DisplayManagerService displayManager = new DisplayManagerService(mContext, mBasicInjector); + registerDefaultDisplays(displayManager); + displayManager.windowManagerAndInputReady(); + + // Pass in a non-null projection. + DisplayManagerService.BinderService binderService = displayManager.new BinderService(); + final int displayId = binderService.createVirtualDisplay(builder.build(), + mMockAppToken /* callback */, projection, PACKAGE_NAME); + + // VirtualDisplay is created for mirroring. + assertThat(displayId).isNotEqualTo(Display.INVALID_DISPLAY); + verify(mMockWindowManagerInternal, atLeastOnce()).setContentRecordingSession( + any(ContentRecordingSession.class)); + } + /** * Tests that the virtual display is created with * {@link VirtualDisplayConfig.Builder#setSurface(Surface)} diff --git a/services/tests/servicestests/src/com/android/server/display/mode/DisplayModeDirectorTest.java b/services/tests/servicestests/src/com/android/server/display/mode/DisplayModeDirectorTest.java index 1b02799e1da4..db5a46976748 100644 --- a/services/tests/servicestests/src/com/android/server/display/mode/DisplayModeDirectorTest.java +++ b/services/tests/servicestests/src/com/android/server/display/mode/DisplayModeDirectorTest.java @@ -2300,7 +2300,7 @@ public class DisplayModeDirectorTest { // We don't expect any interaction with DeviceConfig when the director is initialized // because we explicitly avoid doing this as this can lead to a latency spike in the // startup of DisplayManagerService - // Verify all the loaded values are from DisplayDeviceConfig + // Verify all the loaded values are from config.xml assertEquals(director.getSettingsObserver().getDefaultRefreshRate(), 45, 0.0); assertEquals(director.getSettingsObserver().getDefaultPeakRefreshRate(), 75, 0.0); @@ -2332,6 +2332,7 @@ public class DisplayModeDirectorTest { when(displayDeviceConfig.getDefaultRefreshRateInHbmSunlight()).thenReturn(75); director.defaultDisplayDeviceUpdated(displayDeviceConfig); + // Verify the new values are from the freshly loaded DisplayDeviceConfig. assertEquals(director.getSettingsObserver().getDefaultRefreshRate(), 60, 0.0); assertEquals(director.getSettingsObserver().getDefaultPeakRefreshRate(), 65, 0.0); @@ -2362,6 +2363,7 @@ public class DisplayModeDirectorTest { // Need to wait for the property change to propagate to the main thread. waitForIdleSync(); + // Verify the values are loaded from the DeviceConfig. assertEquals(director.getSettingsObserver().getDefaultRefreshRate(), 60, 0.0); assertEquals(director.getSettingsObserver().getDefaultPeakRefreshRate(), 60, 0.0); @@ -2377,6 +2379,35 @@ public class DisplayModeDirectorTest { new int[]{20}); assertEquals(director.getHbmObserver().getRefreshRateInHbmHdr(), 70); assertEquals(director.getHbmObserver().getRefreshRateInHbmSunlight(), 80); + + // Reset the DeviceConfig + config.setDefaultPeakRefreshRate(null); + config.setRefreshRateInHighZone(null); + config.setRefreshRateInLowZone(null); + config.setLowAmbientBrightnessThresholds(new int[]{}); + config.setLowDisplayBrightnessThresholds(new int[]{}); + config.setHighDisplayBrightnessThresholds(new int[]{}); + config.setHighAmbientBrightnessThresholds(new int[]{}); + config.setRefreshRateInHbmHdr(null); + config.setRefreshRateInHbmSunlight(null); + waitForIdleSync(); + + // verify the new values now fallback to DisplayDeviceConfig + assertEquals(director.getSettingsObserver().getDefaultRefreshRate(), 60, 0.0); + assertEquals(director.getSettingsObserver().getDefaultPeakRefreshRate(), 65, + 0.0); + assertEquals(director.getBrightnessObserver().getRefreshRateInHighZone(), 55); + assertEquals(director.getBrightnessObserver().getRefreshRateInLowZone(), 50); + assertArrayEquals(director.getBrightnessObserver().getHighDisplayBrightnessThreshold(), + new int[]{210}); + assertArrayEquals(director.getBrightnessObserver().getHighAmbientBrightnessThreshold(), + new int[]{2100}); + assertArrayEquals(director.getBrightnessObserver().getLowDisplayBrightnessThreshold(), + new int[]{25}); + assertArrayEquals(director.getBrightnessObserver().getLowAmbientBrightnessThreshold(), + new int[]{30}); + assertEquals(director.getHbmObserver().getRefreshRateInHbmHdr(), 65); + assertEquals(director.getHbmObserver().getRefreshRateInHbmSunlight(), 75); } @Test @@ -2536,18 +2567,18 @@ public class DisplayModeDirectorTest { super.addOnPropertiesChangedListener(namespace, executor, listener); } - void setRefreshRateInLowZone(int fps) { + void setRefreshRateInLowZone(Integer fps) { putPropertyAndNotify( DeviceConfig.NAMESPACE_DISPLAY_MANAGER, KEY_REFRESH_RATE_IN_LOW_ZONE, String.valueOf(fps)); } - void setRefreshRateInHbmSunlight(int fps) { + void setRefreshRateInHbmSunlight(Integer fps) { putPropertyAndNotify(DeviceConfig.NAMESPACE_DISPLAY_MANAGER, KEY_REFRESH_RATE_IN_HBM_SUNLIGHT, String.valueOf(fps)); } - void setRefreshRateInHbmHdr(int fps) { + void setRefreshRateInHbmHdr(Integer fps) { putPropertyAndNotify(DeviceConfig.NAMESPACE_DISPLAY_MANAGER, KEY_REFRESH_RATE_IN_HBM_HDR, String.valueOf(fps)); } @@ -2583,13 +2614,13 @@ public class DisplayModeDirectorTest { thresholds); } - void setRefreshRateInHighZone(int fps) { + void setRefreshRateInHighZone(Integer fps) { putPropertyAndNotify( DeviceConfig.NAMESPACE_DISPLAY_MANAGER, KEY_REFRESH_RATE_IN_HIGH_ZONE, String.valueOf(fps)); } - void setDefaultPeakRefreshRate(int fps) { + void setDefaultPeakRefreshRate(Integer fps) { putPropertyAndNotify( DeviceConfig.NAMESPACE_DISPLAY_MANAGER, KEY_PEAK_REFRESH_RATE_DEFAULT, String.valueOf(fps)); diff --git a/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java b/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java index 86878c5384fd..848790381984 100644 --- a/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java +++ b/services/tests/servicestests/src/com/android/server/usage/AppStandbyControllerTests.java @@ -232,7 +232,6 @@ public class AppStandbyControllerTests { long mElapsedRealtime; boolean mIsAppIdleEnabled = true; boolean mIsCharging; - boolean mIsRestrictedBucketEnabled = true; List<String> mNonIdleWhitelistApps = new ArrayList<>(); boolean mDisplayOn; DisplayManager.DisplayListener mDisplayListener; @@ -316,11 +315,6 @@ public class AppStandbyControllerTests { } @Override - boolean isRestrictedBucketEnabled() { - return mIsRestrictedBucketEnabled; - } - - @Override File getDataSystemDirectory() { return new File(getContext().getFilesDir(), Long.toString(sRandom.nextLong())); } @@ -1355,50 +1349,6 @@ public class AppStandbyControllerTests { @Test @FlakyTest(bugId = 185169504) - public void testRestrictedBucketDisabled() throws Exception { - mInjector.mIsRestrictedBucketEnabled = false; - // Get the controller to read the new value. Capturing the ContentObserver isn't possible - // at the moment. - mController.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY); - - reportEvent(mController, USER_INTERACTION, mInjector.mElapsedRealtime, PACKAGE_1); - mInjector.mElapsedRealtime += RESTRICTED_THRESHOLD; - - // Nothing should be able to put it into the RESTRICTED bucket. - mController.setAppStandbyBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RESTRICTED, - REASON_MAIN_TIMEOUT); - assertNotBucket(STANDBY_BUCKET_RESTRICTED); - mController.setAppStandbyBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RESTRICTED, - REASON_MAIN_PREDICTED); - assertNotBucket(STANDBY_BUCKET_RESTRICTED); - mController.setAppStandbyBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RESTRICTED, - REASON_MAIN_FORCED_BY_SYSTEM); - assertNotBucket(STANDBY_BUCKET_RESTRICTED); - mController.setAppStandbyBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RESTRICTED, - REASON_MAIN_FORCED_BY_USER); - assertNotBucket(STANDBY_BUCKET_RESTRICTED); - } - - @Test - @FlakyTest(bugId = 185169504) - public void testRestrictedBucket_EnabledToDisabled() throws Exception { - reportEvent(mController, USER_INTERACTION, mInjector.mElapsedRealtime, PACKAGE_1); - mInjector.mElapsedRealtime += RESTRICTED_THRESHOLD; - mController.setAppStandbyBucket(PACKAGE_1, USER_ID, STANDBY_BUCKET_RESTRICTED, - REASON_MAIN_FORCED_BY_SYSTEM); - assertBucket(STANDBY_BUCKET_RESTRICTED); - - mInjector.mIsRestrictedBucketEnabled = false; - // Get the controller to read the new value. Capturing the ContentObserver isn't possible - // at the moment. - mController.onBootPhase(SystemService.PHASE_SYSTEM_SERVICES_READY); - - mController.checkIdleStates(USER_ID); - assertNotBucket(STANDBY_BUCKET_RESTRICTED); - } - - @Test - @FlakyTest(bugId = 185169504) public void testPredictionRaiseFromRestrictedTimeout_highBucket() throws Exception { reportEvent(mController, USER_INTERACTION, mInjector.mElapsedRealtime, PACKAGE_1); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationComparatorTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationComparatorTest.java index 91d4f8f63f38..d73a3b8e44a6 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationComparatorTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationComparatorTest.java @@ -15,9 +15,11 @@ */ package com.android.server.notification; -import static org.hamcrest.Matchers.contains; +import static com.android.internal.config.sysui.SystemUiSystemPropertiesFlags.NotificationFlags.NO_SORT_BY_INTERRUPTIVENESS; + +import static com.google.common.truth.Truth.assertThat; + import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.mockito.Matchers.anyInt; import static org.mockito.Matchers.anyString; @@ -43,13 +45,14 @@ import android.service.notification.StatusBarNotification; import android.telecom.TelecomManager; import android.test.suitebuilder.annotation.SmallTest; -import androidx.test.runner.AndroidJUnit4; - +import com.android.internal.config.sysui.SystemUiSystemPropertiesFlags; import com.android.server.UiServiceTestCase; +import org.junit.After; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import org.mockito.Mock; import org.mockito.MockitoAnnotations; @@ -58,7 +61,7 @@ import java.util.Collections; import java.util.List; @SmallTest -@RunWith(AndroidJUnit4.class) +@RunWith(Parameterized.class) public class NotificationComparatorTest extends UiServiceTestCase { @Mock Context mContext; @Mock TelecomManager mTm; @@ -92,9 +95,24 @@ public class NotificationComparatorTest extends UiServiceTestCase { private NotificationRecord mRecordColorized; private NotificationRecord mRecordColorizedCall; + @Parameterized.Parameters(name = "sortByInterruptiveness={0}") + public static Boolean[] getSortByInterruptiveness() { + return new Boolean[] { true, false }; + } + + @Parameterized.Parameter + public boolean mSortByInterruptiveness; + @Before public void setUp() { MockitoAnnotations.initMocks(this); + SystemUiSystemPropertiesFlags.TEST_RESOLVER = flag -> { + if (flag.mSysPropKey.equals(NO_SORT_BY_INTERRUPTIVENESS.mSysPropKey)) { + return !mSortByInterruptiveness; + } + return new SystemUiSystemPropertiesFlags.DebugResolver().isEnabled(flag); + }; + int userId = UserHandle.myUserId(); when(mContext.getResources()).thenReturn(getContext().getResources()); @@ -126,7 +144,7 @@ public class NotificationComparatorTest extends UiServiceTestCase { new StatusBarNotification(callPkg, callPkg, 1, "mRecordMinCallNonInterruptive", callUid, callUid, nonInterruptiveNotif, - new UserHandle(userId), "", 2000), getDefaultChannel()); + new UserHandle(userId), "", 2001), getDefaultChannel()); mRecordMinCallNonInterruptive.setSystemImportance(NotificationManager.IMPORTANCE_MIN); mRecordMinCallNonInterruptive.setInterruptive(false); @@ -228,7 +246,7 @@ public class NotificationComparatorTest extends UiServiceTestCase { .setColorized(true).setColor(Color.WHITE) .build(); mRecordCheaterColorized = new NotificationRecord(mContext, new StatusBarNotification(pkg2, - pkg2, 1, "cheater", uid2, uid2, n11, new UserHandle(userId), + pkg2, 1, "cheaterColorized", uid2, uid2, n11, new UserHandle(userId), "", 9258), getDefaultChannel()); mRecordCheaterColorized.setSystemImportance(NotificationManager.IMPORTANCE_LOW); @@ -262,6 +280,11 @@ public class NotificationComparatorTest extends UiServiceTestCase { mRecordColorizedCall.setSystemImportance(NotificationManager.IMPORTANCE_HIGH); } + @After + public void tearDown() { + SystemUiSystemPropertiesFlags.TEST_RESOLVER = null; + } + @Test public void testOrdering() { final List<NotificationRecord> expected = new ArrayList<>(); @@ -281,8 +304,13 @@ public class NotificationComparatorTest extends UiServiceTestCase { expected.add(mNoMediaSessionMedia); expected.add(mRecordCheater); expected.add(mRecordCheaterColorized); - expected.add(mRecordMinCall); - expected.add(mRecordMinCallNonInterruptive); + if (mSortByInterruptiveness) { + expected.add(mRecordMinCall); + expected.add(mRecordMinCallNonInterruptive); + } else { + expected.add(mRecordMinCallNonInterruptive); + expected.add(mRecordMinCall); + } List<NotificationRecord> actual = new ArrayList<>(); actual.addAll(expected); @@ -290,14 +318,18 @@ public class NotificationComparatorTest extends UiServiceTestCase { Collections.sort(actual, new NotificationComparator(mContext)); - assertThat(actual, contains(expected.toArray())); + assertThat(actual).containsExactlyElementsIn(expected).inOrder(); } @Test public void testRankingScoreOverrides() { NotificationComparator comp = new NotificationComparator(mContext); NotificationRecord recordMinCallNonInterruptive = spy(mRecordMinCallNonInterruptive); - assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) < 0); + if (mSortByInterruptiveness) { + assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) < 0); + } else { + assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) > 0); + } when(recordMinCallNonInterruptive.getRankingScore()).thenReturn(1f); assertTrue(comp.compare(mRecordMinCall, recordMinCallNonInterruptive) > 0); diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java index 5cbd1204cf49..02c030d16f6a 100755 --- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java @@ -4413,6 +4413,43 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { assertFalse(posted.getNotification().extras .containsKey(Notification.EXTRA_MEDIA_REMOTE_DEVICE)); + assertFalse(posted.getNotification().extras + .containsKey(Notification.EXTRA_MEDIA_REMOTE_ICON)); + assertFalse(posted.getNotification().extras + .containsKey(Notification.EXTRA_MEDIA_REMOTE_INTENT)); + } + + @Test + public void testCustomMediaStyleRemote_noPermission() throws RemoteException { + String deviceName = "device"; + when(mPackageManager.checkPermission( + eq(android.Manifest.permission.MEDIA_CONTENT_CONTROL), any(), anyInt())) + .thenReturn(PERMISSION_DENIED); + Notification.DecoratedMediaCustomViewStyle style = + new Notification.DecoratedMediaCustomViewStyle(); + style.setRemotePlaybackInfo(deviceName, 0, null); + Notification.Builder nb = new Notification.Builder(mContext, + mTestNotificationChannel.getId()) + .setStyle(style); + + StatusBarNotification sbn = new StatusBarNotification(PKG, PKG, 1, + "testCustomMediaStyleRemoteNoPermission", mUid, 0, + nb.build(), UserHandle.getUserHandleForUid(mUid), null, 0); + NotificationRecord nr = new NotificationRecord(mContext, sbn, mTestNotificationChannel); + + mBinderService.enqueueNotificationWithTag(PKG, PKG, sbn.getTag(), + nr.getSbn().getId(), nr.getSbn().getNotification(), nr.getSbn().getUserId()); + waitForIdle(); + + NotificationRecord posted = mService.findNotificationLocked( + PKG, nr.getSbn().getTag(), nr.getSbn().getId(), nr.getSbn().getUserId()); + + assertFalse(posted.getNotification().extras + .containsKey(Notification.EXTRA_MEDIA_REMOTE_DEVICE)); + assertFalse(posted.getNotification().extras + .containsKey(Notification.EXTRA_MEDIA_REMOTE_ICON)); + assertFalse(posted.getNotification().extras + .containsKey(Notification.EXTRA_MEDIA_REMOTE_INTENT)); } @Test @@ -5804,6 +5841,57 @@ public class NotificationManagerServiceTest extends UiServiceTestCase { } @Test + public void testVisualDifference_sameImages() { + Icon large = Icon.createWithResource(mContext, 1); + Notification n1 = new Notification.Builder(mContext, "channel") + .setSmallIcon(1).setLargeIcon(large).build(); + Notification n2 = new Notification.Builder(mContext, "channel") + .setSmallIcon(1).setLargeIcon(large).build(); + + NotificationRecord r1 = notificationToRecord(n1); + NotificationRecord r2 = notificationToRecord(n2); + + assertThat(mService.isVisuallyInterruptive(r1, r2)).isFalse(); + } + + @Test + public void testVisualDifference_differentSmallImage() { + Icon large = Icon.createWithResource(mContext, 1); + Notification n1 = new Notification.Builder(mContext, "channel") + .setSmallIcon(1).setLargeIcon(large).build(); + Notification n2 = new Notification.Builder(mContext, "channel") + .setSmallIcon(2).setLargeIcon(large).build(); + + NotificationRecord r1 = notificationToRecord(n1); + NotificationRecord r2 = notificationToRecord(n2); + + assertThat(mService.isVisuallyInterruptive(r1, r2)).isTrue(); + } + + @Test + public void testVisualDifference_differentLargeImage() { + Icon large1 = Icon.createWithResource(mContext, 1); + Icon large2 = Icon.createWithResource(mContext, 2); + Notification n1 = new Notification.Builder(mContext, "channel") + .setSmallIcon(1).setLargeIcon(large1).build(); + Notification n2 = new Notification.Builder(mContext, "channel") + .setSmallIcon(1).setLargeIcon(large2).build(); + + NotificationRecord r1 = notificationToRecord(n1); + NotificationRecord r2 = notificationToRecord(n2); + + assertThat(mService.isVisuallyInterruptive(r1, r2)).isTrue(); + } + + private NotificationRecord notificationToRecord(Notification n) { + return new NotificationRecord( + mContext, + new StatusBarNotification(PKG, PKG, 0, "tag", mUid, 0, n, + UserHandle.getUserHandleForUid(mUid), null, 0), + mock(NotificationChannel.class)); + } + + @Test public void testHideAndUnhideNotificationsOnSuspendedPackageBroadcast() { // post 2 notification from this package final NotificationRecord notif1 = generateNotificationRecord( diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java index 6147633f624a..1a635a9e589f 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java @@ -1205,6 +1205,8 @@ public class ActivityRecordTests extends WindowTestsBase { any(ClientTransaction.class)); } catch (RemoteException ignored) { } + + assertNull(targetActivity.results); } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivitySnapshotControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivitySnapshotControllerTests.java new file mode 100644 index 000000000000..0eca8c988575 --- /dev/null +++ b/services/tests/wmtests/src/com/android/server/wm/ActivitySnapshotControllerTests.java @@ -0,0 +1,162 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.wm; + +import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; + +import static org.junit.Assert.assertEquals; + +import android.platform.test.annotations.Presubmit; + +import androidx.test.filters.SmallTest; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Test class for {@link ActivitySnapshotController}. + * + * Build/Install/Run: + * * atest WmTests:ActivitySnapshotControllerTests + */ +@SmallTest +@Presubmit +@RunWith(WindowTestRunner.class) +public class ActivitySnapshotControllerTests extends WindowTestsBase { + + private ActivitySnapshotController mActivitySnapshotController; + @Before + public void setUp() throws Exception { + mActivitySnapshotController = mWm.mSnapshotController.mActivitySnapshotController; + mActivitySnapshotController.resetTmpFields(); + } + @Test + public void testOpenActivityTransition() { + final SnapshotController.TransitionState transitionState = + new SnapshotController.TransitionState(); + final Task task = createTask(mDisplayContent); + // note for createAppWindow: the new child is added at index 0 + final WindowState openingWindow = createAppWindow(task, + ACTIVITY_TYPE_STANDARD, "openingWindow"); + openingWindow.mActivityRecord.commitVisibility( + true /* visible */, true /* performLayout */); + final WindowState closingWindow = createAppWindow(task, ACTIVITY_TYPE_STANDARD, + "closingWindow"); + closingWindow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + transitionState.addParticipant(closingWindow.mActivityRecord, false); + transitionState.addParticipant(openingWindow.mActivityRecord, true); + mActivitySnapshotController.handleOpenActivityTransition(transitionState); + + assertEquals(1, mActivitySnapshotController.mPendingCaptureActivity.size()); + assertEquals(0, mActivitySnapshotController.mPendingRemoveActivity.size()); + assertEquals(closingWindow.mActivityRecord, + mActivitySnapshotController.mPendingCaptureActivity.valueAt(0)); + mActivitySnapshotController.resetTmpFields(); + + // simulate three activity + final WindowState belowClose = createAppWindow(task, ACTIVITY_TYPE_STANDARD, + "belowClose"); + belowClose.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + mActivitySnapshotController.handleOpenActivityTransition(transitionState); + assertEquals(1, mActivitySnapshotController.mPendingCaptureActivity.size()); + assertEquals(1, mActivitySnapshotController.mPendingRemoveActivity.size()); + assertEquals(closingWindow.mActivityRecord, + mActivitySnapshotController.mPendingCaptureActivity.valueAt(0)); + assertEquals(belowClose.mActivityRecord, + mActivitySnapshotController.mPendingRemoveActivity.valueAt(0)); + } + + @Test + public void testCloseActivityTransition() { + final SnapshotController.TransitionState transitionState = + new SnapshotController.TransitionState(); + final Task task = createTask(mDisplayContent); + // note for createAppWindow: the new child is added at index 0 + final WindowState closingWindow = createAppWindow(task, ACTIVITY_TYPE_STANDARD, + "closingWindow"); + closingWindow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + final WindowState openingWindow = createAppWindow(task, + ACTIVITY_TYPE_STANDARD, "openingWindow"); + openingWindow.mActivityRecord.commitVisibility( + true /* visible */, true /* performLayout */); + transitionState.addParticipant(closingWindow.mActivityRecord, false); + transitionState.addParticipant(openingWindow.mActivityRecord, true); + mActivitySnapshotController.handleCloseActivityTransition(transitionState); + assertEquals(0, mActivitySnapshotController.mPendingCaptureActivity.size()); + assertEquals(1, mActivitySnapshotController.mPendingDeleteActivity.size()); + assertEquals(openingWindow.mActivityRecord, + mActivitySnapshotController.mPendingDeleteActivity.valueAt(0)); + mActivitySnapshotController.resetTmpFields(); + + // simulate three activity + final WindowState belowOpen = createAppWindow(task, ACTIVITY_TYPE_STANDARD, + "belowOpen"); + belowOpen.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + mActivitySnapshotController.handleCloseActivityTransition(transitionState); + assertEquals(0, mActivitySnapshotController.mPendingCaptureActivity.size()); + assertEquals(1, mActivitySnapshotController.mPendingDeleteActivity.size()); + assertEquals(1, mActivitySnapshotController.mPendingLoadActivity.size()); + assertEquals(openingWindow.mActivityRecord, + mActivitySnapshotController.mPendingDeleteActivity.valueAt(0)); + assertEquals(belowOpen.mActivityRecord, + mActivitySnapshotController.mPendingLoadActivity.valueAt(0)); + } + + @Test + public void testTaskTransition() { + final SnapshotController.TransitionState taskCloseTransition = + new SnapshotController.TransitionState(); + final SnapshotController.TransitionState taskOpenTransition = + new SnapshotController.TransitionState(); + final Task closeTask = createTask(mDisplayContent); + // note for createAppWindow: the new child is added at index 0 + final WindowState closingWindow = createAppWindow(closeTask, ACTIVITY_TYPE_STANDARD, + "closingWindow"); + closingWindow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + final WindowState closingWindowBelow = createAppWindow(closeTask, ACTIVITY_TYPE_STANDARD, + "closingWindowBelow"); + closingWindowBelow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + + final Task openTask = createTask(mDisplayContent); + final WindowState openingWindow = createAppWindow(openTask, ACTIVITY_TYPE_STANDARD, + "openingWindow"); + openingWindow.mActivityRecord.commitVisibility( + true /* visible */, true /* performLayout */); + final WindowState openingWindowBelow = createAppWindow(openTask, ACTIVITY_TYPE_STANDARD, + "openingWindowBelow"); + openingWindowBelow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + taskCloseTransition.addParticipant(closeTask, false); + taskOpenTransition.addParticipant(openTask, true); + mActivitySnapshotController.handleCloseTaskTransition(taskCloseTransition); + mActivitySnapshotController.handleOpenTaskTransition(taskOpenTransition); + + assertEquals(1, mActivitySnapshotController.mPendingRemoveActivity.size()); + assertEquals(closingWindowBelow.mActivityRecord, + mActivitySnapshotController.mPendingRemoveActivity.valueAt(0)); + assertEquals(1, mActivitySnapshotController.mPendingLoadActivity.size()); + assertEquals(openingWindowBelow.mActivityRecord, + mActivitySnapshotController.mPendingLoadActivity.valueAt(0)); + } +} diff --git a/services/tests/wmtests/src/com/android/server/wm/AppSnapshotControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/AppSnapshotControllerTests.java new file mode 100644 index 000000000000..83af181481d9 --- /dev/null +++ b/services/tests/wmtests/src/com/android/server/wm/AppSnapshotControllerTests.java @@ -0,0 +1,171 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.wm; + +import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD; + +import static com.android.server.wm.SnapshotController.ACTIVITY_CLOSE; +import static com.android.server.wm.SnapshotController.ACTIVITY_OPEN; +import static com.android.server.wm.SnapshotController.TASK_CLOSE; +import static com.android.server.wm.SnapshotController.TASK_OPEN; + +import static org.junit.Assert.assertTrue; + +import android.platform.test.annotations.Presubmit; +import android.util.ArraySet; + +import androidx.test.filters.SmallTest; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + + +/** + * Test class for {@link SnapshotController}. + * + * Build/Install/Run: + * * atest WmTests:AppSnapshotControllerTests + */ +@SmallTest +@Presubmit +@RunWith(WindowTestRunner.class) +public class AppSnapshotControllerTests extends WindowTestsBase { + final ArraySet<ActivityRecord> mClosingApps = new ArraySet<>(); + final ArraySet<ActivityRecord> mOpeningApps = new ArraySet<>(); + + final TransitionMonitor mOpenActivityMonitor = new TransitionMonitor(); + final TransitionMonitor mCloseActivityMonitor = new TransitionMonitor(); + final TransitionMonitor mOpenTaskMonitor = new TransitionMonitor(); + final TransitionMonitor mCloseTaskMonitor = new TransitionMonitor(); + + @Before + public void setUp() throws Exception { + resetStatus(); + mWm.mSnapshotController.registerTransitionStateConsumer( + ACTIVITY_CLOSE, mCloseActivityMonitor::handleTransition); + mWm.mSnapshotController.registerTransitionStateConsumer( + ACTIVITY_OPEN, mOpenActivityMonitor::handleTransition); + mWm.mSnapshotController.registerTransitionStateConsumer( + TASK_CLOSE, mCloseTaskMonitor::handleTransition); + mWm.mSnapshotController.registerTransitionStateConsumer( + TASK_OPEN, mOpenTaskMonitor::handleTransition); + } + + @After + public void tearDown() throws Exception { + mWm.mSnapshotController.unregisterTransitionStateConsumer( + ACTIVITY_CLOSE, mCloseActivityMonitor::handleTransition); + mWm.mSnapshotController.unregisterTransitionStateConsumer( + ACTIVITY_OPEN, mOpenActivityMonitor::handleTransition); + mWm.mSnapshotController.unregisterTransitionStateConsumer( + TASK_CLOSE, mCloseTaskMonitor::handleTransition); + mWm.mSnapshotController.unregisterTransitionStateConsumer( + TASK_OPEN, mOpenTaskMonitor::handleTransition); + } + + private static class TransitionMonitor { + private final ArraySet<WindowContainer> mOpenParticipant = new ArraySet<>(); + private final ArraySet<WindowContainer> mCloseParticipant = new ArraySet<>(); + void handleTransition(SnapshotController.TransitionState<ActivityRecord> state) { + mOpenParticipant.addAll(state.getParticipant(true /* open */)); + mCloseParticipant.addAll(state.getParticipant(false /* close */)); + } + void reset() { + mOpenParticipant.clear(); + mCloseParticipant.clear(); + } + } + + private void resetStatus() { + mClosingApps.clear(); + mOpeningApps.clear(); + mOpenActivityMonitor.reset(); + mCloseActivityMonitor.reset(); + mOpenTaskMonitor.reset(); + mCloseTaskMonitor.reset(); + } + + @Test + public void testHandleAppTransition_openActivityTransition() { + final Task task = createTask(mDisplayContent); + // note for createAppWindow: the new child is added at index 0 + final WindowState openingWindow = createAppWindow(task, + ACTIVITY_TYPE_STANDARD, "openingWindow"); + openingWindow.mActivityRecord.commitVisibility( + true /* visible */, true /* performLayout */); + final WindowState closingWindow = createAppWindow(task, ACTIVITY_TYPE_STANDARD, + "closingWindow"); + closingWindow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + mClosingApps.add(closingWindow.mActivityRecord); + mOpeningApps.add(openingWindow.mActivityRecord); + mWm.mSnapshotController.handleAppTransition(mClosingApps, mOpeningApps); + assertTrue(mOpenActivityMonitor.mCloseParticipant.contains(closingWindow.mActivityRecord)); + assertTrue(mOpenActivityMonitor.mOpenParticipant.contains(openingWindow.mActivityRecord)); + } + + @Test + public void testHandleAppTransition_closeActivityTransition() { + final Task task = createTask(mDisplayContent); + // note for createAppWindow: the new child is added at index 0 + final WindowState closingWindow = createAppWindow(task, ACTIVITY_TYPE_STANDARD, + "closingWindow"); + closingWindow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + final WindowState openingWindow = createAppWindow(task, + ACTIVITY_TYPE_STANDARD, "openingWindow"); + openingWindow.mActivityRecord.commitVisibility( + true /* visible */, true /* performLayout */); + mClosingApps.add(closingWindow.mActivityRecord); + mOpeningApps.add(openingWindow.mActivityRecord); + mWm.mSnapshotController.handleAppTransition(mClosingApps, mOpeningApps); + assertTrue(mCloseActivityMonitor.mCloseParticipant.contains(closingWindow.mActivityRecord)); + assertTrue(mCloseActivityMonitor.mOpenParticipant.contains(openingWindow.mActivityRecord)); + } + + @Test + public void testHandleAppTransition_TaskTransition() { + final Task closeTask = createTask(mDisplayContent); + // note for createAppWindow: the new child is added at index 0 + final WindowState closingWindow = createAppWindow(closeTask, ACTIVITY_TYPE_STANDARD, + "closingWindow"); + closingWindow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + final WindowState closingWindowBelow = createAppWindow(closeTask, ACTIVITY_TYPE_STANDARD, + "closingWindowBelow"); + closingWindowBelow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + + final Task openTask = createTask(mDisplayContent); + final WindowState openingWindow = createAppWindow(openTask, ACTIVITY_TYPE_STANDARD, + "openingWindow"); + openingWindow.mActivityRecord.commitVisibility( + true /* visible */, true /* performLayout */); + final WindowState openingWindowBelow = createAppWindow(openTask, ACTIVITY_TYPE_STANDARD, + "openingWindowBelow"); + openingWindowBelow.mActivityRecord.commitVisibility( + false /* visible */, true /* performLayout */); + + mClosingApps.add(closingWindow.mActivityRecord); + mOpeningApps.add(openingWindow.mActivityRecord); + mWm.mSnapshotController.handleAppTransition(mClosingApps, mOpeningApps); + assertTrue(mCloseTaskMonitor.mCloseParticipant.contains(closeTask)); + assertTrue(mOpenTaskMonitor.mOpenParticipant.contains(openTask)); + } +} diff --git a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java index 2cc46a9c587d..adc3db73a172 100644 --- a/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/SizeCompatTests.java @@ -108,7 +108,6 @@ import libcore.junit.util.compat.CoreCompatChangeRule.DisableCompatChanges; import libcore.junit.util.compat.CoreCompatChangeRule.EnableCompatChanges; import org.junit.After; -import org.junit.Assert; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -604,11 +603,11 @@ public class SizeCompatTests extends WindowTestsBase { // The scale is 2000/2500=0.8. The horizontal centered offset is (1000-(1000*0.8))/2=100. final float scale = (float) display.mBaseDisplayHeight / currentBounds.height(); final int offsetX = (int) (display.mBaseDisplayWidth - (origBounds.width() * scale)) / 2; - assertEquals(offsetX, currentBounds.left); + final int screenX = mActivity.getBounds().left; + assertEquals(offsetX, screenX); - // The position of configuration bounds should be the same as compat bounds. - assertEquals(mActivity.getBounds().left, currentBounds.left); - assertEquals(mActivity.getBounds().top, currentBounds.top); + // The position of configuration bounds should be in app space. + assertEquals(screenX, (int) (currentBounds.left * scale + 0.5f)); // Activity is sandboxed to the offset size compat bounds. assertActivityMaxBoundsSandboxed(); @@ -638,7 +637,7 @@ public class SizeCompatTests extends WindowTestsBase { // The size should still be in portrait [100, 0 - 1100, 2500] = 1000x2500. assertEquals(origBounds.width(), currentBounds.width()); assertEquals(origBounds.height(), currentBounds.height()); - assertEquals(offsetX, currentBounds.left); + assertEquals(offsetX, mActivity.getBounds().left); assertScaled(); // Activity is sandboxed due to size compat mode. assertActivityMaxBoundsSandboxed(); @@ -801,9 +800,11 @@ public class SizeCompatTests extends WindowTestsBase { assertEquals(origAppBounds.height(), appBounds.height()); // The activity is 1000x1400 and the display is 2500x1000. assertScaled(); - // The position in configuration should be global coordinates. - assertEquals(mActivity.getBounds().left, currentBounds.left); - assertEquals(mActivity.getBounds().top, currentBounds.top); + final float scale = mActivity.getCompatScale(); + // The position in configuration should be in app coordinates. + final Rect screenBounds = mActivity.getBounds(); + assertEquals(screenBounds.left, (int) (currentBounds.left * scale + 0.5f)); + assertEquals(screenBounds.top, (int) (currentBounds.top * scale + 0.5f)); // Activity max bounds are sandboxed due to size compat mode. assertActivityMaxBoundsSandboxed(); @@ -2025,7 +2026,7 @@ public class SizeCompatTests extends WindowTestsBase { float expectedAspectRatio = 1f * displayWidth / getExpectedSplitSize(displayHeight); final Rect afterBounds = activity.getBounds(); final float afterAspectRatio = (float) (afterBounds.height()) / afterBounds.width(); - Assert.assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); } @Test @@ -2050,7 +2051,7 @@ public class SizeCompatTests extends WindowTestsBase { float expectedAspectRatio = 1f * displayHeight / getExpectedSplitSize(displayWidth); final Rect afterBounds = activity.getBounds(); final float afterAspectRatio = (float) (afterBounds.height()) / afterBounds.width(); - Assert.assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); } @Test @@ -2076,7 +2077,7 @@ public class SizeCompatTests extends WindowTestsBase { float expectedAspectRatio = 1f * displayWidth / getExpectedSplitSize(displayHeight); final Rect afterBounds = activity.getBounds(); final float afterAspectRatio = (float) (afterBounds.width()) / afterBounds.height(); - Assert.assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); } @Test @@ -2102,7 +2103,89 @@ public class SizeCompatTests extends WindowTestsBase { float expectedAspectRatio = 1f * displayHeight / getExpectedSplitSize(displayWidth); final Rect afterBounds = activity.getBounds(); final float afterAspectRatio = (float) (afterBounds.width()) / afterBounds.height(); - Assert.assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + } + + @Test + @EnableCompatChanges({ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO, + ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_TO_ALIGN_WITH_SPLIT_SCREEN}) + public void testOverrideSplitScreenAspectRatio_splitScreenActivityInPortrait_notLetterboxed() { + mAtm.mDevEnableNonResizableMultiWindow = true; + final int screenWidth = 1800; + final int screenHeight = 1000; + setUpDisplaySizeWithApp(screenWidth, screenHeight); + final ActivityRecord activity = new ActivityBuilder(mAtm) + .setTask(mTask) + .setComponent(ComponentName.createRelative(mContext, + SizeCompatTests.class.getName())) + .setUid(android.os.Process.myUid()) + .build(); + + activity.mDisplayContent.setIgnoreOrientationRequest(true /* ignoreOrientationRequest */); + // Simulate real display with top insets. + final int topInset = 30; + activity.mDisplayContent.getWindowConfiguration() + .setAppBounds(0, topInset, screenWidth, screenHeight); + + final TestSplitOrganizer organizer = + new TestSplitOrganizer(mAtm, activity.getDisplayContent()); + // Move activity to split screen which takes half of the screen. + mTask.reparent(organizer.mPrimary, POSITION_TOP, /* moveParents= */ false , "test"); + organizer.mPrimary.setBounds(0, 0, getExpectedSplitSize(screenWidth), screenHeight); + assertEquals(WINDOWING_MODE_MULTI_WINDOW, mTask.getWindowingMode()); + assertEquals(WINDOWING_MODE_MULTI_WINDOW, activity.getWindowingMode()); + + // Unresizable portrait-only activity. + prepareUnresizable(activity, 3f, SCREEN_ORIENTATION_PORTRAIT); + + // Activity should have the aspect ratio of a split screen activity and occupy exactly one + // half of the screen, so there is no letterbox + float expectedAspectRatio = 1f * screenHeight / getExpectedSplitSize(screenWidth); + final Rect afterBounds = activity.getBounds(); + final float afterAspectRatio = (float) (afterBounds.height()) / afterBounds.width(); + assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + assertFalse(activity.areBoundsLetterboxed()); + } + + @Test + @EnableCompatChanges({ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO, + ActivityInfo.OVERRIDE_MIN_ASPECT_RATIO_TO_ALIGN_WITH_SPLIT_SCREEN}) + public void testOverrideSplitScreenAspectRatio_splitScreenActivityInLandscape_notLetterboxed() { + mAtm.mDevEnableNonResizableMultiWindow = true; + final int screenWidth = 1000; + final int screenHeight = 1800; + setUpDisplaySizeWithApp(screenWidth, screenHeight); + final ActivityRecord activity = new ActivityBuilder(mAtm) + .setTask(mTask) + .setComponent(ComponentName.createRelative(mContext, + SizeCompatTests.class.getName())) + .setUid(android.os.Process.myUid()) + .build(); + + activity.mDisplayContent.setIgnoreOrientationRequest(true /* ignoreOrientationRequest */); + // Simulate real display with top insets. + final int leftInset = 30; + activity.mDisplayContent.getWindowConfiguration() + .setAppBounds(leftInset, 0, screenWidth, screenHeight); + + final TestSplitOrganizer organizer = + new TestSplitOrganizer(mAtm, activity.getDisplayContent()); + // Move activity to split screen which takes half of the screen. + mTask.reparent(organizer.mPrimary, POSITION_TOP, /* moveParents= */ false , "test"); + organizer.mPrimary.setBounds(0, 0, screenWidth, getExpectedSplitSize(screenHeight)); + assertEquals(WINDOWING_MODE_MULTI_WINDOW, mTask.getWindowingMode()); + assertEquals(WINDOWING_MODE_MULTI_WINDOW, activity.getWindowingMode()); + + // Unresizable landscape-only activity. + prepareUnresizable(activity, 3f, SCREEN_ORIENTATION_LANDSCAPE); + + // Activity should have the aspect ratio of a split screen activity and occupy exactly one + // half of the screen, so there is no letterbox + float expectedAspectRatio = 1f * screenWidth / getExpectedSplitSize(screenHeight); + final Rect afterBounds = activity.getBounds(); + final float afterAspectRatio = (float) (afterBounds.width()) / afterBounds.height(); + assertEquals(expectedAspectRatio, afterAspectRatio, 0.001f); + assertFalse(activity.areBoundsLetterboxed()); } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java index 378e8bed3524..99ab715ab987 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java +++ b/services/tests/wmtests/src/com/android/server/wm/TaskFragmentOrganizerControllerTest.java @@ -398,6 +398,8 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { public void testOnActivityReparentedToTask_activityNotInOrganizerProcess_useTemporaryToken() { final int pid = Binder.getCallingPid(); final int uid = Binder.getCallingUid(); + final WindowProcessController organizerProc = mSystemServicesTestRule.addProcess( + "pkg.organizer", DEFAULT_TASK_FRAGMENT_ORGANIZER_PROCESS_NAME, pid, uid); mTaskFragment.setTaskFragmentOrganizer(mOrganizer.getOrganizerToken(), uid, DEFAULT_TASK_FRAGMENT_ORGANIZER_PROCESS_NAME); mWindowOrganizerController.mLaunchTaskFragments.put(mFragmentToken, mTaskFragment); @@ -436,6 +438,15 @@ public class TaskFragmentOrganizerControllerTest extends WindowTestsBase { // The temporary token can only be used once. assertNull(mController.getReparentActivityFromTemporaryToken(mIOrganizer, change.getActivityToken())); + + // The organizer process should also have visible state by the visible activity in a + // different process. + activity.setVisibleRequested(true); + activity.setState(ActivityRecord.State.RESUMED, "test"); + assertTrue(organizerProc.hasVisibleActivities()); + activity.setVisibleRequested(false); + activity.setState(ActivityRecord.State.STOPPED, "test"); + assertFalse(organizerProc.hasVisibleActivities()); } @Test diff --git a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java index 1d0715ab0460..2a2641edb637 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java +++ b/services/tests/wmtests/src/com/android/server/wm/TestWindowManagerPolicy.java @@ -314,7 +314,7 @@ class TestWindowManagerPolicy implements WindowManagerPolicy { } @Override - public int applyKeyguardOcclusionChange(boolean notify) { + public int applyKeyguardOcclusionChange() { return 0; } diff --git a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java index 616d528c67fa..582d7d81cd4a 100644 --- a/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/TransitionTests.java @@ -44,6 +44,7 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.doCallRealM import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing; import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn; import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn; +import static com.android.server.wm.SnapshotController.TASK_CLOSE; import static com.android.server.wm.WindowContainer.POSITION_TOP; import static org.junit.Assert.assertEquals; @@ -1351,6 +1352,9 @@ public class TransitionTests extends WindowTestsBase { @Test public void testTransientLaunch() { + spyOn(mWm.mSnapshotController.mTaskSnapshotController); + mWm.mSnapshotController.registerTransitionStateConsumer(TASK_CLOSE, + mWm.mSnapshotController.mTaskSnapshotController::handleTaskClose); final ArrayList<ActivityRecord> enteringAnimReports = new ArrayList<>(); final TransitionController controller = new TestTransitionController(mAtm) { @Override @@ -1361,7 +1365,9 @@ public class TransitionTests extends WindowTestsBase { super.dispatchLegacyAppTransitionFinished(ar); } }; - final TaskSnapshotController snapshotController = controller.mTaskSnapshotController; + controller.mSnapshotController = mWm.mSnapshotController; + final TaskSnapshotController taskSnapshotController = controller.mSnapshotController + .mTaskSnapshotController; final ITransitionPlayer player = new ITransitionPlayer.Default(); controller.registerTransitionPlayer(player, null /* playerProc */); final Transition openTransition = controller.createTransition(TRANSIT_OPEN); @@ -1391,7 +1397,7 @@ public class TransitionTests extends WindowTestsBase { // normally. mWm.mSyncEngine.abort(openTransition.getSyncId()); - verify(snapshotController, times(1)).recordSnapshot(eq(task2), eq(false)); + verify(taskSnapshotController, times(1)).recordSnapshot(eq(task2), eq(false)); controller.finishTransition(openTransition); @@ -1421,7 +1427,7 @@ public class TransitionTests extends WindowTestsBase { // Make sure we haven't called recordSnapshot (since we are transient, it shouldn't be // called until finish). - verify(snapshotController, times(0)).recordSnapshot(eq(task1), eq(false)); + verify(taskSnapshotController, times(0)).recordSnapshot(eq(task1), eq(false)); enteringAnimReports.clear(); doCallRealMethod().when(mWm.mRoot).ensureActivitiesVisible(any(), @@ -1447,7 +1453,7 @@ public class TransitionTests extends WindowTestsBase { assertFalse(activity1.isVisible()); assertFalse(activity1.app.hasActivityInVisibleTask()); - verify(snapshotController, times(1)).recordSnapshot(eq(task1), eq(false)); + verify(taskSnapshotController, times(1)).recordSnapshot(eq(task1), eq(false)); assertTrue(enteringAnimReports.contains(activity2)); } diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java index b80500ad6417..0d7cdc851ddf 100644 --- a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java +++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java @@ -1746,7 +1746,8 @@ class WindowTestsBase extends SystemServiceTestsBase { static class TestTransitionController extends TransitionController { TestTransitionController(ActivityTaskManagerService atms) { super(atms); - mTaskSnapshotController = mock(TaskSnapshotController.class); + doReturn(this).when(atms).getTransitionController(); + mSnapshotController = mock(SnapshotController.class); mTransitionTracer = mock(TransitionTracer.class); } } diff --git a/services/texttospeech/java/com/android/server/texttospeech/TextToSpeechManagerPerUserService.java b/services/texttospeech/java/com/android/server/texttospeech/TextToSpeechManagerPerUserService.java index f5f9b846c38b..d49214ab718b 100644 --- a/services/texttospeech/java/com/android/server/texttospeech/TextToSpeechManagerPerUserService.java +++ b/services/texttospeech/java/com/android/server/texttospeech/TextToSpeechManagerPerUserService.java @@ -95,7 +95,7 @@ final class TextToSpeechManagerPerUserService extends ITextToSpeechSessionCallback callback) { super(context, new Intent(TextToSpeech.Engine.INTENT_ACTION_TTS_SERVICE).setPackage(engine), - Context.BIND_AUTO_CREATE, + Context.BIND_AUTO_CREATE | Context.BIND_SCHEDULE_LIKE_TOP_APP, userId, ITextToSpeechService.Stub::asInterface); mEngine = engine; diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java index dbc824c384a2..cd29dace2263 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/DetectorSession.java @@ -26,6 +26,7 @@ import static android.service.voice.HotwordDetectionService.ENABLE_PROXIMITY_RES import static android.service.voice.HotwordDetectionService.INITIALIZATION_STATUS_SUCCESS; import static android.service.voice.HotwordDetectionService.INITIALIZATION_STATUS_UNKNOWN; import static android.service.voice.HotwordDetectionService.KEY_INITIALIZATION_STATUS; +import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_COPY_AUDIO_DATA_FAILURE; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED__RESULT__CALLBACK_INIT_STATE_ERROR; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTION_SERVICE_INIT_RESULT_REPORTED__RESULT__CALLBACK_INIT_STATE_SUCCESS; @@ -68,7 +69,6 @@ import android.os.ParcelFileDescriptor; import android.os.PersistableBundle; import android.os.RemoteException; import android.os.SharedMemory; -import android.service.voice.DetectorFailure; import android.service.voice.HotwordDetectedResult; import android.service.voice.HotwordDetectionService; import android.service.voice.HotwordDetectionServiceFailure; @@ -76,6 +76,7 @@ import android.service.voice.HotwordDetector; import android.service.voice.HotwordRejectedResult; import android.service.voice.IDspHotwordDetectionCallback; import android.service.voice.IMicrophoneHotwordDetectionVoiceInteractionCallback; +import android.service.voice.VisualQueryDetectionServiceFailure; import android.text.TextUtils; import android.util.Pair; import android.util.Slog; @@ -124,17 +125,12 @@ abstract class DetectorSession { private static final String HOTWORD_DETECTION_OP_MESSAGE = "Providing hotword detection result to VoiceInteractionService"; - // The error codes are used for onError callback - static final int HOTWORD_DETECTION_SERVICE_DIED = - HotwordDetectionServiceFailure.ERROR_CODE_BINDING_DIED; - static final int CALLBACK_ONDETECTED_GOT_SECURITY_EXCEPTION = + // The error codes are used for onHotwordDetectionServiceFailure callback. + // Define these due to lines longer than 100 characters. + static final int ONDETECTED_GOT_SECURITY_EXCEPTION = HotwordDetectionServiceFailure.ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION; - static final int CALLBACK_DETECT_TIMEOUT = - HotwordDetectionServiceFailure.ERROR_CODE_DETECT_TIMEOUT; - static final int CALLBACK_ONDETECTED_STREAM_COPY_ERROR = + static final int ONDETECTED_STREAM_COPY_ERROR = HotwordDetectionServiceFailure.ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE; - static final int CALLBACK_COPY_AUDIO_DATA_FAILURE = - HotwordDetectionServiceFailure.ERROR_CODE_COPY_AUDIO_DATA_FAILURE; // TODO: These constants need to be refined. private static final long MAX_UPDATE_TIMEOUT_MILLIS = 30000; @@ -449,11 +445,11 @@ abstract class DetectorSession { Slog.w(TAG, "Failed supplying audio data to validator", e); try { - callback.onError( - new HotwordDetectionServiceFailure(CALLBACK_COPY_AUDIO_DATA_FAILURE, + callback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure(ERROR_CODE_COPY_AUDIO_DATA_FAILURE, "Copy audio data failure for external source detection.")); } catch (RemoteException ex) { - Slog.w(TAG, "Failed to report onError status: " + ex); + Slog.w(TAG, "Failed to report onHotwordDetectionServiceFailure status: " + ex); if (getDetectorType() != HotwordDetector.DETECTOR_TYPE_VISUAL_QUERY_DETECTOR) { HotwordMetricsLogger.writeDetectorEvent(getDetectorType(), HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION, @@ -538,10 +534,11 @@ abstract class DetectorSession { EXTERNAL_SOURCE_DETECT_SECURITY_EXCEPTION, mVoiceInteractionServiceUid); try { - callback.onError(new HotwordDetectionServiceFailure( - CALLBACK_ONDETECTED_GOT_SECURITY_EXCEPTION, - "Security exception occurs in #onDetected" - + " method.")); + callback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure( + ONDETECTED_GOT_SECURITY_EXCEPTION, + "Security exception occurs in " + + "#onDetected method")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); throw e1; @@ -557,9 +554,10 @@ abstract class DetectorSession { + "IOException", e); // TODO: Write event try { - callback.onError(new HotwordDetectionServiceFailure( - CALLBACK_ONDETECTED_STREAM_COPY_ERROR, - "Copy audio stream failure.")); + callback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure( + ONDETECTED_STREAM_COPY_ERROR, + "Copy audio stream failure.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); throw e1; @@ -624,17 +622,40 @@ abstract class DetectorSession { mRemoteDetectionService = remoteDetectionService; } - void reportErrorLocked(@NonNull DetectorFailure detectorFailure) { + private void reportErrorGetRemoteException() { + if (getDetectorType() != HotwordDetector.DETECTOR_TYPE_VISUAL_QUERY_DETECTOR) { + HotwordMetricsLogger.writeDetectorEvent(getDetectorType(), + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION, + mVoiceInteractionServiceUid); + } + notifyOnDetectorRemoteException(); + } + + void reportErrorLocked(@NonNull HotwordDetectionServiceFailure hotwordDetectionServiceFailure) { try { - mCallback.onDetectionFailure(detectorFailure); + mCallback.onHotwordDetectionServiceFailure(hotwordDetectionServiceFailure); } catch (RemoteException e) { - Slog.w(TAG, "Failed to report onError status: " + e); - if (getDetectorType() != HotwordDetector.DETECTOR_TYPE_VISUAL_QUERY_DETECTOR) { - HotwordMetricsLogger.writeDetectorEvent(getDetectorType(), - HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION, - mVoiceInteractionServiceUid); - } - notifyOnDetectorRemoteException(); + Slog.w(TAG, "Failed to call onHotwordDetectionServiceFailure: " + e); + reportErrorGetRemoteException(); + } + } + + void reportErrorLocked( + @NonNull VisualQueryDetectionServiceFailure visualQueryDetectionServiceFailure) { + try { + mCallback.onVisualQueryDetectionServiceFailure(visualQueryDetectionServiceFailure); + } catch (RemoteException e) { + Slog.w(TAG, "Failed to call onVisualQueryDetectionServiceFailure: " + e); + reportErrorGetRemoteException(); + } + } + + void reportErrorLocked(@NonNull String errorMessage) { + try { + mCallback.onUnknownFailure(errorMessage); + } catch (RemoteException e) { + Slog.w(TAG, "Failed to call onUnknownFailure: " + e); + reportErrorGetRemoteException(); } } diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java index f9b5111f5348..9a4fbdc4516a 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java @@ -16,6 +16,10 @@ package com.android.server.voiceinteraction; +import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_DETECT_TIMEOUT; +import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION; +import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE; + import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_DETECTED_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_PROCESS_RESTARTED_EXCEPTION; @@ -135,9 +139,10 @@ final class DspTrustedHotwordDetectorSession extends DetectorSession { METRICS_KEYPHRASE_TRIGGERED_DETECT_SECURITY_EXCEPTION, mVoiceInteractionServiceUid); try { - externalCallback.onDetectionFailure(new HotwordDetectionServiceFailure( - CALLBACK_ONDETECTED_GOT_SECURITY_EXCEPTION, - "Security exception occurs in #onDetected method.")); + externalCallback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure( + ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION, + "Security exception occurs in #onDetected method.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); HotwordMetricsLogger.writeDetectorEvent( @@ -155,9 +160,10 @@ final class DspTrustedHotwordDetectorSession extends DetectorSession { } catch (IOException e) { try { Slog.w(TAG, "Ignoring #onDetected due to a IOException", e); - externalCallback.onDetectionFailure(new HotwordDetectionServiceFailure( - CALLBACK_ONDETECTED_STREAM_COPY_ERROR, - "Copy audio stream failure.")); + externalCallback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure( + ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE, + "Copy audio stream failure.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); throw e1; @@ -242,8 +248,8 @@ final class DspTrustedHotwordDetectorSession extends DetectorSession { HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECT_TIMEOUT, mVoiceInteractionServiceUid); try { - externalCallback.onDetectionFailure( - new HotwordDetectionServiceFailure(CALLBACK_DETECT_TIMEOUT, + externalCallback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure(ERROR_CODE_DETECT_TIMEOUT, "Timeout to response to the detection result.")); } catch (RemoteException e) { Slog.w(TAG, "Failed to report onError status: ", e); diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java index 4fd5979b3d9f..3eabea67e890 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/HotwordDetectionConnection.java @@ -56,7 +56,6 @@ import android.service.voice.HotwordDetector; import android.service.voice.IMicrophoneHotwordDetectionVoiceInteractionCallback; import android.service.voice.ISandboxedDetectionService; import android.service.voice.IVisualQueryDetectionVoiceInteractionCallback; -import android.service.voice.UnknownFailure; import android.service.voice.VisualQueryDetectionService; import android.service.voice.VisualQueryDetectionServiceFailure; import android.service.voice.VoiceInteractionManagerInternal.HotwordDetectionServiceIdentity; @@ -786,8 +785,8 @@ final class HotwordDetectionConnection { VisualQueryDetectionServiceFailure.ERROR_CODE_BINDING_DIED, "Detection service is dead.")); } else { - detectorSession.reportErrorLocked(new UnknownFailure( - "Detection service is dead with unknown detection service type.")); + detectorSession.reportErrorLocked( + "Detection service is dead with unknown detection service type."); } } @@ -804,8 +803,8 @@ final class HotwordDetectionConnection { VisualQueryDetectionServiceFailure.ERROR_CODE_BIND_FAILURE, "Bind detection service failure.")); } else { - detectorSession.reportErrorLocked(new UnknownFailure( - "Bind detection service failure with unknown detection service type.")); + detectorSession.reportErrorLocked( + "Bind detection service failure with unknown detection service type."); } } } diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java index 367fb8166b00..f06c99729a19 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java @@ -17,6 +17,8 @@ package com.android.server.voiceinteraction; import static android.service.voice.HotwordDetectionService.AUDIO_SOURCE_MICROPHONE; +import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION; +import static android.service.voice.HotwordDetectionServiceFailure.ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_DETECTED_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION; @@ -128,9 +130,10 @@ final class SoftwareTrustedHotwordDetectorSession extends DetectorSession { METRICS_KEYPHRASE_TRIGGERED_DETECT_SECURITY_EXCEPTION, mVoiceInteractionServiceUid); try { - mSoftwareCallback.onError(new HotwordDetectionServiceFailure( - CALLBACK_ONDETECTED_GOT_SECURITY_EXCEPTION, - "Security exception occurs in #onDetected method.")); + mSoftwareCallback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure( + ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION, + "Security exception occurs in #onDetected method.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); HotwordMetricsLogger.writeDetectorEvent( @@ -149,9 +152,10 @@ final class SoftwareTrustedHotwordDetectorSession extends DetectorSession { Slog.w(TAG, "Ignoring #onDetected due to a IOException", e); // TODO: Write event try { - mSoftwareCallback.onError(new HotwordDetectionServiceFailure( - CALLBACK_ONDETECTED_STREAM_COPY_ERROR, - "Copy audio stream failure.")); + mSoftwareCallback.onHotwordDetectionServiceFailure( + new HotwordDetectionServiceFailure( + ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE, + "Copy audio stream failure.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); HotwordMetricsLogger.writeDetectorEvent( diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java index afe5dab0b78b..aadb38da5469 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VisualQueryDetectorSession.java @@ -110,11 +110,12 @@ final class VisualQueryDetectorSession extends DetectorSession { } catch (RemoteException e) { Slog.e(TAG, "Error delivering attention gained event.", e); try { - callback.onDetectionFailure(new VisualQueryDetectionServiceFailure( - ERROR_CODE_ILLEGAL_ATTENTION_STATE, - "Attention listener failed to switch to GAINED state.")); + callback.onVisualQueryDetectionServiceFailure( + new VisualQueryDetectionServiceFailure( + ERROR_CODE_ILLEGAL_ATTENTION_STATE, + "Attention listener failed to switch to GAINED state.")); } catch (RemoteException ex) { - Slog.v(TAG, "Fail to call onDetectionFailure"); + Slog.v(TAG, "Fail to call onVisualQueryDetectionServiceFailure"); } return; } @@ -132,11 +133,12 @@ final class VisualQueryDetectorSession extends DetectorSession { } catch (RemoteException e) { Slog.e(TAG, "Error delivering attention lost event.", e); try { - callback.onDetectionFailure(new VisualQueryDetectionServiceFailure( - ERROR_CODE_ILLEGAL_ATTENTION_STATE, - "Attention listener failed to switch to LOST state.")); + callback.onVisualQueryDetectionServiceFailure( + new VisualQueryDetectionServiceFailure( + ERROR_CODE_ILLEGAL_ATTENTION_STATE, + "Attention listener failed to switch to LOST state.")); } catch (RemoteException ex) { - Slog.v(TAG, "Fail to call onDetectionFailure"); + Slog.v(TAG, "Fail to call onVisualQueryDetectionServiceFailure"); } return; } @@ -148,9 +150,10 @@ final class VisualQueryDetectorSession extends DetectorSession { Slog.v(TAG, "BinderCallback#onQueryDetected"); if (!mEgressingData) { Slog.v(TAG, "Query should not be egressed within the unattention state."); - callback.onDetectionFailure(new VisualQueryDetectionServiceFailure( - ERROR_CODE_ILLEGAL_STREAMING_STATE, - "Cannot stream queries without attention signals.")); + callback.onVisualQueryDetectionServiceFailure( + new VisualQueryDetectionServiceFailure( + ERROR_CODE_ILLEGAL_STREAMING_STATE, + "Cannot stream queries without attention signals.")); return; } mQueryStreaming = true; @@ -164,9 +167,10 @@ final class VisualQueryDetectorSession extends DetectorSession { if (!mQueryStreaming) { Slog.v(TAG, "Query streaming state signal FINISHED is block since there is" + " no active query being streamed."); - callback.onDetectionFailure(new VisualQueryDetectionServiceFailure( - ERROR_CODE_ILLEGAL_STREAMING_STATE, - "Cannot send FINISHED signal with no query streamed.")); + callback.onVisualQueryDetectionServiceFailure( + new VisualQueryDetectionServiceFailure( + ERROR_CODE_ILLEGAL_STREAMING_STATE, + "Cannot send FINISHED signal with no query streamed.")); return; } callback.onQueryFinished(); @@ -179,9 +183,10 @@ final class VisualQueryDetectorSession extends DetectorSession { if (!mQueryStreaming) { Slog.v(TAG, "Query streaming state signal REJECTED is block since there is" + " no active query being streamed."); - callback.onDetectionFailure(new VisualQueryDetectionServiceFailure( - ERROR_CODE_ILLEGAL_STREAMING_STATE, - "Cannot send REJECTED signal with no query streamed.")); + callback.onVisualQueryDetectionServiceFailure( + new VisualQueryDetectionServiceFailure( + ERROR_CODE_ILLEGAL_STREAMING_STATE, + "Cannot send REJECTED signal with no query streamed.")); return; } callback.onQueryRejected(); diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 7aa1334fd1c3..ba4a54e508ef 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -4444,6 +4444,22 @@ public class CarrierConfigManager { "min_udp_port_4500_nat_timeout_sec_int"; /** + * The preferred IKE protocol for ESP packets. + * + * This will be used by Android platform VPNs to select preferred encapsulation type and IP + * protocol type. The possible customization values are: + * + * AUTO IP VERSION and ENCAPSULATION TYPE SELECTION : "0" + * IPv4 UDP : "40" + * IPv6 ESP : "61" + * + * See the {@code PREFERRED_IKE_PROTOCOL_} constants in + * {@link com.android.server.connectivity.Vpn}. + * @hide + */ + public static final String KEY_PREFERRED_IKE_PROTOCOL_INT = "preferred_ike_protocol_int"; + + /** * Specifies whether the system should prefix the EAP method to the anonymous identity. * The following prefix will be added if this key is set to TRUE: * EAP-AKA: "0" @@ -10176,6 +10192,7 @@ public class CarrierConfigManager { sDefaults.putInt(KEY_PARAMETERS_USED_FOR_LTE_SIGNAL_BAR_INT, CellSignalStrengthLte.USE_RSRP); sDefaults.putInt(KEY_MIN_UDP_PORT_4500_NAT_TIMEOUT_SEC_INT, 300); + sDefaults.putInt(KEY_PREFERRED_IKE_PROTOCOL_INT, 0); // Default wifi configurations. sDefaults.putAll(Wifi.getDefaults()); sDefaults.putBoolean(ENABLE_EAP_METHOD_PREFIX_BOOL, false); diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index 39d7cc141837..9b7f24485e9d 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -3511,7 +3511,15 @@ public class TelephonyManager { public static final String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE"; /** - * @return true if a ICC card is present + * This API is used to check if there is an ICC card present in the device. + * + * An ICC card is a smart card that contains a subscriber identity module (SIM) and is used + * to identify and authenticate users to a mobile network. + * + * Note: In case of embedded SIM there is an ICC card always present irrespective + * of whether an active SIM profile is present or not so this API would always return true. + * + * @return true if a ICC card is present. */ @RequiresFeature(PackageManager.FEATURE_TELEPHONY_SUBSCRIPTION) public boolean hasIccCard() { diff --git a/telephony/java/android/telephony/satellite/PointingInfo.java b/telephony/java/android/telephony/satellite/PointingInfo.java index 7c79447399b2..e8a8576daf58 100644 --- a/telephony/java/android/telephony/satellite/PointingInfo.java +++ b/telephony/java/android/telephony/satellite/PointingInfo.java @@ -17,6 +17,7 @@ package android.telephony.satellite; import android.annotation.NonNull; +import android.compat.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -33,6 +34,7 @@ public final class PointingInfo implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public PointingInfo(float satelliteAzimuthDegrees, float satelliteElevationDegrees) { mSatelliteAzimuthDegrees = satelliteAzimuthDegrees; mSatelliteElevationDegrees = satelliteElevationDegrees; diff --git a/telephony/java/android/telephony/satellite/SatelliteCapabilities.java b/telephony/java/android/telephony/satellite/SatelliteCapabilities.java index df80159780ec..87c8db317195 100644 --- a/telephony/java/android/telephony/satellite/SatelliteCapabilities.java +++ b/telephony/java/android/telephony/satellite/SatelliteCapabilities.java @@ -17,6 +17,7 @@ package android.telephony.satellite; import android.annotation.NonNull; +import android.compat.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -45,6 +46,7 @@ public final class SatelliteCapabilities implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public SatelliteCapabilities(Set<Integer> supportedRadioTechnologies, boolean isPointingRequired, int maxBytesPerOutgoingDatagram) { mSupportedRadioTechnologies = supportedRadioTechnologies == null diff --git a/telephony/java/android/telephony/satellite/SatelliteDatagram.java b/telephony/java/android/telephony/satellite/SatelliteDatagram.java index d3cb8a07e4ba..44f56f3d315c 100644 --- a/telephony/java/android/telephony/satellite/SatelliteDatagram.java +++ b/telephony/java/android/telephony/satellite/SatelliteDatagram.java @@ -17,6 +17,7 @@ package android.telephony.satellite; import android.annotation.NonNull; +import android.compat.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; @@ -32,6 +33,7 @@ public final class SatelliteDatagram implements Parcelable { /** * @hide */ + @UnsupportedAppUsage public SatelliteDatagram(@NonNull byte[] data) { mData = data; } diff --git a/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java b/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java index f237ada9d1e0..d8a6fafcdd2f 100644 --- a/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java +++ b/telephony/java/android/telephony/satellite/SatelliteDatagramCallback.java @@ -17,6 +17,7 @@ package android.telephony.satellite; import android.annotation.NonNull; +import android.compat.annotation.UnsupportedAppUsage; import com.android.internal.telephony.ILongConsumer; @@ -36,6 +37,7 @@ public interface SatelliteDatagramCallback { * datagramId to Telephony. If the callback is not received within five minutes, * Telephony will resend the datagram. */ + @UnsupportedAppUsage void onSatelliteDatagramReceived(long datagramId, @NonNull SatelliteDatagram datagram, int pendingCount, @NonNull ILongConsumer callback); } diff --git a/telephony/java/android/telephony/satellite/SatelliteManager.java b/telephony/java/android/telephony/satellite/SatelliteManager.java index e32566dc470f..7d82fd8d6d69 100644 --- a/telephony/java/android/telephony/satellite/SatelliteManager.java +++ b/telephony/java/android/telephony/satellite/SatelliteManager.java @@ -23,6 +23,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresFeature; import android.annotation.RequiresPermission; +import android.compat.annotation.UnsupportedAppUsage; import android.content.Context; import android.content.pm.PackageManager; import android.os.Binder; @@ -82,6 +83,7 @@ public class SatelliteManager { * @param context The context the SatelliteManager belongs to. * @hide */ + @UnsupportedAppUsage public SatelliteManager(@Nullable Context context) { this(context, SubscriptionManager.DEFAULT_SUBSCRIPTION_ID); } @@ -127,6 +129,7 @@ public class SatelliteManager { * {@link #requestIsSatelliteEnabled(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_SATELLITE_ENABLED = "satellite_enabled"; /** @@ -134,6 +137,7 @@ public class SatelliteManager { * {@link #requestIsDemoModeEnabled(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_DEMO_MODE_ENABLED = "demo_mode_enabled"; /** @@ -141,6 +145,7 @@ public class SatelliteManager { * {@link #requestIsSatelliteSupported(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_SATELLITE_SUPPORTED = "satellite_supported"; /** @@ -148,6 +153,7 @@ public class SatelliteManager { * {@link #requestSatelliteCapabilities(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_SATELLITE_CAPABILITIES = "satellite_capabilities"; /** @@ -155,6 +161,7 @@ public class SatelliteManager { * {@link #requestIsSatelliteProvisioned(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_SATELLITE_PROVISIONED = "satellite_provisioned"; /** @@ -162,6 +169,7 @@ public class SatelliteManager { * {@link #requestIsSatelliteCommunicationAllowedForCurrentLocation(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_SATELLITE_COMMUNICATION_ALLOWED = "satellite_communication_allowed"; @@ -170,6 +178,7 @@ public class SatelliteManager { * {@link #requestTimeForNextSatelliteVisibility(Executor, OutcomeReceiver)}. * @hide */ + @UnsupportedAppUsage public static final String KEY_SATELLITE_NEXT_VISIBILITY = "satellite_next_visibility"; /** @@ -340,6 +349,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestSatelliteEnabled(boolean enableSatellite, boolean enableDemoMode, @NonNull @CallbackExecutor Executor executor, @SatelliteError @NonNull Consumer<Integer> resultListener) { @@ -382,6 +392,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestIsSatelliteEnabled(@NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) { Objects.requireNonNull(executor); @@ -436,6 +447,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestIsDemoModeEnabled(@NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) { Objects.requireNonNull(executor); @@ -488,6 +500,7 @@ public class SatelliteManager { * * @throws IllegalStateException if the Telephony process is not currently available. */ + @UnsupportedAppUsage public void requestIsSatelliteSupported(@NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) { Objects.requireNonNull(executor); @@ -541,6 +554,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestSatelliteCapabilities(@NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<SatelliteCapabilities, SatelliteException> callback) { Objects.requireNonNull(executor); @@ -707,6 +721,7 @@ public class SatelliteManager { */ public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; + /** @hide */ @IntDef(prefix = "DATAGRAM_TYPE_", value = { DATAGRAM_TYPE_UNKNOWN, DATAGRAM_TYPE_SOS_MESSAGE, @@ -732,6 +747,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void startSatelliteTransmissionUpdates(@NonNull @CallbackExecutor Executor executor, @SatelliteError @NonNull Consumer<Integer> resultListener, @NonNull SatelliteTransmissionUpdateCallback callback) { @@ -801,6 +817,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void stopSatelliteTransmissionUpdates( @NonNull SatelliteTransmissionUpdateCallback callback, @NonNull @CallbackExecutor Executor executor, @@ -856,6 +873,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void provisionSatelliteService(@NonNull String token, @NonNull String regionId, @Nullable CancellationSignal cancellationSignal, @NonNull @CallbackExecutor Executor executor, @@ -895,7 +913,7 @@ public class SatelliteManager { * {@link SatelliteProvisionStateCallback#onSatelliteProvisionStateChanged(boolean)} * should report as deprovisioned. * For provisioning satellite service, refer to - * {@link #provisionSatelliteService(String, CancellationSignal, Executor, Consumer)}. + * {@link #provisionSatelliteService(String, String, CancellationSignal, Executor, Consumer)} * * @param token The token of the device/subscription to be deprovisioned. * @param resultListener Listener for the {@link SatelliteError} result of the operation. @@ -904,6 +922,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void deprovisionSatelliteService(@NonNull String token, @NonNull @CallbackExecutor Executor executor, @SatelliteError @NonNull Consumer<Integer> resultListener) { @@ -943,6 +962,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage @SatelliteError public int registerForSatelliteProvisionStateChanged( @NonNull @CallbackExecutor Executor executor, @NonNull SatelliteProvisionStateCallback callback) { @@ -985,6 +1005,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void unregisterForSatelliteProvisionStateChanged( @NonNull SatelliteProvisionStateCallback callback) { Objects.requireNonNull(callback); @@ -1023,6 +1044,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestIsSatelliteProvisioned(@NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) { Objects.requireNonNull(executor); @@ -1074,6 +1096,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage @SatelliteError public int registerForSatelliteModemStateChanged( @NonNull @CallbackExecutor Executor executor, @NonNull SatelliteStateCallback callback) { @@ -1113,6 +1136,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void unregisterForSatelliteModemStateChanged(@NonNull SatelliteStateCallback callback) { Objects.requireNonNull(callback); ISatelliteStateCallback internalCallback = sSatelliteStateCallbackMap.remove(callback); @@ -1147,6 +1171,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage @SatelliteError public int registerForSatelliteDatagram( @NonNull @CallbackExecutor Executor executor, @NonNull SatelliteDatagramCallback callback) { @@ -1190,6 +1215,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void unregisterForSatelliteDatagram(@NonNull SatelliteDatagramCallback callback) { Objects.requireNonNull(callback); ISatelliteDatagramCallback internalCallback = @@ -1227,6 +1253,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void pollPendingSatelliteDatagrams(@NonNull @CallbackExecutor Executor executor, @SatelliteError @NonNull Consumer<Integer> resultListener) { Objects.requireNonNull(executor); @@ -1279,6 +1306,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void sendSatelliteDatagram(@DatagramType int datagramType, @NonNull SatelliteDatagram datagram, boolean needFullScreenPointingUI, @NonNull @CallbackExecutor Executor executor, @@ -1324,6 +1352,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestIsSatelliteCommunicationAllowedForCurrentLocation( @NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<Boolean, SatelliteException> callback) { @@ -1381,6 +1410,7 @@ public class SatelliteManager { * @throws IllegalStateException if the Telephony process is not currently available. */ @RequiresPermission(Manifest.permission.SATELLITE_COMMUNICATION) + @UnsupportedAppUsage public void requestTimeForNextSatelliteVisibility(@NonNull @CallbackExecutor Executor executor, @NonNull OutcomeReceiver<Duration, SatelliteException> callback) { Objects.requireNonNull(executor); diff --git a/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java b/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java index a62eb8b8a5fb..20875af94f5a 100644 --- a/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java +++ b/telephony/java/android/telephony/satellite/SatelliteProvisionStateCallback.java @@ -16,6 +16,8 @@ package android.telephony.satellite; +import android.compat.annotation.UnsupportedAppUsage; + /** * A callback class for monitoring satellite provision state change events. * @@ -28,5 +30,6 @@ public interface SatelliteProvisionStateCallback { * @param provisioned The new provision state. {@code true} means satellite is provisioned * {@code false} means satellite is not provisioned. */ + @UnsupportedAppUsage void onSatelliteProvisionStateChanged(boolean provisioned); } diff --git a/telephony/java/android/telephony/satellite/SatelliteStateCallback.java b/telephony/java/android/telephony/satellite/SatelliteStateCallback.java index d9ecaa3467e3..3312e3a90281 100644 --- a/telephony/java/android/telephony/satellite/SatelliteStateCallback.java +++ b/telephony/java/android/telephony/satellite/SatelliteStateCallback.java @@ -16,6 +16,8 @@ package android.telephony.satellite; +import android.compat.annotation.UnsupportedAppUsage; + /** * A callback class for monitoring satellite modem state change events. * @@ -26,5 +28,6 @@ public interface SatelliteStateCallback { * Called when satellite modem state changes. * @param state The new satellite modem state. */ + @UnsupportedAppUsage void onSatelliteModemStateChanged(@SatelliteManager.SatelliteModemState int state); } diff --git a/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java b/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java index d4fe57a0be2e..17fff4480679 100644 --- a/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java +++ b/telephony/java/android/telephony/satellite/SatelliteTransmissionUpdateCallback.java @@ -17,6 +17,7 @@ package android.telephony.satellite; import android.annotation.NonNull; +import android.compat.annotation.UnsupportedAppUsage; /** * A callback class for monitoring satellite position update and datagram transfer state change @@ -30,6 +31,7 @@ public interface SatelliteTransmissionUpdateCallback { * * @param pointingInfo The pointing info containing the satellite location. */ + @UnsupportedAppUsage void onSatellitePositionChanged(@NonNull PointingInfo pointingInfo); /** @@ -39,6 +41,7 @@ public interface SatelliteTransmissionUpdateCallback { * @param sendPendingCount The number of datagrams that are currently being sent. * @param errorCode If datagram transfer failed, the reason for failure. */ + @UnsupportedAppUsage void onSendDatagramStateChanged( @SatelliteManager.SatelliteDatagramTransferState int state, int sendPendingCount, @SatelliteManager.SatelliteError int errorCode); @@ -50,6 +53,7 @@ public interface SatelliteTransmissionUpdateCallback { * @param receivePendingCount The number of datagrams that are currently pending to be received. * @param errorCode If datagram transfer failed, the reason for failure. */ + @UnsupportedAppUsage void onReceiveDatagramStateChanged( @SatelliteManager.SatelliteDatagramTransferState int state, int receivePendingCount, @SatelliteManager.SatelliteError int errorCode); diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt index 5dc2dd7d93a8..47b2cda62f51 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTest.kt @@ -17,7 +17,6 @@ package com.android.server.wm.flicker.close import android.platform.test.annotations.FlakyTest -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest @@ -40,20 +39,27 @@ import org.junit.runners.Parameterized * Launch an app [testApp] and wait animation to complete * Press back button * ``` + * * To run only the presubmit assertions add: `-- + * * ``` * --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest * --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Presubmit` * ``` + * * To run only the postsubmit assertions add: `-- + * * ``` * --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest * --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Postsubmit` * ``` + * * To run only the flaky assertions add: `-- + * * ``` * --module-arg FlickerTests:include-annotation:androidx.test.filters.FlakyTest` * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) @@ -65,7 +71,6 @@ import org.junit.runners.Parameterized * ``` */ @RequiresDevice -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTestCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTestCfArm.kt index 9fa840190fbf..70eedd93e1ba 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTestCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppBackButtonTestCfArm.kt @@ -16,7 +16,6 @@ package com.android.server.wm.flicker.close -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -25,7 +24,6 @@ import org.junit.runner.RunWith import org.junit.runners.MethodSorters import org.junit.runners.Parameterized -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt index b042a14b30da..d8abb4e8b343 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTest.kt @@ -17,7 +17,6 @@ package com.android.server.wm.flicker.close import android.platform.test.annotations.FlakyTest -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest @@ -40,20 +39,27 @@ import org.junit.runners.Parameterized * Launch an app [testApp] and wait animation to complete * Press home button * ``` + * * To run only the presubmit assertions add: `-- + * * ``` * --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest * --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Presubmit` * ``` + * * To run only the postsubmit assertions add: `-- + * * ``` * --module-arg FlickerTests:exclude-annotation:androidx.test.filters.FlakyTest * --module-arg FlickerTests:include-annotation:android.platform.test.annotations.Postsubmit` * ``` + * * To run only the flaky assertions add: `-- + * * ``` * --module-arg FlickerTests:include-annotation:androidx.test.filters.FlakyTest` * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) @@ -65,7 +71,6 @@ import org.junit.runners.Parameterized * ``` */ @RequiresDevice -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTestCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTestCfArm.kt index 136995a78fd7..c74f54be61c9 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTestCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/close/CloseAppHomeButtonTestCfArm.kt @@ -16,7 +16,6 @@ package com.android.server.wm.flicker.close -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -25,7 +24,6 @@ import org.junit.runner.RunWith import org.junit.runners.MethodSorters import org.junit.runners.Parameterized -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppAfterCameraTestCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppAfterCameraTestCfArm.kt index 3289bc601160..ac05c7687311 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppAfterCameraTestCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppAfterCameraTestCfArm.kt @@ -41,4 +41,4 @@ class OpenAppAfterCameraTestCfArm(flicker: FlickerTest) : OpenAppAfterCameraTest return FlickerTestFactory.nonRotationTests() } } -}
\ No newline at end of file +} diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdFromIconCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdFromIconCfArm.kt index ccbe74f04a70..09c17b17a3c5 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdFromIconCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdFromIconCfArm.kt @@ -18,7 +18,6 @@ package com.android.server.wm.flicker.launch import android.platform.test.annotations.FlakyTest import android.tools.common.NavBar -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -29,7 +28,6 @@ import org.junit.runners.MethodSorters import org.junit.runners.Parameterized /** Some assertions will fail because of b/264415996 */ -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt index d0dc42f29b9e..5cacb04e4b16 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTest.kt @@ -18,14 +18,13 @@ package com.android.server.wm.flicker.launch import android.platform.test.annotations.Postsubmit import android.platform.test.annotations.Presubmit -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory +import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome import androidx.test.filters.RequiresDevice import com.android.server.wm.flicker.helpers.setRotation -import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule.Companion.removeAllTasksButHome import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith @@ -42,6 +41,7 @@ import org.junit.runners.Parameterized * Make sure no apps are running on the device * Launch an app [testApp] and wait animation to complete * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) @@ -53,7 +53,6 @@ import org.junit.runners.Parameterized * ``` */ @RequiresDevice -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTestCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTestCfArm.kt index f75d9eede25b..f77f96874fb9 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTestCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppColdTestCfArm.kt @@ -17,7 +17,6 @@ package com.android.server.wm.flicker.launch import android.platform.test.annotations.FlakyTest -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -27,7 +26,6 @@ import org.junit.runner.RunWith import org.junit.runners.MethodSorters import org.junit.runners.Parameterized -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) @@ -49,4 +47,4 @@ class OpenAppColdTestCfArm(flicker: FlickerTest) : OpenAppColdTest(flicker) { return FlickerTestFactory.nonRotationTests() } } -}
\ No newline at end of file +} diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationColdCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationColdCfArm.kt index 4aa78d4482fb..8b4a613305c0 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationColdCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationColdCfArm.kt @@ -44,4 +44,4 @@ class OpenAppFromNotificationColdCfArm(flicker: FlickerTest) : return FlickerTestFactory.nonRotationTests() } } -}
\ No newline at end of file +} diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationWarmCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationWarmCfArm.kt new file mode 100644 index 000000000000..d90b3ca75636 --- /dev/null +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromNotificationWarmCfArm.kt @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2023 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.wm.flicker.launch + +import android.tools.device.flicker.junit.FlickerParametersRunnerFactory +import android.tools.device.flicker.legacy.FlickerTest +import android.tools.device.flicker.legacy.FlickerTestFactory +import org.junit.FixMethodOrder +import org.junit.runner.RunWith +import org.junit.runners.MethodSorters +import org.junit.runners.Parameterized + +@RunWith(Parameterized::class) +@Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +class OpenAppFromNotificationWarmCfArm(flicker: FlickerTest) : + OpenAppFromNotificationWarm(flicker) { + companion object { + /** + * Creates the test configurations. + * + * See [FlickerTestFactory.nonRotationTests] for configuring screen orientation and + * navigation modes. + */ + @Parameterized.Parameters(name = "{0}") + @JvmStatic + fun getParams(): Collection<FlickerTest> { + return FlickerTestFactory.nonRotationTests() + } + } +}
\ No newline at end of file diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt index 00d7544f7217..66e0f0657064 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTest.kt @@ -19,7 +19,6 @@ package com.android.server.wm.flicker.launch import android.platform.test.annotations.FlakyTest import android.platform.test.annotations.Presubmit import android.tools.common.Rotation -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest @@ -44,6 +43,7 @@ import org.junit.runners.Parameterized * Relaunch an app [testApp] by selecting it in the overview screen, and wait animation to * complete (only this action is traced) * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) @@ -55,7 +55,6 @@ import org.junit.runners.Parameterized * ``` */ @RequiresDevice -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTestCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTestCfArm.kt index ff24190a7aef..8139e1f5f507 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTestCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppFromOverviewTestCfArm.kt @@ -16,7 +16,6 @@ package com.android.server.wm.flicker.launch -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -26,7 +25,6 @@ import org.junit.runners.MethodSorters import org.junit.runners.Parameterized /** Some assertions will fail because of b/264415996 */ -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt index 9ab61566e13f..14df84e26ac4 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppNonResizeableTest.kt @@ -22,7 +22,6 @@ import android.platform.test.annotations.Presubmit import android.tools.common.NavBar import android.tools.common.Rotation import android.tools.common.datatypes.component.ComponentNameMatcher -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -48,6 +47,7 @@ import org.junit.runners.Parameterized * Lock the device. * Launch an app on top of the lock screen [testApp] and wait animation to complete * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) @@ -59,7 +59,6 @@ import org.junit.runners.Parameterized * ``` */ @RequiresDevice -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt index cdd2d45769bb..cfc8e4672ddf 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTest.kt @@ -18,7 +18,6 @@ package com.android.server.wm.flicker.launch import android.platform.test.annotations.FlakyTest import android.platform.test.annotations.Presubmit -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest @@ -42,6 +41,7 @@ import org.junit.runners.Parameterized * Press home * Relaunch an app [testApp] and wait animation to complete (only this action is traced) * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) @@ -53,7 +53,6 @@ import org.junit.runners.Parameterized * ``` */ @RequiresDevice -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTestCfArm.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTestCfArm.kt index 9679059e5069..b47c9319aced 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTestCfArm.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenAppWarmTestCfArm.kt @@ -16,7 +16,6 @@ package com.android.server.wm.flicker.launch -import android.tools.device.flicker.annotation.FlickerServiceCompatible import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory @@ -25,7 +24,6 @@ import org.junit.runner.RunWith import org.junit.runners.MethodSorters import org.junit.runners.Parameterized -@FlickerServiceCompatible @RunWith(Parameterized::class) @Parameterized.UseParametersRunnerFactory(FlickerParametersRunnerFactory::class) @FixMethodOrder(MethodSorters.NAME_ASCENDING) @@ -43,4 +41,4 @@ class OpenAppWarmTestCfArm(flicker: FlickerTest) : OpenAppWarmTest(flicker) { return FlickerTestFactory.nonRotationTests() } } -}
\ No newline at end of file +} diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenCameraOnDoubleClickPowerButton.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenCameraOnDoubleClickPowerButton.kt index 786bb32096ad..e876e5777145 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenCameraOnDoubleClickPowerButton.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OpenCameraOnDoubleClickPowerButton.kt @@ -24,10 +24,10 @@ import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory +import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule import android.view.KeyEvent import androidx.test.filters.RequiresDevice import com.android.server.wm.flicker.helpers.setRotation -import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith @@ -44,6 +44,7 @@ import org.junit.runners.Parameterized * Make sure no apps are running on the device * Launch an app [testApp] and wait animation to complete * ``` + * * Notes: * ``` * 1. Some default assertions (e.g., nav bar, status bar and screen covered) diff --git a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OverrideTaskTransitionTest.kt b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OverrideTaskTransitionTest.kt index b848e63c9c87..6cbb975b34a9 100644 --- a/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OverrideTaskTransitionTest.kt +++ b/tests/FlickerTests/src/com/android/server/wm/flicker/launch/OverrideTaskTransitionTest.kt @@ -27,13 +27,13 @@ import android.tools.device.flicker.junit.FlickerParametersRunnerFactory import android.tools.device.flicker.legacy.FlickerBuilder import android.tools.device.flicker.legacy.FlickerTest import android.tools.device.flicker.legacy.FlickerTestFactory +import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule +import android.tools.device.helpers.wakeUpAndGoToHomeScreen import androidx.test.filters.RequiresDevice import androidx.test.platform.app.InstrumentationRegistry import com.android.server.wm.flicker.R -import com.android.server.wm.flicker.helpers.setRotation -import android.tools.device.flicker.rules.RemoveAllTasksButHomeRule -import android.tools.device.helpers.wakeUpAndGoToHomeScreen import com.android.server.wm.flicker.helpers.SimpleAppHelper +import com.android.server.wm.flicker.helpers.setRotation import org.junit.FixMethodOrder import org.junit.Test import org.junit.runner.RunWith diff --git a/wifi/TEST_MAPPING b/wifi/TEST_MAPPING index 94e4f4d6bf13..14f5af3fd6bc 100644 --- a/wifi/TEST_MAPPING +++ b/wifi/TEST_MAPPING @@ -3,5 +3,15 @@ { "name": "FrameworksWifiNonUpdatableApiTests" } + ], + "presubmit-large": [ + { + "name": "CtsWifiTestCases", + "options": [ + { + "exclude-annotation": "android.net.wifi.cts.VirtualDeviceNotSupported" + } + ] + } ] } |