From 5d35355fd18a0222c4a449ad022fcee6e471e6f4 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Fri, 14 May 2021 17:43:03 +0100 Subject: [PATCH 001/905] Use fixed width in overveiw grid - Removed thumbnail ratio logic in TaskView, getVisibleThumbnailRatio will be clean up separately - Removed quickswitch clipping and scaling, so overview and quickswitch looks identical. mClippedInsets will be clean up separately - Put focused task in center of screen - Refacotred CLearAllButton spacing Bug: 187839470 Test: Manual Change-Id: I2a7df1ac02acd5379af33f5b0e9abba0fab8e8d2 --- quickstep/res/values/dimens.xml | 6 +- .../quickstep/BaseActivityInterface.java | 16 +++--- .../android/quickstep/views/RecentsView.java | 56 +++---------------- .../quickstep/views/TaskThumbnailView.java | 12 ++-- .../com/android/quickstep/views/TaskView.java | 29 +++------- 5 files changed, 35 insertions(+), 84 deletions(-) diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml index 420c145fb3..72a37fcbf4 100644 --- a/quickstep/res/values/dimens.xml +++ b/quickstep/res/values/dimens.xml @@ -16,7 +16,7 @@ 48dp - 32dp + 40dp 2dp @@ -35,10 +35,10 @@ 16dp 77dp - 90dp + 70dp 54dp 42dp - 90dp + 40dp 110dp diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java index 86bf1194bb..270a790b03 100644 --- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java +++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java @@ -197,17 +197,18 @@ public abstract class BaseActivityInterface 1) { - taskWidth = boxLength; - taskHeight = (int) (boxLength / mFocusedTaskRatio); - } else { - taskWidth = (int) (boxLength * mFocusedTaskRatio); - taskHeight = boxLength; - } - } - return new Point(taskWidth, taskHeight); + return new Point(mTempRect.width(), mTempRect.height()); } /** Gets the last computed task size */ @@ -1589,13 +1576,6 @@ public abstract class RecentsView 1) { - expectedWidth = boxLength; - expectedHeight = (int) (boxLength / thumbnailRatio) + thumbnailPadding; - } else { - expectedWidth = (int) (boxLength * thumbnailRatio); - expectedHeight = boxLength + thumbnailPadding; - } + expectedWidth = boxWidth; + expectedHeight = boxHeight + thumbnailPadding; // Scale to to fit task Rect. fullscreenScale = taskWidth / (float) boxWidth; - // In full screen, scale back TaskView to original size. - if (expectedWidth > boxWidth) { - fullscreenScale *= boxWidth / (float) expectedWidth; - } else if (expectedHeight - thumbnailPadding > boxHeight) { - fullscreenScale *= boxHeight / (float) (expectedHeight - thumbnailPadding); - } - // Align to top of task Rect. boxTranslationY = (expectedHeight - thumbnailPadding - taskHeight) / 2.0f; } else { From 59da8e5a9d47017ec1fa089439ac1dbc39da02ea Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Wed, 17 Mar 2021 13:57:02 +0000 Subject: [PATCH 002/905] Launcher feature flags for large screen - Enable TaskBar, Grid Overview and Two Panel Bug: 188409266 Test: Manual Change-Id: I55457b1ad98726cf7d7869fe96e0c4412b891d0b --- src/com/android/launcher3/config/FeatureFlags.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 0c0c92ed04..1715161ff0 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -214,14 +214,14 @@ public final class FeatureFlags { + "predictions to be updated while they are visible to the user."); public static final BooleanFlag ENABLE_TASKBAR = getDebugFlag( - "ENABLE_TASKBAR", false, "Allows a system Taskbar to be shown on larger devices."); + "ENABLE_TASKBAR", true, "Allows a system Taskbar to be shown on larger devices."); public static final BooleanFlag ENABLE_OVERVIEW_GRID = getDebugFlag( - "ENABLE_OVERVIEW_GRID", false, "Uses grid overview layout. " + "ENABLE_OVERVIEW_GRID", true, "Uses grid overview layout. " + "Only applicable on large screen devices."); public static final BooleanFlag ENABLE_TWO_PANEL_HOME = getDebugFlag( - "ENABLE_TWO_PANEL_HOME", false, + "ENABLE_TWO_PANEL_HOME", true, "Uses two panel on home screen. Only applicable on large screen devices."); public static final BooleanFlag ENABLE_SPLIT_SELECT = getDebugFlag( From 3f478263394e51c41ed68f9b64ba71731a16f4c9 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Wed, 19 May 2021 12:04:17 -0700 Subject: [PATCH 003/905] Enable SplitSelect flag by default Bug: 188195640 Change-Id: I5ea90460275aabf9d048b187c3da9f3202368ec3 --- src/com/android/launcher3/config/FeatureFlags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 1715161ff0..2ab58160be 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -225,7 +225,7 @@ public final class FeatureFlags { "Uses two panel on home screen. Only applicable on large screen devices."); public static final BooleanFlag ENABLE_SPLIT_SELECT = getDebugFlag( - "ENABLE_SPLIT_SELECT", false, "Uses new split screen selection overview UI"); + "ENABLE_SPLIT_SELECT", true, "Uses new split screen selection overview UI"); public static final BooleanFlag ENABLE_ENFORCED_ROUNDED_CORNERS = new DeviceFlag( "ENABLE_ENFORCED_ROUNDED_CORNERS", true, "Enforce rounded corners on all App Widgets"); From 7c5972eb7bb835c28765a982845e16f034a8d420 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 20 May 2021 01:53:36 +0000 Subject: [PATCH 004/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I24852ca5e8b474789031e4684f65b3f2e71959e5 --- quickstep/res/values-af/strings.xml | 1 - quickstep/res/values-am/strings.xml | 1 - quickstep/res/values-ar/strings.xml | 1 - quickstep/res/values-as/strings.xml | 31 +++++++--------------- quickstep/res/values-az/strings.xml | 1 - quickstep/res/values-b+sr+Latn/strings.xml | 1 - quickstep/res/values-be/strings.xml | 1 - quickstep/res/values-bg/strings.xml | 1 - quickstep/res/values-bn/strings.xml | 31 +++++++--------------- quickstep/res/values-bs/strings.xml | 1 - quickstep/res/values-ca/strings.xml | 1 - quickstep/res/values-cs/strings.xml | 1 - quickstep/res/values-da/strings.xml | 1 - quickstep/res/values-de/strings.xml | 1 - quickstep/res/values-el/strings.xml | 1 - quickstep/res/values-en-rAU/strings.xml | 1 - quickstep/res/values-en-rCA/strings.xml | 1 - quickstep/res/values-en-rGB/strings.xml | 1 - quickstep/res/values-en-rIN/strings.xml | 1 - quickstep/res/values-en-rXC/strings.xml | 1 - quickstep/res/values-es-rUS/strings.xml | 1 - quickstep/res/values-es/strings.xml | 1 - quickstep/res/values-et/strings.xml | 1 - quickstep/res/values-eu/strings.xml | 1 - quickstep/res/values-fa/strings.xml | 1 - quickstep/res/values-fi/strings.xml | 1 - quickstep/res/values-fr-rCA/strings.xml | 19 +++++++------ quickstep/res/values-fr/strings.xml | 1 - quickstep/res/values-gl/strings.xml | 1 - quickstep/res/values-gu/strings.xml | 31 +++++++--------------- quickstep/res/values-hi/strings.xml | 5 ++-- quickstep/res/values-hr/strings.xml | 1 - quickstep/res/values-hu/strings.xml | 1 - quickstep/res/values-hy/strings.xml | 1 - quickstep/res/values-in/strings.xml | 1 - quickstep/res/values-is/strings.xml | 1 - quickstep/res/values-it/strings.xml | 1 - quickstep/res/values-iw/strings.xml | 1 - quickstep/res/values-ja/strings.xml | 1 - quickstep/res/values-ka/strings.xml | 1 - quickstep/res/values-kk/strings.xml | 1 - quickstep/res/values-km/strings.xml | 1 - quickstep/res/values-kn/strings.xml | 31 +++++++--------------- quickstep/res/values-ko/strings.xml | 1 - quickstep/res/values-ky/strings.xml | 1 - quickstep/res/values-lo/strings.xml | 1 - quickstep/res/values-lt/strings.xml | 1 - quickstep/res/values-lv/strings.xml | 1 - quickstep/res/values-mk/strings.xml | 1 - quickstep/res/values-ml/strings.xml | 31 +++++++--------------- quickstep/res/values-mn/strings.xml | 1 - quickstep/res/values-mr/strings.xml | 31 +++++++--------------- quickstep/res/values-ms/strings.xml | 31 +++++++--------------- quickstep/res/values-my/strings.xml | 1 - quickstep/res/values-nb/strings.xml | 1 - quickstep/res/values-ne/strings.xml | 31 +++++++--------------- quickstep/res/values-nl/strings.xml | 1 - quickstep/res/values-or/strings.xml | 31 +++++++--------------- quickstep/res/values-pa/strings.xml | 31 +++++++--------------- quickstep/res/values-pl/strings.xml | 1 - quickstep/res/values-pt-rPT/strings.xml | 1 - quickstep/res/values-pt/strings.xml | 1 - quickstep/res/values-ro/strings.xml | 1 - quickstep/res/values-ru/strings.xml | 1 - quickstep/res/values-si/strings.xml | 1 - quickstep/res/values-sk/strings.xml | 1 - quickstep/res/values-sl/strings.xml | 1 - quickstep/res/values-sq/strings.xml | 13 +++------ quickstep/res/values-sr/strings.xml | 1 - quickstep/res/values-sv/strings.xml | 1 - quickstep/res/values-sw/strings.xml | 1 - quickstep/res/values-ta/strings.xml | 1 - quickstep/res/values-te/strings.xml | 31 +++++++--------------- quickstep/res/values-th/strings.xml | 1 - quickstep/res/values-tl/strings.xml | 1 - quickstep/res/values-tr/strings.xml | 1 - quickstep/res/values-uk/strings.xml | 1 - quickstep/res/values-ur/strings.xml | 31 +++++++--------------- quickstep/res/values-uz/strings.xml | 1 - quickstep/res/values-vi/strings.xml | 1 - quickstep/res/values-zh-rCN/strings.xml | 1 - quickstep/res/values-zh-rHK/strings.xml | 1 - quickstep/res/values-zh-rTW/strings.xml | 1 - quickstep/res/values-zu/strings.xml | 1 - 84 files changed, 135 insertions(+), 343 deletions(-) diff --git a/quickstep/res/values-af/strings.xml b/quickstep/res/values-af/strings.xml index 69d5d1f864..cb8d8c069c 100644 --- a/quickstep/res/values-af/strings.xml +++ b/quickstep/res/values-af/strings.xml @@ -73,7 +73,6 @@ "Swiep op van die onderkant van jou skerm af, hou en laat los dan." "Gereed" "Volgende" - "Klaar" "Instellings" "Probeer weer" "Mooi so!" diff --git a/quickstep/res/values-am/strings.xml b/quickstep/res/values-am/strings.xml index 8e3fe8af08..1c42d1f73a 100644 --- a/quickstep/res/values-am/strings.xml +++ b/quickstep/res/values-am/strings.xml @@ -73,7 +73,6 @@ "ከእርስዎ ማያ ገጽ ግርጌ ላይ ወደ ላይ በጣት ጠረግ ያድርጉ፣ ይያዙ፣ በመቀጠል ይልቀቁ።" "ሁሉም ዝግጁ" "ቀጣይ" - "ተጠናቋል" "ቅንብሮች" "እንደገና ሞክር" "ጥሩ!" diff --git a/quickstep/res/values-ar/strings.xml b/quickstep/res/values-ar/strings.xml index b716419435..c74af90abc 100644 --- a/quickstep/res/values-ar/strings.xml +++ b/quickstep/res/values-ar/strings.xml @@ -73,7 +73,6 @@ "مرِّر سريعًا من أسفل الشاشة إلى أعلاها، وأبقِ إصبعك على الشاشة قليلاً ثم ارفعه." "اكتمل التدريب على الإيماءة" "التالي" - "تم" "الإعدادات" "إعادة المحاولة" "أحسنت" diff --git a/quickstep/res/values-as/strings.xml b/quickstep/res/values-as/strings.xml index 0832b1b392..8d0be72a04 100644 --- a/quickstep/res/values-as/strings.xml +++ b/quickstep/res/values-as/strings.xml @@ -47,43 +47,32 @@ "পূৰ্বানুমান কৰা এপ্: %1$s" "আপুনি বাওঁ প্ৰান্তৰৰ একেবাৰে সীমাৰ পৰা ছোৱাইপ কৰাটো নিশ্চিত কৰক।" "আপুনি স্ক্ৰীনৰ বাওঁ প্ৰান্তৰৰ পৰা সোঁ প্ৰান্তৰৰ ফালে মধ্যভাগলৈকে ছোৱাইপ কৰি এৰি দিয়াটো নিশ্চিত কৰক।" - - - - + "সুন্দৰ! এতিয়া উভতি যাবলৈ সোঁ প্ৰান্তৰৰ পৰা ছোৱাইপ কৰক" + "আপুনি স্ক্ৰীনখনৰ সোঁ প্ৰান্তৰৰ পৰা মাজলৈ ছোৱাইপ কৰিও অন্তিম স্ক্ৰীনখনলৈ উভতি যাব পাৰে।" "আপুনি সোঁ প্ৰান্তৰৰ একেবাৰে সীমাৰ পৰা ছোৱাইপ কৰাটো নিশ্চিত কৰক।" "আপুনি স্ক্ৰীনৰ সোঁ প্ৰান্তৰৰ পৰা মধ্যভাগলৈকে ছোৱাইপ কৰি এৰি দিয়াটো নিশ্চিত কৰক।" - - - - + "আপুনি উভতি যাওক নিৰ্দেশটো সম্পূৰ্ণ কৰিলে। ইয়াৰ পাছত, এপ্‌ কেনেকৈ সলনি কৰিব সেয়া জানক।" + "আপুনি উভতি যাওক নিৰ্দেশটো সম্পূৰ্ণ কৰিলে।" "আপুনি স্ক্ৰীনৰ তলৰ অংশৰ বেছি ওচৰলৈ ছোৱাইপ নকৰাটো নিশ্চিত কৰক।" "উভতি যোৱাৰ নির্দেশটোৰ সংবেদনশীলতা সলনি কৰিবলৈ ছেটিঙলৈ যাওক" - - - - + "উভতি যাবলৈ বাওঁ প্ৰান্তৰৰ পৰা ছোৱাইপ কৰক" + "আপুনি পূৰ্বে থকা অন্তিম স্ক্ৰীনখনলৈ উভতি যাবলৈ স্ক্ৰীনখনৰ বাওঁ প্ৰান্তৰৰ পৰা মাজলৈ ছোৱাইপ কৰক।" "আপুনি স্ক্ৰীনৰ তলৰ প্ৰান্তৰ পৰা ওপৰলৈ ছোৱাইপ কৰাটো নিশ্চিত কৰক।" "আপুনি এৰি দিয়াৰ পূৰ্বে অলপো নোৰোৱাটো নিশ্চিত কৰক।" "আপুনি পোনকৈ ওপৰলৈ ছোৱাইপ কৰাটো নিশ্চিত কৰক।" - - - - + "আপুনি গৃহ স্ক্ৰীনলৈ যোৱাৰ নিৰ্দেশটো সম্পূৰ্ণ কৰিলে। ইয়াৰ পাছত, গৃহ স্ক্ৰীনলৈ কেনেকৈ যাব সেয়া জানক।" + "আপুনি গৃহ স্ক্ৰীনলৈ যোৱাৰ নিৰ্দেশটো সম্পূৰ্ণ কৰিলে।" "গৃহ স্ক্ৰীনলৈ যাবলৈ ছোৱাইপ কৰক" "আপোনাৰ স্ক্ৰীনৰ তলৰ অংশৰ পৰা ওপৰলৈ ছোৱাইপ কৰক। এই নিৰ্দেশটোৱে আপোনাক সদায় গৃহ স্ক্ৰীনলৈ লৈ যায়।" "আপুনি স্ক্ৰীনৰ তলৰ প্ৰান্তৰ পৰা ওপৰলৈ ছোৱাইপ কৰাটো নিশ্চিত কৰক।" "এৰি দিয়াৰ পূৰ্বে ৱিণ্ডখন দীৰ্ঘ সময়ৰ বাবে ধৰি ৰাখিবলৈ চেষ্টা কৰক।" "আপুনি স্ক্ৰীনৰ ওপৰলৈ পোনকৈ ছোৱাইপ কৰি তাৰ পাছত ৰোৱাটো নিশ্চিত কৰক।" - - - - + "আপুনি নিৰ্দেশসমূহ কেনেকৈ ব্যৱহাৰ কৰিব লাগে সেয়া জানিলে। নিৰ্দেশসমূহ অফ কৰিবলৈ, ছেটিঙলৈ যাওক।" + "আপুনি এপ্‌ সলনি কৰাৰ নিৰ্দেশটো সম্পূৰ্ণ কৰিলে।" "এপ্‌ সলনি কৰিবলৈ ছোৱাইপ কৰক" "আপোনাৰ স্ক্ৰীনৰ একেবাৰে তলৰ অংশৰ পৰা ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক আৰু তাৰ পাছত এৰি দিয়ক।" "সম্পূৰ্ণ সাজু" "পৰৱৰ্তী" - "হ’ল" "ছেটিং" "পুনৰ চেষ্টা কৰক" "সুন্দৰ!" diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml index 674302daaa..1dd47b78c1 100644 --- a/quickstep/res/values-az/strings.xml +++ b/quickstep/res/values-az/strings.xml @@ -73,7 +73,6 @@ "Ekranın aşağısından yuxarı doğru sürüşdürüb saxlayın, sonra buraxın." "Tam hazır" "Sonra" - "Oldu" "Ayarlar" "Yenə sınayın" "Əla!" diff --git a/quickstep/res/values-b+sr+Latn/strings.xml b/quickstep/res/values-b+sr+Latn/strings.xml index 4519deb30f..c1680f8f7d 100644 --- a/quickstep/res/values-b+sr+Latn/strings.xml +++ b/quickstep/res/values-b+sr+Latn/strings.xml @@ -73,7 +73,6 @@ "Prevucite nagore od dna ekrana, zadržite, pa pustite." "To je to" "Dalje" - "Gotovo" "Podešavanja" "Probajte ponovo" "Svaka čast!" diff --git a/quickstep/res/values-be/strings.xml b/quickstep/res/values-be/strings.xml index 20e09caccc..58ccaf95f3 100644 --- a/quickstep/res/values-be/strings.xml +++ b/quickstep/res/values-be/strings.xml @@ -73,7 +73,6 @@ "Правядзіце па экране знізу ўверх, утрымліваючы палец націснутым, потым адпусціце." "Гатова" "Далей" - "Гатова" "Налады" "Паўтарыць спробу" "Выдатна!" diff --git a/quickstep/res/values-bg/strings.xml b/quickstep/res/values-bg/strings.xml index 1e02bfc608..13923a7433 100644 --- a/quickstep/res/values-bg/strings.xml +++ b/quickstep/res/values-bg/strings.xml @@ -73,7 +73,6 @@ "Прекарайте пръст нагоре от долната част на екрана, задръжте и след това вдигнете пръста си." "Готово" "Напред" - "Готово" "Настройки" "Опитайте отново" "Чудесно!" diff --git a/quickstep/res/values-bn/strings.xml b/quickstep/res/values-bn/strings.xml index b37c56ba62..a73b9a4f9e 100644 --- a/quickstep/res/values-bn/strings.xml +++ b/quickstep/res/values-bn/strings.xml @@ -47,43 +47,32 @@ "আপনার প্রয়োজন হতে পারে এমন অ্যাপ: %1$s" "একদম বাঁ প্রান্ত থেকে সোয়াইপ করছেন কিনা ভাল করে দেখে নিন।" "আপনি বাঁ প্রান্ত থেকে স্ক্রিনের মাঝখান পর্যন্ত সোয়াইপ করছেন ও পরে আঙুল তুলে নিন। এটির খেয়াল রাখুন।" - - - - + "দুর্দান্ত! ফিরে যেতে ডানদিক থেকে সোয়াইপ করুন" + "ডান প্রান্ত থেকে স্ক্রিনের মাঝখান পর্যন্ত সোয়াইপ করে আপনি আগের ক্রিনেও ফিরে যেতে পারেন।" "একদম ডান প্রান্ত থেকে সোয়াইপ করছেন কিনা ভাল করে দেখে নিন।" "আপনি ডান প্রান্ত থেকে স্ক্রিনের মাঝখান পর্যন্ত সোয়াইপ করছেন ও পরে আঙুল তুলে নিন। এটি খেয়াল রাখুন।" - - - - + "আপনি ফিরে যাওয়ার জেসচার সম্পর্কে জেনেছেন। এরপর, একটি অ্যাপ থেকে অন্য অ্যাপে কীভাবে যাবেন জেনে নিন।" + "আপনি ফিরে যাওয়ার জেসচার সম্পর্কে জেনেছেন।" "স্ক্রিনের নিচের প্রান্তের খুব কাছে পর্যন্ত যাতে সোয়াইপ না করেন সেটি ভাল করে দেখে নিন।" "ফিরে যাওয়ার জেসচারের সেন্সিটিভিটি পরিবর্তন করতে, সেটিংসে যান" - - - - + "ফিরে যেতে আপনার স্ক্রিনের বাম প্রান্ত থেকে সোয়াইপ করুন" + "আপনার থাকা আগের স্ক্রিনে ফিরে যেতে, বাঁ প্রান্ত থেকে স্ক্রিনের মাঝখান পর্যন্ত সোয়াইপ করুন।" "স্ক্রিনের নিচের প্রান্ত থেকে আপনি সোয়াইপ করেছেন কিনা ভাল করে দেখে নিন।" "আঙুল তুলে নেওয়ার আগে আপনি যাতে পজ না করেন সেটি ভাল করে দেখে নিন।" "আপনি উপরের দিকে সোজাসুজি সোয়াইপ করেছেন কিনা ভাল করে দেখে নিন।" - - - - + "আপনি হোম স্ক্রিনে যাওয়ার জেসচার সম্পর্কে জেনেছেন। এরপর, ফিরে কীভাবে যাবেন তা জেনে নিন।" + "আপনি হোম স্ক্রিনে যাওয়ার জেসচার সম্পর্কে জেনেছেন।" "হোম স্ক্রিনে যেতে সোয়াইপ করুন" "স্ক্রিনের নিচের প্রান্ত থেকে উপরের দিকে সোয়াইপ করুন। এটি করলে, আপনি সবসময় হোম স্ক্রিনে যেতে পারবেন।" "স্ক্রিনের নিচের প্রান্ত থেকে আপনি সোয়াইপ করেছেন কিনা ভাল করে দেখে নিন।" "চেষ্টা করুন যাতে আঙুল সরিয়ে নেওয়ার আগে উইন্ডো কিছুক্ষণ প্রেস করে রাখা যায়।" "আপনি উপরের দিকে সোজাসুজি সোয়াইপ করেছেন কিনা ভাল করে দেখে নিয়ে তারপর পজ করুন।" - - - - + "ইঙ্গিত কীভাবে ব্যবহার করতে হয় আপনি তা শিখে ফেলেছেন। ইঙ্গিত বন্ধ করতে, সেটিংসে যান।" + "আপনি একটি অ্যাপ থেকে অন্য অ্যাপে যাওয়ার জেসচার সম্পর্কে জেনেছেন।" "একটি অ্যাপ থেকে অন্য অ্যাপে যেতে সোয়াইপ করুন" "স্ক্রিনের নিচ থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন, তারপর ছেড়ে দিন।" "সব প্রস্তুত" "পরবর্তী" - "হয়ে গেছে" "সেটিংস" "আবার চেষ্টা করুন" "সাবাস!" diff --git a/quickstep/res/values-bs/strings.xml b/quickstep/res/values-bs/strings.xml index 10d8f16e6d..e2db7f8515 100644 --- a/quickstep/res/values-bs/strings.xml +++ b/quickstep/res/values-bs/strings.xml @@ -73,7 +73,6 @@ "Prevucite s dna ekrana prema gore, zadržite, a zatim pustite." "Sve je spremno" "Naprijed" - "Gotovo" "Postavke" "Pokušaj ponovo" "Lijepo!" diff --git a/quickstep/res/values-ca/strings.xml b/quickstep/res/values-ca/strings.xml index 0b8188499b..fae2c24d13 100644 --- a/quickstep/res/values-ca/strings.xml +++ b/quickstep/res/values-ca/strings.xml @@ -73,7 +73,6 @@ "Llisca cap amunt des de la part inferior de la pantalla, mantén premut i deixa anar." "Tot a punt" "Següent" - "Fet" "Configuració" "Torna-ho a provar" "Molt bé!" diff --git a/quickstep/res/values-cs/strings.xml b/quickstep/res/values-cs/strings.xml index d5feff7f8d..c9f463228b 100644 --- a/quickstep/res/values-cs/strings.xml +++ b/quickstep/res/values-cs/strings.xml @@ -73,7 +73,6 @@ "Přejeďte prstem nahoru z dolního okraje obrazovky, podržte obrazovku a potom prst uvolněte." "Vše je nastaveno" "Další" - "Hotovo" "Nastavení" "Zkusit znovu" "Skvělé!" diff --git a/quickstep/res/values-da/strings.xml b/quickstep/res/values-da/strings.xml index c2d94a12b6..4c7f968d2c 100644 --- a/quickstep/res/values-da/strings.xml +++ b/quickstep/res/values-da/strings.xml @@ -73,7 +73,6 @@ "Stryg opad fra bunden af skærmen, hold fingeren stille, og løft den." "Så er du klar" "Næste" - "Luk" "Indstillinger" "Prøv igen" "Sådan!" diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index 14f123fa5d..757c28c708 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -73,7 +73,6 @@ "Wische auf dem Bildschirm von unten nach oben, halte ihn gedrückt und lass ihn dann los." "Fertig" "Weiter" - "Fertig" "Einstellungen" "Wiederholen" "Sehr gut!" diff --git a/quickstep/res/values-el/strings.xml b/quickstep/res/values-el/strings.xml index ecc574f822..5f0117bf97 100644 --- a/quickstep/res/values-el/strings.xml +++ b/quickstep/res/values-el/strings.xml @@ -73,7 +73,6 @@ "Σύρετε προς τα πάνω από το κάτω μέρος της οθόνης σας, κρατήστε παρατεταμένα και έπειτα ελευθερώστε." "Όλα είναι έτοιμα" "Επόμενο" - "Τέλος" "Ρυθμίσεις" "Δοκιμάστε ξανά" "Ωραία!" diff --git a/quickstep/res/values-en-rAU/strings.xml b/quickstep/res/values-en-rAU/strings.xml index 882f98a53e..cc41b22835 100644 --- a/quickstep/res/values-en-rAU/strings.xml +++ b/quickstep/res/values-en-rAU/strings.xml @@ -73,7 +73,6 @@ "Swipe up from the bottom of your screen, hold, then release." "All set" "Next" - "Done" "Settings" "Try again" "Nice!" diff --git a/quickstep/res/values-en-rCA/strings.xml b/quickstep/res/values-en-rCA/strings.xml index 882f98a53e..cc41b22835 100644 --- a/quickstep/res/values-en-rCA/strings.xml +++ b/quickstep/res/values-en-rCA/strings.xml @@ -73,7 +73,6 @@ "Swipe up from the bottom of your screen, hold, then release." "All set" "Next" - "Done" "Settings" "Try again" "Nice!" diff --git a/quickstep/res/values-en-rGB/strings.xml b/quickstep/res/values-en-rGB/strings.xml index 882f98a53e..cc41b22835 100644 --- a/quickstep/res/values-en-rGB/strings.xml +++ b/quickstep/res/values-en-rGB/strings.xml @@ -73,7 +73,6 @@ "Swipe up from the bottom of your screen, hold, then release." "All set" "Next" - "Done" "Settings" "Try again" "Nice!" diff --git a/quickstep/res/values-en-rIN/strings.xml b/quickstep/res/values-en-rIN/strings.xml index 882f98a53e..cc41b22835 100644 --- a/quickstep/res/values-en-rIN/strings.xml +++ b/quickstep/res/values-en-rIN/strings.xml @@ -73,7 +73,6 @@ "Swipe up from the bottom of your screen, hold, then release." "All set" "Next" - "Done" "Settings" "Try again" "Nice!" diff --git a/quickstep/res/values-en-rXC/strings.xml b/quickstep/res/values-en-rXC/strings.xml index ce7dccc7ef..05f696db96 100644 --- a/quickstep/res/values-en-rXC/strings.xml +++ b/quickstep/res/values-en-rXC/strings.xml @@ -73,7 +73,6 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎Swipe up from the bottom of your screen, hold, then release.‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎All set‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎Next‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎Done‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎Settings‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‏‏‎‎‏‎Try again‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎Nice!‎‏‎‎‏‎" diff --git a/quickstep/res/values-es-rUS/strings.xml b/quickstep/res/values-es-rUS/strings.xml index f8aa17d9f1..4f543e2caf 100644 --- a/quickstep/res/values-es-rUS/strings.xml +++ b/quickstep/res/values-es-rUS/strings.xml @@ -73,7 +73,6 @@ "Desliza el dedo hacia arriba desde la parte inferior de la pantalla, mantenlo presionado y, luego, suéltalo." "Listo" "Siguiente" - "Listo" "Configuración" "Reintentar" "¡Genial!" diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml index 9be5db1c7b..6bad7752da 100644 --- a/quickstep/res/values-es/strings.xml +++ b/quickstep/res/values-es/strings.xml @@ -73,7 +73,6 @@ "Desliza el dedo hacia arriba desde la parte inferior de la pantalla, mantenlo pulsado y levántalo." "Todo listo" "Siguiente" - "Hecho" "Ajustes" "Reintentar" "¡Muy bien!" diff --git a/quickstep/res/values-et/strings.xml b/quickstep/res/values-et/strings.xml index 9241d30f7f..b9615d68db 100644 --- a/quickstep/res/values-et/strings.xml +++ b/quickstep/res/values-et/strings.xml @@ -73,7 +73,6 @@ "Pühkige ekraanikuva alaosast üles, hoidke ja seejärel vabastage." "Valmis" "Järgmine" - "Valmis" "Seaded" "Proovige uuesti" "Tubli töö!" diff --git a/quickstep/res/values-eu/strings.xml b/quickstep/res/values-eu/strings.xml index f810b4282e..1d992f7909 100644 --- a/quickstep/res/values-eu/strings.xml +++ b/quickstep/res/values-eu/strings.xml @@ -73,7 +73,6 @@ "Pasatu hatza pantailaren behealdetik gora, eduki pantaila sakatuta eta altxatu hatza." "Dena prest" "Hurrengoa" - "Eginda" "Ezarpenak" "Saiatu berriro" "Ederki!" diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml index ccde33a31d..344040e001 100644 --- a/quickstep/res/values-fa/strings.xml +++ b/quickstep/res/values-fa/strings.xml @@ -73,7 +73,6 @@ "از پایین صفحه‌نمایش تند به‌سمت بالا بکشید، نگه دارید، و سپس رها کنید." "همه چیز آماده است" "بعدی" - "تمام" "تنظیمات" "امتحان مجدد" "عالی!" diff --git a/quickstep/res/values-fi/strings.xml b/quickstep/res/values-fi/strings.xml index e903138770..7c877c7f8a 100644 --- a/quickstep/res/values-fi/strings.xml +++ b/quickstep/res/values-fi/strings.xml @@ -73,7 +73,6 @@ "Pyyhkäise ylöspäin näytön alareunasta ja päästä irti." "Valmista" "Seuraava" - "Valmis" "Asetukset" "Yritä uudelleen" "Hienoa!" diff --git a/quickstep/res/values-fr-rCA/strings.xml b/quickstep/res/values-fr-rCA/strings.xml index 1aa67e033a..7ba30a9d64 100644 --- a/quickstep/res/values-fr-rCA/strings.xml +++ b/quickstep/res/values-fr-rCA/strings.xml @@ -47,33 +47,32 @@ "Application prédite : %1$s" "Assurez-vous de balayer l\'écran à partir de l\'extrémité gauche." "Assurez-vous de balayer l\'écran de l\'extrémité gauche jusqu\'au centre, puis de lever le doigt." - "Bien! Maintenant, balayez à partir de la droite pour revenir." - "Vous pouvez aussi revenir à l\'écran précédent en balayant du côté droit jusqu\'au centre de l\'écran." + "Bien! Maintenant, balayez-le à partir de la droite pour revenir." + "Vous pouvez aussi revenir à l\'écran précédent en balayant l\'écran du côté droit jusqu\'au centre." "Assurez-vous de balayer l\'écran à partir de l\'extrémité droite." "Assurez-vous de balayer l\'écran de l\'extrémité droite jusqu\'au centre, puis de lever le doigt." - "Vous avez appris le geste de retour. Ensuite, vous apprendrez comment basculer entre les applications." - "Vous avez appris le geste de retour." + "Vous avez appris le geste de retour en arrière. Maintenant, apprenez comment changer d\'application." + "Vous avez appris le geste de retour en arrière." "Assurez-vous de ne pas balayer trop près du bas de l\'écran." "Modifiez la sensibilité du geste de retour dans Paramètres" - "Balayez l\'écran vers la gauche pour revenir en arrière" - "Pour revenir à l\'écran précédent, balayez du côté gauche jusqu\'au centre de l\'écran." + "Balayez l\'écran à partir de la gauche pour revenir en arrière." + "Pour revenir à l\'écran précédent, balayez l\'écran du côté gauche jusqu\'au centre." "Assurez-vous de balayer l\'écran à partir de l\'extrémité inférieure vers le haut." "Assurez-vous de ne pas interrompre le geste avant de lever le doigt." "Assurez-vous de balayer l\'écran en ligne droite vers le haut." - "Vous avez appris le geste pour revenir à l\'écran d\'accueil. Apprenez ensuite à revenir en arrière." - "Vous avez appris le geste pour revenir à l\'écran d\'accueil." + "Vous avez appris le geste de retour à l\'écran d\'accueil. Maintenant, apprenez à revenir en arrière." + "Vous avez appris le geste de retour à l\'écran d\'accueil." "Balayer pour revenir à l\'écran d\'accueil" "Balayez l\'écran du bas vers le haut. Ce geste vous ramène toujours à l\'écran d\'accueil." "Assurez-vous de balayer l\'écran à partir de l\'extrémité inférieure vers le haut." "Essayez de tenir la fenêtre plus longtemps avant de relâcher." "Assurez-vous de balayer l\'écran vers le haut, puis de faire une pause." "Vous avez appris à utiliser les gestes. Pour les désactiver, accédez au menu Paramètres." - "Vous avez appris le geste pour basculer entre les applications." + "Vous avez appris le geste de changement d\'application." "Balayer pour basculer entre les applications" "Balayez l\'écran de bas en haut, maintenez le doigt en place, puis relâchez-le." "Terminé" "Suivant" - "Terminé" "Paramètres" "Réessayer" "Bien!" diff --git a/quickstep/res/values-fr/strings.xml b/quickstep/res/values-fr/strings.xml index e010152da4..9f0fe50fbb 100644 --- a/quickstep/res/values-fr/strings.xml +++ b/quickstep/res/values-fr/strings.xml @@ -73,7 +73,6 @@ "Balayez l\'écran du bas vers le haut, appuyez de manière prolongée, puis relevez le doigt." "Vous avez terminé" "Suivant" - "OK" "Paramètres" "Réessayez" "Bravo !" diff --git a/quickstep/res/values-gl/strings.xml b/quickstep/res/values-gl/strings.xml index eddca5d5af..68e91e9298 100644 --- a/quickstep/res/values-gl/strings.xml +++ b/quickstep/res/values-gl/strings.xml @@ -73,7 +73,6 @@ "Pasa o dedo cara arriba desde a parte inferior da pantalla, mantena premida e sepárao." "Todo listo" "Seguinte" - "Feito" "Configuración" "Téntao de novo" "Excelente!" diff --git a/quickstep/res/values-gu/strings.xml b/quickstep/res/values-gu/strings.xml index a35abda3cf..a02e5ebd95 100644 --- a/quickstep/res/values-gu/strings.xml +++ b/quickstep/res/values-gu/strings.xml @@ -47,43 +47,32 @@ "પૂર્વાનુમાનિત ઍપ: %1$s" "ખાતરી કરો કે તમે એકદમ દૂરની ડાબી કિનારીએથી સ્વાઇપ કરો છો." "ખાતરી કરો કે તમે ડાબી કિનારીએથી સ્ક્રીનના મધ્ય ભાગ સુધી સ્વાઇપ કરો છે અને આંગળી ઊંચકી લો છો." - - - - + "સરસ! હવે પાછા જવા માટે જમણેથી સ્વાઇપ કરો" + "તમે જમણી કિનારીએથી સ્ક્રીનના મધ્ય ભાગ સુધી સ્વાઇપ કરીને પણ છેલ્લી સ્ક્રીન પર પાછા જઈ શકો છો." "ખાતરી કરો કે તમે એકદમ દૂરની જમણી કિનારીએથી સ્વાઇપ કરો છો." "ખાતરી કરો કે તમે જમણી કિનારીએથી સ્ક્રીનના મધ્ય ભાગ સુધી સ્વાઇપ કરો છે અને આંગળી ઊંચકી લો છો." - - - - + "તમે પાછા જવાનો સંકેત પૂર્ણ કર્યો છે. હવે પછી, ઍપ સ્વિચ કરવાની રીત વિશે જાણો." + "તમે પાછા જવાનો સંકેત પૂર્ણ કર્યો છે." "ખાતરી કરો કે તમારાથી સ્ક્રીનની એકદમ નીચેની કિનારીની ખૂબ નજીક સુધી સ્વાઇપ ન થઈ જાય." "પાછા જવાના સંકેતની સંવેદિતા બદલવા માટે, સેટિંગમાં જાઓ" - - - - + "પાછળ જવા ડાબેથી સ્વાઇપ કરો" + "તમે જે છેલ્લી સ્ક્રીન પર હતા તેની પર પાછા જવા, ડાબી કિનારીએથી સ્ક્રીનના મધ્ય ભાગ સુધી સ્વાઇપ કરો." "ખાતરી કરો કે તમે સ્ક્રીનની નીચેની કિનારીએથી ઉપરની તરફ સ્વાઇપ કરો છો." "ખાતરી કરો કે તમે આંગળી ઊંચકી લેતા પહેલાં સ્વાઇપ કરવાનું થોભાવતા નથી." "ખાતરી કરો કે તમે સીધું ઉપરની તરફ સ્વાઇપ કરો છો." - - - - + "તમે હોમ સ્ક્રીન પર પાછા જવાનો સંકેત પૂર્ણ કર્યો છે. હવે પછી, પાછા જવાની રીત વિશે જાણો." + "તમે હોમ સ્ક્રીન પર પાછા જવાનો સંકેત પૂર્ણ કર્યો છે." "હોમ સ્ક્રીન પર જવા માટે સ્વાઇપ કરો" "તમારી સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો. આ સંકેત તમને હંમેશાં હોમ સ્ક્રીન પર લઈ જાય છે." "ખાતરી કરો કે તમે સ્ક્રીનની નીચેની કિનારીએથી ઉપરની તરફ સ્વાઇપ કરો છો." "તમારી આંગળી ઊંચકતા પહેલાં તેને વિન્ડો પર થોડી વધારે વાર માટે દબાવી રાખવાનો પ્રયાસ કરો." "ખાતરી કરો કે તમે સીધું ઉપર સ્વાઇપ કરો છો, પછી થોભી જાઓ છો." - - - - + "સંકેતોનો ઉપયોગ કરવાની રીત વિશે તમે જાણ્યું. સંકેતો બંધ કરવા, સેટિંગમાં જાઓ." + "તમે ઍપ સ્વિચ કરવાનો સંકેત પૂર્ણ કર્યો છે." "ઍપ સ્વિચ કરવા સ્વાઇપ કરો" "તમારી સ્ક્રીનના નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરીને, થોડીવાર દબાવી રાખો, પછી છોડી દો." "બધું સેટ થઈ ગયું" "આગળ" - "થઈ ગયું" "સેટિંગ" "ફરી પ્રયાસ કરો" "સરસ!" diff --git a/quickstep/res/values-hi/strings.xml b/quickstep/res/values-hi/strings.xml index fdf62a7fef..fa9ca53503 100644 --- a/quickstep/res/values-hi/strings.xml +++ b/quickstep/res/values-hi/strings.xml @@ -67,13 +67,12 @@ "देख लें कि आप स्क्रीन के निचले किनारे से ऊपर की ओर स्वाइप कर रहे हों." "कोशिश करें कि स्क्रीन से उंगली उठाने से पहले, इसे कुछ देर स्क्रीन पर दबाकर रखें." "देख लें कि आप स्क्रीन पर ऊपर की तरफ़, बिल्कुल सीधे स्वाइप कर रहे हों और फिर रुकें." - "आपने हाथ के जेस्चर (हाव-भाव) को इस्तेमाल करना सीख लिया है. जेस्चर बंद करने के लिए, सेटिंग में जाएं." + "आपने हाथ के जेस्चर (हाव-भाव) इस्तेमाल करने सीख लिए हैं. जेस्चर बंद करने के लिए, सेटिंग में जाएं." "आपने एक ऐप्लिकेशन से दूसरे पर जाने के लिए इस्तेमाल होने वाले हाथ के जेस्चर के बारे में जान लिया है." "एक ऐप्लिकेशन से दूसरे पर जाने के लिए स्वाइप करें" "अपनी स्क्रीन पर नीचे से ऊपर की तरफ़ स्वाइप करें, दबाकर रखें, फिर छोड़ दें." "आप पूरी तरह तैयार हैं" "आगे बढ़ें" - "हो गया" "सेटिंग" "फिर से कोशिश करें" "बहुत बढ़िया!" @@ -83,7 +82,7 @@ "अब आप अपना फ़ोन इस्तेमाल कर सकते हैं" "सुलभता के लिए नेविगेशन सेटिंग" "शेयर करें" - "स्क्रीनशॉट" + "स्क्रीनशॉट लें" "ऐप्लिकेशन या आपका संगठन इस कार्रवाई की अनुमति नहीं देता" "नेविगेशन ट्यूटोरियल छोड़ना चाहते हैं?" "आप बाद में, %1$s ऐप्लिकेशन पर इसे देख सकते हैं" diff --git a/quickstep/res/values-hr/strings.xml b/quickstep/res/values-hr/strings.xml index 7c50ae2af5..b6ac921ba1 100644 --- a/quickstep/res/values-hr/strings.xml +++ b/quickstep/res/values-hr/strings.xml @@ -73,7 +73,6 @@ "Prijeđite prstom od dna zaslona prema gore, zadržite pritisak pa podignite prst." "Sve je spremno" "Dalje" - "Gotovo" "Postavke" "Pokušajte ponovo" "Odlično!" diff --git a/quickstep/res/values-hu/strings.xml b/quickstep/res/values-hu/strings.xml index 6436738cac..70ecf60051 100644 --- a/quickstep/res/values-hu/strings.xml +++ b/quickstep/res/values-hu/strings.xml @@ -73,7 +73,6 @@ "Csúsztasson felfelé a képernyő aljáról, tartsa lenyomva az ujját, majd emelje fel." "Minden kész" "Tovább" - "Kész" "Beállítások" "Újra" "Remek!" diff --git a/quickstep/res/values-hy/strings.xml b/quickstep/res/values-hy/strings.xml index 3ca7112611..9f58daaac4 100644 --- a/quickstep/res/values-hy/strings.xml +++ b/quickstep/res/values-hy/strings.xml @@ -73,7 +73,6 @@ "Մատը սահեցրեք էկրանի ներքևից վերև, պահեք և բաց թողեք։" "Պատրաստ է" "Առաջ" - "Պատրաստ է" "Կարգավորումներ" "Նորից փորձեք" "Գերազանց է" diff --git a/quickstep/res/values-in/strings.xml b/quickstep/res/values-in/strings.xml index 9efc53ea83..37b802fea5 100644 --- a/quickstep/res/values-in/strings.xml +++ b/quickstep/res/values-in/strings.xml @@ -73,7 +73,6 @@ "Geser ke atas dari bagian bawah layar, tahan, lalu lepaskan." "Semua siap" "Berikutnya" - "Selesai" "Setelan" "Coba lagi" "Bagus!" diff --git a/quickstep/res/values-is/strings.xml b/quickstep/res/values-is/strings.xml index 2687b9c3d8..4fbd46bec5 100644 --- a/quickstep/res/values-is/strings.xml +++ b/quickstep/res/values-is/strings.xml @@ -73,7 +73,6 @@ "Strjúktu upp frá neðri hluta skjásins, haltu fingrinum á skjánum og slepptu svo." "Allt til reiðu" "Áfram" - "Lokið" "Stillingar" "Reyna aftur" "Flott!" diff --git a/quickstep/res/values-it/strings.xml b/quickstep/res/values-it/strings.xml index a37a102c3a..3323df9d47 100644 --- a/quickstep/res/values-it/strings.xml +++ b/quickstep/res/values-it/strings.xml @@ -73,7 +73,6 @@ "Scorri verso l\'alto dalla parte inferiore dello schermo, tieni premuto e rilascia." "Fatto" "Avanti" - "Fine" "Impostazioni" "Riprova" "Bene!" diff --git a/quickstep/res/values-iw/strings.xml b/quickstep/res/values-iw/strings.xml index 8d61fd4440..84a862e5a6 100644 --- a/quickstep/res/values-iw/strings.xml +++ b/quickstep/res/values-iw/strings.xml @@ -73,7 +73,6 @@ "יש להחליק למעלה מתחתית המסך, להחזיק ולאחר מכן לשחרר." "הכול מוכן" "הבא" - "סיום" "הגדרות" "אפשר לנסות שוב" "איזה יופי!" diff --git a/quickstep/res/values-ja/strings.xml b/quickstep/res/values-ja/strings.xml index 57fca5b5c6..7f04d4e943 100644 --- a/quickstep/res/values-ja/strings.xml +++ b/quickstep/res/values-ja/strings.xml @@ -73,7 +73,6 @@ "画面を下から上にスワイプして長押しし、指を離します。" "設定完了" "次へ" - "完了" "設定" "再試行" "成功" diff --git a/quickstep/res/values-ka/strings.xml b/quickstep/res/values-ka/strings.xml index ea2e4d1af4..8fb83d4659 100644 --- a/quickstep/res/values-ka/strings.xml +++ b/quickstep/res/values-ka/strings.xml @@ -73,7 +73,6 @@ "გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ, დააყოვნეთ, შემდეგ თითი აუშვით." "მზად არის" "შემდეგ" - "მზადაა" "პარამეტრები" "ხელახლა ცდა" "მშვენიერია!" diff --git a/quickstep/res/values-kk/strings.xml b/quickstep/res/values-kk/strings.xml index 6515840d9a..8b08bc23e5 100644 --- a/quickstep/res/values-kk/strings.xml +++ b/quickstep/res/values-kk/strings.xml @@ -73,7 +73,6 @@ "Экранның төменгі жағынан жоғары қарай сырғытып, ұстап тұрыңыз да, жіберіңіз." "Бәрі дайын" "Келесі" - "Дайын" "Параметрлер" "Қайталау" "Жақсы!" diff --git a/quickstep/res/values-km/strings.xml b/quickstep/res/values-km/strings.xml index 5185c4cd6c..3513263eaf 100644 --- a/quickstep/res/values-km/strings.xml +++ b/quickstep/res/values-km/strings.xml @@ -73,7 +73,6 @@ "អូសឡើងលើ​ពីផ្នែកខាងក្រោមនៃអេក្រង់​របស់អ្នក រួចសង្កត់​ឱ្យជាប់ បន្ទាប់មកដកដៃចេញ។" "រួចហើយ" "បន្ទាប់" - "រួចរាល់" "ការកំណត់" "ព្យាយាមម្ដងទៀត" "ល្អ!" diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml index dd3cb388dc..fcfdb3c113 100644 --- a/quickstep/res/values-kn/strings.xml +++ b/quickstep/res/values-kn/strings.xml @@ -47,43 +47,32 @@ "ಶಿಫಾರಸು ಮಾಡಿದ ಆ್ಯಪ್: %1$s" "ನೀವು ದೂರದ ಎಡ ಅಂಚಿನಿಂದ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." "ಎಡ ಅಂಚಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮಧ್ಯಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ನಿಮ್ಮ ಬೆರಳನ್ನು ಮೇಲೆತ್ತಿ." - - - - + "ಚೆನ್ನಾಗಿದೆ! ಹಿಂತಿರುಗಲು, ಈಗ ಬಲಗಡೆಯಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ" + "ಬಲ ಅಂಚಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮಧ್ಯಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಕೊನೆಯ ಸ್ಕ್ರೀನ್‌ಗೆ ಹೋಗಿ." "ನೀವು ದೂರದ ಬಲ ಅಂಚಿನಿಂದ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." "ಬಲ ಅಂಚಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮಧ್ಯಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ನಿಮ್ಮ ಬೆರಳನ್ನು ಮೇಲೆತ್ತಿ." - - - - + "ನೀವು ಗೋ ಬ್ಯಾಕ್ ಗೆಸ್ಚರ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೀರಿ. ಮುಂದೆ, ಆ್ಯಪ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ಹೇಗೆ ಎಂದು ತಿಳಿಯಿರಿ." + "ನೀವು ಗೋ ಬ್ಯಾಕ್ ಗೆಸ್ಚರ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೀರಿ." "ನೀವು ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗಕ್ಕೆ ಹೆಚ್ಚು ಹತ್ತಿರ ಸ್ವೈಪ್ ಮಾಡದಂತೆ ನೋಡಿಕೊಳ್ಳಿ." "ಬ್ಯಾಕ್ ಗೆಸ್ಚರ್‌ನ ಸೂಕ್ಷ್ಮತೆ ಬದಲಾಯಿಸಲು, ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ" - - - - + "ಹಿಂದಕ್ಕೆ ಹೋಗಲು, ಎಡದಿಂದ ಸ್ವೈಪ್ ಮಾಡಿ" + "ಈ ಮೊದಲು ನೀವಿದ್ದ ಕೊನೆಯ ಸ್ಕ್ರೀನ್‌ಗೆ ಹಿಂತಿರುಗಲು, ಬಲ ಅಂಚಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮಧ್ಯಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ." "ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನ ಅಂಚಿನಿಂದ ನೀವು ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." "ವಿರಾಮಗೊಳಿಸದೆ ನಿಮ್ಮ ಬೆರಳನ್ನು ಸ್ಕ್ರೀನ್‌ನಿಂದ ಮೇಲೆತ್ತಿ." "ನೀವು ನೇರವಾಗಿ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." - - - - + "ನೀವು ಗೋ ಹೋಮ್ ಗೆಸ್ಚರ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೀರಿ. ಮುಂದೆ, ಹಿಂದಕ್ಕೆ ಹೋಗುವುದು ಹೇಗೆ ಎಂದು ತಿಳಿಯಿರಿ." + "ನೀವು ಗೋ ಹೋಮ್ ಗೆಸ್ಚರ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೀರಿ." "ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ಗೆ ಹಿಂತಿರುಗಲು ಸ್ವೈಪ್ ಮಾಡಿ" "ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನಿಂದ ಮೇಲೆ ಸ್ವೈಪ್ ಮಾಡಿ. ಈ ಗೆಸ್ಚರ್ ಯಾವಾಗಲೂ ನಿಮ್ಮನ್ನು ಹೋಮ್‌ ಸ್ಕ್ರೀನ್‌ಗೆ ಕರೆದೊಯ್ಯುತ್ತದೆ." "ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನ ಅಂಚಿನಿಂದ ನೀವು ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." "ಬೆರಳನ್ನು ಮೇಲೆತ್ತುವ ಮೊದಲು ವಿಂಡೋವನ್ನು ಹೆಚ್ಚು ಸಮಯ ಹಿಡಿದಿಡಲು ಪ್ರಯತ್ನಿಸಿ." "ನೀವು ನೇರವಾಗಿ ಸ್ವೈಪ್ ಮಾಡಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ನಂತರ ವಿರಾಮಗೊಳಿಸಿ." - - - - + "ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಬಳಕೆಯನ್ನು ನೀವು ತಿಳಿದುಕೊಂಡಿರುವಿರಿ. ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಆಫ್ ಮಾಡಲು, ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ." + "ನೀವು ಆ್ಯಪ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವ ಗೆಸ್ಚರ್ ಅನ್ನು ಪೂರ್ಣಗೊಳಿಸಿದ್ದೀರಿ." "ಆ್ಯಪ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸ್ವೈಪ್ ಮಾಡಿ" "ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಗಿನಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ, ಒತ್ತಿ ಹಿಡಿಯಿರಿ, ನಂತರ ಬಿಟ್ಟು ಬಿಡಿ." "ಸಂಪೂರ್ಣ ಸಿದ್ಧವಾಗಿದೆ" "ಮುಂದೆ" - "ಮುಗಿದಿದೆ" "ಸೆಟ್ಟಿಂಗ್‌ಗಳು" "ಪುನಃ ಪ್ರಯತ್ನಿಸಿ" "ಚೆನ್ನಾಗಿದೆ!" diff --git a/quickstep/res/values-ko/strings.xml b/quickstep/res/values-ko/strings.xml index fb35a53f8c..66125f08d0 100644 --- a/quickstep/res/values-ko/strings.xml +++ b/quickstep/res/values-ko/strings.xml @@ -73,7 +73,6 @@ "화면 하단에서 위로 스와이프하고 잠시 멈춘 다음 손가락을 떼세요" "설정 완료" "다음" - "완료" "설정" "다시 시도" "잘하셨습니다" diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml index 6f631460a3..0c7bb73c66 100644 --- a/quickstep/res/values-ky/strings.xml +++ b/quickstep/res/values-ky/strings.xml @@ -73,7 +73,6 @@ "Экранды ылдыйдан өйдө карай сүрүп, бир аз коё бербей кармап туруңуз." "Дапдаяр!" "Кийинки" - "Бүттү" "Жөндөөлөр" "Кайра аракет кылыңыз" "Сонун!" diff --git a/quickstep/res/values-lo/strings.xml b/quickstep/res/values-lo/strings.xml index 7b2ed2eabc..b9b563a6ac 100644 --- a/quickstep/res/values-lo/strings.xml +++ b/quickstep/res/values-lo/strings.xml @@ -73,7 +73,6 @@ "ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍທ່ານ, ຈາກນັ້ນປ່ອຍ." "ທຸກຢ່າງພ້ອມແລ້ວ" "ຕໍ່ໄປ" - "ແລ້ວໆ" "ການຕັ້ງຄ່າ" "ລອງໃໝ່" "ດີ!" diff --git a/quickstep/res/values-lt/strings.xml b/quickstep/res/values-lt/strings.xml index bebefbbe28..d88c660ed7 100644 --- a/quickstep/res/values-lt/strings.xml +++ b/quickstep/res/values-lt/strings.xml @@ -73,7 +73,6 @@ "Perbraukite aukštyn nuo ekrano apačios, palaikykite ir paleiskite." "Viskas nustatyta" "Kitas" - "Atlikta" "Nustatymai" "Bandykite dar kartą" "Šaunu!" diff --git a/quickstep/res/values-lv/strings.xml b/quickstep/res/values-lv/strings.xml index 97a8197035..de589a9608 100644 --- a/quickstep/res/values-lv/strings.xml +++ b/quickstep/res/values-lv/strings.xml @@ -73,7 +73,6 @@ "Velciet augšup no ekrāna apakšdaļas, turiet un pēc tam atlaidiet." "Gatavs" "Tālāk" - "Gatavs" "Iestatījumi" "Mēģināt vēlreiz" "Lieliski!" diff --git a/quickstep/res/values-mk/strings.xml b/quickstep/res/values-mk/strings.xml index e21f45ca5b..4eb23f5b1b 100644 --- a/quickstep/res/values-mk/strings.xml +++ b/quickstep/res/values-mk/strings.xml @@ -73,7 +73,6 @@ "Повлечете нагоре од дното на екранот и задржете, па пуштете." "Готово" "Следно" - "Готово" "Поставки" "Обиди се пак" "Одлично!" diff --git a/quickstep/res/values-ml/strings.xml b/quickstep/res/values-ml/strings.xml index 85aebde36e..13002ee0b4 100644 --- a/quickstep/res/values-ml/strings.xml +++ b/quickstep/res/values-ml/strings.xml @@ -47,43 +47,32 @@ "പ്രവചിച്ച ആപ്പ്: %1$s" "ഇടത്തേയറ്റത്തെ അരികിൽ നിന്ന് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക." "ഇടത്തേ അരികിൽ നിന്ന് സ്‌ക്രീനിന്റെ മധ്യഭാഗത്തേക്ക് സ്വെെപ്പ് ചെയ്‌ത് വിടുക." - - - - + "കൊള്ളാം! പുറകോട്ട് പോകാൻ വലതുഭാഗത്ത് നിന്ന് സ്വൈപ്പ് ചെയ്യുക" + "സ്ക്രീനിന്റെ വലത് അരികിൽ നിന്ന് നടുവിലേക്ക് സ്വൈപ്പ് ചെയ്തും മുൻ സ്ക്രീനിലേക്ക് പോകാം." "വലത്തേയറ്റത്തെ അരികിൽ നിന്ന് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക." "വലത്തേ അരികിൽ നിന്ന് സ്‌ക്രീനിന്റെ മധ്യഭാഗത്തേക്ക് സ്വെെപ്പ് ചെയ്‌ത് വിടുക." - - - - + "മടങ്ങുക ജെസ്ച്ചർ നിങ്ങൾ പൂർത്തിയാക്കി. അടുത്തത്, എങ്ങനെ ആപ്പുകൾ തമ്മിൽ മാറാമെന്ന് മനസ്സിലാക്കുക." + "മടങ്ങുക ജെസ്ച്ചർ നിങ്ങൾ പൂർത്തിയാക്കി." "സ്‌ക്രീനിന്റെ ഏറ്റവും അടിഭാഗത്തേക്ക് സ്വെെപ്പ് ചെയ്യുന്നില്ലെന്ന് ഉറപ്പാക്കുക." "ബാക്ക്ജെസ്റ്ററിന്റെ സെൻസിറ്റിവിറ്റി മാറ്റാൻ ക്രമീകരണത്തിൽ പോകൂ" - - - - + "പുറകോട്ട് പോകാൻ ഇടതുഭാഗത്ത് നിന്ന് സ്വൈപ്പ് ചെയ്യുക" + "മുമ്പത്തെ സ്ക്രീനിലേക്ക് പോകാൻ, സ്ക്രീനിന്റെ ഇടത് അരികിൽ നിന്ന് നടുവിലേക്ക് സ്വൈപ്പ് ചെയ്യുക." "സ്‌ക്രീനിന്റെ താഴത്തെ അരികിൽ നിന്ന് മുകളിലേക്ക് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക." "വിടുന്നതിന് മുമ്പ് നിങ്ങൾ താൽക്കാലികമായി നിർത്തുന്നില്ലെന്ന് ഉറപ്പാക്കുക." "നേരെ മുകളിലേക്ക് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പിക്കുക." - - - - + "ഹോമിലേക്ക് പോകുക ജെസ്ച്ചർ പൂർത്തിയാക്കി. അടുത്തത്, ഹോമിലേക്ക് എങ്ങനെ പോകാമെന്ന് മനസ്സിലാക്കുക." + "ഹോമിലേക്ക് പോകുക ജെസ്ച്ചർ നിങ്ങൾ പൂർത്തിയാക്കി." "ഹോമിലേക്ക് പോകാൻ സ്വെെപ്പ് ചെയ്യുക" "സ്‌ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യൂ. ഈ ജെസ്ച്ചർ എപ്പോഴും ഹോം സ്‌ക്രീനിലേക്ക് നയിക്കുന്നു." "സ്‌ക്രീനിന്റെ താഴത്തെ അരികിൽ നിന്ന് മുകളിലേക്ക് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക." "റിലീസ് ചെയ്യുന്നതിന് മുമ്പ് വിൻഡോ കൂടുതൽ സമയം ഹോൾഡ് ചെയ്യാൻ ശ്രമിക്കുക." "നേരെ മുകളിലേക്ക് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക, ശേഷം താൽക്കാലികമായി നിർത്തുക." - - - - + "ജെസ്ച്ചറുകൾ ഉപയോഗിക്കുന്ന രീതി നിങ്ങൾ മനസ്സിലാക്കി. ജെസ്ച്ചറുകൾ ഓഫാക്കാൻ ക്രമീകരണത്തിലേക്ക് പോകുക." + "ആപ്പുകൾ തമ്മിൽ മാറുക ജെസ്‌ച്ചർ നിങ്ങൾ പൂർത്തിയാക്കി." "ആപ്പുകൾ മാറാൻ സ്വെെപ്പ് ചെയ്യുക" "സ്‌ക്രീനിന്റെ താഴെ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിച്ച ശേഷം വിടുക." "എല്ലാം സജ്ജീകരിച്ചു" "അടുത്തത്" - "പൂർത്തിയായി" "ക്രമീകരണം" "വീണ്ടും ശ്രമിക്കുക" "കൊള്ളാം!" diff --git a/quickstep/res/values-mn/strings.xml b/quickstep/res/values-mn/strings.xml index ea3a2201c0..c82568e6dd 100644 --- a/quickstep/res/values-mn/strings.xml +++ b/quickstep/res/values-mn/strings.xml @@ -73,7 +73,6 @@ "Дэлгэцийнхээ доод хэсгээс дээш шударч, удаан дараад суллана уу." "Бүгдийг тохируулсан" "Дараах" - "Дууссан" "Тохиргоо" "Дахин оролдох" "Янзтай!" diff --git a/quickstep/res/values-mr/strings.xml b/quickstep/res/values-mr/strings.xml index bb1f89094f..8f7d2773cf 100644 --- a/quickstep/res/values-mr/strings.xml +++ b/quickstep/res/values-mr/strings.xml @@ -47,43 +47,32 @@ "पूर्वानुमान केलेले अ‍ॅप: %1$s" "तुम्ही स्क्रीनच्या अगदी डाव्या कडेपासून स्‍वाइप करत आहात याची खात्री करा." "तुम्ही स्क्रीनच्या डाव्या कडेपासून मध्यावर स्‍वाइप करून बोट उचलत आहात याची खात्री करा." - - - - + "छान! आता मागे जाण्यासाठी उजवीकडून स्वाइप करा" + "तुम्ही स्क्रीनच्या उजव्या कडेपासून मध्याभागी स्वाइप करून मागील स्क्रीनवर परतदेखील जाऊ शकता." "तुम्ही स्क्रीनच्या अगदी उजव्या कडेपासून स्‍वाइप करत आहात याची खात्री करा." "तुम्ही स्क्रीनच्या उजव्या कडेपासून मध्यावर स्‍वाइप करून बोट उचलत आहात याची खात्री करा." - - - - + "तुम्ही गो बॅक जेश्चर पूर्ण केले. आता, ॲप्स कशी स्विच करायची ते जाणून घ्या." + "तुम्ही गो बॅक जेश्चर पूर्ण केले." "तुम्ही स्क्रीनच्या तळाच्या अगदी जवळून स्‍वाइप करत नाही याची खात्री करा." "बॅक जेश्चरची संवेदनशीलता बदलण्यासाठी, सेटिंग्ज वर जा" - - - - + "मागे जाण्यासाठी डावीकडून स्वाइप करा" + "तुम्ही होतात त्या मागील स्क्रीनवर परत जाण्यासाठी, स्क्रीनच्या डाव्या कडेपासून मध्याभागी स्वाइप करा." "तुम्ही स्क्रीनच्या तळाच्या कडेपासून वर स्वाइप करत आहात याची खात्री करा." "तुम्ही स्क्रीनवरून बोट उचलण्यापूर्वी ते थांबवत नाही याची खात्री करा." "तुम्ही सरळ वर स्वाइप करत आहात याची खात्री करा." - - - - + "तुम्ही गो होम जेश्चर पूर्ण केले. आता, मागे कसे जायचे ते जाणून घ्या." + "तुम्ही गो होम जेश्चर पूर्ण केले." "होमवर जाण्यासाठी स्‍वाइप करा" "तुमच्या स्क्रीनच्या तळाकडून वर स्वाइप करा. हे जेश्चर तुम्हाला नेहमी होम स्क्रीनवर घेऊन जाते." "तुम्ही स्क्रीनच्या तळाच्या कडेपासून वर स्वाइप करत आहात याची खात्री करा." "विंडोवरून बोट उचलण्यापूर्वी थोडा वेळ ते तेथेच धरून ठेवा." "तुम्ही सरळ वर स्वाइप करून, त्यानंतर बोट थांबवत आहात याची खात्री करा." - - - - + "तुम्ही जेश्चर कसे वापरायचे हे शिकलात. जेश्चर बंद करण्यासाठी, सेटिंग्ज वर जा." + "तुम्ही ॲप्स स्विच करण्याचे जेश्चर पूर्ण केले." "अ‍ॅप्स स्विच करण्यासाठी स्वाइप करा" "तुमच्या स्क्रीनच्या तळाकडून वर स्वाइप करा, धरून ठेवा, त्यानंतर बोट उचला." "सर्व तयार आहे" "पुढील" - "पूर्ण झाले" "सेटिंग्ज" "पुन्हा प्रयत्न करा" "छान!" diff --git a/quickstep/res/values-ms/strings.xml b/quickstep/res/values-ms/strings.xml index c458c7a5e5..9585d42418 100644 --- a/quickstep/res/values-ms/strings.xml +++ b/quickstep/res/values-ms/strings.xml @@ -47,43 +47,32 @@ "Apl yang diramalkan: %1$s" "Pastikan anda meleret dari hujung sebelah kiri." "Pastikan anda meleret dari tepi sebelah kiri ke tengah skrin dan lepaskan." - - - - + "Bagus! Leret dari kanan untuk kembali sekarang" + "Anda juga boleh kembali ke skrin terakhir dengan meleret dari tepi sebelah kanan ke tengah skrin." "Pastikan anda meleret dari hujung sebelah kanan." "Pastikan anda meleret dari tepi sebelah kanan ke tengah skrin dan lepaskan." - - - - + "Anda telah melengkapkan gerak isyarat undur. Seterusnya, ketahui cara menukar apl." + "Anda telah melengkapkan gerak isyarat undur." "Pastikan anda tidak meleret terlalu dekat dengan bahagian bawah skrin." "Utk mengubah kepekaan gerak isyarat undur, pergi ke Tetapan" - - - - + "Leret dari kiri untuk kembali" + "Untuk kembali ke skrin terakhir yang anda berada, leret dari tepi sebelah kiri ke tengah skrin." "Pastikan anda meleret ke atas dari tepi sebelah bawah skrin." "Pastikan anda tidak menjeda sebelum melepaskan gerak isyarat tersebut." "Pastikan anda meleret terus ke atas." - - - - + "Anda telah melengkapkan gerak isyarat pergi ke Laman Utama. Seterusnya, ketahui cara kembali." + "Anda telah melengkapkan gerak isyarat pergi ke Laman Utama." "Leret untuk kembali ke laman utama" "Leret ke atas dari bahagian bawah skrin. Gerak isyarat ini sentiasa membawa anda ke Skrin utama." "Pastikan anda meleret ke atas dari tepi sebelah bawah skrin." "Cuba tahan tetingkap untuk tempoh yang lebih lama sebelum melepaskan." "Pastikan anda meleret ke atas, kemudian menjeda." - - - - + "Anda mempelajari cara menggunakan gerak isyarat. Untuk mematikan gerak isyarat, pergi ke Tetapan." + "Anda telah melengkapkan gerak isyarat menukar apl." "Leret untuk menukar apl" "Leret ke atas dari bahagian bawah skrin anda, tahan, kemudian lepaskan." "Selesai" "Seterusnya" - "Selesai" "Tetapan" "Cuba lagi" "Bagus!" diff --git a/quickstep/res/values-my/strings.xml b/quickstep/res/values-my/strings.xml index 44d096259a..63c495fb6f 100644 --- a/quickstep/res/values-my/strings.xml +++ b/quickstep/res/values-my/strings.xml @@ -73,7 +73,6 @@ "သင့်ဖန်သားပြင် အောက်ခြေမှ အပေါ်သို့ ပွတ်ဆွဲပါ၊ ဖိထားပြီးနောက် လွှတ်လိုက်ပါ။" "အားလုံးအဆင်သင့်ဖြစ်ပါပြီ" "ရှေ့သို့" - "ပြီးပြီ" "ဆက်တင်များ" "ထပ်စမ်းကြည့်ရန်" "ကောင်းသည်။" diff --git a/quickstep/res/values-nb/strings.xml b/quickstep/res/values-nb/strings.xml index 42ba19f92e..397679bc3f 100644 --- a/quickstep/res/values-nb/strings.xml +++ b/quickstep/res/values-nb/strings.xml @@ -73,7 +73,6 @@ "Sveip opp fra bunnen av skjermen, hold og slipp." "Ferdig" "Neste" - "Ferdig" "Innstillinger" "Prøv igjen" "Bra!" diff --git a/quickstep/res/values-ne/strings.xml b/quickstep/res/values-ne/strings.xml index cd9f79a9fd..7dfad54325 100644 --- a/quickstep/res/values-ne/strings.xml +++ b/quickstep/res/values-ne/strings.xml @@ -47,43 +47,32 @@ "पूर्वानुमान गरिएको एप: %1$s" "स्क्रिनको सबैभन्दा बायाँ किनाराबाट स्वाइप गर्नुहोस्।" "स्क्रिनको बायाँ किनाराबाट मध्य भागसम्म स्वाइप गर्नुहोस् अनि औँला उठाउनुहोस्।" - - - - + "राम्रो! अब पछाडि जान दायाँ किनाराबाट स्वाइप गर्नुहोस्" + "तपाईं स्क्रिनको दायाँ किनाराबाट मध्य भागसम्म स्वाइप गरेर पनि यसअघिको स्क्रिनमा फर्कन सक्नुहुन्छ।" "स्क्रिनको सबैभन्दा दायाँ किनाराबाट स्वाइप गर्नुहोस्।" "स्क्रिनको दायाँ किनाराबाट मध्य भागसम्म स्वाइप गर्नुहोस् अनि औँला उठाउनुहोस्।" - - - - + "तपाईंले \'पछाडि जानुहोस्\' नामक इसारा प्रयोग गर्ने तरिका सिक्नुभयो। अब एउटा एपबाट अर्को एपमा जाने तरिका सिक्नुहोस्।" + "तपाईंले \'पछाडि जानुहोस्\' नामक इसारा प्रयोग गर्ने तरिका सिक्नुभयो।" "स्क्रिनको फेदको धेरै नजिकसम्म स्वाइप नगर्नुहोस्।" "\'पछाडि\' नामक इसाराको संवेदनशीलता बदल्न सेटिङमा जानुहोस्" - - - - + "पछाडि जान बायाँ किनाराबाट स्वाइप गर्नुहोस्" + "तपाईं यसअघि जुन स्क्रिनमा हुनुहुन्थ्यो त्यो फर्कन स्क्रिनको बायाँ किनाराबाट मध्य भागसम्म स्वाइप गर्नुहोस्।" "स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।" "औँला उठाउनुअघि नरोकिनुहोस्।" "सीधै माथितिर स्वाइप गर्नुहोस्।" - - - - + "तपाईंले \'होम स्क्रिनमा जानुहोस्\' नामक इसारा प्रयोग गर्ने तरिका सिक्नुभयो। अब पछाडि जाने तरिका सिक्नुहोस्।" + "तपाईंले \'होम स्क्रिनमा जानुहोस्\' नामक इसारा प्रयोग गर्ने तरिका सिक्नुभयो।" "होम स्क्रिनमा जान स्वाइप गर्नुहोस्" "स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्। यो इसारा प्रयोग गर्दा सधैँ होम स्क्रिन खुल्छ।" "स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्।" "स्क्रिनबाट औँला उठाउनुअघि एपको विन्डोमा केही बेर छोइराख्नुहोस्।" "सीधै माथितिर स्वाइप गर्नुहोस् अनि रोकिनुहोस्।" - - - - + "तपाईंले इसाराहरू प्रयोग गर्ने तरिका सिक्नुभयो। इसारा अफ गर्न सेटिङमा जानुहोस्।" + "तपाईंले \'एउटा एपबाट अर्को एपमा जानुहोस्\' नामक इसारा प्रयोग गर्ने तरिका सिक्नुभयो।" "एउटा एपबाट अर्को एपमा जान स्वाइप गर्नुहोस्" "स्क्रिनको फेदबाट माथितिर स्वाइप गर्नुहोस्, छोइराख्नुहोस् अनि औँला उठाउनुहोस्।" "सबै तयार छ" "अर्को" - "सम्पन्न भयो" "सेटिङ" "फेरि प्रयास गर्नुहोस्" "राम्रो!" diff --git a/quickstep/res/values-nl/strings.xml b/quickstep/res/values-nl/strings.xml index af043e104f..5ef7b489eb 100644 --- a/quickstep/res/values-nl/strings.xml +++ b/quickstep/res/values-nl/strings.xml @@ -73,7 +73,6 @@ "Swipe omhoog vanaf de onderkant van het scherm, houd vast en laat dan los." "Klaar" "Volgende" - "Klaar" "Instellingen" "Opnieuw" "Dat gaat lekker." diff --git a/quickstep/res/values-or/strings.xml b/quickstep/res/values-or/strings.xml index 84f52b41ab..abe1af1921 100644 --- a/quickstep/res/values-or/strings.xml +++ b/quickstep/res/values-or/strings.xml @@ -47,43 +47,32 @@ "ପୂର୍ବାନୁମାନ କରାଯାଇଥିବା ଆପ୍: %1$s" "ଆପଣ ଦୂର-ବାମ ଧାରରୁ ସ୍ୱାଇପ୍ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ଆପଣ ସ୍କ୍ରିନର ବାମ ଧାରରୁ ମଝିକୁ ସ୍ୱାଇପ୍ କରି ଛାଡ଼ି ଦେଉଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" - - - - + "ବଢ଼ିଆ! ବର୍ତ୍ତମାନ ପଛକୁ ଫେରିବା ପାଇଁ ଡାହାଣ ଧାରରୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ" + "ଆପଣ ସ୍କ୍ରିନର ଡାହାଣ ଧାରରୁ ମଝିକୁ ସ୍ୱାଇପ୍ କରି ପୂର୍ବ ସ୍କ୍ରିନକୁ ମଧ୍ୟ ଫେରିପାରିବେ।" "ଆପଣ ଦୂର-ଡାହାଣ ଧାରରୁ ସ୍ୱାଇପ୍ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ଆପଣ ସ୍କ୍ରିନର ଡାହାଣ ଧାରରୁ ମଝିକୁ ସ୍ୱାଇପ୍ କରି ଛାଡ଼ି ଦେଉଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" - - - - + "ଆପଣ \'ପଛକୁ ଫେରନ୍ତୁ\' ଜେଶ୍ଚର୍ ସମ୍ପୂର୍ଣ୍ଣ କରିଛନ୍ତି। ତା\'ପରେ, ଆପଗୁଡ଼ିକୁ କିପରି ସ୍ୱିଚ୍ କରିବେ ତାହା ଜାଣନ୍ତୁ।" + "ଆପଣ \'ପଛକୁ ଫେରନ୍ତୁ\' ଜେଶ୍ଚର୍ ସମ୍ପୂର୍ଣ୍ଣ କରିଛନ୍ତି।" "ଆପଣ ସ୍କ୍ରିନର ତଳଭାଗର ଅତି ନିକଟରୁ ସ୍ୱାଇପ୍ କରୁନଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ପଛକୁ ଫେରିବା ଜେଶ୍ଚରର ସମ୍ବେଦନଶୀଳତା ବଦଳାଇବାକୁ ସେଟିଂସକୁ ଯାଆନ୍ତୁ" - - - - + "ପଛକୁ ଫେରିବା ପାଇଁ ବାମ ଧାରରୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ" + "ଆପଣ ଯେଉଁ ପୂର୍ବ ସ୍କ୍ରିନରେ ଥିଲେ ସେହି ସ୍କ୍ରିନକୁ ଫେରିବା ପାଇଁ, ସ୍କ୍ରିନର ବାମ ଧାରରୁ ମଝିକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।" "ଆପଣ ସ୍କ୍ରିନର ତଳ ଧାରରୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ଆପଣ ଛାଡ଼ିବା ପୂର୍ବରୁ ବିରତ କରୁନଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ଆପଣ ସିଧା ଉପରକୁ ସ୍ୱାଇପ୍ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" - - - - + "ଆପଣ \'ମୂଳପୃଷ୍ଠାକୁ ଯାଆନ୍ତୁ\' ଜେଶ୍ଚର୍ ସମ୍ପୂର୍ଣ୍ଣ କରିଛନ୍ତି। ତା\'ପରେ, ପଛକୁ କିପରି ଫେରିବେ ତାହା ଜାଣନ୍ତୁ।" + "ଆପଣ \'ମୂଳପୃଷ୍ଠାକୁ ଯାଆନ୍ତୁ\' ଜେଶ୍ଚର୍ ସମ୍ପୂର୍ଣ୍ଣ କରିଛନ୍ତି।" "ମୂଳପୃଷ୍ଠାକୁ ଯିବା ପାଇଁ ସ୍ୱାଇପ୍ କରନ୍ତୁ" "ଆପଣଙ୍କ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ। ଏହି ଜେଶ୍ଚର୍ ସର୍ବଦା ଆପଣଙ୍କୁ ମୂଳସ୍କ୍ରିନକୁ ନେଇଥାଏ।" "ଆପଣ ସ୍କ୍ରିନର ତଳ ଧାରରୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ୱିଣ୍ଡୋକୁ ରିଲିଜ୍ କରିବା ପୂର୍ବରୁ ଅଧିକ ସମୟ ଧରି ରଖିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ।" "ଆପଣ ସିଧା ଉପରକୁ ସ୍ୱାଇପ୍ କରି ତା\'ପରେ ବିରତ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" - - - - + "ଜେଶ୍ଚରଗୁଡ଼ିକୁ କିପରି ବ୍ୟବହାର କରାଯିବ ଆପଣ ତାହା ଶିଖିଛନ୍ତି। ଜେଶ୍ଚରଗୁଡ଼ିକୁ ବନ୍ଦ କରିବାକୁ, ସେଟିଂସକୁ ଯାଆନ୍ତୁ।" + "ଆପଣ \'ଆପଗୁଡ଼ିକୁ ସ୍ୱିଚ୍ କରନ୍ତୁ\' ଜେଶ୍ଚର୍ ସମ୍ପୂର୍ଣ୍ଣ କରିଛନ୍ତି।" "ଆପଗୁଡ଼ିକୁ ସ୍ୱିଚ୍ କରିବା ପାଇଁ ସ୍ୱାଇପ୍ କରନ୍ତୁ" "ଆପଣଙ୍କ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ, ଧରି ରଖନ୍ତୁ, ତା\'ପରେ ରିଲିଜ୍ କରନ୍ତୁ।" "ସବୁ ପ୍ରସ୍ତୁତ" "ପରବର୍ତ୍ତୀ" - "ହୋଇଗଲା" "ସେଟିଂସ୍" "ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ" "ବଢ଼ିଆ!" diff --git a/quickstep/res/values-pa/strings.xml b/quickstep/res/values-pa/strings.xml index fc3ea1c227..eb0f1b0669 100644 --- a/quickstep/res/values-pa/strings.xml +++ b/quickstep/res/values-pa/strings.xml @@ -47,43 +47,32 @@ "ਪੂਰਵ ਅਨੁਮਾਨਿਤ ਐਪ: %1$s" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਦੂਰ-ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ ਸਕ੍ਰੀਨ ਦੇ ਵਿਚਕਾਰ ਤੱਕ ਸਵਾਈਪ ਕਰਦੇ ਹੋ ਅਤੇ ਛੱਡ ਦਿੰਦੇ ਹੋ।" - - - - + "ਵਧੀਆ! ਹੁਣ ਪਿੱਛੇ ਜਾਣ ਲਈ ਸੱਜੇ ਪਾਸੇ ਤੋਂ ਸਵਾਈਪ ਕਰੋ" + "ਤੁਸੀਂ ਸੱਜੇ ਕਿਨਾਰੇ ਤੋਂ ਸਕ੍ਰੀਨ ਦੇ ਵਿਚਕਾਰ ਤੱਕ ਸਵਾਈਪ ਕਰਕੇ ਪਿਛਲੀ ਸਕ੍ਰੀਨ \'ਤੇ ਵਾਪਸ ਜਾ ਸਕਦੇ ਹੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਦੂਰ-ਸੱਜੇ ਕਿਨਾਰੇ ਤੋਂ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸੱਜੇ ਕਿਨਾਰੇ ਤੋਂ ਸਕ੍ਰੀਨ ਦੇ ਵਿਚਕਾਰ ਤੱਕ ਸਵਾਈਪ ਕਰਦੇ ਹੋ ਅਤੇ ਛੱਡ ਦਿੰਦੇ ਹੋ।" - - - - + "ਤੁਸੀਂ \'ਵਾਪਸ ਜਾਓ\' ਦਾ ਇਸ਼ਾਰਾ ਪੂਰਾ ਕੀਤਾ। ਅੱਗੇ, ਜਾਣੋ ਕਿ ਐਪਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਿਵੇਂ ਕਰਨੀ ਹੈ।" + "ਤੁਸੀਂ \'ਵਾਪਸ ਜਾਓ\' ਦਾ ਇਸ਼ਾਰਾ ਪੂਰਾ ਕੀਤਾ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਲੇ ਹਿੱਸੇ ਦੇ ਬਹੁਤ ਨੇੜੇ ਸਵਾਈਪ ਨਾ ਕਰੋ।" "ਪਿੱਛੇ ਜਾਣ ਦੇ ਸੰਕੇਤ ਦੀ ਸੰਵੇਦਨਸ਼ੀਲਤਾ ਬਦਲਣ ਲਈ, ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ" - - - - + "ਪਿੱਛੇ ਜਾਣ ਲਈ ਖੱਬੇ ਪਾਸੇ ਤੋਂ ਸਵਾਈਪ ਕਰੋ" + "ਜਿੱਥੇ ਤੁਸੀਂ ਸੀ ਉਸ ਸਕ੍ਰੀਨ \'ਤੇ ਵਾਪਸ ਜਾਣ ਲਈ, ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ ਸਕ੍ਰੀਨ ਦੇ ਵਿਚਕਾਰ ਤੱਕ ਸਵਾਈਪ ਕਰੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਲੇ ਕਿਨਾਰੇ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" "ਪੱਕਾ ਕਰੋ ਕਿ ਸਕ੍ਰੀਨ ਨੂੰ ਛੱਡਣ ਤੋਂ ਪਹਿਲਾਂ ਰੁਕੋ ਨਾ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸਿੱਧੇ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" - - - - + "ਤੁਸੀਂ \'ਹੋਮ \'ਤੇ ਜਾਓ\' ਦਾ ਇਸ਼ਾਰਾ ਪੂਰਾ ਕੀਤਾ। ਅੱਗੇ, ਜਾਣੋ ਕਿ ਪਿੱਛੇ ਕਿਵੇਂ ਜਾਣਾ ਹੈ।" + "ਤੁਸੀਂ \'ਹੋਮ \'ਤੇ ਜਾਓ\' ਦਾ ਇਸ਼ਾਰਾ ਪੂਰਾ ਕੀਤਾ।" "ਹੋਮ \'ਤੇ ਜਾਣ ਲਈ ਸਵਾਈਪ ਕਰੋ" "ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ। ਇਹ ਸੰਕੇਤ ਹਮੇਸ਼ਾਂ ਤੁਹਾਨੂੰ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਲੈ ਜਾਂਦਾ ਹੈ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਲੇ ਕਿਨਾਰੇ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" "ਛੱਡਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿੰਡੋ ਨੂੰ ਕੁਝ ਸਮੇਂ ਲਈ ਦਬਾ ਕੇ ਰੱਖੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸਿੱਧੇ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਦੇ ਹੋ, ਫਿਰ ਰੋਕੋ।" - - - - + "ਤੁਸੀਂ ਇਸ਼ਾਰੇ ਵਰਤਣ ਬਾਰੇ ਜਾਣਿਆ। ਇਸ਼ਾਰੇ ਬੰਦ ਕਰਨ ਲਈ, ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ।" + "ਤੁਸੀਂ \'ਐਪਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰੋ\' ਦਾ ਇਸ਼ਾਰਾ ਪੂਰਾ ਕੀਤਾ।" "ਐਪਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ ਸਵਾਈਪ ਕਰੋ" "ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ, ਅਤੇ ਫਿਰ ਛੱਡੋ।" "ਪੂਰੀ ਤਰ੍ਹਾਂ ਤਿਆਰ" "ਅੱਗੇ" - "ਹੋ ਗਿਆ" "ਸੈਟਿੰਗਾਂ" "ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ" "ਵਧੀਆ!" diff --git a/quickstep/res/values-pl/strings.xml b/quickstep/res/values-pl/strings.xml index 6a8f188a3c..08a8ba4417 100644 --- a/quickstep/res/values-pl/strings.xml +++ b/quickstep/res/values-pl/strings.xml @@ -73,7 +73,6 @@ "Przesuń palcem od dołu ekranu, przytrzymaj i puść." "Wszystko gotowe" "Dalej" - "Gotowe" "Ustawienia" "Spróbuj ponownie" "Super!" diff --git a/quickstep/res/values-pt-rPT/strings.xml b/quickstep/res/values-pt-rPT/strings.xml index b553c4c92b..ec14c25f9b 100644 --- a/quickstep/res/values-pt-rPT/strings.xml +++ b/quickstep/res/values-pt-rPT/strings.xml @@ -73,7 +73,6 @@ "Deslize rapidamente para cima a partir da parte inferior do ecrã sem soltar e, em seguida, solte." "Está tudo pronto" "Seguinte" - "Concluído" "Definições" "Tente novamente" "Boa!" diff --git a/quickstep/res/values-pt/strings.xml b/quickstep/res/values-pt/strings.xml index 3b3148f258..3a641fecc6 100644 --- a/quickstep/res/values-pt/strings.xml +++ b/quickstep/res/values-pt/strings.xml @@ -73,7 +73,6 @@ "Deslize de baixo para cima na tela, mantenha-a pressionada e depois solte." "Tudo pronto" "Próxima" - "Concluído" "Configurações" "Tentar novamente" "Muito bem!" diff --git a/quickstep/res/values-ro/strings.xml b/quickstep/res/values-ro/strings.xml index 11d23d1945..2803844540 100644 --- a/quickstep/res/values-ro/strings.xml +++ b/quickstep/res/values-ro/strings.xml @@ -73,7 +73,6 @@ "Glisați în sus din partea de jos a ecranului, așteptați, apoi eliberați." "Gata" "Înainte" - "Gata" "Setări" "Reîncercați" "Bravo!" diff --git a/quickstep/res/values-ru/strings.xml b/quickstep/res/values-ru/strings.xml index e8a1be3a80..d70980684a 100644 --- a/quickstep/res/values-ru/strings.xml +++ b/quickstep/res/values-ru/strings.xml @@ -73,7 +73,6 @@ "Проведите вверх от нижнего края экрана, задержите палец в крайнем положении, а затем отпустите." "Готово" "Далее" - "Готово" "Настройки" "Повторите попытку" "Поздравляем!" diff --git a/quickstep/res/values-si/strings.xml b/quickstep/res/values-si/strings.xml index f540b44a10..1f735552ea 100644 --- a/quickstep/res/values-si/strings.xml +++ b/quickstep/res/values-si/strings.xml @@ -73,7 +73,6 @@ "ඔබගේ තිරයේ පහළින් උඩට ස්වයිප් කර, අල්ලාගෙන සිට, අනතුරුව මුදා හරින්න." "සියල්ල සකසා ඇත" "ඊළඟ" - "නිමයි" "සැකසීම්" "නැවත උත්සාහ කරන්න" "කදිමයි!" diff --git a/quickstep/res/values-sk/strings.xml b/quickstep/res/values-sk/strings.xml index 95f220d29d..c2f9a239a3 100644 --- a/quickstep/res/values-sk/strings.xml +++ b/quickstep/res/values-sk/strings.xml @@ -73,7 +73,6 @@ "Potiahnite nahor z dolnej časti obrazovky, pridržte a uvoľnite." "Hotovo" "Ďalej" - "Hotovo" "Nastavenia" "Skúste to znova" "Výborne!" diff --git a/quickstep/res/values-sl/strings.xml b/quickstep/res/values-sl/strings.xml index 42b093d6bb..cf160ba931 100644 --- a/quickstep/res/values-sl/strings.xml +++ b/quickstep/res/values-sl/strings.xml @@ -73,7 +73,6 @@ "Povlecite navzgor z dna zaslona, pridržite, nato izpustite." "Zdaj znate" "Naprej" - "Končano" "Nastavitve" "Poskusite znova" "Odlično!" diff --git a/quickstep/res/values-sq/strings.xml b/quickstep/res/values-sq/strings.xml index cee7183616..2097f35424 100644 --- a/quickstep/res/values-sq/strings.xml +++ b/quickstep/res/values-sq/strings.xml @@ -73,19 +73,14 @@ "Rrëshqit shpejt lart nga fundi i ekranit, mbaje të shtypur dhe më pas lëshoje." "Plotësisht gati" "Para" - "U krye" "Cilësimet" "Provo përsëri" "Bukur!" "Udhëzuesi %1$d/%2$d" - - - - - - - - + "Plotësisht gati!" + "Rrëshqit shpejt lart për të shkuar në ekranin bazë" + "Je gati për të filluar përdorimin e telefonit tënd" + "Cilësimet e navigimit për qasshmërinë" "Ndaj" "Pamja e ekranit" "Ky veprim nuk lejohet nga aplikacioni ose organizata jote" diff --git a/quickstep/res/values-sr/strings.xml b/quickstep/res/values-sr/strings.xml index 21bcda23e5..58ccab1ba1 100644 --- a/quickstep/res/values-sr/strings.xml +++ b/quickstep/res/values-sr/strings.xml @@ -73,7 +73,6 @@ "Превуците нагоре од дна екрана, задржите, па пустите." "То је то" "Даље" - "Готово" "Подешавања" "Пробајте поново" "Свака част!" diff --git a/quickstep/res/values-sv/strings.xml b/quickstep/res/values-sv/strings.xml index dd3490b4b9..2f8f8cf4ff 100644 --- a/quickstep/res/values-sv/strings.xml +++ b/quickstep/res/values-sv/strings.xml @@ -83,7 +83,6 @@ "Svep uppåt från skärmens nederkant. Håll fingret nedtryckt och släpp sedan." "Klart" "Nästa" - "Klar" "Inställningar" "Försök igen" "Bra!" diff --git a/quickstep/res/values-sw/strings.xml b/quickstep/res/values-sw/strings.xml index d8bfcf06d4..1d5c77efa3 100644 --- a/quickstep/res/values-sw/strings.xml +++ b/quickstep/res/values-sw/strings.xml @@ -73,7 +73,6 @@ "Telezesha kidole juu kuanzia sehemu ya chini ya skrini yako, ushikilie, kisha uachilie." "Kila kitu kiko tayari" "Endelea" - "Nimemaliza" "Mipangilio" "Jaribu tena" "Safi!" diff --git a/quickstep/res/values-ta/strings.xml b/quickstep/res/values-ta/strings.xml index d12c51c2a8..a86446aa9e 100644 --- a/quickstep/res/values-ta/strings.xml +++ b/quickstep/res/values-ta/strings.xml @@ -73,7 +73,6 @@ "திரையின் கீழிலிருந்து மேலாக ஸ்வைப் செய்து, சில விநாடிகள் பிடித்திருந்து, பிறகு விரலை எடுங்கள்." "எல்லாம் தயார்" "அடுத்து" - "முடிந்தது" "அமைப்புகள்" "மீண்டும் முயல்க" "அருமை!" diff --git a/quickstep/res/values-te/strings.xml b/quickstep/res/values-te/strings.xml index 78932d5e34..5d23cc07b6 100644 --- a/quickstep/res/values-te/strings.xml +++ b/quickstep/res/values-te/strings.xml @@ -47,43 +47,32 @@ "సూచించబడిన యాప్: %1$s" "మీరు చాలా-ఎడమ అంచు నుండి స్వైప్ చేశారని నిర్ధారించుకోండి." "మీరు ఎడమ అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేశారని నిర్ధారించుకోని, ఆపై మీ వేలిని ఎత్తండి." - - - - + "బాగుంది! ఇప్పుడు తిరిగి వెళ్ళడానికి కుడి నుండి స్వైప్ చేయండి" + "కుడి అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేయడం ద్వారా మీరు చివరి స్క్రీన్‌కు తిరిగి వెళ్ళవచ్చు." "మీరు చాలా-కుడి అంచు నుండి స్వైప్ చేశారని నిర్ధారించుకోండి." "మీరు కుడి అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేశారని నిర్ధారించుకోని, ఆపై మీ వేలిని ఎత్తండి." - - - - + "మీరు తిరిగి వెనక్కు వెళ్లే సంజ్ఞను పూర్తి చేశారు. తర్వాత, యాప్‌ల మధ్య ఎలా మారాలో తెలుసుకోండి." + "మీరు తిరిగి వెనక్కు వెళ్లే సంజ్ఞను పూర్తి చేశారు." "మీరు స్క్రీన్ దిగువకు చాలా దగ్గరగా స్వైప్ చేయలేదని నిర్ధారించుకోండి." "వెనుక సంజ్ఞ సున్నితత్వం మార్చడానికి, సెట్టింగ్‌లకు వెళ్లండి" - - - - + "వెనుకకు వెళ్లడానికి ఎడమ వైపు నుండి స్వైప్ చేయండి" + "మీరు ఉన్న చివరి స్క్రీన్‌కు తిరిగి వెళ్లడానికి, ఎడమ అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేయండి." "మీరు స్క్రీన్ దిగువ అంచు నుండి పైకి స్వైప్ చేశారని నిర్ధారించుకోండి." "బయలుదేరే ముందు మీరు పాజ్ చేయకుండా చూసుకోండి." "మీరు నేరుగా పైకి స్వైప్ చేశారని నిర్ధారించుకోండి." - - - - + "మీరు మొదటి ట్యాబ్‌కు వెళ్లే సంజ్ఞను పూర్తి చేశారు. తర్వాత, వెనుకకు ఎలా వెళ్లాలో తెలుసుకోండి." + "మీరు మొదటి ట్యాబ్‌కు వెళ్లే సంజ్ఞను పూర్తి చేశారు." "వర్చువల్ హోమ్‌కి వెళ్లడానికి స్వైప్ చేయండి" "మీ స్క్రీన్ కింది నుండి పైకి స్వైప్ చేయి. ఈ సంజ్ఞ ఎప్పుడూ మిమ్మల్ని మొదటి స్క్రీన్‌కు తీసుకెళ్తుంది." "మీరు స్క్రీన్ దిగువ అంచు నుండి పైకి స్వైప్ చేశారని నిర్ధారించుకోండి." "రిలీజ్ చేయడానికి ముందు విండోను ఎక్కువసేపు పట్టుకోడానికి ట్రై చేయండి." "మీరు నేరుగా స్వైప్ చేశారని నిర్ధారించుకోండి, ఆపై పాజ్ చేయండి." - - - - + "మీరు సంజ్ఞలను ఎలా ఉపయోగించాలో నేర్చుకున్నారు. సంజ్ఞలను ఆఫ్ చేయడానికి, సెట్టింగ్‌లకు వెళ్లండి." + "మీరు \'యాప్‌ల మధ్య మార్పు\' సంజ్ఞను పూర్తి చేశారు." "యాప్‌ల మధ్య మార్చడం కోసం స్వైప్ చేయండి" "మీ స్క్రీన్ కింది వైపు నుండి పైకి స్వైప్ చేసి, హోల్డ్ చేసి, తర్వాత రిలీజ్ చేయండి." "అంతా సిద్ధంగా ఉంది" "తర్వాత" - "పూర్తయింది" "సెట్టింగ్‌లు" "మళ్లీ ట్రై చేయండి" "పనితీరు బాగుంది!" diff --git a/quickstep/res/values-th/strings.xml b/quickstep/res/values-th/strings.xml index 89206db038..6dc5504bd9 100644 --- a/quickstep/res/values-th/strings.xml +++ b/quickstep/res/values-th/strings.xml @@ -73,7 +73,6 @@ "ปัดขึ้นจากด้านล่างของหน้าจอค้างไว้ แล้วปล่อย" "เรียบร้อย" "ถัดไป" - "เสร็จสิ้น" "การตั้งค่า" "ลองอีกครั้ง" "ดีมาก" diff --git a/quickstep/res/values-tl/strings.xml b/quickstep/res/values-tl/strings.xml index a4da3376a9..2ca59e7f91 100644 --- a/quickstep/res/values-tl/strings.xml +++ b/quickstep/res/values-tl/strings.xml @@ -73,7 +73,6 @@ "Mag-swipe pataas mula sa ibaba ng iyong screen, mag-hold, pagkatapos ay bitawan ito." "Handa na ang lahat" "Susunod" - "Tapos na" "Mga Setting" "Subukan ulit" "Magaling!" diff --git a/quickstep/res/values-tr/strings.xml b/quickstep/res/values-tr/strings.xml index 595a8a64c4..3a235104ca 100644 --- a/quickstep/res/values-tr/strings.xml +++ b/quickstep/res/values-tr/strings.xml @@ -73,7 +73,6 @@ "Ekranınızın alt tarafından yukarı doğru kaydırın, tutun ve sonra bırakın." "Hepsi bu kadar" "Sonraki" - "Bitti" "Ayarlar" "Tekrar deneyin" "Güzel!" diff --git a/quickstep/res/values-uk/strings.xml b/quickstep/res/values-uk/strings.xml index f350cd248e..8812faa925 100644 --- a/quickstep/res/values-uk/strings.xml +++ b/quickstep/res/values-uk/strings.xml @@ -73,7 +73,6 @@ "Проведіть пальцем вгору від низу екрана, утримуйте палець на екрані, а потім відпустіть." "Усе готово!" "Далі" - "Готово" "Налаштування" "Спробуйте ще" "Чудово!" diff --git a/quickstep/res/values-ur/strings.xml b/quickstep/res/values-ur/strings.xml index 509e234a51..871a628632 100644 --- a/quickstep/res/values-ur/strings.xml +++ b/quickstep/res/values-ur/strings.xml @@ -47,43 +47,32 @@ "پیشن گوئی کردہ ایپ: %1$s" "اس بات کو یقینی بنائیں کہ آپ بائیں کنارے سے دور سے سوائپ کریں۔" "یقینی طور پر بائیں کنارے سے اسکرین کے وسط تک سوائپ کریں اور پھر اپنی انگلی اٹھا لیں۔" - - - - + "عمدہ! اب واپس جانے کے لیے دائیں کنارے سے سوائپ کریں" + "آپ دائیں کنارے سے اسکرین کے وسط تک سوائپ کر کے پچھلی اسکرین پر واپس بھی جا سکتے ہیں۔" "اس بات کو یقینی بنائیں کہ آپ دائیں کنارے سے دور سے سوائپ کریں۔" "یقینی طور پر دائیں کنارے سے اسکرین کے وسط تک سوائپ کریں اور پھر اپنی انگلی اٹھا لیں۔" - - - - + "آپ نے واپس جائیں اشارے کو مکمل کر لیا۔ اس کے بعد ایپس سوئچ کرنے کا طریقہ جانیں۔" + "آپ نے واپس جائیں اشارے کو مکمل کر لیا۔" "اس بات کو یقینی بنائیں کہ آپ اسکرین کے نچلے حصے سے زیادہ قریب سے سوائپ نہ کریں۔" "پچھلے اشارے کی حساسیت تبدیل کرنے کے لیے ترتیبات پر جائیں" - - - - + "واپس جانے کے لیے بائیں کنارے سے سوائپ کریں" + "پچھلی اسکرین جس پر آپ تھے اس پر واپس جانے کے لیے بائیں کنارے سے اسکرین کے وسط تک سوائپ کریں۔" "اس بات کو یقینی بنائیں کہ آپ اسکرین کے نچلے کنارے سے اوپر کی طرف سوائپ کریں۔" "اس بات کو یقینی بنائیں کہ آپ اپنی انگلی اوپر اٹھانے سے پہلے موقوف نہ کریں۔" "اس بات کو یقینی بنائیں کہ آپ سیدھا اوپر کی طرف سوائپ کریں۔" - - - - + "آپ نے ہوم پر جانے کا اشارہ مکمل کر لیا۔ اس کے بعد واپس جانے کا طریقہ جانیں۔" + "آپ نے ہوم پر جانے کا اشارہ مکمل کر لیا۔" "ہوم پر جانے کے لیے سوائپ کریں" "اپنی اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔ یہ اشارہ آپ کو ہمیشہ ہوم اسکرین پر لے جاتا ہے۔" "اس بات کو یقینی بنائیں کہ آپ اسکرین کے نچلے کنارے سے اوپر کی طرف سوائپ کریں۔" "انگلی اٹھانے سے پہلے ونڈو کو زیادہ دیر تک پکڑنے کی کوشش کریں۔" "اس بات کو یقینی بنائیں کہ آپ سیدھا اوپر کی طرف سوائپ کریں، پھر موقوف کریں۔" - - - - + "آپ نے اشاروں کو استعمال کرنے کا طریقہ سیکھ لیا۔ اشاروں کو آف کرنے کے لیے ترتیبات پر جائیں۔" + "آپ نے ایپس کو سوئچ کرنے کا اشارہ مکمل کر لیا۔" "ایپس سوئچ کرنے کے لیے سوائپ کریں" "اپنی اسکرین کے نچلے حصے سے اوپر کی طرف سوائپ کریں، پکڑ کر رکھیں، پھر چھوڑ دیں۔" "سب ہو گیا" "آگے" - "ہو گیا" "ترتیبات" "پھر کوشش کریں" "عمدہ!" diff --git a/quickstep/res/values-uz/strings.xml b/quickstep/res/values-uz/strings.xml index 32579d6ce8..c1b1262bbc 100644 --- a/quickstep/res/values-uz/strings.xml +++ b/quickstep/res/values-uz/strings.xml @@ -73,7 +73,6 @@ "Ekranning pastidan tepasiga suring, bosib turing va qoʻyib yuboring." "Tayyor" "Keyingisi" - "Tayyor" "Sozlamalar" "Qayta urinish" "Yaxshi!" diff --git a/quickstep/res/values-vi/strings.xml b/quickstep/res/values-vi/strings.xml index 4b6889a881..836f89d330 100644 --- a/quickstep/res/values-vi/strings.xml +++ b/quickstep/res/values-vi/strings.xml @@ -73,7 +73,6 @@ "Vuốt lên từ cuối màn hình, giữ rồi thả tay ra." "Đã hoàn tất" "Tiếp theo" - "Xong" "Cài đặt" "Thử lại" "Tuyệt vời!" diff --git a/quickstep/res/values-zh-rCN/strings.xml b/quickstep/res/values-zh-rCN/strings.xml index b65553f37c..53499e2fc4 100644 --- a/quickstep/res/values-zh-rCN/strings.xml +++ b/quickstep/res/values-zh-rCN/strings.xml @@ -73,7 +73,6 @@ "从屏幕底部向上滑动后按住,然后松开。" "大功告成" "继续" - "完成" "设置" "重试" "很好!" diff --git a/quickstep/res/values-zh-rHK/strings.xml b/quickstep/res/values-zh-rHK/strings.xml index feee950fc3..a8b8fc5225 100644 --- a/quickstep/res/values-zh-rHK/strings.xml +++ b/quickstep/res/values-zh-rHK/strings.xml @@ -73,7 +73,6 @@ "從螢幕底部向上滑動並按住,然後放開。" "大功告成" "繼續" - "完成" "設定" "再試一次" "很好!" diff --git a/quickstep/res/values-zh-rTW/strings.xml b/quickstep/res/values-zh-rTW/strings.xml index 6dc5c572ab..8d47ace777 100644 --- a/quickstep/res/values-zh-rTW/strings.xml +++ b/quickstep/res/values-zh-rTW/strings.xml @@ -73,7 +73,6 @@ "從螢幕底部向上滑動並按住,然後放開。" "大功告成" "繼續" - "完成" "設定" "重試" "很好!" diff --git a/quickstep/res/values-zu/strings.xml b/quickstep/res/values-zu/strings.xml index 06d039f9ad..212e77c60c 100644 --- a/quickstep/res/values-zu/strings.xml +++ b/quickstep/res/values-zu/strings.xml @@ -73,7 +73,6 @@ "Swayiphela phezulu kusuka ngezansi kwesikrini sakho, ubambe, bese udedele." "Konke kusethiwe" "Okulandelayo" - "Kwenziwe" "Amasethingi" "Zama futhi" "Kuhle!" From 71e6c35971cbd034f3d8c49bd4aada2898471156 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 20 May 2021 01:55:36 +0000 Subject: [PATCH 005/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I1e88acfbcbfbdfbf65b450ab1bf61c732da78fcb --- res/values-vi/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index eb39c9a132..9c308e0711 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -97,7 +97,7 @@ "Thư mục: %1$s, %2$d mục" "Thư mục: %1$s, %2$d mục trở lên" "Hình nền" - "Hình nền và kiểu" + "Hình nền và phong cách" "Cài đặt màn hình chính" "Bị tắt bởi quản trị viên của bạn" "Cho phép xoay Màn hình chính" From 960a2b26965e0eaee23300b0f902c6037ae5ec16 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Tue, 18 May 2021 12:13:39 +0100 Subject: [PATCH 006/905] Always focus a task in overview - Focus first task when applying load plan - Focus the next task in shorter row when focused task is dismissed, scale the snapshot and translate the task into focused position - Always show actions view as there is always a focused task. Update scroll alpha when toggling grid enabled - In fallback recents, take into account that home task will be dismissed when determining rows for the grid, ensuring next focused task won't affect row balancing - Bring back clearAllShortTotalCompensation as there isn't always a snappedTaskView (e.g. when snapped to ClearAllButton) - Ensure that getFocusedTaskView is only used when showAsGrid is true Bug: 187839470 Fixes: 188001858 Fixes: 189057812 Test: manual Change-Id: I6f31ef469c58fda70d2dd8caa2ee7d8a80c7f03b --- .../RecentsViewStateController.java | 3 +- .../FallbackRecentsStateController.java | 4 +- .../fallback/FallbackRecentsView.java | 8 +- .../android/quickstep/views/RecentsView.java | 325 ++++++++++++------ .../com/android/quickstep/views/TaskView.java | 28 +- src/com/android/launcher3/util/IntSet.java | 10 + 6 files changed, 255 insertions(+), 123 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java index 996d36aadc..6cad3ddc92 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java @@ -106,8 +106,7 @@ public final class RecentsViewStateController extends float clearAllButtonAlpha = state.areElementsVisible(mLauncher, CLEAR_ALL_BUTTON) ? 1 : 0; propertySetter.setFloat(mRecentsView.getClearAllButton(), ClearAllButton.VISIBILITY_ALPHA, clearAllButtonAlpha, LINEAR); - float overviewButtonAlpha = state.areElementsVisible(mLauncher, OVERVIEW_ACTIONS) - && mRecentsView.shouldShowOverviewActionsForState(state) ? 1 : 0; + float overviewButtonAlpha = state.areElementsVisible(mLauncher, OVERVIEW_ACTIONS) ? 1 : 0; propertySetter.setFloat(mLauncher.getActionsView().getVisibilityAlpha(), MultiValueAlpha.VALUE, overviewButtonAlpha, config.getInterpolator( ANIM_OVERVIEW_ACTIONS_FADE, LINEAR)); diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java index f0364eb410..52083bbd8f 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java @@ -77,9 +77,7 @@ public class FallbackRecentsStateController implements StateHandler mSizeStrategy; @@ -348,6 +348,13 @@ public abstract class RecentsView 0) { + mFocusedTaskId = getTaskViewAt(0).getTaskId(); + } updateTaskSize(); if (mNextPage == INVALID_PAGE) { @@ -1166,7 +1176,7 @@ public abstract class RecentsView= 0; i--) { TaskView taskView = getTaskViewAt(i); - if (mIgnoreResetTaskId != taskView.getTask().key.id) { + if (mIgnoreResetTaskId != taskView.getTaskId()) { taskView.resetViewTransforms(); taskView.setStableAlpha(mContentAlpha); taskView.setFullscreenProgress(mFullscreenProgress); @@ -1285,6 +1295,11 @@ public abstract class RecentsView 0 ? getTaskViewAt(0).getTaskId() : -1; if (mRecentsAnimationController != null) { if (LIVE_TILE.get() && mEnableDrawingLiveTile) { @@ -1579,6 +1611,10 @@ public abstract class RecentsView v.getVisibility() != GONE && v != taskView); - int taskCount = getTaskViewCount(); int scrollDiffPerPage = 0; - if (count > 1) { - scrollDiffPerPage = Math.abs(oldScroll[1] - oldScroll[0]); - } - int draggedIndex = indexOfChild(taskView); - - boolean isFocusedTaskDismissed = taskView.getTask().key.id == mFocusedTaskId; - if (isFocusedTaskDismissed && showAsGrid()) { - anim.setFloat(mActionsView, VIEW_ALPHA, 0, clampToProgress(ACCEL_0_5, 0, 0.5f)); - } - float dismissedTaskWidth = taskView.getLayoutParams().width + mPageSpacing; boolean needsCurveUpdates = false; + + if (showAsGrid) { + dismissedTaskWidth = dismissedTaskView.getLayoutParams().width + mPageSpacing; + isFocusedTaskDismissed = dismissedTaskId == mFocusedTaskId; + if (isFocusedTaskDismissed) { + nextFocusedTaskFromTop = + mTopRowIdSet.size() > 0 && mTopRowIdSet.size() >= (taskCount - 1) / 2f; + // Pick the next focused task from the preferred row. + for (int i = 0; i < taskCount; i++) { + TaskView taskView = getTaskViewAt(i); + if (taskView == dismissedTaskView) { + continue; + } + boolean isTopRow = mTopRowIdSet.contains(taskView.getTaskId()); + if ((nextFocusedTaskFromTop && isTopRow + || (!nextFocusedTaskFromTop && !isTopRow))) { + nextFocusedTaskView = taskView; + break; + } + } + if (nextFocusedTaskView != null) { + nextFocusedTaskWidth = + nextFocusedTaskView.getLayoutParams().width + mPageSpacing; + } + } + } else { + getPageScrolls(oldScroll, false, SIMPLE_SCROLL_LOGIC); + getPageScrolls(newScroll, false, + v -> v.getVisibility() != GONE && v != dismissedTaskView); + if (count > 1) { + scrollDiffPerPage = Math.abs(oldScroll[1] - oldScroll[0]); + } + } + + int distanceFromDismissedTask = 0; for (int i = 0; i < count; i++) { View child = getChildAt(i); - if (child == taskView) { + if (child == dismissedTaskView) { if (animateTaskView) { - addDismissedTaskAnimations(taskView, duration, anim); + addDismissedTaskAnimations(dismissedTaskView, duration, anim); } - } else if (!showAsGrid()) { + } else if (!showAsGrid) { // Compute scroll offsets from task dismissal for animation. // If we just take newScroll - oldScroll, everything to the right of dragged task // translates to the left. We need to offset this in some cases: @@ -2242,15 +2314,15 @@ public abstract class RecentsView= dismissed index and in the same row as the - // dismissed index, or if the dismissed task was the focused task. Offset - // successive task dismissal durations for a staggered effect. - if (isFocusedTaskDismissed || (i >= draggedIndex && isSameGridRow((TaskView) child, - taskView))) { - FloatProperty translationProperty = - ((TaskView) child).getPrimaryDismissTranslationProperty(); - float additionalDismissDuration = - ADDITIONAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET * Math.abs( - i - draggedIndex); - anim.setFloat(child, translationProperty, - !mIsRtl ? -dismissedTaskWidth : dismissedTaskWidth, - clampToProgress(LINEAR, Utilities.boundToRange( - INITIAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET - + additionalDismissDuration, 0f, 1f), 1)); + // dismissed index or next focused index. Offset successive task dismissal + // durations for a staggered effect. + float animationStartProgress = Utilities.boundToRange( + INITIAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET + + ADDITIONAL_DISMISS_TRANSLATION_INTERPOLATION_OFFSET + * ++distanceFromDismissedTask, 0f, 1f); + if (taskView == nextFocusedTaskView) { + // Enlarge the task to be focused next, and translate into focus position. + float scale = mTaskWidth / (float) mLastComputedGridTaskSize.width(); + anim.setFloat(taskView, TaskView.SNAPSHOT_SCALE, scale, + clampToProgress(LINEAR, animationStartProgress, 1f)); + anim.setFloat(taskView, taskView.getPrimaryDismissTranslationProperty(), + mIsRtl ? dismissedTaskWidth : -dismissedTaskWidth, + clampToProgress(LINEAR, animationStartProgress, 1f)); + float secondaryTranslation = -mTaskGridVerticalDiff; + if (!nextFocusedTaskFromTop) { + secondaryTranslation -= mTopBottomRowHeightDiff; + } + anim.setFloat(taskView, taskView.getSecondaryDissmissTranslationProperty(), + secondaryTranslation, + clampToProgress(LINEAR, animationStartProgress, 1f)); + anim.setFloat(taskView, TaskView.FOCUS_TRANSITION, 0f, + clampToProgress(LINEAR, 0f, ANIMATION_DISMISS_PROGRESS_MIDPOINT)); + } else { + float primaryTranslation = + isFocusedTaskDismissed ? nextFocusedTaskWidth : dismissedTaskWidth; + anim.setFloat(taskView, taskView.getPrimaryDismissTranslationProperty(), + mIsRtl ? primaryTranslation : -primaryTranslation, + clampToProgress(LINEAR, animationStartProgress, 1f)); } } } @@ -2295,14 +2392,15 @@ public abstract class RecentsView() { @Override public void accept(Boolean success) { - if (LIVE_TILE.get() && mEnableDrawingLiveTile && taskView.isRunningTask() + if (LIVE_TILE.get() && mEnableDrawingLiveTile && dismissedTaskView.isRunningTask() && success) { finishRecentsAnimation(true /* toHome */, () -> onEnd(success)); } else { @@ -2314,11 +2412,11 @@ public abstract class RecentsView ActivityManagerWrapper.getInstance() - .removeTask(taskView.getTask().key.id)); + .removeTask(dismissedTaskId)); mActivity.getStatsLogManager().logger() - .withItemInfo(taskView.getItemInfo()) + .withItemInfo(dismissedTaskView.getItemInfo()) .log(LAUNCHER_TASK_DISMISS_SWIPE_UP); } } @@ -2328,31 +2426,31 @@ public abstract class RecentsView diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 3198068209..c1ed2883ab 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -32,7 +32,7 @@ "Dvojitým klepnutím a podržením přesunete widget, případně použijte vlastní akce." "%1$d × %2$d" "šířka %1$d, výška %2$d" - "Pokud widgetem chcete pohybovat po ploše, dotkněte se ho a podržte ho" + "Pokud chcete widgetem pohybovat po ploše, podržte ho" "Přidat na plochu" %1$d widgety @@ -55,6 +55,9 @@ "Osobní" "Práce" "Konverzace" + "Užitečné informace na dosah" + "Pokud chcete mít informace k dispozici bez otevírání aplikací, můžete si na plochu přidat widgety" + "Rozumím" "Hledat v aplikacích" "Načítání aplikací…" "Dotazu „%1$s“ neodpovídají žádné aplikace" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 502d5eb970..dea0183e88 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -51,6 +51,9 @@ "Personlige" "Arbejde" "Samtaler" + "Nyttige oplysninger lige ved hånden" + "Hvis du vil have oplysninger uden at åbne apps, kan du føje widgets til din startskærm" + "OK" "Søg efter apps" "Indlæser apps…" "Der blev ikke fundet nogen apps, som matcher \"%1$s\"" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 63c58c7e59..3a20d1740a 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -51,6 +51,9 @@ "Privat" "Geschäftlich" "Unterhaltungen" + "Praktische Informationen – immer zur Hand" + "Wenn du Informationen erhalten möchtest, ohne Apps zu öffnen, kannst du deinem Startbildschirm Widgets hinzufügen" + "OK" "Apps finden" "Apps werden geladen…" "Keine Apps für \"%1$s\" gefunden" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 0ffe2c430c..4e8ecf951f 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -51,6 +51,9 @@ "Προσωπικά" "Εργασίας" "Συζητήσεις" + "Χρήσιμες πληροφορίες στη διάθεσή σας" + "Για να λάβετε πληροφορίες χωρίς να ανοίξετε εφαρμογές, μπορείτε να προσθέσετε γραφικά στοιχεία στην αρχική σας οθόνη." + "Το κατάλαβα" "Αναζήτηση εφαρμογών" "Φόρτωση εφαρμογών…" "Δεν βρέθηκαν εφαρμογές αντιστοίχισης για \"%1$s\"" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 5af3e7dcea..ecf68038be 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -32,7 +32,7 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - "Touch & hold the widget to move it around the home screen" + "Touch and hold the widget to move it around the home screen" "Add to home screen" %1$d widgets @@ -51,6 +51,9 @@ "Personal" "Work" "Conversations" + "Useful info at your fingertips" + "To get info without opening apps, you can add widgets to your home screen" + "OK" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index 5af3e7dcea..ecf68038be 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -32,7 +32,7 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - "Touch & hold the widget to move it around the home screen" + "Touch and hold the widget to move it around the home screen" "Add to home screen" %1$d widgets @@ -51,6 +51,9 @@ "Personal" "Work" "Conversations" + "Useful info at your fingertips" + "To get info without opening apps, you can add widgets to your home screen" + "OK" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 5af3e7dcea..ecf68038be 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -32,7 +32,7 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - "Touch & hold the widget to move it around the home screen" + "Touch and hold the widget to move it around the home screen" "Add to home screen" %1$d widgets @@ -51,6 +51,9 @@ "Personal" "Work" "Conversations" + "Useful info at your fingertips" + "To get info without opening apps, you can add widgets to your home screen" + "OK" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 5af3e7dcea..ecf68038be 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -32,7 +32,7 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - "Touch & hold the widget to move it around the home screen" + "Touch and hold the widget to move it around the home screen" "Add to home screen" %1$d widgets @@ -51,6 +51,9 @@ "Personal" "Work" "Conversations" + "Useful info at your fingertips" + "To get info without opening apps, you can add widgets to your home screen" + "OK" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml index b82f0c95f2..9475db92f1 100644 --- a/res/values-en-rXC/strings.xml +++ b/res/values-en-rXC/strings.xml @@ -51,6 +51,9 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎Personal‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎Work‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎Conversations‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎Useful info at your fingertips‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎To get info without opening apps, you can add widgets to your Home screen‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‎Got it‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎Search apps‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎Loading apps…‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎No apps found matching \"‎‏‎‎‏‏‎%1$s‎‏‎‎‏‏‏‎\"‎‏‎‎‏‎" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 56f31bf23b..1f9d5f1dbd 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -51,6 +51,9 @@ "Personal" "Trabajo" "Conversaciones" + "Información útil a tu alcance" + "Para recibir información de apps sin abrirlas, puedes agregar widgets a la pantalla principal" + "Entendido" "Buscar apps" "Cargando apps…" "No hay apps que coincidan con \"%1$s\"" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 686d2240bf..45061d5882 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -51,6 +51,9 @@ "Personal" "Trabajo" "Conversaciones" + "Información útil al alcance de la mano" + "Para recibir información sin abrir aplicaciones, puedes añadir widgets a la pantalla de inicio." + "Entendido" "Buscar aplicaciones" "Cargando aplicaciones…" "No se han encontrado aplicaciones que contengan \"%1$s\"" @@ -156,8 +159,8 @@ "Siguiente" "Entendido" "El perfil de trabajo está en pausa" - "Las aplicaciones de trabajo no pueden enviarte notificaciones, consumir tu batería ni acceder a tu ubicación" - "El perfil de trabajo está en pausa. Las aplicaciones de trabajo no pueden enviarte notificaciones, consumir tu batería ni acceder a tu ubicación" + "Las aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" + "El perfil de trabajo está en pausa. Las aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" "Las aplicaciones de trabajo tienen una insignia y tu administrador de TI las puede ver" "Entendido" "Pausar aplicaciones de trabajo" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 4908c4da3f..ef27c2b0a6 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -51,6 +51,9 @@ "Isiklik" "Töö" "Vestlused" + "Kasulik teave on teie käeulatuses" + "Teabe saamiseks rakendusi avamata võite oma avakuvale lisada vidinaid" + "Selge" "Otsige rakendusi" "Rakenduste laadimine …" "Päringule „%1$s” ei vastanud ükski rakendus" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index c15b18c5a5..812f007a23 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -51,6 +51,9 @@ "Pertsonalak" "Lanekoak" "Elkarrizketak" + "Informazio erabilgarria beti eskura" + "Aplikazioa ireki beharrik gabe informazioa zuzenean jasotzeko, gehitu widgetak hasierako pantailan" + "Ados" "Bilatu aplikazioetan" "Aplikazioak kargatzen…" "Ez da aurkitu \"%1$s\" bilaketaren emaitzarik" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index f1ae4d50cd..29ada372e5 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -51,6 +51,9 @@ "شخصی" "کار" "مکالمه‌ها" + "دسترسی آسان به اطلاعات سودمند" + "با افزودن ابزارک‌ها به «صفحه اصلی» می‌توانید اطلاعات را بدون باز کردن برنامه‌ها دریافت کنید" + "متوجه‌ام" "جستجوی برنامه‌ها" "درحال بارگیری برنامه‌‌ها…" "هیچ برنامه‌ای در مطابقت با «%1$s» پیدا نشد" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index dcee366453..c4d0655d78 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -51,6 +51,9 @@ "Henkilökohtainen" "Työ" "Keskustelut" + "Hyödyllisiä tietoja käden ulottuvilla" + "Jos haluat nähdä tietoja avaamatta sovelluksia, voit lisätä aloitusnäytölle widgetejä" + "OK" "Hae sovelluksia" "Ladataan sovelluksia…" "%1$s ei palauttanut sovelluksia." diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 4b8c690080..9522a38a67 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -51,6 +51,12 @@ "Personnels" "Professionnels" "Conversations" + + + + + + "Rechercher dans les applications" "Chargement des applications en cours…" "Aucune application trouvée correspondant à « %1$s »" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 90c98fbc6f..adc04fd0d3 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -51,6 +51,9 @@ "Personnels" "Professionnels" "Conversations" + "Infos utiles à portée de main" + "Pour obtenir des infos sans ouvrir d\'applis, vous pouvez ajouter des widgets à votre écran d\'accueil" + "OK" "Rechercher dans les applications" "Chargement des applications…" "Aucune application ne correspond à la requête \"%1$s\"" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index e4a93d421c..615c644cc9 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -51,6 +51,9 @@ "Widgets persoais" "Widgets do traballo" "Conversas" + "Información útil ao teu alcance" + "Se queres obter información sen abrir as aplicacións, podes engadir widgets á pantalla de inicio" + "Entendido" "Buscar aplicacións" "Cargando aplicacións…" "Non se atoparon aplicacións que coincidan con \"%1$s\"" @@ -152,7 +155,7 @@ "Traballo" "Perfil de traballo" "Os datos persoais sepáranse e ocúltanse das aplicacións do traballo" - "O teu administrador de TI pode ver as aplicacións e os datos do traballo" + "O teu administrador de TI pode ver as túas aplicacións e datos do traballo" "Seguinte" "Entendido" "O perfil de traballo está en pausa" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 3a25705628..9c909a0c7b 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -51,6 +51,12 @@ "વ્યક્તિગત" "ઑફિસ" "વાતચીતો" + + + + + + "શોધ ઍપ્લિકેશનો" "ઍપ્લિકેશનો લોડ કરી રહ્યું છે…" "\"%1$s\"થી મેળ ખાતી કોઈ ઍપ્લિકેશનો મળી નથી" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 471e08897d..5cfb7dbf1b 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -51,6 +51,9 @@ "निजी विजेट" "ऑफ़िस" "बातचीत" + "काम की जानकारी आसानी से पाएं" + "ऐप्लिकेशन को खोले बिना उनकी जानकारी पाने के लिए, आप होम स्क्रीन पर विजेट जोड़ सकते हैं" + "ठीक है" "ऐप सर्च करें" "ऐप्लिकेशन लोड हो रहे हैं…" "\"%1$s\" से मिलता-जुलता कोई ऐप्लिकेशन नहीं मिला" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 413afcece3..6c94f31b49 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -53,6 +53,9 @@ "Osobno" "Posao" "Razgovori" + "Korisne informacije nadohvat ruke" + "Da biste dobili informacije bez otvaranja aplikacija, možete dodati widgete na početni zaslon" + "Shvaćam" "Pretraži aplikacije" "Učitavanje aplikacija…" "Nema aplikacija podudarnih s upitom \"%1$s\"" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 0435801250..5e1b032255 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -51,6 +51,9 @@ "Személyes" "Munka" "Beszélgetések" + "Hasznos információk egy koppintásnyira" + "Ha az alkalmazások megnyitása nélkül szeretne információhoz jutni, felvehet modulokat a kezdőképernyőre." + "Értem" "Alkalmazások keresése" "Alkalmazások betöltése…" "Nem található alkalmazás a(z) „%1$s” lekérdezésre" @@ -66,7 +69,7 @@ "Munkahelyi alkalmazások listája" "Törlés" "Eltávolítás" - "Alkalmazásinformáció" + "Alkalmazásinfó" "Telepítés" "Ne javasoljon alkalmazást" "Várható kitűzése" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 37d0815717..bc68e3edd1 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -51,6 +51,9 @@ "Անձնական" "Աշխատանքային" "Զրույցներ" + "Օգտակար տեղեկությունները՝ միշտ հասանելի" + "Ավելացրեք վիջեթներ ձեր հիմնական էկրանին և ստացեք տեղեկություններ՝ առանց հավելվածները բացելու։" + "Եղավ" "Որոնել հավելվածներ" "Հավելվածների բեռնում…" %1$s» հարցմանը համապատասխանող հավելվածներ չեն գտնվել" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index abad5f0b9c..782737c31e 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -51,6 +51,9 @@ "Pribadi" "Kantor" "Percakapan" + "Info bermanfaat yang mudah diakses" + "Untuk mendapatkan info tanpa membuka aplikasi, Anda dapat menambahkan widget ke Layar utama" + "Oke" "Telusuri aplikasi" "Memuat aplikasi…" "Tidak ditemukan aplikasi yang cocok dengan \"%1$s\"" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index bb4ee9bd6a..b15e86c404 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -51,6 +51,9 @@ "Persónulegt" "Vinna" "Samtöl" + "Gagnlegar upplýsingar innan seilingar" + "Þú getur bætt við græjum á heimaskjáinn til að fá upplýsingar án þess að opna forrit" + "Ég skil" "Leita í forritum" "Hleður forrit…" "Ekki fundust forrit sem samsvara „%1$s“" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 2a19b739af..23297e4a4b 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -51,6 +51,9 @@ "Personali" "Lavoro" "Conversazioni" + "Informazioni utili a portata di mano" + "Per ricevere informazioni senza aprire app, puoi aggiungere widget alla schermata Home" + "OK" "Cerca nelle app" "Caricamento delle app…" "Nessuna app trovata corrispondente a \"%1$s\"" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index c8793ac9ce..fb72d55595 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -55,6 +55,9 @@ "אישי" "עבודה" "שיחות" + "קבלת מידע שימושי בהקשה" + "רוצה לקבל מידע בלי לפתוח אפליקציות? אפשר להוסיף ווידג\'טים למסך הבית" + "הבנתי" "חיפוש אפליקציות" "טעינת אפליקציות מתבצעת…" "לא נמצאו אפליקציות התואמות ל-\"%1$s\"" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 7f2e4a9118..60fe4532a9 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -51,6 +51,9 @@ "個人用" "仕事用" "会話" + "スワイプだけで役立つ情報をいつでも入手" + "ホーム画面にウィジェットを追加すると、アプリを開かずに情報を入手できます" + "OK" "アプリを検索" "アプリを読み込んでいます…" "「%1$s」に一致するアプリは見つかりませんでした" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index ca8f665b27..1347d1debc 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -51,6 +51,9 @@ "პირადი" "სამსახური" "მიმოწერები" + "ადვილად მისაწვდომი სასარგებლო ინფორმაცია" + "იმისთვის, რომ ინფორმაცია აპების გაუხსნელად მიიღოთ, შეგიძლიათ, მთავარ ეკრანზე ვიჯეტები დაამატოთ" + "გასაგებია" "აპების ძიება" "აპები იტვირთება…" "„%1$s“-ის თანხვედრი აპები არ მოიძებნა" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 8353c249da..2b1b89f292 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -32,7 +32,7 @@ "Виджетті жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." "%1$d × %2$d" "Ені: %1$d, биіктігі: %2$d" - "Негізгі экран бойымен қозғалту үшін виджетті басып, ұстап тұрыңыз." + "Негізгі экранда қозғалту үшін виджетті басып, ұстап тұрыңыз." "Негізгі экранға қосу" %1$d виджет @@ -51,6 +51,12 @@ "Жеке виджеттер" "Жұмыс виджеттері" "Әңгімелер" + + + + + + "Қолданбаларды іздеу" "Қолданбалар жүктелуде…" "\"%1$s\" сұрауына сәйкес келетін қолданбалар жоқ" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index b941b18c18..4f0964836c 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -51,6 +51,9 @@ "ផ្ទាល់ខ្លួន" "ការងារ" "ការសន្ទនា" + "ទទួលបាន​ព័ត៌មានដែលមានប្រយោជន៍​យ៉ាងងាយស្រួល" + "ដើម្បីទទួលបាន​ព័ត៌មាន​ដោយមិនចាំបាច់​បើកកម្មវិធី អ្នកអាចបញ្ចូលធាតុ​ក្រាហ្វិកទៅក្នុង​អេក្រង់ដើម​របស់អ្នក" + "យល់ហើយ" "ស្វែងរក​កម្មវិធី" "កំពុងផ្ទុកកម្មវិធី…" "រកមិនឃើញកម្មវិធី​ដែលត្រូវគ្នាជាមួយ \"%1$s\" ទេ" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 27f045e3ff..9a3075f54d 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -51,6 +51,9 @@ "ವೈಯಕ್ತಿಕ" "ಕೆಲಸ" "ಸಂವಾದಗಳು" + "ನಿಮ್ಮ ಬೆರಳ ತುದಿಯಲ್ಲಿ ಉಪಯುಕ್ತ ಮಾಹಿತಿ" + "ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯದೆಯೇ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ನೀವು ವಿಜೆಟ್‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು" + "ಅರ್ಥವಾಯಿತು" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಹುಡುಕಿ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." "\"%1$s\" ಹೊಂದಿಕೆಯ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index e8a19ebe77..cce4c8935b 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -51,6 +51,9 @@ "개인 위젯" "직장 위젯" "대화" + "빠르게 유용한 정보 확인" + "앱을 열지 않고 정보를 확인하려면 홈 화면에 위젯을 추가하세요." + "확인" "앱 검색" "앱 로드 중…" "\'%1$s\'과(와) 일치하는 앱이 없습니다." diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 7f131771c6..ed49ff1ae2 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -51,6 +51,9 @@ "Жеке" "Жумуш" "Сүйлөшүүлөр" + "Пайдалуу маалымат манжаңыздын учунда эле турат" + "Колдонмолорду ачпастан керектүү маалыматты алуу үчүн Башкы экранга виджеттерди кошуңуз" + "Түшүндүм" "Колдонмолорду издөө" "Колдонмолор жүктөлүүдө…" "\"%1$s\" сурамына дал келген колдонмолор табылган жок" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index 041e3222e7..ed367d98eb 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -51,6 +51,9 @@ "ສ່ວນຕົວ" "ວຽກ" "ການສົນທະນາ" + "ຂໍ້ມູນທີ່ເປັນປະໂຫຍດຢູ່ປາຍນິ້ວຂອງທ່ານ" + "ເພື່ອຮັບຂໍ້ມູນໂດຍບໍ່ຕ້ອງເປີດແອັບ, ທ່ານສາມາດເພີ່ມວິດເຈັດໃສ່ໂຮມສະກຣີນຂອງທ່ານໄດ້" + "ເຂົ້າໃຈແລ້ວ" "ຊອກຫາແອັບ" "ກໍາລັງໂຫຼດແອັບ…" "ບໍ່ພົບແອັບທີ່ກົງກັບ \"%1$s\"" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 707cef4638..21f99fc127 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -55,6 +55,9 @@ "Asmeniniai" "Darbas" "Pokalbiai" + "Lengvai pasiekiama naudinga informacija" + "Jei norite gauti informacijos neatidarę programų, galite pridėti valdiklių pagrindiniame ekrane" + "Supratau" "Paieškos programos" "Įkeliamos programos…" "Nerasta jokių užklausą „%1$s“ atitinkančių programų" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 382784b39d..059620c314 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -53,6 +53,9 @@ "Personīgie" "Darba" "Sarunas" + "Ērta piekļuve noderīgai informācijai" + "Lai iegūtu informāciju, neatverot lietotnes, varat pievienot logrīkus sākuma ekrānā." + "Labi" "Meklēt lietotnes" "Notiek lietotņu ielāde…" "Vaicājumam “%1$s” neatbilda neviena lietotne" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index dcfd1d9d40..f4c960624e 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -51,6 +51,9 @@ "Лични" "Работни" "Разговори" + "Корисни информации на дофат на прстите" + "За да добивате информации без да ги отворате апликациите, може да додадете виџети на почетниот екран" + "Сфатив" "Пребарувајте апликации" "Се вчитуваат апликации…" "Не се најдени апликации што одговараат на „%1$s“" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index 2d7c9250eb..0359220ac1 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -51,6 +51,9 @@ "വ്യക്തിപരം" "ജോലി" "സംഭാഷണങ്ങൾ" + "ഉപകാരപ്രദമായ വിവരങ്ങൾ നിങ്ങളുടെ വിരൽത്തുമ്പിൽ" + "ആപ്പുകൾ തുറക്കാതെ വിവരങ്ങൾ ലഭിക്കാൻ, നിങ്ങൾക്ക് ഹോം സ്ക്രീനിലേക്ക് വിജറ്റുകൾ ചേർക്കാം" + "മനസ്സിലായി" "ആപ്പുകൾ തിരയുക" "ആപ്പുകൾ ലോഡുചെയ്യുന്നു..." "\"%1$s\" എന്നതുമായി പൊരുത്തപ്പെടുന്ന ആപ്പുകളൊന്നും കണ്ടെത്തിയില്ല" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 5a072fea72..53d382dc85 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -51,6 +51,9 @@ "Хувийн" "Ажил" "Харилцан яриа" + "Хэрэгтэй мэдээллээ хурууныхаа үзүүрээр аваарай" + "Аппуудыг нээлгүйгээр мэдээлэл авахын тулд та Үндсэн нүүрэндээ жижиг хэрэгслүүд нэмэх боломжтой" + "Ойлголоо" "Апп хайх" "Аппыг ачаалж байна..." "\"%1$s\"-д тохирох апп олдсонгүй" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index e87e6b9fc7..b4c217434e 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -51,6 +51,9 @@ "वैयक्तिक" "ऑफिस" "संभाषणे" + "तुमच्यासाठी सहज उपलब्ध असलेली माहिती" + "ॲप्स न उघडता माहिती मिळवण्यासाठी, तुम्ही तुमच्या होम स्क्रीनवर विजेट जोडू शकता" + "समजले" "अ‍ॅप्स शोधा" "अ‍ॅप्स लोड करत आहे…" "\"%1$s\" शी जुळणारे कोणतेही अ‍ॅप्स आढळले नाहीत" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 9465be5b02..f6300ee107 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -33,7 +33,7 @@ "%1$d × %2$d" "Lebar %1$d kali tinggi %2$d" "Sentuh & tahan widget untuk menggerakkan widget di sekitar Skrin utama" - "Tambah pada Skrin utama" + "Tambahkan pada Skrin utama" %1$d widget %1$d widget @@ -51,6 +51,9 @@ "Peribadi" "Tempat kerja" "Perbualan" + "Maklumat berguna di hujung jari anda" + "Untuk mendapatkan maklumat tanpa membuka apl, anda boleh menambahkan widget pada skrin Utama anda" + "OK" "Cari apl" "Memuatkan apl…" "Tiada apl yang ditemui sepadan dengan \"%1$s\"" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 1fb7e5644f..1a8650cc16 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -51,6 +51,9 @@ "ကိုယ်ပိုင်" "အလုပ်" "စကားဝိုင်းများ" + "အသုံးဝင်သော အချက်အလက်များကို အလွယ်တကူ ရယူလိုက်ပါ" + "အက်ပ်များကိုမဖွင့်ဘဲ အချက်အလက်များရယူရန် သင်၏ ပင်မစာမျက်နှာသို့ ဝိဂျက်များ ထည့်နိုင်သည်" + "ရပြီ" "ရှာဖွေမှု အက်ပ်များ" "အက်ပ်များကို ဖွင့်နေသည်…" "\"%1$s\" နှင့်ကိုက်ညီသည့် အပ်ပ်များကို မတွေ့ပါ" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 42d04a2231..49d29127f4 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -51,6 +51,9 @@ "Personlig" "Jobb" "Samtaler" + "Lett tilgjengelig nyttig informasjon" + "For å se informasjon uten å åpne apper kan du legge til moduler på startskjermen" + "Greit" "Søk etter apper" "Laster inn appene …" "Fant ingen apper som samsvarer med «%1$s»" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 9e26e1d9e5..474a452a0d 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -32,7 +32,7 @@ "कुनै विजेट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।" "%1$d × %2$d" "%1$d चौडाइ गुणा %2$d उचाइ" - "विजेटलाई होम स्क्रिनमा यताउता सार्न त्यसमा टच एन्ड होल्ड गर्नुहोस्" + "यो विजेट होम स्क्रिनमा यताउता सार्न त्यसमा टच एन्ड होल्ड गर्नुहोस्" "होम स्क्रिनमा हाल्नुहोस्" %1$d वटा विजेट @@ -51,6 +51,12 @@ "व्यक्तिगत" "कामसम्बन्धी" "वार्तालापहरू" + + + + + + "खोजसम्बन्धी एपहरू" "एपहरू लोड गर्दै…" "\"%1$s\" सँग मिल्दो कुनै एप भेटिएन" @@ -121,7 +127,7 @@ "%1$s स्थापना गर्न प्रतीक्षा गर्दै" "विजेटहरूको सूची" "विजेटहरूको सूची बन्द गरियो" - "गृह स्क्रिनमा थप्नुहोस्" + "होम स्क्रिनमा हाल्नुहोस्" "वस्तु यहाँ सार्नुहोस्" "वस्तु गृह स्क्रिनमा थपियो" "वस्तु हटाइयो" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 58d1d98787..f3c55386c7 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -51,6 +51,9 @@ "Persoonlijk" "Werk" "Gesprekken" + "Nuttige informatie binnen handbereik" + "Als je informatie wilt krijgen zonder apps te openen, kun je widgets toevoegen aan je startscherm" + "OK" "Apps zoeken" "Apps laden…" "Er zijn geen apps gevonden die overeenkomen met \'%1$s\'" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index dfcc716796..3517dabf4b 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -51,6 +51,12 @@ "ବ୍ୟକ୍ତିଗତ" "ୱାର୍କ" "ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ" + + + + + + "ଆପ୍‌ ଖୋଜନ୍ତୁ" "ଆପ୍‌ ଲୋଡ୍‌ ହେଉଛି..." "\"%1$s\" ସହିତ ମେଳ ହେଉଥିବା କୌଣସି ଆପ୍‌ ମିଳିଲା ନାହିଁ" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 495f3c4b7c..64a180a651 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -51,6 +51,12 @@ "ਨਿੱਜੀ" "ਕਾਰਜ-ਸਥਾਨ" "ਗੱਲਾਂਬਾਤਾਂ" + + + + + + "ਐਪਾਂ ਖੋਜੋ" "ਐਪਾਂ ਨੂੰ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." "\"%1$s\" ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਕੋਈ ਐਪਾਂ ਨਹੀਂ ਮਿਲੀਆਂ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index acce00a01d..7b47cdea25 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -32,7 +32,7 @@ "Naciśnij dwukrotnie i przytrzymaj, aby przenieść widżet lub użyć działań niestandardowych." "%1$d × %2$d" "Szerokość %1$d, wysokość %2$d" - "Kliknij i przytrzymaj widżet, by poruszać nim po ekranie głównym." + "Kliknij i przytrzymaj widżet, by poruszać nim po ekranie głównym" "Dodaj do ekranu głównego" %1$d widżety @@ -55,6 +55,9 @@ "Osobiste" "Służbowe" "Rozmowy" + "Użyteczne informacje w zasięgu ręki" + "Aby uzyskać informacje bez otwierania aplikacji, możesz dodać widżety do ekranu głównego" + "OK" "Wyszukaj aplikacje" "Ładuję aplikacje…" "Nie znaleziono aplikacji pasujących do zapytania „%1$s”" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index d429ebe188..84c472f642 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -51,6 +51,9 @@ "Pessoais" "Trabalho" "Conversas" + "Informações úteis à sua disposição" + "Para obter informações sem abrir apps, pode adicionar widgets ao seu ecrã principal" + "OK" "Pesquisar aplicações" "A carregar aplicações…" "Nenhuma app correspondente a \"%1$s\"" @@ -163,6 +166,6 @@ "Colocar apps de trabalho em pausa" "Ativar" "Filtrar" - "Coloque as apps de trabalho e as notificações em pausa." + "Coloque as apps de trabalho e as notificações em pausa" "Falhou: %1$s" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index fd793d4aa0..c44ffc8294 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -51,6 +51,9 @@ "Pessoal" "Trabalho" "Conversas" + "Informações úteis ao seu alcance" + "Para receber informações sem precisar abrir apps, adicione widgets à sua tela inicial" + "Ok" "Pesquisar apps" "Carregando apps…" "Nenhum app encontrado que corresponda a \"%1$s\"" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 5ba9e8d7b5..16f0ade92f 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -53,6 +53,9 @@ "Personale" "Serviciu" "Conversații" + "Informații utile la îndemâna dvs." + "Pentru a primi informații fără să deschideți aplicațiile, puteți adăuga widgeturi pe ecranul de pornire" + "OK" "Căutați aplicații" "Se încarcă aplicații…" "Nu s-a găsit nicio aplicație pentru „%1$s\"" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 7da57db748..70606a9681 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -32,7 +32,7 @@ "Чтобы использовать специальные действия или перенести виджет, нажмите на него дважды и удерживайте." "%1$d x %2$d" "Ширина %1$d, высота %2$d" - "Нажмите на виджет и удерживайте его, чтобы переместить в нужное место на главном экране." + "Чтобы переместить виджет, нажмите на него и удерживайте." "Добавить на главный экран" %1$d виджет @@ -55,6 +55,9 @@ "Личные виджеты" "Рабочие виджеты" "Разговоры" + "Вся нужная информация перед глазами" + "Чтобы не открывать приложения каждый раз, когда нужна информация, добавьте виджеты на главный экран." + "ОК" "Поиск приложений" "Загрузка приложений…" "По запросу \"%1$s\" ничего не найдено" diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 3741c76483..2ba06fabff 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -51,6 +51,9 @@ "පුද්ගලික" "කාර්යාලය" "සංවාද" + "ප්‍රයෝජනවත් තොරතුරු ඔබගේ ඇඟිලි තුඩු අග" + "යෙදුම් විවෘත නොකර තොරතුරු ලබා ගැනීම සඳහා, ඔබට ඔබගේ මුල් තිරයට විජට් එක් කළ හැකිය" + "තේරුණා" "යෙදුම් සොයන්න" "යෙදුම් පූරණය වෙමින්…" "\"%1$s\" සමග ගැළපෙන යෙදුම් හමු නොවිණි" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index e23e7a9b5a..08e7bb643e 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -32,7 +32,7 @@ "Dvojitým klepnutím a pridržaním presuňte miniaplikáciu alebo použite vlastné akcie." "%1$d × %2$d" "šírka %1$d, výška %2$d" - "Po pridržaní môžete miniaplikáciu môžete posúvať po ploche" + "Po pridržaní môžete miniaplikáciu posúvať po ploche" "Pridať na plochu" %1$d miniaplikácie @@ -55,6 +55,9 @@ "Osobné" "Práca" "Konverzácie" + "Užitočné informácie poruke" + "Ak chcete získavať informácie bez otvárania aplikácií, môžete si pridať miniaplikácie na plochu" + "Dobre" "Hľadať aplikácie" "Načítavajú sa aplikácie…" "Nenašli sa žiadne aplikácie zodpovedajúce dopytu %1$s" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index cb7f0bc560..57461a1e89 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -55,6 +55,9 @@ "Osebno" "Služba" "Pogovori" + "Koristne informacije na dosegu prstov" + "Če si želite podatke ogledati brez odpiranja aplikacij, lahko na začetni zaslon dodate pripomočke." + "V redu" "Iskanje programov" "Nalaganje aplikacij …" "Ni aplikacij, ki bi ustrezale poizvedbi »%1$s«" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 2528aed90e..338aa8b142 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -51,6 +51,12 @@ "Personale" "Puna" "Bisedat" + + + + + + "Kërko për aplikacione" "Po ngarkon aplikacionet..." "Nuk u gjet asnjë aplikacion që përputhet me \"%1$s\"" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index bcc867ca79..2e87b439bf 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -53,6 +53,9 @@ "Лично" "Посао" "Конверзације" + "Корисне информације надохват руке" + "Да бисте пронашли информације без отварања апликација, можете да додате виџете на почетни екран" + "Важи" "Претражите апликације" "Апликације се учитавају…" "Није пронађена ниједна апликација за „%1$s“" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index ce973202cf..29ef67d3e2 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -51,6 +51,9 @@ "Privata widgetar" "Arbete" "Konversationer" + "Användbar information nära till hands" + "Om du vill ha information utan att öppna appar kan du lägga till widgetar på startskärmen" + "OK" "Sök efter appar" "Läser in appar …" "Inga appar som matchar %1$s hittades" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 3a46d73c90..7829bebe16 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -51,6 +51,9 @@ "Binafsi" "Kazini" "Mazungumzo" + "Maelezo muhimu mahali popote ulipo" + "Ili upate maelezo bila kufungua programu, unaweza kuweka wijeti kwenye Skrini yako ya kwanza" + "Nimeelewa" "Tafuta programu" "Inapakia programu..." "Haikupata programu zozote zinazolingana na \"%1$s\"" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 3b891cb4ca..6fe5a388fa 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -51,6 +51,9 @@ "தனிப்பட்டவை" "பணி" "உரையாடல்கள்" + "விரல்நுனியில் பயனுள்ள தகவல்களைப் பெறுங்கள்" + "ஆப்ஸைத் திறக்காமல் தகவல்களைப் பெற, முகப்புத் திரையில் விட்ஜெட்டுகளைச் சேர்க்கலாம்" + "சரி" "பயன்பாடுகளில் தேடுக" "ஆப்ஸை ஏற்றுகிறது…" "\"%1$s\" உடன் பொருந்தும் ஆப்ஸ் இல்லை" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 68c8039858..a4746616e5 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -32,7 +32,7 @@ "విడ్జెట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి & హోల్డ్ చేయి." "%1$d × %2$d" "%1$d వెడల్పు X %2$d ఎత్తు" - "విడ్జెట్‌ను మొదటి స్క్రీన్ చుట్టూ తిప్పడానికి దాన్ని తాకి, & నొక్కి ఉంచండి" + "ఈ విడ్జెట్‌ను మొదటి స్క్రీన్‌లో కావాల్సిన చోట ఉంచడానికి, దాన్ని తాకి అలాగే నొక్కి పట్టుకోండి" "మొదటి స్క్రీన్‌కు జోడించు" %1$d విడ్జెట్‌లు @@ -51,6 +51,12 @@ "వ్యక్తిగతం" "ఆఫీస్" "సంభాషణలు" + + + + + + "అప్లికేషన్‌లను శోధించండి" "అప్లికేషన్‌లను లోడ్ చేస్తోంది…" "\"%1$s\"కి సరిపోలే అప్లికేషన్‌లేవీ కనుగొనబడలేదు" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 2dd6ccc799..0011d70c01 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -51,6 +51,9 @@ "ส่วนตัว" "งาน" "การสนทนา" + "เข้าถึงข้อมูลที่เป็นประโยชน์ได้ที่ปลายนิ้ว" + "หากต้องการรับข้อมูลโดยไม่เปิดแอป ให้เพิ่มวิดเจ็ตลงในหน้าจอหลัก" + "รับทราบ" "ค้นหาแอป" "กำลังโหลดแอป…" "ไม่พบแอปที่ตรงกับ \"%1$s\"" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index cec90c4dbd..cd662e1eec 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -51,6 +51,9 @@ "Personal" "Trabaho" "Mga Pag-uusap" + "Abot-kamay na mahalagang impormasyon" + "Para makakuha ng impormasyon nang hindi nagbubukas ng mga app, puwede kang magdagdag ng mga widget sa iyong Home screen" + "OK" "Maghanap ng mga app" "Naglo-load ng mga app…" "Walang nahanap na app na tumutugma sa \"%1$s\"" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index baa5ccef3f..5691fc044d 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -51,6 +51,9 @@ "Kişisel" "İş" "Görüşmeler" + "Faydalı bilgiler parmaklarınızın ucunda" + "Uygulamaları açmadan bilgi almak için Ana ekranınıza widget\'lar ekleyebilirsiniz" + "Anladım" "Uygulamalarda ara" "Uygulamalar yükleniyor…" "\"%1$s\" ile eşleşen uygulama bulunamadı" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index e266d6aca4..f0d486d108 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -32,7 +32,7 @@ "Двічі натисніть і втримуйте віджет, щоб перемістити його або виконати інші дії." "%1$d × %2$d" "Ширина – %1$d, висота – %2$d" - "Натисніть і втримуйте віджет, щоб переміщувати його головним екраном" + "Натисніть і втримуйте віджет, щоб перемістити його в потрібне місце на головному екрані" "Додати на головний екран" %1$d віджет @@ -55,6 +55,9 @@ "Особисті" "Робочі" "Розмови" + "Корисна інформація завжди під рукою" + "Щоб отримувати інформацію, не відкриваючи додатки, ви можете додати на головний екран віджети" + "OK" "Пошук додатків" "Завантаження додатків…" "Немає додатків для запиту \"%1$s\"" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 4e986b8947..1574c47e96 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -51,6 +51,9 @@ "ذاتی" "دفتری ویجیٹس" "گفتگوئیں" + "مفید معلومات کو آسانی سے حاصل کریں" + "ایپس کو کھولے بغیر معلومات حاصل کرنے کے لیے آپ اپنی ہوم اسکرین پر ویجیٹس شامل کر سکتے ہیں" + "سمجھ آ گئی" "ایپس تلاش کریں" "ایپس لوڈ کی جا رہی ہیں…" "\"%1$s\" سے مماثل کوئی ایپس نہیں ملیں" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 7328311e50..3d5db5417c 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -32,7 +32,7 @@ "Ikki marta bosib va bosib turgan holatda vidjetni tanlang yoki maxsus amaldan foydalaning." "%1$d × %2$d" "Eni %1$d, bo‘yi %2$d" - "Bosh ekranda surish uchun vidjet ustiga bosib turing" + "Vidjetni ushlagan holda kerakli joyga siljiting" "Bosh ekranga chiqarish" %1$d ta vidjet @@ -51,6 +51,9 @@ "Shaxsiy" "Ish" "Suhbatlar" + "Barcha foydali axborot koʻz oldingizda" + "Ilovalarni ochmasdan axborot olish uchun vidjetlarni bosh ekranga qoʻshishingiz mumkin" + "OK" "Ilovalarni qidirish" "Ilovalar yuklanmoqda…" "“%1$s” bilan mos hech qanday ilova topilmadi" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 9c308e0711..9f7fea373f 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -51,6 +51,9 @@ "Cá nhân" "Công việc" "Cuộc trò chuyện" + "Thông tin hữu ích ngay trong tầm tay bạn" + "Để nhận thông tin mà không cần mở các ứng dụng, bạn có thể thêm tiện ích vào Màn hình chính" + "Tôi hiểu" "Tìm kiếm ứng dụng" "Đang tải ứng dụng…" "Không tìm thấy ứng dụng nào phù hợp với \"%1$s\"" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index f7aa74add6..b1fb1658da 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -51,6 +51,12 @@ "个人" "工作" "对话" + + + + + + "搜索应用" "正在加载应用…" "未找到与“%1$s”相符的应用" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 0fd5284705..c7d67af481 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -51,6 +51,9 @@ "個人" "工作" "對話" + "實用資訊,唾手可得" + "只要將小工具新增到主畫面,就可以直接查看資訊,無需開啟應用程式" + "知道了" "搜尋應用程式" "正在載入應用程式…" "找不到與「%1$s」相符的應用程式" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 99e22a2d46..6941c2ca8e 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -32,7 +32,7 @@ "輕觸兩下並按住即可移動小工具或使用自訂操作。" "%1$d × %2$d" "寬度為 %1$d,高度為 %2$d" - "按住小工具即可將小工具移到主畫面的任一位置" + "按住小工具即可將它拖放到主畫面上的任何位置" "新增到主畫面" %1$d 項小工具 @@ -51,6 +51,9 @@ "個人" "工作" "對話" + "實用資訊隨手可得" + "只要將小工具新增到主畫面,就可以直接查看資訊,不必開啟應用程式" + "我知道了" "搜尋應用程式" "正在載入應用程式…" "找不到與「%1$s」相符的應用程式" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index dbdcf1729a..1b645b2502 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -51,6 +51,9 @@ "Okomuntu siqu" "Umsebenzi" "Izingxoxo" + "Ulwazi oluwusizo phambi nje kwakho" + "Ukuze utholeulwazi ngaphandle kokuvula ama-app, ungakwazi ukwengeza amawijethi kusikrini sakho sasekhaya" + "Ngiyezwa" "Sesha izinhlelo zokusebenza" "Ilayisha izinhlelo zokusebenza..." "Azikho izinhlelo zokusebenza ezitholiwe ezifana ne-\"%1$s\"" From 51ca609048ce0a3d0dbe2b0d6f84effb24d2c106 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Thu, 3 Jun 2021 13:27:14 -0700 Subject: [PATCH 022/905] Check for taskbar 3 button flag when initializing RotationContextualButton Fixes: 190063583 Change-Id: Ibc8ee6586cdf7316f61bae9fc5eff39b4b9992f1 --- .../com/android/launcher3/taskbar/TaskbarIconController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java index 5d4b8b7f4e..549e26cb22 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java @@ -73,7 +73,7 @@ public class TaskbarIconController { mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; mDragLayer.init(new TaskbarDragLayerCallbacks(), mTaskbarView); - if (navMode == SysUINavigationMode.Mode.THREE_BUTTONS) { + if (mActivity.canShowNavButtons()) { mRotationButtonController.setRotationButton(mTaskbarView.getContextualRotationButton()); } } From 57b2279dcb7835f44890121896dcba63a6bca7f6 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 25 May 2021 14:35:01 -0700 Subject: [PATCH 023/905] Taskbar layout update > Calculating the hotseat padding statically > Animating taskbar views individually when animating to home instead of a layout animation > Moving all navbar buttons to a separate layout/controller and independent of Launcher > Fixing RTL layout for taskbar and nav bar Bug: 187353581 Test: Manual Change-Id: If21696f38beee328f553e467394776a8e8ed4c3e --- quickstep/res/layout/taskbar.xml | 45 +-- quickstep/res/layout/taskbar_nav_button.xml | 7 + quickstep/res/values/dimens.xml | 4 +- .../launcher3/BaseQuickstepLauncher.java | 8 - .../hybridhotseat/HotseatEduDialog.java | 2 +- .../launcher3/taskbar/ButtonProvider.java | 86 ----- .../android/launcher3/taskbar/ImeBarView.java | 76 ---- .../taskbar/LauncherTaskbarUIController.java | 151 ++------ .../taskbar/NavbarButtonUIController.java | 316 +++++++++++++++++ .../taskbar/TaskbarActivityContext.java | 114 +++--- .../taskbar/TaskbarAnimationController.java | 151 -------- .../taskbar/TaskbarDragController.java | 14 +- .../launcher3/taskbar/TaskbarDragLayer.java | 8 +- .../taskbar/TaskbarIconController.java | 85 +---- .../launcher3/taskbar/TaskbarManager.java | 52 +-- .../taskbar/TaskbarStateHandler.java | 25 +- .../taskbar/TaskbarUIController.java | 15 +- .../launcher3/taskbar/TaskbarView.java | 328 ++++++------------ .../taskbar/contextual/RotationButton.java | 28 +- .../contextual/RotationButtonController.java | 6 +- .../contextual/RotationContextButton.java | 112 ------ .../launcher3/uioverrides/ApiWrapper.java | 19 + .../uioverrides/states/OverviewState.java | 10 - res/values/dimens.xml | 4 + src/com/android/launcher3/DeviceProfile.java | 52 ++- src/com/android/launcher3/Hotseat.java | 37 +- src/com/android/launcher3/Launcher.java | 7 - src/com/android/launcher3/LauncherState.java | 8 - .../launcher3/uioverrides/ApiWrapper.java | 8 + 29 files changed, 680 insertions(+), 1098 deletions(-) create mode 100644 quickstep/res/layout/taskbar_nav_button.xml delete mode 100644 quickstep/src/com/android/launcher3/taskbar/ButtonProvider.java delete mode 100644 quickstep/src/com/android/launcher3/taskbar/ImeBarView.java create mode 100644 quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java delete mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarAnimationController.java delete mode 100644 quickstep/src/com/android/launcher3/taskbar/contextual/RotationContextButton.java diff --git a/quickstep/res/layout/taskbar.xml b/quickstep/res/layout/taskbar.xml index d32c11514f..d61a8952a7 100644 --- a/quickstep/res/layout/taskbar.xml +++ b/quickstep/res/layout/taskbar.xml @@ -13,12 +13,12 @@ See the License for the specific language governing permissions and limitations under the License. --> - + android:layout_height="wrap_content" + android:clipChildren="false"> + + + android:gravity="center_vertical" + android:layout_gravity="start"/> - - - - - - - + android:gravity="center_vertical" + android:layout_gravity="end"/> + \ No newline at end of file diff --git a/quickstep/res/layout/taskbar_nav_button.xml b/quickstep/res/layout/taskbar_nav_button.xml new file mode 100644 index 0000000000..985f928ca7 --- /dev/null +++ b/quickstep/res/layout/taskbar_nav_button.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml index d9c33aeeee..d8899a6e8e 100644 --- a/quickstep/res/values/dimens.xml +++ b/quickstep/res/values/dimens.xml @@ -148,11 +148,9 @@ 60dp - 44dp 48dp 54dp - - 8dp 16dp 16dp + 48dp diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 2a86e81f8b..8a7d01b71e 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -350,14 +350,6 @@ public abstract class BaseQuickstepLauncher extends Launcher ? new float[] {1, 1} : new float[] {1.1f, NO_OFFSET}; } - @Override - public float getNormalTaskbarScale() { - if (mTaskbarUIController != null) { - return mTaskbarUIController.getTaskbarScaleOnHome(); - } - return super.getNormalTaskbarScale(); - } - @Override public void onDragLayerHierarchyChanged() { onLauncherStateOrFocusChanged(); diff --git a/quickstep/src/com/android/launcher3/hybridhotseat/HotseatEduDialog.java b/quickstep/src/com/android/launcher3/hybridhotseat/HotseatEduDialog.java index 14b0c5dd62..c7c25670ce 100644 --- a/quickstep/src/com/android/launcher3/hybridhotseat/HotseatEduDialog.java +++ b/quickstep/src/com/android/launcher3/hybridhotseat/HotseatEduDialog.java @@ -85,7 +85,7 @@ public class HotseatEduDialog extends AbstractSlideInView implements I mSampleHotseat = findViewById(R.id.sample_prediction); DeviceProfile grid = mActivityContext.getDeviceProfile(); - Rect padding = grid.getHotseatLayoutPadding(); + Rect padding = grid.getHotseatLayoutPadding(getContext()); mSampleHotseat.getLayoutParams().height = grid.cellHeightPx; mSampleHotseat.setGridSize(grid.numShownHotseatIcons, 1); diff --git a/quickstep/src/com/android/launcher3/taskbar/ButtonProvider.java b/quickstep/src/com/android/launcher3/taskbar/ButtonProvider.java deleted file mode 100644 index 86ac39f5a2..0000000000 --- a/quickstep/src/com/android/launcher3/taskbar/ButtonProvider.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Copyright 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. - */ - -package com.android.launcher3.taskbar; - -import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_BACK; -import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HOME; -import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; -import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; - -import android.annotation.DrawableRes; -import android.view.View; -import android.widget.ImageView; - -import com.android.launcher3.R; -import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarButton; -import com.android.launcher3.taskbar.contextual.RotationContextButton; - -/** - * Creates Buttons for Taskbar for 3 button nav. - * Can add animations and state management for buttons in this class as things progress. - */ -public class ButtonProvider { - - private final int mMarginLeftRight; - private final TaskbarActivityContext mContext; - - public ButtonProvider(TaskbarActivityContext context) { - mContext = context; - mMarginLeftRight = context.getResources() - .getDimensionPixelSize(R.dimen.taskbar_icon_spacing); - } - - public View getBack() { - // Back button - return getButtonForDrawable(R.drawable.ic_sysbar_back, BUTTON_BACK); - } - - public View getDown() { - // Ime down button - return getButtonForDrawable(R.drawable.ic_sysbar_back, BUTTON_BACK); - } - - public View getHome() { - // Home button - return getButtonForDrawable(R.drawable.ic_sysbar_home, BUTTON_HOME); - } - - public View getRecents() { - // Recents button - return getButtonForDrawable(R.drawable.ic_sysbar_recent, BUTTON_RECENTS); - } - - public View getImeSwitcher() { - // IME Switcher Button - return getButtonForDrawable(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH); - } - - public RotationContextButton getContextualRotation() { - // Rotation suggestion button - return new RotationContextButton(mContext); - } - - private View getButtonForDrawable(@DrawableRes int drawableId, @TaskbarButton int buttonType) { - ImageView buttonView = new ImageView(mContext); - buttonView.setImageResource(drawableId); - buttonView.setBackgroundResource(R.drawable.taskbar_icon_click_feedback_roundrect); - buttonView.setPadding(mMarginLeftRight, 0, mMarginLeftRight, 0); - buttonView.setOnClickListener(view -> mContext.onNavigationButtonClick(buttonType)); - return buttonView; - } - -} diff --git a/quickstep/src/com/android/launcher3/taskbar/ImeBarView.java b/quickstep/src/com/android/launcher3/taskbar/ImeBarView.java deleted file mode 100644 index d581302e62..0000000000 --- a/quickstep/src/com/android/launcher3/taskbar/ImeBarView.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright 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. - */ - -package com.android.launcher3.taskbar; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.View; -import android.widget.RelativeLayout; - -import com.android.launcher3.views.ActivityContext; - -public class ImeBarView extends RelativeLayout { - - private View mImeView; - - public ImeBarView(Context context) { - this(context, null); - } - - public ImeBarView(Context context, AttributeSet attrs) { - this(context, attrs, 0); - } - - public ImeBarView(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - } - - public void init(ButtonProvider buttonProvider) { - // TODO (b/187966005), maybe need to replace ime switcher button with - // RotationContextButton when device rotates - ActivityContext context = getActivityContext(); - RelativeLayout.LayoutParams imeParams = new RelativeLayout.LayoutParams( - context.getDeviceProfile().iconSizePx, - context.getDeviceProfile().iconSizePx - ); - RelativeLayout.LayoutParams downParams = new RelativeLayout.LayoutParams(imeParams); - - imeParams.addRule(ALIGN_PARENT_END); - imeParams.setMarginEnd(context.getDeviceProfile().iconSizePx); - downParams.setMarginStart(context.getDeviceProfile().iconSizePx); - downParams.addRule(ALIGN_PARENT_START); - - // Down Arrow - View downView = buttonProvider.getDown(); - downView.setLayoutParams(downParams); - downView.setRotation(-90); - addView(downView); - - // IME switcher button - mImeView = buttonProvider.getImeSwitcher(); - mImeView.setLayoutParams(imeParams); - addView(mImeView); - } - - public void setImeSwitcherVisibility(boolean show) { - mImeView.setVisibility(show ? VISIBLE : GONE); - } - - private T getActivityContext() { - return ActivityContext.lookupContext(getContext()); - } -} diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index f124de79ba..79af7cc5dd 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -15,42 +15,42 @@ */ package com.android.launcher3.taskbar; +import static com.android.launcher3.anim.Interpolators.LINEAR; + import android.animation.Animator; import android.animation.AnimatorListenerAdapter; -import android.graphics.Rect; -import android.graphics.RectF; import android.view.MotionEvent; +import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.launcher3.BaseQuickstepLauncher; -import com.android.launcher3.DeviceProfile; import com.android.launcher3.LauncherState; import com.android.launcher3.QuickstepTransitionManager; import com.android.launcher3.R; -import com.android.launcher3.Utilities; +import com.android.launcher3.anim.AnimatorListeners; import com.android.launcher3.anim.PendingAnimation; -import com.android.launcher3.states.StateAnimationConfig; +import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; +import com.android.quickstep.AnimatedFloat; + /** * A data source which integrates with a Launcher instance - * TODO: Rename to have Launcher prefix */ - public class LauncherTaskbarUIController extends TaskbarUIController { private final BaseQuickstepLauncher mLauncher; private final TaskbarStateHandler mTaskbarStateHandler; - private final TaskbarAnimationController mTaskbarAnimationController; private final TaskbarHotseatController mHotseatController; private final TaskbarActivityContext mContext; final TaskbarDragLayer mTaskbarDragLayer; final TaskbarView mTaskbarView; + private AnimatedFloat mTaskBarAlpha; + private AlphaProperty mIconAlphaForHome; private @Nullable Animator mAnimator; private boolean mIsAnimatingToLauncher; - private ContextualRotationNotifier mContextualRotationNotifier; public LauncherTaskbarUIController( BaseQuickstepLauncher launcher, TaskbarActivityContext context) { @@ -60,20 +60,19 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mLauncher = launcher; mTaskbarStateHandler = mLauncher.getTaskbarStateHandler(); - mTaskbarAnimationController = new TaskbarAnimationController(mLauncher, - createTaskbarAnimationControllerCallbacks()); mHotseatController = new TaskbarHotseatController( mLauncher, mTaskbarView::updateHotseatItems); + } @Override - protected void onCreate(ContextualRotationNotifier notifier) { - mContextualRotationNotifier = notifier; - mTaskbarStateHandler.setAnimationController(mTaskbarAnimationController); - mTaskbarAnimationController.init(); + protected void init(AnimatedFloat taskBarAlpha, AlphaProperty iconAlphaForLauncherState, + AlphaProperty iconAlphaForHome) { + mTaskBarAlpha = taskBarAlpha; + mIconAlphaForHome = iconAlphaForHome; + mTaskbarStateHandler.setAnimationController(iconAlphaForLauncherState); mHotseatController.init(); setTaskbarViewVisible(!mLauncher.hasBeenResumed()); - alignRealHotseatWithTaskbar(); mLauncher.setTaskbarUIController(this); } @@ -83,9 +82,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { // End this first, in case it relies on properties that are about to be cleaned up. mAnimator.end(); } - mContextualRotationNotifier = null; mTaskbarStateHandler.setAnimationController(null); - mTaskbarAnimationController.cleanup(); mHotseatController.cleanup(); setTaskbarViewVisible(true); mLauncher.getHotseat().setIconsAlpha(1f); @@ -97,46 +94,6 @@ public class LauncherTaskbarUIController extends TaskbarUIController { return !mIsAnimatingToLauncher; } - private TaskbarAnimationControllerCallbacks createTaskbarAnimationControllerCallbacks() { - return new TaskbarAnimationControllerCallbacks() { - @Override - public void updateTaskbarBackgroundAlpha(float alpha) { - mTaskbarDragLayer.setTaskbarBackgroundAlpha(alpha); - } - - @Override - public void updateTaskbarVisibilityAlpha(float alpha) { - mTaskbarView.setAlpha(alpha); - if (mContextualRotationNotifier != null) { - mContextualRotationNotifier.onTaskbarVisibilityChanged(alpha == 1); - } - } - - @Override - public void updateImeBarVisibilityAlpha(float alpha) { - mTaskbarDragLayer.updateImeBarVisibilityAlpha(alpha); - } - - @Override - public void updateTaskbarScale(float scale) { - mTaskbarView.setScaleX(scale); - mTaskbarView.setScaleY(scale); - } - - @Override - public void updateTaskbarTranslationY(float translationY) { - if (translationY < 0) { - // Resize to accommodate the max translation we'll reach. - mContext.setTaskbarWindowHeight(mContext.getDeviceProfile().taskbarSize - + mLauncher.getHotseat().getTaskbarOffsetY()); - } else { - mContext.setTaskbarWindowHeight(mContext.getDeviceProfile().taskbarSize); - } - mTaskbarView.setTranslationY(translationY); - } - }; - } - /** * Should be called from onResume() and onPause(), and animates the Taskbar accordingly. */ @@ -146,7 +103,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mAnimator.cancel(); } if (isResumed) { - mAnimator = createAnimToLauncher(null, duration); + mAnimator = createAnimToLauncher(mLauncher.getStateManager().getState(), duration); } else { mAnimator = createAnimToApp(duration); } @@ -162,20 +119,19 @@ public class LauncherTaskbarUIController extends TaskbarUIController { /** * Create Taskbar animation when going from an app to Launcher. * @param toState If known, the state we will end up in when reaching Launcher. + * TODO: Move this and createAnimToApp to TaskbarStateHandler using the BACKGROUND state */ - public Animator createAnimToLauncher(@Nullable LauncherState toState, long duration) { + public Animator createAnimToLauncher(@NonNull LauncherState toState, long duration) { PendingAnimation anim = new PendingAnimation(duration); - anim.add(mTaskbarAnimationController.createAnimToBackgroundAlpha(0, duration)); - if (toState != null) { - mTaskbarStateHandler.setStateWithAnimation(toState, new StateAnimationConfig(), anim); - } + mTaskbarStateHandler.setState(toState, anim); + + anim.setFloat(mTaskBarAlpha, AnimatedFloat.VALUE, 0, LINEAR); + mTaskbarView.alignIconsWithLauncher(mLauncher.getDeviceProfile(), anim); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { mIsAnimatingToLauncher = true; - mTaskbarView.setHolesAllowedInLayout(true); - mTaskbarView.updateHotseatItemsVisibility(); } @Override @@ -190,27 +146,17 @@ public class LauncherTaskbarUIController extends TaskbarUIController { private Animator createAnimToApp(long duration) { PendingAnimation anim = new PendingAnimation(duration); - anim.add(mTaskbarAnimationController.createAnimToBackgroundAlpha(1, duration)); + anim.setFloat(mTaskBarAlpha, AnimatedFloat.VALUE, 1, LINEAR); + anim.addListener(AnimatorListeners.forEndCallback(mTaskbarView.resetIconPosition(anim))); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { - mTaskbarView.updateHotseatItemsVisibility(); setTaskbarViewVisible(true); } - - @Override - public void onAnimationEnd(Animator animation) { - mTaskbarView.setHolesAllowedInLayout(false); - } }); return anim.buildAnim(); } - @Override - protected void onImeVisible(TaskbarDragLayer containerView, boolean isVisible) { - mTaskbarAnimationController.animateToVisibilityForIme(isVisible ? 0 : 1); - } - /** * Should be called when one or more items in the Hotseat have changed. */ @@ -230,55 +176,8 @@ public class LauncherTaskbarUIController extends TaskbarUIController { return mContext.getDragController().isDragging(); } - /** - * Pads the Hotseat to line up exactly with Taskbar's copy of the Hotseat. - */ - @Override - public void alignRealHotseatWithTaskbar() { - Rect hotseatBounds = new Rect(); - DeviceProfile grid = mLauncher.getDeviceProfile(); - int hotseatHeight = grid.workspacePadding.bottom + grid.taskbarSize; - int taskbarOffset = mLauncher.getHotseat().getTaskbarOffsetY(); - int hotseatTopDiff = hotseatHeight - grid.taskbarSize - taskbarOffset; - int hotseatBottomDiff = taskbarOffset; - - RectF hotseatBoundsF = mTaskbarView.getHotseatBounds(); - Utilities.scaleRectFAboutPivot(hotseatBoundsF, getTaskbarScaleOnHome(), - mTaskbarView.getPivotX(), mTaskbarView.getPivotY()); - hotseatBoundsF.round(hotseatBounds); - mLauncher.getHotseat().setPadding(hotseatBounds.left, - hotseatBounds.top + hotseatTopDiff, - mTaskbarView.getWidth() - hotseatBounds.right, - mTaskbarView.getHeight() - hotseatBounds.bottom + hotseatBottomDiff); - } - - /** - * Returns the ratio of the taskbar icon size on home vs in an app. - */ - public float getTaskbarScaleOnHome() { - DeviceProfile inAppDp = mContext.getDeviceProfile(); - DeviceProfile onHomeDp = mLauncher.getDeviceProfile(); - return (float) onHomeDp.cellWidthPx / inAppDp.cellWidthPx; - } - void setTaskbarViewVisible(boolean isVisible) { - mTaskbarView.setIconsVisibility(isVisible); + mIconAlphaForHome.setValue(isVisible ? 1 : 0); mLauncher.getHotseat().setIconsAlpha(isVisible ? 0f : 1f); } - - /** - * Contains methods that TaskbarAnimationController can call to interface with - * TaskbarController. - */ - protected interface TaskbarAnimationControllerCallbacks { - void updateTaskbarBackgroundAlpha(float alpha); - void updateTaskbarVisibilityAlpha(float alpha); - void updateImeBarVisibilityAlpha(float alpha); - void updateTaskbarScale(float scale); - void updateTaskbarTranslationY(float translationY); - } - - public interface ContextualRotationNotifier { - void onTaskbarVisibilityChanged(boolean showing); - } } diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java new file mode 100644 index 0000000000..1281b2e38f --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java @@ -0,0 +1,316 @@ +/* + * 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. + */ +package com.android.launcher3.taskbar; + +import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_BACK; +import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HOME; +import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; +import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; + +import android.animation.ObjectAnimator; +import android.annotation.DrawableRes; +import android.graphics.Rect; +import android.graphics.Region; +import android.graphics.Region.Op; +import android.graphics.drawable.AnimatedVectorDrawable; +import android.util.Property; +import android.view.View; +import android.view.View.OnClickListener; +import android.view.View.OnHoverListener; +import android.view.ViewGroup; +import android.widget.FrameLayout; +import android.widget.ImageView; + +import com.android.launcher3.LauncherAnimUtils; +import com.android.launcher3.R; +import com.android.launcher3.Utilities; +import com.android.launcher3.anim.AlphaUpdateListener; +import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarButton; +import com.android.launcher3.taskbar.contextual.RotationButton; +import com.android.launcher3.taskbar.contextual.RotationButtonController; +import com.android.launcher3.util.MultiValueAlpha; +import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; +import com.android.quickstep.AnimatedFloat; + +import java.util.ArrayList; +import java.util.function.IntPredicate; + +/** + * Controller for managing nav bar buttons in taskbar + */ +public class NavbarButtonUIController { + + private final Rect mTempRect = new Rect(); + + private static final int FLAG_SWITCHER_SUPPORTED = 1 << 0; + private static final int FLAG_IME_VISIBLE = 1 << 1; + private static final int FLAG_ROTATION_BUTTON_VISIBLE = 1 << 2; + + private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; + + private final ArrayList mPropertyHolders = new ArrayList<>(); + private final ArrayList mAllButtons = new ArrayList<>(); + private int mState; + + private final TaskbarActivityContext mContext; + + public NavbarButtonUIController(TaskbarActivityContext context) { + mContext = context; + } + + /** + * Initializes the controller + */ + public void init(TaskbarDragLayer dragLayer, + TaskbarNavButtonController navButtonController, + RotationButtonController rotationButtonController, + AnimatedFloat taskbarBackgroundAlpha, AlphaProperty taskbarIconAlpha) { + FrameLayout buttonController = dragLayer.findViewById(R.id.navbuttons_view); + buttonController.getLayoutParams().height = mContext.getDeviceProfile().taskbarSize; + + if (mContext.canShowNavButtons()) { + ViewGroup startContainer = buttonController.findViewById(R.id.start_nav_buttons); + ViewGroup endContainer = buttonController.findViewById(R.id.end_nav_buttons); + + initButtons(startContainer, endContainer, navButtonController); + + // Animate taskbar background when IME shows + mPropertyHolders.add(new StatePropertyHolder(taskbarBackgroundAlpha, + flags -> (flags & FLAG_IME_VISIBLE) == 0, + AnimatedFloat.VALUE, 0, 1)); + mPropertyHolders.add(new StatePropertyHolder( + taskbarIconAlpha, flags -> (flags & FLAG_IME_VISIBLE) == 0, + MultiValueAlpha.VALUE, 1, 0)); + + // Rotation button + RotationButton rotationButton = new RotationButtonImpl(addButton(endContainer)); + rotationButton.hide(); + rotationButtonController.setRotationButton(rotationButton); + } else { + rotationButtonController.setRotationButton(new RotationButton() { }); + } + + applyState(); + mPropertyHolders.forEach(StatePropertyHolder::endAnimation); + } + + private void initButtons(ViewGroup startContainer, ViewGroup endContainer, + TaskbarNavButtonController navButtonController) { + + View backButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, + startContainer, navButtonController); + // Rotate when Ime visible + mPropertyHolders.add(new StatePropertyHolder(backButton, + flags -> (flags & FLAG_IME_VISIBLE) == 0, View.ROTATION, 0, + Utilities.isRtl(mContext.getResources()) ? 90 : -90)); + + // home and recents buttons + View homeButton = addButton(R.drawable.ic_sysbar_home, BUTTON_HOME, startContainer, + navButtonController); + mPropertyHolders.add(new StatePropertyHolder(homeButton, + flags -> (flags & FLAG_IME_VISIBLE) == 0)); + View recentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS, + startContainer, navButtonController); + mPropertyHolders.add(new StatePropertyHolder(recentsButton, + flags -> (flags & FLAG_IME_VISIBLE) == 0)); + + // IME switcher + View imeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH, + endContainer, navButtonController); + mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton, + flags -> ((flags & MASK_IME_SWITCHER_VISIBLE) == MASK_IME_SWITCHER_VISIBLE) + && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0))); + } + + /** + * Should be called when the IME visibility changes, so we can hide/show Taskbar accordingly. + */ + public void setImeIsVisible(boolean isImeVisible) { + if (isImeVisible) { + mState |= FLAG_IME_VISIBLE; + } else { + mState &= ~FLAG_IME_VISIBLE; + } + applyState(); + } + + /** + * Returns true if IME bar is visible + */ + public boolean isImeVisible() { + return (mState & FLAG_IME_VISIBLE) != 0; + } + + /** + * Adds the bounds corresponding to all visible buttons to provided region + */ + public void addVisibleButtonsRegion(TaskbarDragLayer parent, Region outRegion) { + int count = mAllButtons.size(); + for (int i = 0; i < count; i++) { + View button = mAllButtons.get(i); + if (button.getVisibility() == View.VISIBLE) { + parent.getDescendantRectRelativeToSelf(button, mTempRect); + outRegion.op(mTempRect, Op.UNION); + } + } + } + + /** + * Sets if ime switcher is visible or not when ime is visible + */ + public void setImeSwitcherVisible(boolean imeSwitcherVisible) { + if (imeSwitcherVisible) { + mState |= FLAG_SWITCHER_SUPPORTED; + } else { + mState &= ~FLAG_SWITCHER_SUPPORTED; + } + applyState(); + } + + private void applyState() { + int count = mPropertyHolders.size(); + for (int i = 0; i < count; i++) { + mPropertyHolders.get(i).setState(mState); + } + } + + private ImageView addButton(@DrawableRes int drawableId, @TaskbarButton int buttonType, + ViewGroup parent, TaskbarNavButtonController navButtonController) { + ImageView buttonView = addButton(parent); + buttonView.setImageResource(drawableId); + buttonView.setOnClickListener(view -> navButtonController.onButtonClick(buttonType)); + return buttonView; + } + + private ImageView addButton(ViewGroup parent) { + ImageView buttonView = (ImageView) mContext.getLayoutInflater() + .inflate(R.layout.taskbar_nav_button, parent, false); + parent.addView(buttonView); + mAllButtons.add(buttonView); + return buttonView; + } + + private class RotationButtonImpl implements RotationButton { + + private final ImageView mButton; + private AnimatedVectorDrawable mImageDrawable; + + RotationButtonImpl(ImageView button) { + mButton = button; + } + + @Override + public void setRotationButtonController(RotationButtonController rotationButtonController) { + // TODO(b/187754252) UI polish, different icons based on light/dark context, etc + mImageDrawable = (AnimatedVectorDrawable) mButton.getContext() + .getDrawable(rotationButtonController.getIconResId()); + mButton.setImageDrawable(mImageDrawable); + mImageDrawable.setCallback(mButton); + } + + @Override + public View getCurrentView() { + return mButton; + } + + @Override + public void show() { + mButton.setVisibility(View.VISIBLE); + mState |= FLAG_ROTATION_BUTTON_VISIBLE; + applyState(); + } + + @Override + public void hide() { + mButton.setVisibility(View.GONE); + mState &= ~FLAG_ROTATION_BUTTON_VISIBLE; + applyState(); + } + + @Override + public boolean isVisible() { + return mButton.getVisibility() == View.VISIBLE; + } + + @Override + public void updateIcon(int lightIconColor, int darkIconColor) { + // TODO(b/187754252): UI Polish + } + + @Override + public void setOnClickListener(OnClickListener onClickListener) { + mButton.setOnClickListener(onClickListener); + } + + @Override + public void setOnHoverListener(OnHoverListener onHoverListener) { + mButton.setOnHoverListener(onHoverListener); + } + + @Override + public AnimatedVectorDrawable getImageDrawable() { + return mImageDrawable; + } + + @Override + public void setDarkIntensity(float darkIntensity) { + // TODO(b/187754252) UI polish + } + + @Override + public boolean acceptRotationProposal() { + return mButton.isAttachedToWindow(); + } + } + + private static class StatePropertyHolder { + + private final float mEnabledValue, mDisabledValue; + private final ObjectAnimator mAnimator; + private final IntPredicate mEnableCondition; + + private boolean mIsEnabled = true; + + StatePropertyHolder(View view, IntPredicate enableCondition) { + this(view, enableCondition, LauncherAnimUtils.VIEW_ALPHA, 1, 0); + mAnimator.addListener(new AlphaUpdateListener(view)); + } + + StatePropertyHolder(T target, IntPredicate enabledCondition, + Property property, float enabledValue, float disabledValue) { + mEnableCondition = enabledCondition; + mEnabledValue = enabledValue; + mDisabledValue = disabledValue; + mAnimator = ObjectAnimator.ofFloat(target, property, enabledValue, disabledValue); + } + + public void setState(int flags) { + boolean isEnabled = mEnableCondition.test(flags); + if (mIsEnabled != isEnabled) { + mIsEnabled = isEnabled; + mAnimator.cancel(); + mAnimator.setFloatValues(mIsEnabled ? mEnabledValue : mDisabledValue); + mAnimator.start(); + } + } + + public void endAnimation() { + if (mAnimator.isRunning()) { + mAnimator.end(); + } + } + } +} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index d51506cd6c..5f7dce5fac 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -29,6 +29,7 @@ import android.content.Intent; import android.content.pm.LauncherApps; import android.graphics.PixelFormat; import android.graphics.Rect; +import android.inputmethodservice.InputMethodService; import android.os.Process; import android.os.SystemProperties; import android.util.Log; @@ -53,10 +54,12 @@ import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarButton; import com.android.launcher3.taskbar.contextual.RotationButtonController; import com.android.launcher3.touch.ItemClickHandler; +import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.Themes; import com.android.launcher3.util.TraceHelper; import com.android.launcher3.views.ActivityContext; +import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.systemui.shared.recents.model.Task; @@ -76,11 +79,16 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private static final String WINDOW_TITLE = "Taskbar"; + private static final int ALPHA_INDEX_HOME = 0; + private static final int ALPHA_INDEX_LAUNCHER_STATE = 1; + private static final int ALPHA_INDEX_IME = 2; + private final DeviceProfile mDeviceProfile; private final LayoutInflater mLayoutInflater; private final TaskbarDragLayer mDragLayer; private final TaskbarIconController mIconController; private final TaskbarDragController mDragController; + private final NavbarButtonUIController mNavbarButtonUIController; private final WindowManager mWindowManager; private WindowManager.LayoutParams mWindowLayoutParams; @@ -89,7 +97,6 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private int mLastRequestedNonFullscreenHeight; private final SysUINavigationMode.Mode mNavMode; - private final SystemTaskbarNotificationManager mSystemTaskbarNotificationManager; private final TaskbarNavButtonController mNavButtonController; private final RotationButtonController mRotationButtonController; @@ -101,43 +108,18 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private final View.OnClickListener mOnTaskbarIconClickListener; private final View.OnLongClickListener mOnTaskbarIconLongClickListener; - private final TaskbarManager.SystemTaskbarNotifier mSystemTaskbarNotifier = - new TaskbarManager.SystemTaskbarNotifier() { - @Override - public void updateImeStatus(int displayId, int vis, int backDisposition, - boolean showImeSwitcher) { - /* - * When in 3 button nav, sysui flags don't get called since we prevent - * sysui nav bar from instantiating at all, which is what's responsible for - * sending sysui state flags over. - */ - mIconController.updateImeStatus(displayId, vis, showImeSwitcher); - } + // Alpha property for task bar + private final AnimatedFloat mBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha); + private final AnimatedFloat mBgNavbar = new AnimatedFloat(this::updateBackgroundAlpha); - @Override - public void onRotationProposal(int rotation, boolean isValid) { - mRotationButtonController.onRotationProposal(rotation, isValid); - } - - @Override - public void disable(int displayId, int state1, int state2, boolean animate) { - mRotationButtonController.onDisable2FlagChanged(state2); - } - - @Override - public void onSystemBarAttributesChanged(int displayId, int behavior) { - mRotationButtonController.onBehaviorChanged(displayId, behavior); - } - }; + private final MultiValueAlpha mTaskbarIconAlpha; public TaskbarActivityContext(Context windowContext, DeviceProfile dp, - TaskbarNavButtonController buttonController, - SystemTaskbarNotificationManager systemTaskbarNotificationManager) { + TaskbarNavButtonController buttonController) { super(windowContext, Themes.getActivityThemeRes(windowContext)); mDeviceProfile = dp; mNavButtonController = buttonController; mNavMode = SysUINavigationMode.getMode(windowContext); - mSystemTaskbarNotificationManager = systemTaskbarNotificationManager; mIsSafeModeEnabled = TraceHelper.allowIpcs("isSafeMode", () -> getPackageManager().isSafeMode()); @@ -146,23 +128,26 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mOnTaskbarIconClickListener = this::onTaskbarIconClicked; float taskbarIconSize = getResources().getDimension(R.dimen.taskbar_icon_size); + mDeviceProfile.updateIconSize(1, getResources()); float iconScale = taskbarIconSize / mDeviceProfile.iconSizePx; mDeviceProfile.updateIconSize(iconScale, getResources()); mLayoutInflater = LayoutInflater.from(this).cloneInContext(this); mDragLayer = (TaskbarDragLayer) mLayoutInflater .inflate(R.layout.taskbar, null, false); - mRotationButtonController = new RotationButtonController(this, R.color.popup_color_primary_light, R.color.popup_color_primary_light); - mIconController = new TaskbarIconController(this, mDragLayer, - mRotationButtonController); + mNavbarButtonUIController = new NavbarButtonUIController(this); + mIconController = new TaskbarIconController(this, mDragLayer, mNavbarButtonUIController); Display display = windowContext.getDisplay(); Context c = display.getDisplayId() == Display.DEFAULT_DISPLAY ? windowContext.getApplicationContext() : windowContext.getApplicationContext().createDisplayContext(display); mWindowManager = c.getSystemService(WindowManager.class); + + mTaskbarIconAlpha = new MultiValueAlpha(mDragLayer.findViewById(R.id.taskbar_view), 3); + mTaskbarIconAlpha.setUpdateVisibility(true); } public void init() { @@ -187,12 +172,12 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ new int[] { ITYPE_EXTRA_NAVIGATION_BAR, ITYPE_BOTTOM_TAPPABLE_ELEMENT } ); - mIconController.init(mOnTaskbarIconClickListener, mOnTaskbarIconLongClickListener, - mNavMode); + mIconController.init(mOnTaskbarIconClickListener, mOnTaskbarIconLongClickListener); + mNavbarButtonUIController.init(mDragLayer, mNavButtonController, mRotationButtonController, + mBgNavbar, mTaskbarIconAlpha.getProperty(ALPHA_INDEX_IME)); mWindowManager.addView(mDragLayer, mWindowLayoutParams); - if (mNavMode == Mode.THREE_BUTTONS) { - mSystemTaskbarNotificationManager - .registerSystemTaskbarNotifications(mSystemTaskbarNotifier); + if (canShowNavButtons()) { + mRotationButtonController.init(); } } @@ -232,10 +217,8 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mUIController.onDestroy(); mUIController = uiController; mIconController.setUIController(mUIController); - mUIController.onCreate(mRotationButtonController::onTaskBarVisibilityChange); - if (mNavMode == Mode.THREE_BUTTONS) { - mRotationButtonController.init(); - } + mUIController.init(mBgTaskbar, mTaskbarIconAlpha.getProperty(ALPHA_INDEX_LAUNCHER_STATE), + mTaskbarIconAlpha.getProperty(ALPHA_INDEX_HOME)); } /** @@ -244,12 +227,8 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ public void onDestroy() { setUIController(TaskbarUIController.DEFAULT); mIconController.onDestroy(); + mRotationButtonController.onDestroy(); mWindowManager.removeViewImmediate(mDragLayer); - if (mNavMode == Mode.THREE_BUTTONS) { - mSystemTaskbarNotificationManager.removeSystemTaskbarNotifications( - mSystemTaskbarNotifier); - mRotationButtonController.cleanup(); - } } void onNavigationButtonClick(@TaskbarButton int buttonType) { @@ -261,6 +240,36 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ */ public void setImeIsVisible(boolean isImeVisible) { mIconController.setImeIsVisible(isImeVisible); + mNavbarButtonUIController.setImeIsVisible(isImeVisible); + } + + /** + * When in 3 button nav, the above doesn't get called since we prevent sysui nav bar from + * instantiating at all, which is what's responsible for sending sysui state flags over. + * + * @param vis IME visibility flag + */ + public void updateImeStatus(int displayId, int vis, boolean showImeSwitcher) { + if (displayId != getDisplayId() || !canShowNavButtons()) { + return; + } + mNavbarButtonUIController.setImeSwitcherVisible(showImeSwitcher); + setImeIsVisible((vis & InputMethodService.IME_VISIBLE) != 0); + } + + public void onRotationProposal(int rotation, boolean isValid) { + mRotationButtonController.onRotationProposal(rotation, isValid); + } + + public void disable(int displayId, int state1, int state2, boolean animate) { + if (displayId != getDisplayId()) { + return; + } + mRotationButtonController.onDisable2FlagChanged(state2); + } + + public void onSystemBarAttributesChanged(int displayId, int behavior) { + mRotationButtonController.onBehaviorChanged(displayId, behavior); } /** @@ -316,7 +325,9 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ }); } else if (tag instanceof WorkspaceItemInfo) { WorkspaceItemInfo info = (WorkspaceItemInfo) tag; - if (!(info.isDisabled() && ItemClickHandler.handleDisabledItemClicked(info, this))) { + if (info.isDisabled()) { + ItemClickHandler.handleDisabledItemClicked(info, this); + } else { Intent intent = new Intent(info.getIntent()) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); try { @@ -352,4 +363,9 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ AbstractFloatingView.closeAllOpenViews(this); } + + private void updateBackgroundAlpha() { + mDragLayer.setTaskbarBackgroundAlpha(Math.max(mBgNavbar.value, mBgTaskbar.value)); + } + } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarAnimationController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarAnimationController.java deleted file mode 100644 index e20ddf88ce..0000000000 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarAnimationController.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * 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. - */ -package com.android.launcher3.taskbar; - -import static com.android.launcher3.LauncherState.TASKBAR; - -import android.animation.Animator; - -import com.android.launcher3.BaseQuickstepLauncher; -import com.android.launcher3.Utilities; -import com.android.launcher3.taskbar.LauncherTaskbarUIController.TaskbarAnimationControllerCallbacks; -import com.android.quickstep.AnimatedFloat; -import com.android.quickstep.SystemUiProxy; -import com.android.systemui.shared.system.QuickStepContract; - -/** - * Works with TaskbarController to update the TaskbarView's visual properties based on factors such - * as LauncherState, whether Launcher is in the foreground, etc. - */ -public class TaskbarAnimationController { - - private static final long IME_VISIBILITY_ALPHA_DURATION = 120; - - private final BaseQuickstepLauncher mLauncher; - private final TaskbarAnimationControllerCallbacks mTaskbarCallbacks; - - // Background alpha. - private final AnimatedFloat mTaskbarBackgroundAlpha = new AnimatedFloat( - this::onTaskbarBackgroundAlphaChanged); - - // Overall visibility. - private final AnimatedFloat mTaskbarVisibilityAlphaForLauncherState = new AnimatedFloat( - this::updateVisibilityAlpha); - private final AnimatedFloat mTaskbarVisibilityAlphaForIme = new AnimatedFloat( - this::updateVisibilityAlphaForIme); - - // Scale. - private final AnimatedFloat mTaskbarScaleForLauncherState = new AnimatedFloat( - this::updateScale); - - // TranslationY. - private final AnimatedFloat mTaskbarTranslationYForLauncherState = new AnimatedFloat( - this::updateTranslationY); - - public TaskbarAnimationController(BaseQuickstepLauncher launcher, - TaskbarAnimationControllerCallbacks taskbarCallbacks) { - mLauncher = launcher; - mTaskbarCallbacks = taskbarCallbacks; - } - - protected void init() { - mTaskbarBackgroundAlpha.updateValue(mLauncher.hasBeenResumed() ? 0f : 1f); - boolean isVisibleForLauncherState = (mLauncher.getStateManager().getState() - .getVisibleElements(mLauncher) & TASKBAR) != 0; - mTaskbarVisibilityAlphaForLauncherState.updateValue(isVisibleForLauncherState ? 1f : 0f); - boolean isImeVisible = (SystemUiProxy.INSTANCE.get(mLauncher).getLastSystemUiStateFlags() - & QuickStepContract.SYSUI_STATE_IME_SHOWING) != 0; - mTaskbarVisibilityAlphaForIme.updateValue(isImeVisible ? 0f : 1f); - - onTaskbarBackgroundAlphaChanged(); - updateVisibilityAlpha(); - } - - protected void cleanup() { - setNavBarButtonAlpha(1f); - } - - protected AnimatedFloat getTaskbarVisibilityForLauncherState() { - return mTaskbarVisibilityAlphaForLauncherState; - } - - protected AnimatedFloat getTaskbarScaleForLauncherState() { - return mTaskbarScaleForLauncherState; - } - - protected AnimatedFloat getTaskbarTranslationYForLauncherState() { - return mTaskbarTranslationYForLauncherState; - } - - protected Animator createAnimToBackgroundAlpha(float toAlpha, long duration) { - return mTaskbarBackgroundAlpha.animateToValue(mTaskbarBackgroundAlpha.value, toAlpha) - .setDuration(duration); - } - - protected void animateToVisibilityForIme(float toAlpha) { - mTaskbarVisibilityAlphaForIme.animateToValue(mTaskbarVisibilityAlphaForIme.value, toAlpha) - .setDuration(IME_VISIBILITY_ALPHA_DURATION).start(); - } - - private void onTaskbarBackgroundAlphaChanged() { - mTaskbarCallbacks.updateTaskbarBackgroundAlpha(mTaskbarBackgroundAlpha.value); - updateVisibilityAlpha(); - updateScale(); - updateTranslationY(); - } - - private void updateVisibilityAlpha() { - // We use mTaskbarBackgroundAlpha as a proxy for whether Launcher is resumed/paused, the - // assumption being that Taskbar should always be visible regardless of the current - // LauncherState if Launcher is paused. - float alphaDueToIme = mTaskbarVisibilityAlphaForIme.value; - float alphaDueToLauncher = Math.max(mTaskbarBackgroundAlpha.value, - mTaskbarVisibilityAlphaForLauncherState.value); - float taskbarAlpha = alphaDueToLauncher * alphaDueToIme; - mTaskbarCallbacks.updateTaskbarVisibilityAlpha(taskbarAlpha); - - // Make the nav bar invisible if taskbar is visible. - setNavBarButtonAlpha(1f - taskbarAlpha); - } - - private void updateVisibilityAlphaForIme() { - updateVisibilityAlpha(); - float taskbarAlphaDueToIme = mTaskbarVisibilityAlphaForIme.value; - mTaskbarCallbacks.updateImeBarVisibilityAlpha(1f - taskbarAlphaDueToIme); - } - - private void updateScale() { - // We use mTaskbarBackgroundAlpha as a proxy for whether Launcher is resumed/paused, the - // assumption being that Taskbar should always be at scale 1f regardless of the current - // LauncherState if Launcher is paused. - float scale = mTaskbarScaleForLauncherState.value; - scale = Utilities.mapRange(mTaskbarBackgroundAlpha.value, scale, 1f); - mTaskbarCallbacks.updateTaskbarScale(scale); - } - - private void updateTranslationY() { - // We use mTaskbarBackgroundAlpha as a proxy for whether Launcher is resumed/paused, the - // assumption being that Taskbar should always be at translationY 0f regardless of the - // current LauncherState if Launcher is paused. - float translationY = mTaskbarTranslationYForLauncherState.value; - translationY = Utilities.mapRange(mTaskbarBackgroundAlpha.value, translationY, 0f); - mTaskbarCallbacks.updateTaskbarTranslationY(translationY); - } - - private void setNavBarButtonAlpha(float navBarAlpha) { - SystemUiProxy.INSTANCE.get(mLauncher).setNavBarButtonAlpha(navBarAlpha, false); - } -} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java index 855c50728b..4294eb565f 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java @@ -15,9 +15,6 @@ */ package com.android.launcher3.taskbar; -import static android.view.View.INVISIBLE; -import static android.view.View.VISIBLE; - import android.content.ClipData; import android.content.ClipDescription; import android.content.Intent; @@ -89,7 +86,7 @@ public class TaskbarDragController extends DragController { startInternalDrag(btv); - btv.setVisibility(INVISIBLE); + btv.setAlpha(0); }); return true; } @@ -294,16 +291,9 @@ public class TaskbarDragController extends DragController { mFolderMargin = getResources().getDimensionPixelSize(R.dimen.taskbar_folder_margin); mTaskbarBackgroundPaint = new Paint(); mTaskbarBackgroundPaint.setColor(getResources().getColor(R.color.taskbar_background)); + mTaskbarBackgroundPaint.setAlpha(0); recreateControllers(); } @@ -109,12 +110,6 @@ public class TaskbarDragLayer extends BaseDragLayer { return true; } - public void updateImeBarVisibilityAlpha(float alpha) { - if (mControllerCallbacks != null) { - mControllerCallbacks.updateImeBarVisibilityAlpha(alpha); - } - } - @Override public void onViewRemoved(View child) { super.onViewRemoved(child); @@ -139,7 +134,6 @@ public class TaskbarDragLayer extends BaseDragLayer { return boundingBox; } - /** * Sets the alpha of the background color behind all the Taskbar contents. * @param alpha 0 is fully transparent, 1 is fully opaque. diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java index 549e26cb22..b36b829b7a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java @@ -15,14 +15,9 @@ */ package com.android.launcher3.taskbar; -import static android.view.View.GONE; -import static android.view.View.VISIBLE; - import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_FRAME; import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_REGION; -import android.graphics.Rect; -import android.inputmethodservice.InputMethodService; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; @@ -31,8 +26,6 @@ import androidx.annotation.NonNull; import com.android.launcher3.R; import com.android.launcher3.anim.AlphaUpdateListener; -import com.android.launcher3.taskbar.contextual.RotationButtonController; -import com.android.quickstep.SysUINavigationMode; import com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo; /** @@ -40,42 +33,28 @@ import com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo; */ public class TaskbarIconController { - private final Rect mTempRect = new Rect(); - private final TaskbarActivityContext mActivity; private final TaskbarDragLayer mDragLayer; + private final NavbarButtonUIController mNavbarButtonUIController; private final TaskbarView mTaskbarView; - private final ImeBarView mImeBarView; - private final RotationButtonController mRotationButtonController; @NonNull private TaskbarUIController mUIController = TaskbarUIController.DEFAULT; TaskbarIconController(TaskbarActivityContext activity, TaskbarDragLayer dragLayer, - RotationButtonController rotationButtonController) { + NavbarButtonUIController navbarButtonUIController) { mActivity = activity; mDragLayer = dragLayer; + mNavbarButtonUIController = navbarButtonUIController; mTaskbarView = mDragLayer.findViewById(R.id.taskbar_view); - mImeBarView = mDragLayer.findViewById(R.id.ime_bar_view); - mRotationButtonController = rotationButtonController; } - public void init(OnClickListener clickListener, OnLongClickListener longClickListener, - SysUINavigationMode.Mode navMode) { - mDragLayer.addOnLayoutChangeListener((v, a, b, c, d, e, f, g, h) -> - mUIController.alignRealHotseatWithTaskbar()); - - ButtonProvider buttonProvider = new ButtonProvider(mActivity); - mImeBarView.init(buttonProvider); - mTaskbarView.init(new TaskbarViewCallbacks(), clickListener, longClickListener, - buttonProvider); + public void init(OnClickListener clickListener, OnLongClickListener longClickListener) { + mTaskbarView.init(clickListener, longClickListener); mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; mDragLayer.init(new TaskbarDragLayerCallbacks(), mTaskbarView); - if (mActivity.canShowNavButtons()) { - mRotationButtonController.setRotationButton(mTaskbarView.getContextualRotationButton()); - } } public void onDestroy() { @@ -86,27 +65,11 @@ public class TaskbarIconController { mUIController = uiController; } - /** - * When in 3 button nav, the above doesn't get called since we prevent sysui nav bar from - * instantiating at all, which is what's responsible for sending sysui state flags over. - * - * @param vis IME visibility flag - */ - public void updateImeStatus(int displayId, int vis, boolean showImeSwitcher) { - if (displayId != mActivity.getDisplayId() || !mActivity.canShowNavButtons()) { - return; - } - - mImeBarView.setImeSwitcherVisibility(showImeSwitcher); - setImeIsVisible((vis & InputMethodService.IME_VISIBLE) != 0); - } - /** * Should be called when the IME visibility changes, so we can hide/show Taskbar accordingly. */ public void setImeIsVisible(boolean isImeVisible) { mTaskbarView.setTouchesEnabled(!isImeVisible); - mUIController.onImeVisible(mDragLayer, isImeVisible); } /** @@ -122,7 +85,7 @@ public class TaskbarIconController { if (mDragLayer.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) { // Let touches pass through us. insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); - } else if (mImeBarView.getVisibility() == VISIBLE) { + } else if (mNavbarButtonUIController.isImeVisible()) { insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); } else if (!mUIController.isTaskbarTouchable()) { // Let touches pass through us. @@ -131,17 +94,8 @@ public class TaskbarIconController { // Buttons are visible, take over the full taskbar area insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); } else { - if (mTaskbarView.mSystemButtonContainer.getVisibility() == VISIBLE) { - mDragLayer.getDescendantRectRelativeToSelf( - mTaskbarView.mSystemButtonContainer, mTempRect); - insetsInfo.touchableRegion.set(mTempRect); - } - if (mTaskbarView.mContextualButtonContainer.getVisibility() == VISIBLE) { - mDragLayer.getDescendantRectRelativeToSelf( - mTaskbarView.mContextualButtonContainer, mTempRect); - insetsInfo.touchableRegion.union(mTempRect); - } - + mNavbarButtonUIController.addVisibleButtonsRegion( + mDragLayer, insetsInfo.touchableRegion); insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); } @@ -160,32 +114,11 @@ public class TaskbarIconController { // Ensure no other children present (like Folders, etc) for (int i = 0; i < count; i++) { View v = mDragLayer.getChildAt(i); - if (!((v instanceof TaskbarView) || (v instanceof ImeBarView))) { + if (!(v instanceof TaskbarView)) { return; } } mActivity.setTaskbarWindowFullscreen(false); } - - public void updateImeBarVisibilityAlpha(float alpha) { - if (!mActivity.canShowNavButtons()) { - // TODO Remove sysui IME bar for gesture nav as well - return; - } - mImeBarView.setAlpha(alpha); - mImeBarView.setVisibility(alpha == 0 ? GONE : VISIBLE); - } - } - - /** - * Callbacks for {@link TaskbarView} to interact with the icon controller - */ - public class TaskbarViewCallbacks { - /** - * Returns whether no other controller is currently handling the given View's visibility. - */ - public boolean canUpdateViewVisibility(View child) { - return !mActivity.getDragController().isDraggingView(child); - } } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index b9acee8160..36bccee464 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -40,14 +40,11 @@ import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.quickstep.TouchInteractionService; -import java.util.ArrayList; -import java.util.List; - /** * Class to manage taskbar lifecycle */ public class TaskbarManager implements DisplayController.DisplayInfoChangeListener, - SysUINavigationMode.NavigationModeChangeListener, SystemTaskbarNotificationManager { + SysUINavigationMode.NavigationModeChangeListener { private final Context mContext; private final DisplayController mDisplayController; @@ -62,8 +59,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen private boolean mUserUnlocked = false; - private List mSystemTaskbarNotifiers = new ArrayList<>(); - public TaskbarManager(TouchInteractionService service) { mDisplayController = DisplayController.INSTANCE.get(service); mSysUINavigationMode = SysUINavigationMode.INSTANCE.get(service); @@ -129,7 +124,7 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen return; } mTaskbarActivityContext = new TaskbarActivityContext( - mContext, dp.copy(mContext), mNavButtonController, this); + mContext, dp.copy(mContext), mNavButtonController); mTaskbarActivityContext.init(); if (mLauncher != null) { mTaskbarActivityContext.setUIController( @@ -137,9 +132,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen } } - // TODO - I don't think this is the best place for these pass through methods, - // maybe directly in TaskbarIconController? - /** * See {@link com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags} * @param systemUiStateFlags The latest SystemUiStateFlags @@ -151,16 +143,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen } } - public void registerSystemTaskbarNotifications(SystemTaskbarNotifier notifier) { - if (!mSystemTaskbarNotifiers.contains(notifier)) { - mSystemTaskbarNotifiers.add(notifier); - } - } - - public void removeSystemTaskbarNotifications(SystemTaskbarNotifier notifier) { - mSystemTaskbarNotifiers.remove(notifier); - } - /** * When in 3 button nav, the above doesn't get called since we prevent sysui nav bar from * instantiating at all, which is what's responsible for sending sysui state flags over. @@ -171,26 +153,26 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen */ public void updateImeStatus(int displayId, int vis, int backDisposition, boolean showImeSwitcher) { - for (SystemTaskbarNotifier notifier : mSystemTaskbarNotifiers) { - notifier.updateImeStatus(displayId, vis, backDisposition, showImeSwitcher); + if (mTaskbarActivityContext != null) { + mTaskbarActivityContext.updateImeStatus(displayId, vis, showImeSwitcher); } } public void onRotationProposal(int rotation, boolean isValid) { - for (SystemTaskbarNotifier notifier : mSystemTaskbarNotifiers) { - notifier.onRotationProposal(rotation, isValid); + if (mTaskbarActivityContext != null) { + mTaskbarActivityContext.onRotationProposal(rotation, isValid); } } public void disable(int displayId, int state1, int state2, boolean animate) { - for (SystemTaskbarNotifier notifier : mSystemTaskbarNotifiers) { - notifier.disable(displayId, state1, state2, animate); + if (mTaskbarActivityContext != null) { + mTaskbarActivityContext.disable(displayId, state1, state2, animate); } } public void onSystemBarAttributesChanged(int displayId, int behavior) { - for (SystemTaskbarNotifier notifier : mSystemTaskbarNotifiers) { - notifier.onSystemBarAttributesChanged(displayId, behavior); + if (mTaskbarActivityContext != null) { + mTaskbarActivityContext.onSystemBarAttributesChanged(displayId, behavior); } } @@ -202,18 +184,4 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen mDisplayController.removeChangeListener(this); mSysUINavigationMode.removeModeChangeListener(this); } - - public interface SystemTaskbarNotifier { - void updateImeStatus(int displayId, int vis, int backDisposition, - boolean showImeSwitcher); - void onRotationProposal(int rotation, boolean isValid); - void disable(int displayId, int state1, int state2, boolean animate); - void onSystemBarAttributesChanged(int displayId, int behavior); - - } } - -interface SystemTaskbarNotificationManager { - void registerSystemTaskbarNotifications(TaskbarManager.SystemTaskbarNotifier notifier); - void removeSystemTaskbarNotifications(TaskbarManager.SystemTaskbarNotifier notifier); -} \ No newline at end of file diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java index a701aae088..e56ee8710b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java @@ -16,7 +16,6 @@ package com.android.launcher3.taskbar; import static com.android.launcher3.LauncherState.TASKBAR; -import static com.android.launcher3.anim.Interpolators.ACCEL_DEACCEL; import static com.android.launcher3.anim.Interpolators.LINEAR; import androidx.annotation.Nullable; @@ -27,7 +26,7 @@ import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.statemanager.StateManager; import com.android.launcher3.states.StateAnimationConfig; -import com.android.quickstep.AnimatedFloat; +import com.android.launcher3.util.MultiValueAlpha; /** * StateHandler to animate Taskbar according to Launcher's state machine. Does nothing if Taskbar @@ -37,15 +36,15 @@ public class TaskbarStateHandler implements StateManager.StateHandler mActivityContext.setTaskbarWindowHeight( + mActivityContext.getDeviceProfile().taskbarSize); } /** @@ -168,9 +158,8 @@ public class TaskbarView extends LinearLayout implements FolderIcon.FolderIconPa */ protected void updateHotseatItems(ItemInfo[] hotseatItemInfos) { for (int i = 0; i < hotseatItemInfos.length; i++) { - ItemInfo hotseatItemInfo = hotseatItemInfos[ - !mIsRtl ? i : hotseatItemInfos.length - i - 1]; - View hotseatView = mHotseatIconsContainer.getChildAt(i); + ItemInfo hotseatItemInfo = hotseatItemInfos[i]; + View hotseatView = getChildAt(i); // Replace any Hotseat views with the appropriate type if it's not already that type. final int expectedLayoutResId; @@ -191,7 +180,7 @@ public class TaskbarView extends LinearLayout implements FolderIcon.FolderIconPa if (hotseatView == null || hotseatView.getSourceLayoutResId() != expectedLayoutResId || needsReinflate) { - mHotseatIconsContainer.removeView(hotseatView); + removeView(hotseatView); if (isFolder) { FolderInfo folderInfo = (FolderInfo) hotseatItemInfo; FolderIcon folderIcon = FolderIcon.inflateFolderAndIcon(expectedLayoutResId, @@ -201,10 +190,9 @@ public class TaskbarView extends LinearLayout implements FolderIcon.FolderIconPa } else { hotseatView = inflate(expectedLayoutResId); } - int iconSize = mActivityContext.getDeviceProfile().iconSizePx; - LayoutParams lp = new LayoutParams(iconSize, iconSize); - lp.setMargins(mItemMarginLeftRight, 0, mItemMarginLeftRight, 0); - mHotseatIconsContainer.addView(hotseatView, i, lp); + LayoutParams lp = new LayoutParams(mIconTouchSize, mIconTouchSize); + hotseatView.setPadding(mItemPadding, mItemPadding, mItemPadding, mItemPadding); + addView(hotseatView, i, lp); } // Apply the Hotseat ItemInfos, or hide the view if there is none for a given index. @@ -222,22 +210,42 @@ public class TaskbarView extends LinearLayout implements FolderIcon.FolderIconPa hotseatView.setOnLongClickListener(null); hotseatView.setTag(null); } - updateHotseatItemVisibility(hotseatView); + hotseatView.setVisibility(hotseatView.getTag() != null ? VISIBLE : INVISIBLE); } } - protected void updateHotseatItemsVisibility() { - for (int i = mHotseatIconsContainer.getChildCount() - 1; i >= 0; i--) { - updateHotseatItemVisibility(mHotseatIconsContainer.getChildAt(i)); + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + int count = getChildCount(); + // Find total visible children + int visibleChildren = 0; + for (int i = 0; i < count; i++) { + if (getChildAt(i).getVisibility() == VISIBLE) { + visibleChildren++; + } } - } - private void updateHotseatItemVisibility(View hotseatView) { - if (!mControllerCallbacks.canUpdateViewVisibility(hotseatView)) { - return; + int spaceNeeded = visibleChildren * (mItemMarginLeftRight * 2 + mIconTouchSize); + int iconStart = (right - left - spaceNeeded) / 2; + int startOffset = ApiWrapper.getHotseatStartOffset(getContext()); + if (startOffset > iconStart) { + int diff = startOffset - iconStart; + iconStart = isLayoutRtl() ? (iconStart - diff) : iconStart + diff; } - hotseatView.setVisibility( - hotseatView.getTag() != null ? VISIBLE : (mAreHolesAllowed ? INVISIBLE : GONE)); + // Layout the children + mIconLayoutBounds.left = iconStart; + mIconLayoutBounds.top = (bottom - top - mIconTouchSize) / 2; + mIconLayoutBounds.bottom = mIconLayoutBounds.top + mIconTouchSize; + for (int i = 0; i < count; i++) { + View child = getChildAt(i); + if (child.getVisibility() == VISIBLE) { + iconStart += mItemMarginLeftRight; + int iconEnd = iconStart + mIconTouchSize; + child.layout(iconStart, mIconLayoutBounds.top, iconEnd, mIconLayoutBounds.bottom); + iconStart = iconEnd + mItemMarginLeftRight; + } + } + mIconLayoutBounds.right = iconStart; } @Override @@ -248,154 +256,21 @@ public class TaskbarView extends LinearLayout implements FolderIcon.FolderIconPa return super.dispatchTouchEvent(ev); } - @Override - public boolean onTouchEvent(MotionEvent event) { - boolean handled = delegateTouchIfNecessary(event); - return super.onTouchEvent(event) || handled; - } - public void setTouchesEnabled(boolean touchEnabled) { this.mTouchEnabled = touchEnabled; } - /** - * User touched the Taskbar background. Determine whether the touch is close enough to a view - * that we should forward the touches to it. - * @return Whether a delegate view was chosen and it handled the touch event. - */ - private boolean delegateTouchIfNecessary(MotionEvent event) { - final float x = event.getX(); - final float y = event.getY(); - if (mDelegateView == null && event.getAction() == MotionEvent.ACTION_DOWN) { - View delegateView = findDelegateView(x, y); - if (delegateView != null) { - mDelegateTargeted = true; - mDelegateView = delegateView; - mDelegateSlopBounds.set(mTempDelegateBounds); - mDelegateSlopBounds.inset(-mTouchSlop, -mTouchSlop); - } - } - - boolean sendToDelegate = mDelegateTargeted; - boolean inBounds = true; - switch (event.getAction()) { - case MotionEvent.ACTION_MOVE: - inBounds = mDelegateSlopBounds.contains(x, y); - break; - case MotionEvent.ACTION_UP: - case MotionEvent.ACTION_CANCEL: - mDelegateTargeted = false; - break; - } - - boolean handled = false; - if (sendToDelegate) { - if (inBounds) { - // Offset event coordinates to be inside the target view - event.setLocation(mDelegateView.getWidth() / 2f, mDelegateView.getHeight() / 2f); - } else { - // Offset event coordinates to be outside the target view (in case it does - // something like tracking pressed state) - event.setLocation(-mTouchSlop * 2, -mTouchSlop * 2); - } - handled = mDelegateView.dispatchTouchEvent(event); - // Cleanup if this was the last event to send to the delegate. - if (!mDelegateTargeted) { - mDelegateView = null; - } - } - return handled; - } - - /** - * Return an item whose touch bounds contain the given coordinates, - * or null if no such item exists. - * - * Also sets {@link #mTempDelegateBounds} to be the touch bounds of the chosen delegate view. - */ - private @Nullable View findDelegateView(float x, float y) { - for (int i = 0; i < getChildCount(); i++) { - View child = getChildAt(i); - if (!child.isShown() || !child.isClickable()) { - continue; - } - int childCenterX = child.getLeft() + child.getWidth() / 2; - int childCenterY = child.getTop() + child.getHeight() / 2; - mTempDelegateBounds.set( - childCenterX - mIconTouchSize / 2f, - childCenterY - mIconTouchSize / 2f, - childCenterX + mIconTouchSize / 2f, - childCenterY + mIconTouchSize / 2f); - if (mTempDelegateBounds.contains(x, y)) { - return child; - } - } - return null; - } - /** * Returns whether the given MotionEvent, *in screen coorindates*, is within any Taskbar item's * touch bounds. */ public boolean isEventOverAnyItem(MotionEvent ev) { getLocationOnScreen(mTempOutLocation); - float xInOurCoordinates = ev.getX() - mTempOutLocation[0]; - float yInOurCoorindates = ev.getY() - mTempOutLocation[1]; - return findDelegateView(xInOurCoordinates, yInOurCoorindates) != null; + int xInOurCoordinates = (int) ev.getX() - mTempOutLocation[0]; + int yInOurCoorindates = (int) ev.getY() - mTempOutLocation[1]; + return isShown() && mIconLayoutBounds.contains(xInOurCoordinates, yInOurCoorindates); } - /** - * Add back/home/recents buttons into a single ViewGroup that will be inserted at - * {@param navButtonStartIndex} - */ - private void createNavButtons() { - LinearLayout.LayoutParams buttonParams = new LinearLayout.LayoutParams( - mActivityContext.getDeviceProfile().iconSizePx, - mActivityContext.getDeviceProfile().iconSizePx - ); - buttonParams.gravity = Gravity.CENTER; - - mSystemButtonContainer.addView(mButtonProvider.getBack(), buttonParams); - mSystemButtonContainer.addView(mButtonProvider.getHome(), buttonParams); - mSystemButtonContainer.addView(mButtonProvider.getRecents(), buttonParams); - } - - /** - * @return The bounding box of where the hotseat elements are relative to this TaskbarView. - */ - protected RectF getHotseatBounds() { - RectF result; - mDisableRelayout = true; - boolean wereHolesAllowed = mAreHolesAllowed; - setHolesAllowedInLayoutNoAnimation(true); - result = new RectF( - mHotseatIconsContainer.getLeft(), - mHotseatIconsContainer.getTop(), - mHotseatIconsContainer.getRight(), - mHotseatIconsContainer.getBottom()); - setHolesAllowedInLayoutNoAnimation(wereHolesAllowed); - mDisableRelayout = false; - - return result; - } - - @Override - public void requestLayout() { - if (!mDisableRelayout) { - super.requestLayout(); - } - } - - private void createContextualRegion() { - mContextualRotationButton = mButtonProvider.getContextualRotation(); - mContextualRotationButton.setVisibility(GONE); - mContextualButtonContainer.addView(mContextualRotationButton); - } - - @Nullable - public RotationContextButton getContextualRotationButton() { - return mContextualRotationButton; - } // FolderIconParent implemented methods. @Override @@ -432,11 +307,8 @@ public class TaskbarView extends LinearLayout implements FolderIcon.FolderIconPa // Ignore, we just implement Insettable to draw behind system insets. } - public void setIconsVisibility(boolean isVisible) { - mHotseatIconsContainer.setVisibility(isVisible ? VISIBLE : INVISIBLE); - } - public boolean areIconsVisible() { - return mHotseatIconsContainer.getVisibility() == VISIBLE; + // Consider the overall visibility + return getVisibility() == VISIBLE; } } diff --git a/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButton.java b/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButton.java index d42107742e..40930972d1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButton.java +++ b/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButton.java @@ -30,16 +30,24 @@ import android.view.View; * * Directly use AnimatedVectorDrawable instead of KeyButtonDrawable */ public interface RotationButton { - void setRotationButtonController(RotationButtonController rotationButtonController); - View getCurrentView(); - boolean show(); - boolean hide(); - boolean isVisible(); - void updateIcon(int lightIconColor, int darkIconColor); - void setOnClickListener(View.OnClickListener onClickListener); - void setOnHoverListener(View.OnHoverListener onHoverListener); - AnimatedVectorDrawable getImageDrawable(); - void setDarkIntensity(float darkIntensity); + default void setRotationButtonController(RotationButtonController rotationButtonController) { } + + default View getCurrentView() { + return null; + } + default void show() { } + default void hide() { } + default boolean isVisible() { + return false; + } + + default void updateIcon(int lightIconColor, int darkIconColor) { } + default void setOnClickListener(View.OnClickListener onClickListener) { } + default void setOnHoverListener(View.OnHoverListener onHoverListener) { } + default AnimatedVectorDrawable getImageDrawable() { + return null; + } + default void setDarkIntensity(float darkIntensity) { } default boolean acceptRotationProposal() { return getCurrentView() != null; } diff --git a/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButtonController.java b/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButtonController.java index 6f6abc2533..99dc2828ea 100644 --- a/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/contextual/RotationButtonController.java @@ -104,7 +104,7 @@ public class RotationButtonController { private final IRotationWatcher.Stub mRotationWatcher = new IRotationWatcher.Stub() { @Override - public void onRotationChanged(final int rotation) throws RemoteException { + public void onRotationChanged(final int rotation) { // We need this to be scheduled as early as possible to beat the redrawing of // window in response to the orientation change. mMainThreadHandler.postAtFrontOfQueue(() -> { @@ -137,7 +137,7 @@ public class RotationButtonController { mAccessibilityManager = AccessibilityManager.getInstance(context); mTaskStackListener = new TaskStackListenerImpl(); - mDisplayController = DisplayController.INSTANCE.getNoCreate(); + mDisplayController = DisplayController.INSTANCE.get(context); } public void setRotationButton(RotationButton rotationButton) { @@ -156,7 +156,7 @@ public class RotationButtonController { } } - public void cleanup() { + public void onDestroy() { unregisterListeners(); } diff --git a/quickstep/src/com/android/launcher3/taskbar/contextual/RotationContextButton.java b/quickstep/src/com/android/launcher3/taskbar/contextual/RotationContextButton.java deleted file mode 100644 index 7ad3191c49..0000000000 --- a/quickstep/src/com/android/launcher3/taskbar/contextual/RotationContextButton.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright 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. - */ - -package com.android.launcher3.taskbar.contextual; - -import android.content.Context; -import android.graphics.drawable.AnimatedVectorDrawable; -import android.view.View; -import android.widget.ImageView; - -import com.android.launcher3.R; - -/** Containing logic for the rotation button in nav bar. */ -public class RotationContextButton extends ImageView implements RotationButton { - - private AnimatedVectorDrawable mImageDrawable; - - public RotationContextButton(Context context) { - super(context); - setBackgroundResource(R.drawable.taskbar_icon_click_feedback_roundrect); - } - - @Override - public void setRotationButtonController(RotationButtonController rotationButtonController) { - // TODO(b/187754252) UI polish, different icons based on light/dark context, etc - mImageDrawable = (AnimatedVectorDrawable) getContext() - .getDrawable(rotationButtonController.getIconResId()); - setImageDrawable(mImageDrawable); - mImageDrawable.setCallback(this); - } - - @Override - public View getCurrentView() { - return this; - } - - @Override - public boolean show() { - setVisibility(VISIBLE); - return true; - } - - @Override - public boolean hide() { - setVisibility(GONE); - return true; - } - - @Override - public boolean isVisible() { - return getVisibility() == VISIBLE; - } - - @Override - public void updateIcon(int lightIconColor, int darkIconColor) { - // TODO(b/187754252): UI Polish - } - - @Override - public void setOnClickListener(View.OnClickListener onClickListener) { - super.setOnClickListener(onClickListener); - } - - @Override - public void setOnHoverListener(View.OnHoverListener onHoverListener) { - super.setOnHoverListener(onHoverListener); - } - - @Override - public AnimatedVectorDrawable getImageDrawable() { - return mImageDrawable; - } - - @Override - public void setDarkIntensity(float darkIntensity) { - // TODO(b/187754252) UI polish - } - - @Override - public void setVisibility(int visibility) { - super.setVisibility(visibility); - - if (visibility != View.VISIBLE && mImageDrawable != null) { - mImageDrawable.clearAnimationCallbacks(); - mImageDrawable.reset(); - } - - // Start the rotation animation once it becomes visible - if (visibility == View.VISIBLE && mImageDrawable != null) { - mImageDrawable.reset(); - mImageDrawable.start(); - } - } - - @Override - public boolean acceptRotationProposal() { - return isAttachedToWindow(); - } -} diff --git a/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java b/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java index 76a5782d11..a595f54322 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java +++ b/quickstep/src/com/android/launcher3/uioverrides/ApiWrapper.java @@ -17,10 +17,15 @@ package com.android.launcher3.uioverrides; import android.app.Person; +import android.content.Context; import android.content.pm.ShortcutInfo; +import android.content.res.Resources; import android.view.Display; +import com.android.launcher3.R; import com.android.launcher3.Utilities; +import com.android.quickstep.SysUINavigationMode; +import com.android.quickstep.SysUINavigationMode.Mode; public class ApiWrapper { @@ -37,4 +42,18 @@ public class ApiWrapper { public static boolean isInternalDisplay(Display display) { return display.getType() == Display.TYPE_INTERNAL; } + + /** + * Returns the minimum space that should be left empty at the start of hotseat + */ + public static int getHotseatStartOffset(Context context) { + if (SysUINavigationMode.INSTANCE.get(context).getMode() == Mode.THREE_BUTTONS) { + Resources res = context.getResources(); + return 2 * res.getDimensionPixelSize(R.dimen.taskbar_nav_buttons_spacing) + + 3 * res.getDimensionPixelSize(R.dimen.taskbar_nav_buttons_size); + } else { + return 0; + } + + } } diff --git a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java index 8c128c8e08..90e17c0276 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java +++ b/quickstep/src/com/android/launcher3/uioverrides/states/OverviewState.java @@ -82,16 +82,6 @@ public class OverviewState extends LauncherState { return new float[] {NO_SCALE, NO_OFFSET}; } - @Override - public float getTaskbarScale(Launcher launcher) { - return 1f; - } - - @Override - public float getTaskbarTranslationY(Launcher launcher) { - return 0f; - } - @Override public PageAlphaProvider getWorkspacePageAlphaProvider(Launcher launcher) { return new PageAlphaProvider(DEACCEL_2) { diff --git a/res/values/dimens.xml b/res/values/dimens.xml index d6a6f43803..584ecb7c79 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -295,6 +295,10 @@ 0dp + 0dp + 44dp + + 8dp 16dp diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java index e9245b0819..2da7ac39e0 100644 --- a/src/com/android/launcher3/DeviceProfile.java +++ b/src/com/android/launcher3/DeviceProfile.java @@ -44,6 +44,7 @@ import com.android.launcher3.config.FeatureFlags; import com.android.launcher3.icons.DotRenderer; import com.android.launcher3.icons.GraphicsUtils; import com.android.launcher3.icons.IconNormalizer; +import com.android.launcher3.uioverrides.ApiWrapper; import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.DisplayController.Info; import com.android.launcher3.util.WindowBounds; @@ -54,6 +55,8 @@ import java.io.PrintWriter; public class DeviceProfile { private static final int DEFAULT_DOT_SIZE = 100; + // Ratio of empty space, qsb should take up to appear visually centered. + private static final float QSB_CENTER_FACTOR = .325f; public final InvariantDeviceProfile inv; private final Info mInfo; @@ -156,6 +159,7 @@ public class DeviceProfile { // Start is the side next to the nav bar, end is the side next to the workspace public final int hotseatBarSidePaddingStartPx; public final int hotseatBarSidePaddingEndPx; + public final int hotseatQsbHeight; // All apps public int allAppsOpenVerticalTranslate; @@ -240,6 +244,7 @@ public class DeviceProfile { mMetrics = context.getResources().getDisplayMetrics(); final Resources res = context.getResources(); + hotseatQsbHeight = res.getDimensionPixelSize(R.dimen.qsb_widget_height); isTaskbarPresent = isTablet && FeatureFlags.ENABLE_TASKBAR.get(); if (isTaskbarPresent) { // Taskbar will be added later, but provides bottom insets that we should subtract @@ -740,7 +745,10 @@ public class DeviceProfile { } } - public Rect getHotseatLayoutPadding() { + /** + * Returns the padding for hotseat view + */ + public Rect getHotseatLayoutPadding(Context context) { if (isVerticalBarLayout()) { if (isSeascape()) { mHotseatPadding.set(mInsets.left + hotseatBarSidePaddingStartPx, @@ -749,6 +757,30 @@ public class DeviceProfile { mHotseatPadding.set(hotseatBarSidePaddingEndPx, mInsets.top, mInsets.right + hotseatBarSidePaddingStartPx, mInsets.bottom); } + } else if (isTaskbarPresent) { + int hotseatHeight = workspacePadding.bottom + taskbarSize; + int taskbarOffset = getTaskbarOffsetY(); + int hotseatTopDiff = hotseatHeight - taskbarSize - taskbarOffset; + + int startOffset = ApiWrapper.getHotseatStartOffset(context); + int requiredWidth = iconSizePx * numShownHotseatIcons; + + Resources res = context.getResources(); + float taskbarIconSize = res.getDimension(R.dimen.taskbar_icon_size); + float taskbarIconSpacing = 2 * res.getDimension(R.dimen.taskbar_icon_spacing); + int maxSize = (int) (requiredWidth + * (taskbarIconSize + taskbarIconSpacing) / taskbarIconSize); + int hotseatSize = Math.min(maxSize, availableWidthPx - startOffset); + int sideSpacing = (availableWidthPx - hotseatSize) / 2; + mHotseatPadding.set(sideSpacing, hotseatTopDiff, sideSpacing, taskbarOffset); + + if (startOffset > sideSpacing) { + int diff = Utilities.isRtl(context.getResources()) + ? sideSpacing - startOffset + : startOffset - sideSpacing; + mHotseatPadding.left += diff; + mHotseatPadding.right -= diff; + } } else { // We want the edges of the hotseat to line up with the edges of the workspace, but the // icons in the hotseat are a different size, and so don't line up perfectly. To account @@ -768,6 +800,24 @@ public class DeviceProfile { return mHotseatPadding; } + /** + * Returns the number of pixels the QSB is translated from the bottom of the screen. + */ + public int getQsbOffsetY() { + int freeSpace = isTaskbarPresent + ? workspacePadding.bottom + : hotseatBarSizePx - hotseatCellHeightPx - hotseatQsbHeight; + return (int) (freeSpace * QSB_CENTER_FACTOR) + + (isTaskbarPresent ? taskbarSize : getInsets().bottom); + } + + /** + * Returns the number of pixels the taskbar is translated from the bottom of the screen. + */ + public int getTaskbarOffsetY() { + return (getQsbOffsetY() - taskbarSize) / 2; + } + /** * @return the bounds for which the open folders should be contained within */ diff --git a/src/com/android/launcher3/Hotseat.java b/src/com/android/launcher3/Hotseat.java index ff380ce1ae..b3ae15ed4d 100644 --- a/src/com/android/launcher3/Hotseat.java +++ b/src/com/android/launcher3/Hotseat.java @@ -49,8 +49,6 @@ public class Hotseat extends CellLayout implements Insettable { private final View mQsb; private final int mQsbHeight; - private final int mTaskbarViewHeight; - public Hotseat(Context context) { this(context, null); } @@ -63,10 +61,9 @@ public class Hotseat extends CellLayout implements Insettable { super(context, attrs, defStyle); mQsb = LayoutInflater.from(context).inflate(R.layout.search_container_hotseat, this, false); - mQsbHeight = mQsb.getLayoutParams().height; addView(mQsb); - mTaskbarViewHeight = context.getResources().getDimensionPixelSize(R.dimen.taskbar_size); + mQsbHeight = getResources().getDimensionPixelSize(R.dimen.qsb_widget_height); } /** @@ -114,18 +111,13 @@ public class Hotseat extends CellLayout implements Insettable { lp.gravity = Gravity.BOTTOM; lp.width = ViewGroup.LayoutParams.MATCH_PARENT; lp.height = (grid.isTaskbarPresent - ? grid.workspacePadding.bottom + ? grid.workspacePadding.bottom : grid.hotseatBarSizePx) + (grid.isTaskbarPresent ? grid.taskbarSize : insets.bottom); } - if (!grid.isTaskbarPresent) { - // When taskbar is present, we set the padding separately to ensure a seamless visual - // handoff between taskbar and hotseat during drag and drop. - Rect padding = grid.getHotseatLayoutPadding(); - setPadding(padding.left, padding.top, padding.right, padding.bottom); - } - + Rect padding = grid.getHotseatLayoutPadding(getContext()); + setPadding(padding.left, padding.top, padding.right, padding.bottom); setLayoutParams(lp); InsettableFrameLayout.dispatchInsets(this, insets); } @@ -193,30 +185,11 @@ public class Hotseat extends CellLayout implements Insettable { int left = (r - l - qsbWidth) / 2; int right = left + qsbWidth; - int bottom = b - t - getQsbOffsetY(); + int bottom = b - t - mActivity.getDeviceProfile().getQsbOffsetY(); int top = bottom - mQsbHeight; mQsb.layout(left, top, right, bottom); } - /** - * Returns the number of pixels the QSB is translated from the bottom of the screen. - */ - private int getQsbOffsetY() { - DeviceProfile dp = mActivity.getDeviceProfile(); - int freeSpace = dp.isTaskbarPresent - ? dp.workspacePadding.bottom - : dp.hotseatBarSizePx - dp.hotseatCellHeightPx - mQsbHeight; - return (int) (freeSpace * QSB_CENTER_FACTOR) - + (dp.isTaskbarPresent ? dp.taskbarSize : dp.getInsets().bottom); - } - - /** - * Returns the number of pixels the taskbar is translated from the bottom of the screen. - */ - public int getTaskbarOffsetY() { - return (getQsbOffsetY() - mTaskbarViewHeight) / 2; - } - /** * Sets the alpha value of just our ShortcutAndWidgetContainer. */ diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 892fb6d6f0..fc8d65c85c 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -2801,13 +2801,6 @@ public class Launcher extends StatefulActivity implements Launche return new float[] {NO_SCALE, NO_OFFSET}; } - /** - * @see LauncherState#getTaskbarScale(Launcher) - */ - public float getNormalTaskbarScale() { - return 1f; - } - public static Launcher getLauncher(Context context) { return fromContext(context); } diff --git a/src/com/android/launcher3/LauncherState.java b/src/com/android/launcher3/LauncherState.java index 3399ce9cd6..7985ab5ad3 100644 --- a/src/com/android/launcher3/LauncherState.java +++ b/src/com/android/launcher3/LauncherState.java @@ -181,14 +181,6 @@ public abstract class LauncherState implements BaseState { return launcher.getNormalOverviewScaleAndOffset(); } - public float getTaskbarScale(Launcher launcher) { - return launcher.getNormalTaskbarScale(); - } - - public float getTaskbarTranslationY(Launcher launcher) { - return -launcher.getHotseat().getTaskbarOffsetY(); - } - public float getOverviewFullscreenProgress() { return 0; } diff --git a/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java b/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java index 4407fe1149..c606861cd8 100644 --- a/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java +++ b/src_ui_overrides/com/android/launcher3/uioverrides/ApiWrapper.java @@ -17,6 +17,7 @@ package com.android.launcher3.uioverrides; import android.app.Person; +import android.content.Context; import android.content.pm.ShortcutInfo; import android.view.Display; @@ -36,4 +37,11 @@ public class ApiWrapper { public static boolean isInternalDisplay(Display display) { return display.getDisplayId() == Display.DEFAULT_DISPLAY; } + + /** + * Returns the minimum space that should be left empty at the start of hotseat + */ + public static int getHotseatStartOffset(Context context) { + return 0; + } } From 5c7b505d25d0a4a38e74d8d94d2a4ed78aa8be02 Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Thu, 3 Jun 2021 15:01:49 +0000 Subject: [PATCH 024/905] Animate live tile translation and update live tile page scroll on dismissal of non-live tile tasks. Test: manual Fix: 188453992 Bug: 188453992 Change-Id: I661c7a2900118ea02e4947feed99308d1a3a5619 --- .../com/android/quickstep/views/RecentsView.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 17d1afc168..b5ffdbe40b 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -2193,7 +2193,7 @@ public abstract class RecentsView dismissingTaskViewTranslate = - taskView.getSecondaryDissmissTranslationProperty();; + taskView.getSecondaryDissmissTranslationProperty(); // TODO(b/186800707) translate entire grid size distance int translateDistance = mOrientationHandler.getSecondaryDimension(taskView); int positiveNegativeFactor = mOrientationHandler.getSecondaryTranslationDirectionFactor(); @@ -2226,7 +2226,7 @@ public abstract class RecentsView { mLiveTileTaskViewSimulator.taskSecondaryTranslation.value = mOrientationHandler.getSecondaryValue( @@ -2349,6 +2349,15 @@ public abstract class RecentsView { + mLiveTileTaskViewSimulator.taskPrimaryTranslation.value = + mOrientationHandler.getPrimaryValue(child.getTranslationX(), + child.getTranslationY()); + redrawLiveTile(); + }); + } needsCurveUpdates = true; } } else if (child instanceof TaskView) { @@ -2460,6 +2469,7 @@ public abstract class RecentsView Date: Thu, 3 Jun 2021 13:19:50 -0700 Subject: [PATCH 025/905] Workaround for apps to stop before removing the task - With live tile enabled, the race between destroying the task and killing the process is more evident since the app may not get stopped at all. For now, when dismissing, defer removing the task until we've finished the recents animation to allow the app to be stopped accordingly Bug: 184899234 Test: Dismiss the task from overview, check that the app gets lifecycle events Change-Id: Ib3ea479643d65859fe4cd580b4c347b87130a69d --- .../android/quickstep/RecentsActivity.java | 3 +- .../android/quickstep/views/RecentsView.java | 30 +++++++++++++------ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java index 0e9e3ad029..d43bb24a1e 100644 --- a/quickstep/src/com/android/quickstep/RecentsActivity.java +++ b/quickstep/src/com/android/quickstep/RecentsActivity.java @@ -350,8 +350,7 @@ public final class RecentsActivity extends StatefulActivity { public void startHome() { if (LIVE_TILE.get()) { RecentsView recentsView = getOverviewPanel(); - recentsView.switchToScreenshot(() -> recentsView.finishRecentsAnimation(true, - this::startHomeInternal)); + recentsView.switchToScreenshotAndFinishAnimationToRecents(this::startHomeInternal); } else { startHomeInternal(); } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 17d1afc168..166fd80970 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -176,6 +176,10 @@ public abstract class RecentsView CONTENT_ALPHA = new FloatProperty("contentAlpha") { @Override @@ -2423,8 +2427,11 @@ public abstract class RecentsView ActivityManagerWrapper.getInstance() - .removeTask(dismissedTaskId)); + switchToScreenshotAndFinishAnimationToRecents(() -> { + UI_HELPER_EXECUTOR.getHandler().postDelayed(() -> + ActivityManagerWrapper.getInstance().removeTask( + dismissedTaskId), REMOVE_TASK_WAIT_FOR_APP_STOP_MS); + }); mActivity.getStatsLogManager().logger() .withItemInfo(dismissedTaskView.getItemInfo()) .log(LAUNCHER_TASK_DISMISS_SWIPE_UP); @@ -2529,10 +2536,13 @@ public abstract class RecentsView { if (isSuccess) { // Remove all the task views now - UI_HELPER_EXECUTOR.execute( - ActivityManagerWrapper.getInstance()::removeAllRecentTasks); - removeTasksViewsAndClearAllButton(); - startHome(); + switchToScreenshotAndFinishAnimationToRecents(() -> { + UI_HELPER_EXECUTOR.getHandler().postDelayed( + ActivityManagerWrapper.getInstance()::removeAllRecentTasks, + REMOVE_TASK_WAIT_FOR_APP_STOP_MS); + removeTasksViewsAndClearAllButton(); + startHome(); + }); } mPendingAnimation = null; }); @@ -2687,9 +2697,7 @@ public abstract class RecentsView finishRecentsAnimation(true /* toRecents */, - this::updateRecentsRotation)); + switchToScreenshotAndFinishAnimationToRecents(this::updateRecentsRotation); mEnableDrawingLiveTile = false; } else { updateRecentsRotation(); @@ -3687,6 +3695,10 @@ public abstract class RecentsView finishRecentsAnimation(true /* toRecents */, onFinishRunnable)); + } + /** * Switch the current running task view to static snapshot mode, * capturing the snapshot at the same time. From db904d465587f3fb4c1c14451f2c9732f7a4fa76 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 4 Jun 2021 17:47:57 -0700 Subject: [PATCH 026/905] Fixing taskbar window not collapsed after closing folder Bug: 187353581 Test: Manual Change-Id: If55ef7c44a7e51f552eba3368edd2d8b5552ca99 --- .../launcher3/taskbar/TaskbarIconController.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java index b36b829b7a..7dca19c262 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java @@ -15,15 +15,16 @@ */ package com.android.launcher3.taskbar; +import static com.android.launcher3.AbstractFloatingView.TYPE_ALL; import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_FRAME; import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_REGION; -import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import androidx.annotation.NonNull; +import com.android.launcher3.AbstractFloatingView; import com.android.launcher3.R; import com.android.launcher3.anim.AlphaUpdateListener; import com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo; @@ -110,15 +111,9 @@ public class TaskbarIconController { } public void onDragLayerViewRemoved() { - int count = mDragLayer.getChildCount(); - // Ensure no other children present (like Folders, etc) - for (int i = 0; i < count; i++) { - View v = mDragLayer.getChildAt(i); - if (!(v instanceof TaskbarView)) { - return; - } + if (AbstractFloatingView.getOpenView(mActivity, TYPE_ALL) == null) { + mActivity.setTaskbarWindowFullscreen(false); } - mActivity.setTaskbarWindowFullscreen(false); } } } From 5a988f02b015e4f394e6fb9b36ac48b1ed8d6048 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Mon, 7 Jun 2021 05:38:05 +0000 Subject: [PATCH 027/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I57fdb8591b44c95bb4e9a394d4c5f239b6ad80f6 --- res/values-cs/strings.xml | 4 ++-- res/values-de/strings.xml | 2 +- res/values-eu/strings.xml | 2 +- res/values-fr-rCA/strings.xml | 9 +++------ res/values-gu/strings.xml | 9 +++------ res/values-hy/strings.xml | 8 ++++---- res/values-iw/strings.xml | 4 ++-- res/values-ja/strings.xml | 6 +++--- res/values-kk/strings.xml | 13 +++++-------- res/values-lv/strings.xml | 2 +- res/values-my/strings.xml | 2 +- res/values-ne/strings.xml | 6 +++--- res/values-nl/strings.xml | 6 +++--- res/values-or/strings.xml | 9 +++------ res/values-pl/strings.xml | 2 +- res/values-ru/strings.xml | 6 +++--- res/values-sk/strings.xml | 2 +- res/values-sq/strings.xml | 13 +++++-------- res/values-te/strings.xml | 9 +++------ res/values-uz/strings.xml | 2 +- res/values-zh-rHK/strings.xml | 2 +- res/values-zh-rTW/strings.xml | 6 +++--- 22 files changed, 53 insertions(+), 71 deletions(-) diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index c1ed2883ab..558d22f812 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -160,8 +160,8 @@ "Osobní" "Pracovní" "Pracovní profil" - "Osobní údaje jsou oddělené a jsou před pracovními aplikacemi skryty" - "K datům pracovních aplikací má přístup váš administrátor IT" + "Osobní údaje jsou oddělené a před pracovními aplikacemi jsou skryty" + "Pracovní aplikace a údaje může vidět váš administrátor IT" "Další" "Rozumím" "Pracovní profil je pozastaven" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 3a20d1740a..72929cf869 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -154,7 +154,7 @@ "Privat" "Geschäftlich" "Arbeitsprofil" - "Personenbezogene Daten sind für geschäftlichen Apps nicht sichtbar oder zugänglich" + "Personenbezogene Daten sind für geschäftliche Apps nicht sichtbar oder zugänglich" "Geschäftliche Apps und Daten können von deinem IT-Administrator eingesehen werden" "Weiter" "OK" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 812f007a23..735f6e332f 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -154,7 +154,7 @@ "Pertsonalak" "Lanekoak" "Laneko profila" - "Datu pertsonalak bananduta daude eta ez daude laneko aplikazioen artean ikusgai" + "Datu pertsonalak ez daude laneko aplikazioetan, eta ezin dira haien bidez ikusi" "IKT saileko administratzaileak laneko aplikazioak eta datuak ikus ditzake" "Hurrengoa" "Ados" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 9522a38a67..e7801c9571 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -51,12 +51,9 @@ "Personnels" "Professionnels" "Conversations" - - - - - - + "Renseignements utiles à portée de main" + "Pour obtenir des renseignements sans ouvrir aucune application, vous pouvez ajouter des widgets à votre écran d\'accueil" + "OK" "Rechercher dans les applications" "Chargement des applications en cours…" "Aucune application trouvée correspondant à « %1$s »" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 9c909a0c7b..d9ffa68a3b 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -51,12 +51,9 @@ "વ્યક્તિગત" "ઑફિસ" "વાતચીતો" - - - - - - + "ઉપયોગી માહિતી તમારી આંગળીના ટેરવે" + "ઍપને ખોલ્યા વિના માહિતી મેળવવા માટે, તમે તમારી હોમ સ્ક્રીન પર વિજેટ ઉમેરી શકો છો" + "સમજાઈ ગયું" "શોધ ઍપ્લિકેશનો" "ઍપ્લિકેશનો લોડ કરી રહ્યું છે…" "\"%1$s\"થી મેળ ખાતી કોઈ ઍપ્લિકેશનો મળી નથી" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index bc68e3edd1..f7d6b317aa 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -32,7 +32,7 @@ "Կրկնակի հպեք և պահեք՝ վիջեթ տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։" "%1$d × %2$d" "Լայնությունը՝ %1$d, բարձրությունը՝ %2$d" - "Հպեք վիջեթին և պահեք՝ հիմնական էկրանին տեղափոխելու համար" + "Հպեք վիջեթին և պահեք տեղափոխելու համար" "Ավելացնել հիմնական էկրանին" %1$d վիջեթ @@ -154,13 +154,13 @@ "Անձնական" "Աշխատանքային" "Աշխատանքային պրոֆիլ" - "Անձնական տվյալները թաքցված են և առանձնացված աշխատանքային հավելվածներից" + "Անձնական տվյալները առանձին են և թաքցված են, երբ ցուցադրվում են աշխատանքայինները" "Աշխատանքային հավելվածներն ու դրանց տվյալները տեսանելի են ձեր ադմինիստրատորին" "Առաջ" "Եղավ" "Աշխատանքային պրոֆիլը դադարեցված է" - "Աշխատանքային հավելվածները չեն կարող ձեզ ծանուցումներ ուղարկել, օգտագործել ձեր մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" - "Աշխատանքային պրոֆիլը դադարեցված է։ Աշխատանքային հավելվածները չեն կարող ձեզ ծանուցումներ ուղարկել, օգտագործել ձեր մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" + "Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել ձեր մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" + "Աշխատանքային պրոֆիլը դադարեցված է։ Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել ձեր մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ձեր ՏՏ ադմինիստրատորին" "Եղավ" "Դադարեցնել աշխատանքային հավելվածները" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index fb72d55595..8ec7de366f 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -161,7 +161,7 @@ "עבודה" "פרופיל עבודה" "מידע אישי מאוחסן בנפרד ומוסתר מאפליקציות לעבודה" - "‏אפליקציות לעבודה ונתוני העבודה שלך גלויים למנהל ה-IT" + "‏אפליקציות לעבודה ונתוני פרופיל העבודה שלך גלויים למנהל ה-IT" "הבא" "הבנתי" "פרופיל העבודה מושהה" @@ -172,6 +172,6 @@ "השהיית האפליקציות לעבודה" "הפעלה" "סינון" - "השהיה של התראות ואפליקציות לעבודה" + "השהיה של ההתראות והאפליקציות בפרופיל העבודה" "הפעולה נכשלה: %1$s" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 60fe4532a9..d54f884372 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -154,13 +154,13 @@ "個人用" "仕事用" "仕事用プロファイル" - "個人データは仕事用アプリとは別に保存され、一緒に表示されません" + "個人用と仕事用のデータは分離され、アプリは別々に表示されます" "仕事用アプリと仕事用データは IT 管理者に公開されます" "次へ" "OK" "仕事用プロファイルが一時停止しています" - "仕事用アプリは、通知の送信、バッテリーの使用、位置情報へのアクセスを行えません" - "仕事用プロファイルが一時停止しています。仕事用アプリは、通知の送信、バッテリーの使用、位置情報へのアクセスを行えません" + "仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" + "仕事用プロファイルが一時停止しています。仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" "仕事用アプリはバッジが付き、IT 管理者に公開されます" "OK" "仕事用アプリを一時停止" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 2b1b89f292..640ffca72d 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -51,12 +51,9 @@ "Жеке виджеттер" "Жұмыс виджеттері" "Әңгімелер" - - - - - - + "Саусақпен түртсеңіз болғаны – пайдалы ақпарат көз алдыңызда" + "Қолданбаларды ашпай-ақ ақпарат алу үшін негізгі экранға тиісті виджеттерді қосыңыз." + "Түсінікті" "Қолданбаларды іздеу" "Қолданбалар жүктелуде…" "\"%1$s\" сұрауына сәйкес келетін қолданбалар жоқ" @@ -158,7 +155,7 @@ "Жұмыс" "Жұмыс профилі" "Жеке деректер бөлек орналасқан және жұмыс қолданбаларынан жасырылған" - "Әкімшіңіз жұмыс қолданбалары мен деректерді көре алады" + "Әкімшіңіз жұмыс қолданбалары мен деректерін көре алады" "Келесі" "Түсінікті" "Жұмыс профилі кідіртілді" @@ -169,6 +166,6 @@ "Жұмыс қолданбаларын тоқтата тұру" "Қосу" "Сүзгі" - "Жұмыс қолданбалары мен хабарландыруларды кідірту" + "Жұмыс қолданбалары мен хабарландыруларын кідірту" "Қате шықты: %1$s" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 059620c314..ad4082be57 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -50,7 +50,7 @@ "Notīrīt tekstu no meklēšanas lodziņa" "Nav pieejams neviens logrīks" "Nav meklēšanas rezultātu" - "Personīgie" + "Personīgs" "Darba" "Sarunas" "Ērta piekļuve noderīgai informācijai" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 1a8650cc16..c120c24725 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -157,7 +157,7 @@ "ကိုယ်ပိုင်ဒေတာများသည် သီးသန့်ဖြစ်ပြီး အလုပ်အက်ပ်များမှ ဖျောက်ထားသည်" "အလုပ်သုံးအက်ပ်နှင့် ဒေတာများကို သင်၏ IT စီမံခန့်ခွဲသူက မြင်ရပါသည်" "ရှေ့သို့" - "Ok" + "ရပါပြီ" "အလုပ်ပရိုဖိုင် ခဏရပ်ထားသည်" "အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" "အလုပ်ပရိုဖိုင် ခဏရပ်ထားသည်။ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 474a452a0d..929e302e19 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -161,9 +161,9 @@ "तपाईंका IT एड्मिनले कामसम्पबन्धी एपहरू र डेटा हेर्न सक्छन्" "अर्को" "बुझेँ" - "कार्यालयको प्रोफाइल अस्थायी रूपमा रोक्का गरिएको छ" - "कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको स्थान हेर्न सक्दैनन्" - "कामसम्बन्धी प्रोफाइल अस्थायी रूपमा रोक्का गरिएको छ। कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको स्थान हेर्न सक्दैनन्" + "कार्यालयको प्रोफाइल पज गरिएको छ" + "कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" + "कामसम्बन्धी प्रोफाइल पज गरिएको छ। कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" "कामसम्बन्धी एपमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्नुहुन्छ" "बुझेँ" "कामसम्बन्धी एपहरू अस्थायी रूपमा रोक्का गर्नुहोस्" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index f3c55386c7..7573102e99 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -111,7 +111,7 @@ "Toegang tot meldingen vereist" "Als je meldingsstipjes wilt tonen, zet je app-meldingen aan voor %1$s" "Instellingen wijzigen" - "Meldingsstipjes tonen" + "Toon meldingsstipjes" "App-iconen toevoegen aan startscherm" "Voor nieuwe apps" "Onbekend" @@ -159,8 +159,8 @@ "Volgende" "OK" "Werkprofiel is onderbroken" - "Werk-apps kunnen je geen meldingen sturen, niet je batterij gebruiken en geen toegang krijgen tot je locatie" - "Werkprofiel is gepauzeerd. Werk-apps kunnen je geen meldingen sturen, niet je batterij gebruiken en geen toegang krijgen tot je locatie." + "Werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie" + "Werkprofiel is gepauzeerd. Werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie." "Werk-apps hebben badges en zijn zichtbaar voor je IT-beheerder" "OK" "Werk-apps pauzeren" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 3517dabf4b..5c1d498827 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -51,12 +51,9 @@ "ବ୍ୟକ୍ତିଗତ" "ୱାର୍କ" "ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ" - - - - - - + "ଉପଯୋଗୀ ସୂଚନା ଆପଣଙ୍କ ପାଖରେ ସହଜରେ ଉପଲବ୍ଧ" + "ଆପଗୁଡ଼ିକୁ ନଖୋଲି ସୂଚନା ପାଇବା ପାଇଁ, ଆପଣ ଆପଣଙ୍କ ମୂଳସ୍କ୍ରିନରେ ୱିଜେଟଗୁଡ଼ିକୁ ଯୋଗ କରିପାରିବେ" + "ବୁଝିଗଲି" "ଆପ୍‌ ଖୋଜନ୍ତୁ" "ଆପ୍‌ ଲୋଡ୍‌ ହେଉଛି..." "\"%1$s\" ସହିତ ମେଳ ହେଉଥିବା କୌଣସି ଆପ୍‌ ମିଳିଲା ନାହିଁ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 7b47cdea25..770f3440a7 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -172,6 +172,6 @@ "Wstrzymaj aplikacje służbowe" "Włącz" "Filtruj" - "Wstrzymaj aplikacje służbowe i powiadomienia" + "Wstrzymaj służbowe aplikacje i powiadomienia" "Niepowodzenie: %1$s" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 70606a9681..6d2f9e5d2e 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -161,10 +161,10 @@ "Рабочие" "Рабочий профиль" "Личные данные скрыты от рабочих приложений и недоступны им." - "Рабочие приложения и данные видны системному администратору." + "Рабочие приложения и их данные видны системному администратору." "Далее" "ОК" - "Действие рабочего профиля приостановлено." + "Рабочий профиль приостановлен" "Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." "Рабочий профиль приостановлен. Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." "У рабочих приложений есть специальная пометка. Они видны системному администратору." @@ -172,6 +172,6 @@ "Приостановить рабочие приложения" "Включить" "Фильтр" - "Приостановить рабочие приложения и уведомления" + "Приостановить рабочие приложения и уведомления от них" "Не удалось выполнить действие (%1$s)." diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 08e7bb643e..cbb082aed1 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -165,7 +165,7 @@ "Ďalej" "Dobre" "Pracovný profil je pozastavený" - "Pracovné aplikácie nemôžu posielať upozornenia, používať batériu ani polohu" + "Pracovné aplikácie vám nemôžu posielať upozornenia, používať vašu batériu ani vašu polohu" "Pracovný profil je pozastavený. Pracovné aplikácie nemôžu posielať upozornenia, používať batériu ani polohu." "Pracovné aplikácie majú odznak a zobrazujú sa správcovi IT" "Dobre" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 338aa8b142..1054092634 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -51,12 +51,9 @@ "Personale" "Puna" "Bisedat" - - - - - - + "Informacione të dobishme në majë të gishtave të tu" + "Për të marrë informacione pa i hapur aplikacionet, mund të shtosh miniaplikacione në ekranin bazë" + "E kuptova" "Kërko për aplikacione" "Po ngarkon aplikacionet..." "Nuk u gjet asnjë aplikacion që përputhet me \"%1$s\"" @@ -157,8 +154,8 @@ "Personale" "Punë" "Profili i punës" - "Të dhënat personale janë të ndara dhe të fshehura nga aplikacionet e punës" - "Aplikacionet e punës dhe të dhënat janë të dukshme për administratorin e teknologjisë së informacionit." + "Të dhënat personale janë të veçuara dhe të fshehura nga aplikacionet e punës" + "Aplikacionet e punës dhe të dhënat janë të dukshme për administratorin e teknologjisë së informacionit" "Para" "E kuptova" "Profili i punës është në pauzë" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index a4746616e5..7a851791c6 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -51,12 +51,9 @@ "వ్యక్తిగతం" "ఆఫీస్" "సంభాషణలు" - - - - - - + "మీ చేతివేళ్ల మీద ఉపయోగకరమైన సమాచారం" + "యాప్‌లను తెరవకుండా సమాచారం పొందడానికి, మీరు మీ మొదటి స్క్రీన్‌కు విడ్జెట్‌లను జోడించవచ్చు" + "అర్థమైంది" "అప్లికేషన్‌లను శోధించండి" "అప్లికేషన్‌లను లోడ్ చేస్తోంది…" "\"%1$s\"కి సరిపోలే అప్లికేషన్‌లేవీ కనుగొనబడలేదు" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 3d5db5417c..99bdd4b27f 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -155,7 +155,7 @@ "Ish" "Ish profili" "Shaxsiy maʼlumotlar ishga oid ilovalardan alohida va berkitilgan" - "Ishga oid ilovalar va maʼlumotlarni AT administratoringiz koʻra oladi" + "Administratoringiz ishga oid ilovalar va maʼlumotlarni koʻra oladi" "Keyingisi" "OK" "Ish profili pauzada" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index c7d67af481..c0bb552ddb 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -32,7 +32,7 @@ "㩒兩下之後㩒住,就可以郁小工具或者用自訂操作。" "%1$d × %2$d" "%1$d 闊,%2$d 高" - "按住小工具即可將其移至主畫面上任何位置" + "按住小工具即可隨意在主畫面上移動" "新增至主畫面" %1$d 個小工具 diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 6941c2ca8e..9685d89c1d 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -152,15 +152,15 @@ "關閉" "已關閉通知" "個人" - "公司" + "工作" "工作資料夾" "系統會區隔個人資料與工作資料,因此兩者不會同時顯示" "你的 IT 管理員可以查看工作應用程式和工作資料" "繼續" "我知道了" "工作資料夾已暫停" - "工作應用程式將無法傳送通知,也無法存取你的位置資訊。你還可以省下這類應用程式消耗的電量" - "工作資料夾已暫停。工作應用程式將無法傳送通知,也無法存取你的位置資訊。你還可以省下這類應用程式消耗的電量" + "工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊。" + "系統已暫停使用工作資料夾。在這種情況下,工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊。" "你的 IT 管理員可以看見工作應用程式和相關標記" "我知道了" "暫停工作應用程式" From 0dd8345085d059a570859e8cb5376299ed650c2a Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Fri, 4 Jun 2021 20:53:48 -0700 Subject: [PATCH 028/905] Fix regression where nav bar shows when taskbar is showing - Add mNavBarButtonAlpha to TaskbarStateHandler, and set it to the inverse of the taskbar alpha. - Add mPendingSetNavButtonAlpha for when setNavBarButtonAlpha() is called before mSystemUiProxy is initialized. Test: Go between various launcher states and ensure nav bar only shows up when taskbar hides. Bug: 187353581 Change-Id: I4b79280d686c787e9128e753070ec591d1ab2e4d --- .../taskbar/TaskbarStateHandler.java | 16 ++++++++++++ .../com/android/quickstep/SystemUiProxy.java | 26 +++++++++++++------ 2 files changed, 34 insertions(+), 8 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java index e56ee8710b..20d4133a97 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java @@ -27,6 +27,8 @@ import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.statemanager.StateManager; import com.android.launcher3.states.StateAnimationConfig; import com.android.launcher3.util.MultiValueAlpha; +import com.android.quickstep.AnimatedFloat; +import com.android.quickstep.SystemUiProxy; /** * StateHandler to animate Taskbar according to Launcher's state machine. Does nothing if Taskbar @@ -39,12 +41,17 @@ public class TaskbarStateHandler implements StateManager.StateHandler setNavBarButtonAlpha(alpha, animate); + } else { + mLastNavButtonAlpha = alpha; + mLastNavButtonAnimate = animate; + mHasNavButtonAlphaBeenSet = true; + try { + mSystemUiProxy.setNavBarButtonAlpha(alpha, animate); + } catch (RemoteException e) { + Log.w(TAG, "Failed call setNavBarButtonAlpha", e); + } } } } From bc42ba836ed8a5c9b97dbf65207fd2463cb2553a Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Tue, 8 Jun 2021 12:25:37 +0100 Subject: [PATCH 029/905] Consider TaskView's scale when calculating corner radius Bug: 190139030 Test: Manual Change-Id: I43fcb67848d30491bbfa58624f088c98ce433de4 --- .../src/com/android/quickstep/util/TaskViewSimulator.java | 4 ++-- quickstep/src/com/android/quickstep/views/TaskView.java | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java index b15bbf3ed2..0e6ce87042 100644 --- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java @@ -256,8 +256,8 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { float fullScreenProgress = Utilities.boundToRange(this.fullScreenProgress.value, 0, 1); mCurrentFullscreenParams.setProgress( - fullScreenProgress, recentsViewScale.value, mTaskRect.width(), mDp, - mPositionHelper); + fullScreenProgress, recentsViewScale.value, /*taskViewScale=*/1f, mTaskRect.width(), + mDp, mPositionHelper); // Apply thumbnail matrix RectF insets = mCurrentFullscreenParams.mCurrentDrawnInsets; diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index ea37d70933..0e39dff05c 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -1353,6 +1353,7 @@ public class TaskView extends FrameLayout implements Reusable { mCurrentFullscreenParams.setProgress( mFullscreenProgress, getRecentsView().getScaleX(), + getScaleX(), getWidth(), mActivity.getDeviceProfile(), previewPositionHelper); } @@ -1494,8 +1495,8 @@ public class TaskView extends FrameLayout implements Reusable { /** * Sets the progress in range [0, 1] */ - public void setProgress(float fullscreenProgress, float parentScale, int previewWidth, - DeviceProfile dp, PreviewPositionHelper pph) { + public void setProgress(float fullscreenProgress, float parentScale, float taskViewScale, + int previewWidth, DeviceProfile dp, PreviewPositionHelper pph) { RectF insets = pph.getInsetsToDrawInFullscreen(); float currentInsetsLeft = insets.left * fullscreenProgress; @@ -1506,7 +1507,7 @@ public class TaskView extends FrameLayout implements Reusable { mCurrentDrawnCornerRadius = Utilities.mapRange(fullscreenProgress, mCornerRadius, fullscreenCornerRadius) - / parentScale; + / parentScale / taskViewScale; // We scaled the thumbnail to fit the content (excluding insets) within task view width. // Now that we are drawing left/right insets again, we need to scale down to fit them. From e568781206b9a781ac3d01a7e4e5519bc24af011 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Mon, 7 Jun 2021 16:42:43 -0700 Subject: [PATCH 030/905] Support A11y contextual button Also migrate to only using sysui state flags for ime/switcher visibility instead of 2 separate methods. Bug: 180046394 Test: Tested w/ 1 a11y service, then 2 services for long click. Tested with IME switcher enabled and then also suggested rotation button. A11y takes precedence over IME switcher, but rotation button takes precedence over a11y as is in phone mode today. Change-Id: I9289165c8ca98d7ee432bd7145122d6a519600f6 --- .../ic_sysbar_accessibility_button.xml | 26 ++++++++ .../taskbar/NavbarButtonUIController.java | 60 ++++++++++++++----- .../taskbar/TaskbarActivityContext.java | 28 ++------- .../launcher3/taskbar/TaskbarManager.java | 27 ++++----- .../taskbar/TaskbarNavButtonController.java | 21 ++++++- .../quickstep/TouchInteractionService.java | 7 --- 6 files changed, 105 insertions(+), 64 deletions(-) create mode 100644 quickstep/res/drawable/ic_sysbar_accessibility_button.xml diff --git a/quickstep/res/drawable/ic_sysbar_accessibility_button.xml b/quickstep/res/drawable/ic_sysbar_accessibility_button.xml new file mode 100644 index 0000000000..e0d5406810 --- /dev/null +++ b/quickstep/res/drawable/ic_sysbar_accessibility_button.xml @@ -0,0 +1,26 @@ + + + + + \ No newline at end of file diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java index 1281b2e38f..dc292a1816 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java @@ -15,10 +15,16 @@ */ package com.android.launcher3.taskbar; +import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_A11Y; +import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_A11Y_LONG_CLICK; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_BACK; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HOME; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SWITCHER_SHOWING; import android.animation.ObjectAnimator; import android.annotation.DrawableRes; @@ -58,14 +64,18 @@ public class NavbarButtonUIController { private static final int FLAG_SWITCHER_SUPPORTED = 1 << 0; private static final int FLAG_IME_VISIBLE = 1 << 1; private static final int FLAG_ROTATION_BUTTON_VISIBLE = 1 << 2; + private static final int FLAG_A11Y_VISIBLE = 1 << 3; private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; + private View.OnLongClickListener mA11yLongClickListener; private final ArrayList mPropertyHolders = new ArrayList<>(); private final ArrayList mAllButtons = new ArrayList<>(); private int mState; private final TaskbarActivityContext mContext; + private View a11yButton; + private int mSysuiStateFlags; public NavbarButtonUIController(TaskbarActivityContext context) { mContext = context; @@ -81,6 +91,11 @@ public class NavbarButtonUIController { FrameLayout buttonController = dragLayer.findViewById(R.id.navbuttons_view); buttonController.getLayoutParams().height = mContext.getDeviceProfile().taskbarSize; + mA11yLongClickListener = view -> { + navButtonController.onButtonClick(BUTTON_A11Y_LONG_CLICK); + return true; + }; + if (mContext.canShowNavButtons()) { ViewGroup startContainer = buttonController.findViewById(R.id.start_nav_buttons); ViewGroup endContainer = buttonController.findViewById(R.id.end_nav_buttons); @@ -132,18 +147,34 @@ public class NavbarButtonUIController { endContainer, navButtonController); mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton, flags -> ((flags & MASK_IME_SWITCHER_VISIBLE) == MASK_IME_SWITCHER_VISIBLE) - && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0))); + && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0) + && ((flags & FLAG_A11Y_VISIBLE) == 0))); + + // A11y button + a11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, + endContainer, navButtonController); + mPropertyHolders.add(new StatePropertyHolder(a11yButton, + flags -> (flags & FLAG_A11Y_VISIBLE) != 0 + && (flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)); + a11yButton.setOnLongClickListener(mA11yLongClickListener); } - /** - * Should be called when the IME visibility changes, so we can hide/show Taskbar accordingly. - */ - public void setImeIsVisible(boolean isImeVisible) { - if (isImeVisible) { - mState |= FLAG_IME_VISIBLE; - } else { - mState &= ~FLAG_IME_VISIBLE; + public void updateStateForSysuiFlags(int systemUiStateFlags, boolean forceUpdate) { + boolean isImeVisible = (systemUiStateFlags & SYSUI_STATE_IME_SHOWING) != 0; + boolean isImeSwitcherShowing = (systemUiStateFlags & SYSUI_STATE_IME_SWITCHER_SHOWING) != 0; + boolean a11yVisible = (systemUiStateFlags & SYSUI_STATE_A11Y_BUTTON_CLICKABLE) != 0; + boolean a11yLongClickable = + (systemUiStateFlags & SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE) != 0; + + if (!forceUpdate && systemUiStateFlags == mSysuiStateFlags) { + return; } + mSysuiStateFlags = systemUiStateFlags; + + updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); + updateStateForFlag(FLAG_SWITCHER_SUPPORTED, isImeSwitcherShowing); + updateStateForFlag(FLAG_A11Y_VISIBLE, a11yVisible); + a11yButton.setLongClickable(a11yLongClickable); applyState(); } @@ -169,15 +200,14 @@ public class NavbarButtonUIController { } /** - * Sets if ime switcher is visible or not when ime is visible + * Does not call {@link #applyState()}. Don't forget to! */ - public void setImeSwitcherVisible(boolean imeSwitcherVisible) { - if (imeSwitcherVisible) { - mState |= FLAG_SWITCHER_SUPPORTED; + private void updateStateForFlag(int flag, boolean enabled) { + if (enabled) { + mState |= flag; } else { - mState &= ~FLAG_SWITCHER_SUPPORTED; + mState &= ~flag; } - applyState(); } private void applyState() { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 5f7dce5fac..a25eb38d99 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -29,7 +29,6 @@ import android.content.Intent; import android.content.pm.LauncherApps; import android.graphics.PixelFormat; import android.graphics.Rect; -import android.inputmethodservice.InputMethodService; import android.os.Process; import android.os.SystemProperties; import android.util.Log; @@ -51,7 +50,6 @@ import com.android.launcher3.folder.Folder; import com.android.launcher3.folder.FolderIcon; import com.android.launcher3.model.data.FolderInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; -import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarButton; import com.android.launcher3.taskbar.contextual.RotationButtonController; import com.android.launcher3.touch.ItemClickHandler; import com.android.launcher3.util.MultiValueAlpha; @@ -231,30 +229,12 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mWindowManager.removeViewImmediate(mDragLayer); } - void onNavigationButtonClick(@TaskbarButton int buttonType) { - mNavButtonController.onButtonClick(buttonType); - } - - /** - * Should be called when the IME visibility changes, so we can hide/show Taskbar accordingly. - */ - public void setImeIsVisible(boolean isImeVisible) { - mIconController.setImeIsVisible(isImeVisible); - mNavbarButtonUIController.setImeIsVisible(isImeVisible); - } - - /** - * When in 3 button nav, the above doesn't get called since we prevent sysui nav bar from - * instantiating at all, which is what's responsible for sending sysui state flags over. - * - * @param vis IME visibility flag - */ - public void updateImeStatus(int displayId, int vis, boolean showImeSwitcher) { - if (displayId != getDisplayId() || !canShowNavButtons()) { + public void updateSysuiStateFlags(int systemUiStateFlags, boolean forceUpdate) { + if (!canShowNavButtons()) { return; } - mNavbarButtonUIController.setImeSwitcherVisible(showImeSwitcher); - setImeIsVisible((vis & InputMethodService.IME_VISIBLE) != 0); + mNavbarButtonUIController.updateStateForSysuiFlags(systemUiStateFlags, forceUpdate); + mIconController.setImeIsVisible(mNavbarButtonUIController.isImeVisible()); } public void onRotationProposal(int rotation, boolean isValid) { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index 36bccee464..3563d09573 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -21,11 +21,9 @@ import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.DisplayController.CHANGE_DENSITY; import static com.android.launcher3.util.DisplayController.CHANGE_SUPPORTED_BOUNDS; -import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; import android.content.Context; import android.hardware.display.DisplayManager; -import android.inputmethodservice.InputMethodService; import android.view.Display; import androidx.annotation.Nullable; @@ -53,6 +51,11 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen private TaskbarActivityContext mTaskbarActivityContext; private BaseQuickstepLauncher mLauncher; + /** + * Cache a copy here so we can initialize state whenever taskbar is recreated, since + * this class does not get re-initialized w/ new taskbars. + */ + private int mSysuiStateFlags; private static final int CHANGE_FLAGS = CHANGE_ACTIVE_SCREEN | CHANGE_DENSITY | CHANGE_SUPPORTED_BOUNDS; @@ -130,6 +133,7 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen mTaskbarActivityContext.setUIController( new LauncherTaskbarUIController(mLauncher, mTaskbarActivityContext)); } + onSysuiFlagsChangedInternal(mSysuiStateFlags, true /* forceUpdate */); } /** @@ -137,24 +141,13 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen * @param systemUiStateFlags The latest SystemUiStateFlags */ public void onSystemUiFlagsChanged(int systemUiStateFlags) { - boolean isImeVisible = (systemUiStateFlags & SYSUI_STATE_IME_SHOWING) != 0; - if (mTaskbarActivityContext != null) { - mTaskbarActivityContext.setImeIsVisible(isImeVisible); - } + onSysuiFlagsChangedInternal(systemUiStateFlags, false /* forceUpdate */); } - /** - * When in 3 button nav, the above doesn't get called since we prevent sysui nav bar from - * instantiating at all, which is what's responsible for sending sysui state flags over. - * - * @param vis IME visibility flag - * @param backDisposition Used to determine back button behavior for software keyboard - * See BACK_DISPOSITION_* constants in {@link InputMethodService} - */ - public void updateImeStatus(int displayId, int vis, int backDisposition, - boolean showImeSwitcher) { + private void onSysuiFlagsChangedInternal(int systemUiStateFlags, boolean forceUpdate) { + mSysuiStateFlags = systemUiStateFlags; if (mTaskbarActivityContext != null) { - mTaskbarActivityContext.updateImeStatus(displayId, vis, showImeSwitcher); + mTaskbarActivityContext.updateSysuiStateFlags(systemUiStateFlags, forceUpdate); } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index 3b5afad691..002d42da3b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -44,7 +44,9 @@ public class TaskbarNavButtonController { BUTTON_BACK, BUTTON_HOME, BUTTON_RECENTS, - BUTTON_IME_SWITCH + BUTTON_IME_SWITCH, + BUTTON_A11Y, + BUTTON_A11Y_LONG_CLICK }) public @interface TaskbarButton {} @@ -53,6 +55,8 @@ public class TaskbarNavButtonController { static final int BUTTON_HOME = BUTTON_BACK << 1; static final int BUTTON_RECENTS = BUTTON_HOME << 1; static final int BUTTON_IME_SWITCH = BUTTON_RECENTS << 1; + static final int BUTTON_A11Y = BUTTON_IME_SWITCH << 1; + static final int BUTTON_A11Y_LONG_CLICK = BUTTON_A11Y << 1; private final TouchInteractionService mService; @@ -74,6 +78,12 @@ public class TaskbarNavButtonController { case BUTTON_IME_SWITCH: showIMESwitcher(); break; + case BUTTON_A11Y: + notifyImeClick(false /* longClick */); + break; + case BUTTON_A11Y_LONG_CLICK: + notifyImeClick(true /* longClick */); + break; } } @@ -97,4 +107,13 @@ public class TaskbarNavButtonController { .showInputMethodPickerFromSystem(true /* showAuxiliarySubtypes */, DEFAULT_DISPLAY); } + + private void notifyImeClick(boolean longClick) { + SystemUiProxy systemUiProxy = SystemUiProxy.INSTANCE.getNoCreate(); + if (longClick) { + systemUiProxy.notifyAccessibilityButtonLongClicked(); + } else { + systemUiProxy.notifyAccessibilityButtonClicked(mService.getDisplayId()); + } + } } diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index afafce7382..a3136c7dd8 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -266,13 +266,6 @@ public class TouchInteractionService extends Service implements PluginListener SplitScreenBounds.INSTANCE.setSecondaryWindowBounds(wb)); } - @Override - public void onImeWindowStatusChanged(int displayId, IBinder token, int vis, - int backDisposition, boolean showImeSwitcher) { - executeForTaskbarManager(() -> mTaskbarManager - .updateImeStatus(displayId, vis, backDisposition, showImeSwitcher)); - } - @Override public void onRotationProposal(int rotation, boolean isValid) { executeForTaskbarManager(() -> mTaskbarManager.onRotationProposal(rotation, isValid)); From 36e9de11998344ecb2ae84c0ca55a1d59216f2f8 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Tue, 25 May 2021 17:24:49 +0100 Subject: [PATCH 031/905] Make all tasks in intermediate carousel have the same size - Replace fullscreen translation/scale with nonGrid, which applies whenever tasks are not in grid, so that intermediate carousle's tasks have the same size as focused task - Avoid showing task icon in intermediate carousel as its scaled up. During swipe up, all task icons only appear after gesture is finished consistenly, regardles if it's running task. - When swipe up from home, make tasks join the grid immediately - Make pageOffset calculation consider task scale - Tuned resistance and scale when RecentsView is swiped up Bug: 187417137 Test: manaul Change-Id: Ide55a32241a3551a58e12c399c22420562848c70 --- .../BaseRecentsViewStateController.java | 4 +- .../FallbackRecentsStateController.java | 3 +- .../AnimatorControllerWithResistance.java | 8 +- .../android/quickstep/views/RecentsView.java | 82 ++++----- .../com/android/quickstep/views/TaskView.java | 168 ++++++------------ 5 files changed, 102 insertions(+), 163 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java index 1d523151db..7a968c1799 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java @@ -17,6 +17,7 @@ package com.android.launcher3.uioverrides; import static com.android.launcher3.anim.Interpolators.AGGRESSIVE_EASE_IN_OUT; +import static com.android.launcher3.anim.Interpolators.INSTANT; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_FADE; import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_MODAL; @@ -113,7 +114,8 @@ public abstract class BaseRecentsViewStateController toState.getOverviewModalness(), config.getInterpolator(ANIM_OVERVIEW_MODAL, LINEAR)); setter.setFloat(mRecentsView, RECENTS_GRID_PROGRESS, - toState.displayOverviewTasksAsGrid(mLauncher.getDeviceProfile()) ? 1f : 0f, LINEAR); + toState.displayOverviewTasksAsGrid(mLauncher.getDeviceProfile()) ? 1f : 0f, + INSTANT); } abstract FloatProperty getTaskModalnessProperty(); diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java index 52083bbd8f..854067b926 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java @@ -15,6 +15,7 @@ */ package com.android.quickstep.fallback; +import static com.android.launcher3.anim.Interpolators.INSTANT; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_MODAL; import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_SCALE; @@ -93,7 +94,7 @@ public class FallbackRecentsStateController implements StateHandler mScrollListeners = new ArrayList<>(); @@ -502,7 +503,7 @@ public abstract class RecentsView FULLSCREEN_TRANSLATION_X = - new FloatProperty("fullscreenTranslationX") { + private static final FloatProperty NON_GRID_TRANSLATION_X = + new FloatProperty("nonGridTranslationX") { @Override public void setValue(TaskView taskView, float v) { - taskView.setFullscreenTranslationX(v); + taskView.setNonGridTranslationX(v); } @Override public Float get(TaskView taskView) { - return taskView.mFullscreenTranslationX; + return taskView.mNonGridTranslationX; } }; - private static final FloatProperty FULLSCREEN_TRANSLATION_Y = - new FloatProperty("fullscreenTranslationY") { + private static final FloatProperty NON_GRID_TRANSLATION_Y = + new FloatProperty("nonGridTranslationY") { @Override public void setValue(TaskView taskView, float v) { - taskView.setFullscreenTranslationY(v); + taskView.setNonGridTranslationY(v); } @Override public Float get(TaskView taskView) { - return taskView.mFullscreenTranslationY; - } - }; - - private static final FloatProperty NON_FULLSCREEN_TRANSLATION_X = - new FloatProperty("nonFullscreenTranslationX") { - @Override - public void setValue(TaskView taskView, float v) { - taskView.setNonFullscreenTranslationX(v); - } - - @Override - public Float get(TaskView taskView) { - return taskView.mNonFullscreenTranslationX; - } - }; - - private static final FloatProperty NON_FULLSCREEN_TRANSLATION_Y = - new FloatProperty("nonFullscreenTranslationY") { - @Override - public void setValue(TaskView taskView, float v) { - taskView.setNonFullscreenTranslationY(v); - } - - @Override - public Float get(TaskView taskView) { - return taskView.mNonFullscreenTranslationY; + return taskView.mNonGridTranslationY; } }; @@ -362,7 +336,7 @@ public class TaskView extends FrameLayout implements Reusable { private final DigitalWellBeingToast mDigitalWellBeingToast; private float mFullscreenProgress; private float mGridProgress; - private float mFullscreenScale = 1; + private float mNonGridScale = 1; private final FullscreenDrawParams mCurrentFullscreenParams; private final StatefulActivity mActivity; @@ -374,16 +348,14 @@ public class TaskView extends FrameLayout implements Reusable { private float mTaskResistanceTranslationX; private float mTaskResistanceTranslationY; // The following translation variables should only be used in the same orientation as Launcher. - private float mFullscreenTranslationX; - private float mFullscreenTranslationY; - // Applied as a complement to fullscreenTranslation, for adjusting the carousel overview, or the - // in transition carousel before forming the grid on tablets. - private float mNonFullscreenTranslationX; - private float mNonFullscreenTranslationY; private float mBoxTranslationY; // The following grid translations scales with mGridProgress. private float mGridTranslationX; private float mGridTranslationY; + // Applied as a complement to gridTranslation, for adjusting the carousel overview and quick + // switch. + private float mNonGridTranslationX; + private float mNonGridTranslationY; // Used when in SplitScreenSelectState private float mSplitSelectTranslationY; private float mSplitSelectTranslationX; @@ -881,9 +853,8 @@ public class TaskView extends FrameLayout implements Reusable { @Override public void onRecycle() { - mFullscreenTranslationX = mFullscreenTranslationY = mNonFullscreenTranslationX = - mNonFullscreenTranslationY = mGridTranslationX = mGridTranslationY = - mBoxTranslationY = 0f; + mNonGridTranslationX = mNonGridTranslationY = + mGridTranslationX = mGridTranslationY = mBoxTranslationY = 0f; resetViewTransforms(); // Clear any references to the thumbnail (it will be re-read either from the cache or the // system on next bind) @@ -969,13 +940,13 @@ public class TaskView extends FrameLayout implements Reusable { } } - private void setFullscreenScale(float fullscreenScale) { - mFullscreenScale = fullscreenScale; + private void setNonGridScale(float nonGridScale) { + mNonGridScale = nonGridScale; applyScale(); } - public float getFullscreenScale() { - return mFullscreenScale; + public float getNonGridScale() { + return mNonGridScale; } private void setSnapshotScale(float dismissScale) { @@ -997,12 +968,22 @@ public class TaskView extends FrameLayout implements Reusable { private void applyScale() { float scale = 1; - float fullScreenProgress = FULLSCREEN_INTERPOLATOR.getInterpolation(mFullscreenProgress); - scale *= Utilities.mapRange(fullScreenProgress, 1f, mFullscreenScale); + scale *= getPersistentScale(); setScaleX(scale); setScaleY(scale); } + /** + * Returns multiplication of scale that is persistent (e.g. fullscreen and grid), and does not + * change according to a temporary state. + */ + public float getPersistentScale() { + float scale = 1; + float gridProgress = GRID_INTERPOLATOR.getInterpolation(mGridProgress); + scale *= Utilities.mapRange(gridProgress, mNonGridScale, 1f); + return scale; + } + private void setSplitSelectTranslationX(float x) { mSplitSelectTranslationX = x; applyTranslationX(); @@ -1042,23 +1023,13 @@ public class TaskView extends FrameLayout implements Reusable { applyTranslationY(); } - private void setFullscreenTranslationX(float fullscreenTranslationX) { - mFullscreenTranslationX = fullscreenTranslationX; + private void setNonGridTranslationX(float nonGridTranslationX) { + mNonGridTranslationX = nonGridTranslationX; applyTranslationX(); } - private void setFullscreenTranslationY(float fullscreenTranslationY) { - mFullscreenTranslationY = fullscreenTranslationY; - applyTranslationY(); - } - - private void setNonFullscreenTranslationX(float nonFullscreenTranslationX) { - mNonFullscreenTranslationX = nonFullscreenTranslationX; - applyTranslationX(); - } - - private void setNonFullscreenTranslationY(float nonFullscreenTranslationY) { - mNonFullscreenTranslationY = nonFullscreenTranslationY; + private void setNonGridTranslationY(float nonGridTranslationY) { + mNonGridTranslationY = nonGridTranslationY; applyTranslationY(); } @@ -1082,13 +1053,10 @@ public class TaskView extends FrameLayout implements Reusable { public float getScrollAdjustment(boolean fullscreenEnabled, boolean gridEnabled) { float scrollAdjustment = 0; - if (fullscreenEnabled) { - scrollAdjustment += getPrimaryFullscreenTranslationProperty().get(this); - } else { - scrollAdjustment += getPrimaryNonFullscreenTranslationProperty().get(this); - } if (gridEnabled) { scrollAdjustment += mGridTranslationX; + } else { + scrollAdjustment += getPrimaryNonGridTranslationProperty().get(this); } return scrollAdjustment; } @@ -1100,7 +1068,7 @@ public class TaskView extends FrameLayout implements Reusable { public float getSizeAdjustment(boolean fullscreenEnabled) { float sizeAdjustment = 1; if (fullscreenEnabled) { - sizeAdjustment *= mFullscreenScale; + sizeAdjustment *= mNonGridScale; } return sizeAdjustment; } @@ -1125,9 +1093,7 @@ public class TaskView extends FrameLayout implements Reusable { * change according to a temporary state (e.g. task offset). */ public float getPersistentTranslationX() { - return getFullscreenTrans(mFullscreenTranslationX) - + getNonFullscreenTrans(mNonFullscreenTranslationX) - + getGridTrans(mGridTranslationX); + return getNonGridTrans(mNonGridTranslationX) + getGridTrans(mGridTranslationX); } /** @@ -1136,8 +1102,7 @@ public class TaskView extends FrameLayout implements Reusable { */ public float getPersistentTranslationY() { return mBoxTranslationY - + getFullscreenTrans(mFullscreenTranslationY) - + getNonFullscreenTrans(mNonFullscreenTranslationY) + + getNonGridTrans(mNonGridTranslationY) + getGridTrans(mGridTranslationY); } @@ -1171,24 +1136,14 @@ public class TaskView extends FrameLayout implements Reusable { TASK_RESISTANCE_TRANSLATION_X, TASK_RESISTANCE_TRANSLATION_Y); } - public FloatProperty getPrimaryFullscreenTranslationProperty() { + public FloatProperty getPrimaryNonGridTranslationProperty() { return getPagedOrientationHandler().getPrimaryValue( - FULLSCREEN_TRANSLATION_X, FULLSCREEN_TRANSLATION_Y); + NON_GRID_TRANSLATION_X, NON_GRID_TRANSLATION_Y); } - public FloatProperty getSecondaryFullscreenTranslationProperty() { + public FloatProperty getSecondaryNonGridTranslationProperty() { return getPagedOrientationHandler().getSecondaryValue( - FULLSCREEN_TRANSLATION_X, FULLSCREEN_TRANSLATION_Y); - } - - public FloatProperty getPrimaryNonFullscreenTranslationProperty() { - return getPagedOrientationHandler().getPrimaryValue( - NON_FULLSCREEN_TRANSLATION_X, NON_FULLSCREEN_TRANSLATION_Y); - } - - public FloatProperty getSecondaryNonFullscreenTranslationProperty() { - return getPagedOrientationHandler().getSecondaryValue( - NON_FULLSCREEN_TRANSLATION_X, NON_FULLSCREEN_TRANSLATION_Y); + NON_GRID_TRANSLATION_X, NON_GRID_TRANSLATION_Y); } @Override @@ -1326,19 +1281,9 @@ public class TaskView extends FrameLayout implements Reusable { mIconView.setVisibility(progress < 1 ? VISIBLE : INVISIBLE); getThumbnail().getTaskOverlay().setFullscreenProgress(progress); - applyTranslationX(); - applyTranslationY(); - applyScale(); - TaskThumbnailView thumbnail = getThumbnail(); updateCurrentFullscreenParams(thumbnail.getPreviewPositionHelper()); - if (!getRecentsView().isTaskIconScaledDown(this)) { - // Some of the items in here are dependent on the current fullscreen params, but don't - // update them if the icon is supposed to be scaled down. - setIconScaleAndDim(progress, true /* invert */); - } - thumbnail.setFullscreenParams(mCurrentFullscreenParams); mOutlineProvider.updateParams( mCurrentFullscreenParams, @@ -1363,7 +1308,7 @@ public class TaskView extends FrameLayout implements Reusable { */ void updateTaskSize() { ViewGroup.LayoutParams params = getLayoutParams(); - float fullscreenScale; + float nonGridScale; float boxTranslationY; int expectedWidth; int expectedHeight; @@ -1394,18 +1339,18 @@ public class TaskView extends FrameLayout implements Reusable { expectedHeight = boxHeight + thumbnailPadding; // Scale to to fit task Rect. - fullscreenScale = taskWidth / (float) boxWidth; + nonGridScale = taskWidth / (float) boxWidth; // Align to top of task Rect. boxTranslationY = (expectedHeight - thumbnailPadding - taskHeight) / 2.0f; } else { - fullscreenScale = 1f; + nonGridScale = 1f; boxTranslationY = 0f; expectedWidth = ViewGroup.LayoutParams.MATCH_PARENT; expectedHeight = ViewGroup.LayoutParams.MATCH_PARENT; } - setFullscreenScale(fullscreenScale); + setNonGridScale(nonGridScale); setBoxTranslationY(boxTranslationY); if (params.width != expectedWidth || params.height != expectedHeight) { params.width = expectedWidth; @@ -1414,20 +1359,15 @@ public class TaskView extends FrameLayout implements Reusable { } } - private float getFullscreenTrans(float endTranslation) { - float progress = FULLSCREEN_INTERPOLATOR.getInterpolation(mFullscreenProgress); - return Utilities.mapRange(progress, 0, endTranslation); - } - - private float getNonFullscreenTrans(float endTranslation) { - return endTranslation - getFullscreenTrans(endTranslation); - } - private float getGridTrans(float endTranslation) { - float progress = ACCEL_DEACCEL.getInterpolation(mGridProgress); + float progress = GRID_INTERPOLATOR.getInterpolation(mGridProgress); return Utilities.mapRange(progress, 0, endTranslation); } + private float getNonGridTrans(float endTranslation) { + return endTranslation - getGridTrans(endTranslation); + } + public boolean isRunningTask() { if (getRecentsView() == null) { return false; From 1721ccf3854b48d27a7d2c78df2daba14945960d Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 8 Jun 2021 12:57:40 -0700 Subject: [PATCH 032/905] Simplifying the drop animation code > Removing some unused parameters Bug: 190524398 Test: Manual Change-Id: Iea0c2e7a9d30a10fd7443ea57992c59ea60badf8 --- .../android/launcher3/ButtonDropTarget.java | 11 +- src/com/android/launcher3/Workspace.java | 8 +- .../launcher3/dragndrop/DragLayer.java | 187 +++++++----------- .../android/launcher3/folder/FolderIcon.java | 8 +- .../launcher3/util/FlingAnimation.java | 44 ++--- .../launcher3/views/BaseDragLayer.java | 14 +- 6 files changed, 105 insertions(+), 167 deletions(-) diff --git a/src/com/android/launcher3/ButtonDropTarget.java b/src/com/android/launcher3/ButtonDropTarget.java index 7db34a5613..e9f50c7e9e 100644 --- a/src/com/android/launcher3/ButtonDropTarget.java +++ b/src/com/android/launcher3/ButtonDropTarget.java @@ -36,8 +36,6 @@ import android.view.accessibility.AccessibilityEvent; import android.widget.PopupWindow; import android.widget.TextView; -import androidx.appcompat.content.res.AppCompatResources; - import com.android.launcher3.anim.Interpolators; import com.android.launcher3.dragndrop.DragController; import com.android.launcher3.dragndrop.DragLayer; @@ -238,11 +236,8 @@ public abstract class ButtonDropTarget extends TextView return; } final DragLayer dragLayer = mLauncher.getDragLayer(); - final Rect from = new Rect(); - dragLayer.getViewRectRelativeToSelf(d.dragView, from); - final Rect to = getIconRect(d); - final float scale = (float) to.width() / from.width(); + final float scale = (float) to.width() / d.dragView.getMeasuredWidth(); d.dragView.detachContentView(/* reattachToPreviousParent= */ true); mDropTargetBar.deferOnDragEnd(); @@ -252,9 +247,9 @@ public abstract class ButtonDropTarget extends TextView mLauncher.getStateManager().goToState(NORMAL); }; - dragLayer.animateView(d.dragView, from, to, scale, 1f, 1f, 0.1f, 0.1f, + dragLayer.animateView(d.dragView, to, scale, 0.1f, 0.1f, DRAG_VIEW_DROP_DURATION, - Interpolators.DEACCEL_2, Interpolators.LINEAR, onAnimationEndRunnable, + Interpolators.DEACCEL_2, onAnimationEndRunnable, DragLayer.ANIMATION_END_DISAPPEAR, null); } diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 9a8f3ddc02..06bd66e5b6 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -17,6 +17,7 @@ package com.android.launcher3; import static androidx.annotation.VisibleForTesting.PROTECTED; + import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY; import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; import static com.android.launcher3.LauncherState.ALL_APPS; @@ -2684,9 +2685,6 @@ public class Workspace extends PagedView public void animateWidgetDrop(ItemInfo info, CellLayout cellLayout, final DragView dragView, final Runnable onCompleteRunnable, int animationType, final View finalView, boolean external) { - Rect from = new Rect(); - mLauncher.getDragLayer().getViewRectRelativeToSelf(dragView, from); - int[] finalPos = new int[2]; float scaleXY[] = new float[2]; boolean scalePreview = !(info instanceof PendingAddShortcutInfo); @@ -2730,8 +2728,8 @@ public class Workspace extends PagedView } } }; - dragLayer.animateViewIntoPosition(dragView, from.left, from.top, finalPos[0], - finalPos[1], 1, 1, 1, scaleXY[0], scaleXY[1], onComplete, endStyle, + dragLayer.animateViewIntoPosition(dragView, finalPos[0], + finalPos[1], 1, scaleXY[0], scaleXY[1], onComplete, endStyle, duration, this); } } diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index 011325d6cf..5ee42037b0 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -17,14 +17,19 @@ package com.android.launcher3.dragndrop; +import static android.animation.ObjectAnimator.ofFloat; + +import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X; +import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y; +import static com.android.launcher3.Utilities.mapRange; +import static com.android.launcher3.anim.AnimatorListeners.forEndCallback; import static com.android.launcher3.anim.Interpolators.DEACCEL_1_5; import static com.android.launcher3.compat.AccessibilityManagerCompat.sendCustomAccessibilityEvent; import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; +import android.animation.ObjectAnimator; import android.animation.TimeInterpolator; -import android.animation.ValueAnimator; -import android.animation.ValueAnimator.AnimatorUpdateListener; +import android.animation.TypeEvaluator; import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; @@ -44,10 +49,11 @@ import com.android.launcher3.Launcher; import com.android.launcher3.R; import com.android.launcher3.ShortcutAndWidgetContainer; import com.android.launcher3.Workspace; +import com.android.launcher3.anim.PendingAnimation; +import com.android.launcher3.anim.SpringProperty; import com.android.launcher3.folder.Folder; import com.android.launcher3.graphics.Scrim; import com.android.launcher3.keyboard.ViewGroupFocusHelper; -import com.android.launcher3.util.Thunk; import com.android.launcher3.util.TouchController; import com.android.launcher3.views.BaseDragLayer; @@ -69,11 +75,9 @@ public class DragLayer extends BaseDragLayer { private DragController mDragController; // Variables relating to animation of views after drop - private ValueAnimator mDropAnim = null; + private Animator mDropAnim = null; - @Thunk DragView mDropView = null; - @Thunk int mAnchorViewInitialScrollX = 0; - @Thunk View mAnchorView = null; + private DragView mDropView = null; private boolean mHoverPointClosesFolder = false; @@ -220,12 +224,7 @@ public class DragLayer extends BaseDragLayer { public void animateViewIntoPosition(DragView dragView, final int[] pos, float alpha, float scaleX, float scaleY, int animationEndStyle, Runnable onFinishRunnable, int duration) { - Rect r = new Rect(); - getViewRectRelativeToSelf(dragView, r); - final int fromX = r.left; - final int fromY = r.top; - - animateViewIntoPosition(dragView, fromX, fromY, pos[0], pos[1], alpha, 1, 1, scaleX, scaleY, + animateViewIntoPosition(dragView, pos[0], pos[1], alpha, scaleX, scaleY, onFinishRunnable, animationEndStyle, duration, null); } @@ -241,11 +240,6 @@ public class DragLayer extends BaseDragLayer { parentChildren.measureChild(child); parentChildren.layoutChild(child); - Rect dragViewBounds = new Rect(); - getViewRectRelativeToSelf(dragView, dragViewBounds); - final int fromX = dragViewBounds.left; - final int fromY = dragViewBounds.top; - float coord[] = new float[2]; float childScale = child.getScaleX(); @@ -288,51 +282,50 @@ public class DragLayer extends BaseDragLayer { child.setVisibility(INVISIBLE); Runnable onCompleteRunnable = () -> child.setVisibility(VISIBLE); - animateViewIntoPosition(dragView, fromX, fromY, toX, toY, 1, 1, 1, toScale, toScale, + animateViewIntoPosition(dragView, toX, toY, 1, toScale, toScale, onCompleteRunnable, ANIMATION_END_DISAPPEAR, duration, anchorView); } - public void animateViewIntoPosition(final DragView view, final int fromX, final int fromY, - final int toX, final int toY, float finalAlpha, float initScaleX, float initScaleY, - float finalScaleX, float finalScaleY, Runnable onCompleteRunnable, - int animationEndStyle, int duration, View anchorView) { - Rect from = new Rect(fromX, fromY, fromX + - view.getMeasuredWidth(), fromY + view.getMeasuredHeight()); - Rect to = new Rect(toX, toY, toX + view.getMeasuredWidth(), toY + view.getMeasuredHeight()); - animateView(view, from, to, finalAlpha, initScaleX, initScaleY, finalScaleX, finalScaleY, duration, - null, null, onCompleteRunnable, animationEndStyle, anchorView); - } - /** * This method animates a view at the end of a drag and drop animation. - * + */ + public void animateViewIntoPosition(final DragView view, + final int toX, final int toY, float finalAlpha, + float finalScaleX, float finalScaleY, Runnable onCompleteRunnable, + int animationEndStyle, int duration, View anchorView) { + Rect to = new Rect(toX, toY, toX + view.getMeasuredWidth(), toY + view.getMeasuredHeight()); + animateView(view, to, finalAlpha, finalScaleX, finalScaleY, duration, + null, onCompleteRunnable, animationEndStyle, anchorView); + } + + /** + * This method animates a view at the end of a drag and drop animation. * @param view The view to be animated. This view is drawn directly into DragLayer, and so * doesn't need to be a child of DragLayer. - * @param from The initial location of the view. Only the left and top parameters are used. * @param to The final location of the view. Only the left and top parameters are used. This - * location doesn't account for scaling, and so should be centered about the desired - * final location (including scaling). +* location doesn't account for scaling, and so should be centered about the desired +* final location (including scaling). * @param finalAlpha The final alpha of the view, in case we want it to fade as it animates. * @param finalScaleX The final scale of the view. The view is scaled about its center. * @param finalScaleY The final scale of the view. The view is scaled about its center. * @param duration The duration of the animation. * @param motionInterpolator The interpolator to use for the location of the view. - * @param alphaInterpolator The interpolator to use for the alpha of the view. * @param onCompleteRunnable Optional runnable to run on animation completion. * @param animationEndStyle Whether or not to fade out the view once the animation completes. - * {@link #ANIMATION_END_DISAPPEAR} or {@link #ANIMATION_END_REMAIN_VISIBLE}. +* {@link #ANIMATION_END_DISAPPEAR} or {@link #ANIMATION_END_REMAIN_VISIBLE}. * @param anchorView If not null, this represents the view which the animated view stays - * anchored to in case scrolling is currently taking place. Note: currently this is - * only used for the X dimension for the case of the workspace. */ - public void animateView(final DragView view, final Rect from, final Rect to, - final float finalAlpha, final float initScaleX, final float initScaleY, - final float finalScaleX, final float finalScaleY, int duration, - final Interpolator motionInterpolator, final Interpolator alphaInterpolator, - final Runnable onCompleteRunnable, final int animationEndStyle, View anchorView) { + public void animateView(final DragView view, final Rect to, + final float finalAlpha, final float finalScaleX, final float finalScaleY, int duration, + final Interpolator motionInterpolator, final Runnable onCompleteRunnable, + final int animationEndStyle, View anchorView) { + view.cancelAnimation(); + view.requestLayout(); + + final int[] from = getViewLocationRelativeToSelf(view); // Calculate the duration of the animation based on the object's distance - final float dist = (float) Math.hypot(to.left - from.left, to.top - from.top); + final float dist = (float) Math.hypot(to.left - from[0], to.top - from[1]); final Resources res = getResources(); final float maxDist = (float) res.getInteger(R.integer.config_dropAnimMaxDist); @@ -346,93 +339,45 @@ public class DragLayer extends BaseDragLayer { } // Fall back to cubic ease out interpolator for the animation if none is specified - TimeInterpolator interpolator = null; - if (alphaInterpolator == null || motionInterpolator == null) { - interpolator = DEACCEL_1_5; - } + TimeInterpolator interpolator = + motionInterpolator == null ? DEACCEL_1_5 : motionInterpolator; // Animate the view - final float initAlpha = view.getAlpha(); - final float dropViewScale = view.getScaleX(); - AnimatorUpdateListener updateCb = new AnimatorUpdateListener() { - @Override - public void onAnimationUpdate(ValueAnimator animation) { - final float percent = (Float) animation.getAnimatedValue(); - final int width = view.getMeasuredWidth(); - final int height = view.getMeasuredHeight(); + PendingAnimation anim = new PendingAnimation(duration); + anim.add(ofFloat(view, View.SCALE_X, finalScaleX), interpolator, SpringProperty.DEFAULT); + anim.add(ofFloat(view, View.SCALE_Y, finalScaleY), interpolator, SpringProperty.DEFAULT); + anim.setViewAlpha(view, finalAlpha, interpolator); + anim.setFloat(view, VIEW_TRANSLATE_Y, to.top, interpolator); - float alphaPercent = alphaInterpolator == null ? percent : - alphaInterpolator.getInterpolation(percent); - float motionPercent = motionInterpolator == null ? percent : - motionInterpolator.getInterpolation(percent); - - float initialScaleX = initScaleX * dropViewScale; - float initialScaleY = initScaleY * dropViewScale; - float scaleX = finalScaleX * percent + initialScaleX * (1 - percent); - float scaleY = finalScaleY * percent + initialScaleY * (1 - percent); - float alpha = finalAlpha * alphaPercent + initAlpha * (1 - alphaPercent); - - float fromLeft = from.left + (initialScaleX - 1f) * width / 2; - float fromTop = from.top + (initialScaleY - 1f) * height / 2; - - int x = (int) (fromLeft + Math.round(((to.left - fromLeft) * motionPercent))); - int y = (int) (fromTop + Math.round(((to.top - fromTop) * motionPercent))); - - int anchorAdjust = mAnchorView == null ? 0 : (int) (mAnchorView.getScaleX() * - (mAnchorViewInitialScrollX - mAnchorView.getScrollX())); - - int xPos = x - mDropView.getScrollX() + anchorAdjust; - int yPos = y - mDropView.getScrollY(); - - mDropView.setTranslationX(xPos); - mDropView.setTranslationY(yPos); - mDropView.setScaleX(scaleX); - mDropView.setScaleY(scaleY); - mDropView.setAlpha(alpha); - } - }; - animateView(view, updateCb, duration, interpolator, onCompleteRunnable, animationEndStyle, - anchorView); + ObjectAnimator xMotion = ofFloat(view, VIEW_TRANSLATE_X, to.left); + if (anchorView != null) { + final int startScroll = anchorView.getScrollX(); + TypeEvaluator evaluator = (f, s, e) -> mapRange(f, s, e) + + (anchorView.getScaleX() * (startScroll - anchorView.getScrollX())); + xMotion.setEvaluator(evaluator); + } + anim.add(xMotion, interpolator, SpringProperty.DEFAULT); + if (onCompleteRunnable != null) { + anim.addListener(forEndCallback(onCompleteRunnable)); + } + playDropAnimation(view, anim.buildAnim(), animationEndStyle); } - public void animateView(final DragView view, AnimatorUpdateListener updateCb, int duration, - TimeInterpolator interpolator, final Runnable onCompleteRunnable, - final int animationEndStyle, View anchorView) { + /** + * Runs a previously constructed drop animation + */ + public void playDropAnimation(final DragView view, Animator animator, int animationEndStyle) { // Clean up the previous animations if (mDropAnim != null) mDropAnim.cancel(); // Show the drop view if it was previously hidden mDropView = view; - mDropView.cancelAnimation(); - mDropView.requestLayout(); - - // Set the anchor view if the page is scrolling - if (anchorView != null) { - mAnchorViewInitialScrollX = anchorView.getScrollX(); - } - mAnchorView = anchorView; - // Create and start the animation - mDropAnim = new ValueAnimator(); - mDropAnim.setInterpolator(interpolator); - mDropAnim.setDuration(duration); - mDropAnim.setFloatValues(0f, 1f); - mDropAnim.addUpdateListener(updateCb); - mDropAnim.addListener(new AnimatorListenerAdapter() { - public void onAnimationEnd(Animator animation) { - if (onCompleteRunnable != null) { - onCompleteRunnable.run(); - } - switch (animationEndStyle) { - case ANIMATION_END_DISAPPEAR: - clearAnimatedView(); - break; - case ANIMATION_END_REMAIN_VISIBLE: - break; - } - mDropAnim = null; - } - }); + mDropAnim = animator; + mDropAnim.addListener(forEndCallback(() -> mDropAnim = null)); + if (animationEndStyle == ANIMATION_END_DISAPPEAR) { + mDropAnim.addListener(forEndCallback(this::clearAnimatedView)); + } mDropAnim.start(); } diff --git a/src/com/android/launcher3/folder/FolderIcon.java b/src/com/android/launcher3/folder/FolderIcon.java index 6b12d86d13..a526176856 100644 --- a/src/com/android/launcher3/folder/FolderIcon.java +++ b/src/com/android/launcher3/folder/FolderIcon.java @@ -336,8 +336,6 @@ public class FolderIcon extends FrameLayout implements FolderListener, IconLabel if (animateView != null && mActivity instanceof Launcher) { final Launcher launcher = (Launcher) mActivity; DragLayer dragLayer = launcher.getDragLayer(); - Rect from = new Rect(); - dragLayer.getViewRectRelativeToSelf(animateView, from); Rect to = finalRect; if (to == null) { to = new Rect(); @@ -402,9 +400,9 @@ public class FolderIcon extends FrameLayout implements FolderListener, IconLabel finalScale *= containerScale; } - dragLayer.animateView(animateView, from, to, finalAlpha, - 1, 1, finalScale, finalScale, DROP_IN_ANIMATION_DURATION, - Interpolators.DEACCEL_2, Interpolators.ACCEL_2, + dragLayer.animateView(animateView, to, finalAlpha, + finalScale, finalScale, DROP_IN_ANIMATION_DURATION, + Interpolators.DEACCEL_2, null, DragLayer.ANIMATION_END_DISAPPEAR, null); mFolder.hideItem(item); diff --git a/src/com/android/launcher3/util/FlingAnimation.java b/src/com/android/launcher3/util/FlingAnimation.java index c9aa51c0de..ac864e91b3 100644 --- a/src/com/android/launcher3/util/FlingAnimation.java +++ b/src/com/android/launcher3/util/FlingAnimation.java @@ -1,12 +1,14 @@ package com.android.launcher3.util; import static com.android.launcher3.LauncherState.NORMAL; +import static com.android.launcher3.anim.AnimatorListeners.forEndCallback; import android.animation.TimeInterpolator; import android.animation.ValueAnimator; import android.animation.ValueAnimator.AnimatorUpdateListener; import android.graphics.PointF; import android.graphics.Rect; +import android.graphics.RectF; import android.view.animation.AnimationUtils; import android.view.animation.DecelerateInterpolator; @@ -35,7 +37,7 @@ public class FlingAnimation implements AnimatorUpdateListener, Runnable { protected final float mUX, mUY; protected Rect mIconRect; - protected Rect mFrom; + protected RectF mFrom; protected int mDuration; protected float mAnimationTimeFraction; @@ -55,17 +57,17 @@ public class FlingAnimation implements AnimatorUpdateListener, Runnable { @Override public void run() { mIconRect = mDropTarget.getIconRect(mDragObject); + mDragObject.dragView.cancelAnimation(); + mDragObject.dragView.requestLayout(); // Initiate from - mFrom = new Rect(); - mDragLayer.getViewRectRelativeToSelf(mDragObject.dragView, mFrom); - float scale = mDragObject.dragView.getScaleX(); - float xOffset = ((scale - 1f) * mDragObject.dragView.getMeasuredWidth()) / 2f; - float yOffset = ((scale - 1f) * mDragObject.dragView.getMeasuredHeight()) / 2f; - mFrom.left += xOffset; - mFrom.right -= xOffset; - mFrom.top += yOffset; - mFrom.bottom -= yOffset; + Rect from = new Rect(); + mDragLayer.getViewRectRelativeToSelf(mDragObject.dragView, from); + + mFrom = new RectF(from); + mFrom.inset( + ((1 - mDragObject.dragView.getScaleX()) * from.width()) / 2f, + ((1 - mDragObject.dragView.getScaleY()) * from.height()) / 2f); mDuration = Math.abs(mUY) > Math.abs(mUX) ? initFlingUpDuration() : initFlingLeftDuration(); mAnimationTimeFraction = ((float) mDuration) / (mDuration + DRAG_END_DELAY); @@ -95,17 +97,15 @@ public class FlingAnimation implements AnimatorUpdateListener, Runnable { } }; - Runnable onAnimationEndRunnable = new Runnable() { - @Override - public void run() { - mLauncher.getStateManager().goToState(NORMAL); - mDropTarget.completeDrop(mDragObject); - } - }; - mDropTarget.onDrop(mDragObject, mDragOptions); - mDragLayer.animateView(mDragObject.dragView, this, duration, tInterpolator, - onAnimationEndRunnable, DragLayer.ANIMATION_END_DISAPPEAR, null); + ValueAnimator anim = ValueAnimator.ofFloat(0, 1); + anim.setDuration(duration).setInterpolator(tInterpolator); + anim.addUpdateListener(this); + anim.addListener(forEndCallback(() -> { + mLauncher.getStateManager().goToState(NORMAL); + mDropTarget.completeDrop(mDragObject); + })); + mDragLayer.playDropAnimation(mDragObject.dragView, anim, DragLayer.ANIMATION_END_DISAPPEAR); } /** @@ -129,7 +129,7 @@ public class FlingAnimation implements AnimatorUpdateListener, Runnable { } double t = (-mUY - Math.sqrt(d)) / mAY; - float sX = -mFrom.exactCenterX() + mIconRect.exactCenterX(); + float sX = -mFrom.centerX() + mIconRect.exactCenterX(); // Find horizontal acceleration such that: u*t + a*t*t/2 = s mAX = (float) ((sX - t * mUX) * 2 / (t * t)); @@ -157,7 +157,7 @@ public class FlingAnimation implements AnimatorUpdateListener, Runnable { } double t = (-mUX - Math.sqrt(d)) / mAX; - float sY = -mFrom.exactCenterY() + mIconRect.exactCenterY(); + float sY = -mFrom.centerY() + mIconRect.exactCenterY(); // Find vertical acceleration such that: u*t + a*t*t/2 = s mAY = (float) ((sY - t * mUY) * 2 / (t * t)); diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java index 01c0b562e1..76dfb3ce2a 100644 --- a/src/com/android/launcher3/views/BaseDragLayer.java +++ b/src/com/android/launcher3/views/BaseDragLayer.java @@ -430,18 +430,20 @@ public abstract class BaseDragLayer } public void getViewRectRelativeToSelf(View v, Rect r) { + int[] loc = getViewLocationRelativeToSelf(v); + r.set(loc[0], loc[1], loc[0] + v.getMeasuredWidth(), loc[1] + v.getMeasuredHeight()); + } + + protected int[] getViewLocationRelativeToSelf(View v) { int[] loc = new int[2]; getLocationInWindow(loc); int x = loc[0]; int y = loc[1]; v.getLocationInWindow(loc); - int vX = loc[0]; - int vY = loc[1]; - - int left = vX - x; - int top = vY - y; - r.set(left, top, left + v.getMeasuredWidth(), top + v.getMeasuredHeight()); + loc[0] -= x; + loc[1] -= y; + return loc; } @Override From 838414ab3adf6fe3641101c02133b759cd51c6f8 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Wed, 9 Jun 2021 10:41:02 +0100 Subject: [PATCH 033/905] Use FINAL_FRAME for leaving grid animation Bug: 14844554 Test: manual Change-Id: I9a8cf94a448de2520c4cc434f15377fa1f2d202e --- .../uioverrides/BaseRecentsViewStateController.java | 7 ++++--- .../quickstep/fallback/FallbackRecentsStateController.java | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java index 7a968c1799..d74b6c5f1d 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/BaseRecentsViewStateController.java @@ -17,6 +17,7 @@ package com.android.launcher3.uioverrides; import static com.android.launcher3.anim.Interpolators.AGGRESSIVE_EASE_IN_OUT; +import static com.android.launcher3.anim.Interpolators.FINAL_FRAME; import static com.android.launcher3.anim.Interpolators.INSTANT; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_FADE; @@ -113,9 +114,9 @@ public abstract class BaseRecentsViewStateController mRecentsView, getTaskModalnessProperty(), toState.getOverviewModalness(), config.getInterpolator(ANIM_OVERVIEW_MODAL, LINEAR)); - setter.setFloat(mRecentsView, RECENTS_GRID_PROGRESS, - toState.displayOverviewTasksAsGrid(mLauncher.getDeviceProfile()) ? 1f : 0f, - INSTANT); + boolean showAsGrid = toState.displayOverviewTasksAsGrid(mLauncher.getDeviceProfile()); + setter.setFloat(mRecentsView, RECENTS_GRID_PROGRESS, showAsGrid ? 1f : 0f, + showAsGrid ? INSTANT : FINAL_FRAME); } abstract FloatProperty getTaskModalnessProperty(); diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java index 854067b926..50b69dcff4 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java @@ -15,6 +15,7 @@ */ package com.android.quickstep.fallback; +import static com.android.launcher3.anim.Interpolators.FINAL_FRAME; import static com.android.launcher3.anim.Interpolators.INSTANT; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.states.StateAnimationConfig.ANIM_OVERVIEW_MODAL; @@ -93,8 +94,9 @@ public class FallbackRecentsStateController implements StateHandler Date: Wed, 9 Jun 2021 13:07:32 +0100 Subject: [PATCH 034/905] Avoid unnecessary onLayout if gesture is going to HOME Fixes: 186508379 Test: manual swipe up to carousel, then to home Change-Id: I97a642a6fc4c4d0ca3805b79db60b6dfdaea1315 --- quickstep/src/com/android/quickstep/views/RecentsView.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index c57d1562b9..2cfaa4db44 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -2781,6 +2781,12 @@ public abstract class RecentsView Date: Tue, 8 Jun 2021 20:03:43 -0700 Subject: [PATCH 035/905] Reorganize taskbar controllers Organize existing properties as follows: - TaskbarViewController contains properties affecting TaskbarView (though child icons are still supplied by TaskbarHotseatController) - TaskbarDragLayerController contains properties related to TaskbarDragLayer itself - Renamed NavbarButtonUiController to NavbarButtonsViewController, following the pattern of TaskbarViewController and TaskbarDragLayerController - TaskbarControllers contains the different controllers to make it easier to construct, initialize, destroy, and pass them around - Removed TaskbarIconController as its responsibilities were moved to more specific controllers Test: compiles and runs, manually tested Bug: 187353581 Change-Id: Idccd95d47117101bf9617e5532a5b87635d2b8f6 --- .../taskbar/LauncherTaskbarUIController.java | 35 ++++- ....java => NavbarButtonsViewController.java} | 55 +++---- .../taskbar/TaskbarActivityContext.java | 101 +++++-------- .../launcher3/taskbar/TaskbarControllers.java | 76 ++++++++++ .../launcher3/taskbar/TaskbarDragLayer.java | 30 +--- .../taskbar/TaskbarDragLayerController.java | 137 ++++++++++++++++++ .../taskbar/TaskbarIconController.java | 119 --------------- .../taskbar/TaskbarUIController.java | 8 +- .../launcher3/taskbar/TaskbarView.java | 22 ++- .../taskbar/TaskbarViewController.java | 85 +++++++++++ 10 files changed, 419 insertions(+), 249 deletions(-) rename quickstep/src/com/android/launcher3/taskbar/{NavbarButtonUIController.java => NavbarButtonsViewController.java} (86%) create mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java create mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java delete mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java create mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 79af7cc5dd..9a836aa255 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -16,9 +16,12 @@ package com.android.launcher3.taskbar; import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_HOME; +import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_LAUNCHER_STATE; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.graphics.Rect; import android.view.MotionEvent; import androidx.annotation.NonNull; @@ -30,6 +33,7 @@ import com.android.launcher3.QuickstepTransitionManager; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatorListeners; import com.android.launcher3.anim.PendingAnimation; +import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; import com.android.quickstep.AnimatedFloat; @@ -47,7 +51,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { final TaskbarDragLayer mTaskbarDragLayer; final TaskbarView mTaskbarView; - private AnimatedFloat mTaskBarAlpha; + private AnimatedFloat mTaskbarBackgroundAlpha; private AlphaProperty mIconAlphaForHome; private @Nullable Animator mAnimator; private boolean mIsAnimatingToLauncher; @@ -66,11 +70,14 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } @Override - protected void init(AnimatedFloat taskBarAlpha, AlphaProperty iconAlphaForLauncherState, - AlphaProperty iconAlphaForHome) { - mTaskBarAlpha = taskBarAlpha; - mIconAlphaForHome = iconAlphaForHome; - mTaskbarStateHandler.setAnimationController(iconAlphaForLauncherState); + protected void init(TaskbarControllers taskbarControllers) { + mTaskbarBackgroundAlpha = taskbarControllers.taskbarDragLayerController + .getTaskbarBackgroundAlpha(); + MultiValueAlpha taskbarIconAlpha = taskbarControllers.taskbarViewController + .getTaskbarIconAlpha(); + mIconAlphaForHome = taskbarIconAlpha.getProperty(ALPHA_INDEX_HOME); + mTaskbarStateHandler.setAnimationController(taskbarIconAlpha.getProperty( + ALPHA_INDEX_LAUNCHER_STATE)); mHotseatController.init(); setTaskbarViewVisible(!mLauncher.hasBeenResumed()); mLauncher.setTaskbarUIController(this); @@ -94,6 +101,18 @@ public class LauncherTaskbarUIController extends TaskbarUIController { return !mIsAnimatingToLauncher; } + @Override + protected void updateContentInsets(Rect outContentInsets) { + // TaskbarDragLayer provides insets to other apps based on contentInsets. These + // insets should stay consistent even if we expand TaskbarDragLayer's bounds, e.g. + // to show a floating view like Folder. Thus, we set the contentInsets to be where + // mTaskbarView is, since its position never changes and insets rather than overlays. + outContentInsets.left = mTaskbarView.getLeft(); + outContentInsets.top = mTaskbarView.getTop(); + outContentInsets.right = mTaskbarDragLayer.getWidth() - mTaskbarView.getRight(); + outContentInsets.bottom = mTaskbarDragLayer.getHeight() - mTaskbarView.getBottom(); + } + /** * Should be called from onResume() and onPause(), and animates the Taskbar accordingly. */ @@ -125,7 +144,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { PendingAnimation anim = new PendingAnimation(duration); mTaskbarStateHandler.setState(toState, anim); - anim.setFloat(mTaskBarAlpha, AnimatedFloat.VALUE, 0, LINEAR); + anim.setFloat(mTaskbarBackgroundAlpha, AnimatedFloat.VALUE, 0, LINEAR); mTaskbarView.alignIconsWithLauncher(mLauncher.getDeviceProfile(), anim); anim.addListener(new AnimatorListenerAdapter() { @@ -146,7 +165,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { private Animator createAnimToApp(long duration) { PendingAnimation anim = new PendingAnimation(duration); - anim.setFloat(mTaskBarAlpha, AnimatedFloat.VALUE, 1, LINEAR); + anim.setFloat(mTaskbarBackgroundAlpha, AnimatedFloat.VALUE, 1, LINEAR); anim.addListener(AnimatorListeners.forEndCallback(mTaskbarView.resetIconPosition(anim))); anim.addListener(new AnimatorListenerAdapter() { @Override diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java similarity index 86% rename from quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java rename to quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index dc292a1816..2ae7d108ed 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -21,6 +21,7 @@ import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_BA import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HOME; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; +import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_IME; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; @@ -48,7 +49,6 @@ import com.android.launcher3.taskbar.TaskbarNavButtonController.TaskbarButton; import com.android.launcher3.taskbar.contextual.RotationButton; import com.android.launcher3.taskbar.contextual.RotationButtonController; import com.android.launcher3.util.MultiValueAlpha; -import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; import com.android.quickstep.AnimatedFloat; import java.util.ArrayList; @@ -57,7 +57,7 @@ import java.util.function.IntPredicate; /** * Controller for managing nav bar buttons in taskbar */ -public class NavbarButtonUIController { +public class NavbarButtonsViewController { private final Rect mTempRect = new Rect(); @@ -74,48 +74,53 @@ public class NavbarButtonUIController { private int mState; private final TaskbarActivityContext mContext; - private View a11yButton; + private final FrameLayout mNavButtonsView; + private final ViewGroup mStartContainer; + private final ViewGroup mEndContainer; + + // Initialized in init. + private TaskbarControllers mControllers; + private View mA11yButton; private int mSysuiStateFlags; - public NavbarButtonUIController(TaskbarActivityContext context) { + public NavbarButtonsViewController(TaskbarActivityContext context, FrameLayout navButtonsView) { mContext = context; + mNavButtonsView = navButtonsView; + mStartContainer = mNavButtonsView.findViewById(R.id.start_nav_buttons); + mEndContainer = mNavButtonsView.findViewById(R.id.end_nav_buttons); } /** * Initializes the controller */ - public void init(TaskbarDragLayer dragLayer, - TaskbarNavButtonController navButtonController, - RotationButtonController rotationButtonController, - AnimatedFloat taskbarBackgroundAlpha, AlphaProperty taskbarIconAlpha) { - FrameLayout buttonController = dragLayer.findViewById(R.id.navbuttons_view); - buttonController.getLayoutParams().height = mContext.getDeviceProfile().taskbarSize; + public void init(TaskbarControllers controllers) { + mControllers = controllers; + mNavButtonsView.getLayoutParams().height = mContext.getDeviceProfile().taskbarSize; mA11yLongClickListener = view -> { - navButtonController.onButtonClick(BUTTON_A11Y_LONG_CLICK); + mControllers.navButtonController.onButtonClick(BUTTON_A11Y_LONG_CLICK); return true; }; if (mContext.canShowNavButtons()) { - ViewGroup startContainer = buttonController.findViewById(R.id.start_nav_buttons); - ViewGroup endContainer = buttonController.findViewById(R.id.end_nav_buttons); - - initButtons(startContainer, endContainer, navButtonController); + initButtons(mStartContainer, mEndContainer, mControllers.navButtonController); // Animate taskbar background when IME shows - mPropertyHolders.add(new StatePropertyHolder(taskbarBackgroundAlpha, + mPropertyHolders.add(new StatePropertyHolder( + mControllers.taskbarDragLayerController.getNavbarBackgroundAlpha(), flags -> (flags & FLAG_IME_VISIBLE) == 0, AnimatedFloat.VALUE, 0, 1)); mPropertyHolders.add(new StatePropertyHolder( - taskbarIconAlpha, flags -> (flags & FLAG_IME_VISIBLE) == 0, - MultiValueAlpha.VALUE, 1, 0)); + mControllers.taskbarViewController.getTaskbarIconAlpha() + .getProperty(ALPHA_INDEX_IME), + flags -> (flags & FLAG_IME_VISIBLE) == 0, MultiValueAlpha.VALUE, 1, 0)); // Rotation button - RotationButton rotationButton = new RotationButtonImpl(addButton(endContainer)); + RotationButton rotationButton = new RotationButtonImpl(addButton(mEndContainer)); rotationButton.hide(); - rotationButtonController.setRotationButton(rotationButton); + mControllers.rotationButtonController.setRotationButton(rotationButton); } else { - rotationButtonController.setRotationButton(new RotationButton() { }); + mControllers.rotationButtonController.setRotationButton(new RotationButton() {}); } applyState(); @@ -151,12 +156,12 @@ public class NavbarButtonUIController { && ((flags & FLAG_A11Y_VISIBLE) == 0))); // A11y button - a11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, + mA11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, endContainer, navButtonController); - mPropertyHolders.add(new StatePropertyHolder(a11yButton, + mPropertyHolders.add(new StatePropertyHolder(mA11yButton, flags -> (flags & FLAG_A11Y_VISIBLE) != 0 && (flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)); - a11yButton.setOnLongClickListener(mA11yLongClickListener); + mA11yButton.setOnLongClickListener(mA11yLongClickListener); } public void updateStateForSysuiFlags(int systemUiStateFlags, boolean forceUpdate) { @@ -174,7 +179,7 @@ public class NavbarButtonUIController { updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); updateStateForFlag(FLAG_SWITCHER_SUPPORTED, isImeSwitcherShowing); updateStateForFlag(FLAG_A11Y_VISIBLE, a11yVisible); - a11yButton.setLongClickable(a11yLongClickable); + mA11yButton.setLongClickable(a11yLongClickable); applyState(); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index a25eb38d99..6e477000dd 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -38,6 +38,7 @@ import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; +import android.widget.FrameLayout; import android.widget.Toast; import androidx.annotation.NonNull; @@ -52,12 +53,10 @@ import com.android.launcher3.model.data.FolderInfo; import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.taskbar.contextual.RotationButtonController; import com.android.launcher3.touch.ItemClickHandler; -import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.Themes; import com.android.launcher3.util.TraceHelper; import com.android.launcher3.views.ActivityContext; -import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; import com.android.systemui.shared.recents.model.Task; @@ -77,16 +76,10 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private static final String WINDOW_TITLE = "Taskbar"; - private static final int ALPHA_INDEX_HOME = 0; - private static final int ALPHA_INDEX_LAUNCHER_STATE = 1; - private static final int ALPHA_INDEX_IME = 2; - private final DeviceProfile mDeviceProfile; private final LayoutInflater mLayoutInflater; private final TaskbarDragLayer mDragLayer; - private final TaskbarIconController mIconController; - private final TaskbarDragController mDragController; - private final NavbarButtonUIController mNavbarButtonUIController; + private final TaskbarControllers mControllers; private final WindowManager mWindowManager; private WindowManager.LayoutParams mWindowLayoutParams; @@ -95,57 +88,46 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private int mLastRequestedNonFullscreenHeight; private final SysUINavigationMode.Mode mNavMode; - private final TaskbarNavButtonController mNavButtonController; - private final RotationButtonController mRotationButtonController; private final boolean mIsSafeModeEnabled; - @NonNull - private TaskbarUIController mUIController = TaskbarUIController.DEFAULT; - - private final View.OnClickListener mOnTaskbarIconClickListener; - private final View.OnLongClickListener mOnTaskbarIconLongClickListener; - - // Alpha property for task bar - private final AnimatedFloat mBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha); - private final AnimatedFloat mBgNavbar = new AnimatedFloat(this::updateBackgroundAlpha); - - private final MultiValueAlpha mTaskbarIconAlpha; - public TaskbarActivityContext(Context windowContext, DeviceProfile dp, TaskbarNavButtonController buttonController) { super(windowContext, Themes.getActivityThemeRes(windowContext)); mDeviceProfile = dp; - mNavButtonController = buttonController; + mNavMode = SysUINavigationMode.getMode(windowContext); mIsSafeModeEnabled = TraceHelper.allowIpcs("isSafeMode", () -> getPackageManager().isSafeMode()); - mDragController = new TaskbarDragController(this); - mOnTaskbarIconLongClickListener = mDragController::startDragOnLongClick; - mOnTaskbarIconClickListener = this::onTaskbarIconClicked; - float taskbarIconSize = getResources().getDimension(R.dimen.taskbar_icon_size); mDeviceProfile.updateIconSize(1, getResources()); float iconScale = taskbarIconSize / mDeviceProfile.iconSizePx; mDeviceProfile.updateIconSize(iconScale, getResources()); mLayoutInflater = LayoutInflater.from(this).cloneInContext(this); - mDragLayer = (TaskbarDragLayer) mLayoutInflater - .inflate(R.layout.taskbar, null, false); - mRotationButtonController = new RotationButtonController(this, - R.color.popup_color_primary_light, R.color.popup_color_primary_light); - mNavbarButtonUIController = new NavbarButtonUIController(this); - mIconController = new TaskbarIconController(this, mDragLayer, mNavbarButtonUIController); + + // Inflate views. + mDragLayer = (TaskbarDragLayer) mLayoutInflater.inflate( + R.layout.taskbar, null, false); + TaskbarView taskbarView = mDragLayer.findViewById(R.id.taskbar_view); + FrameLayout navButtonsView = mDragLayer.findViewById(R.id.navbuttons_view); + + // Construct controllers. + mControllers = new TaskbarControllers(this, + new TaskbarDragController(this), + buttonController, + new NavbarButtonsViewController(this, navButtonsView), + new RotationButtonController(this, R.color.popup_color_primary_light, + R.color.popup_color_primary_light), + new TaskbarDragLayerController(this, mDragLayer), + new TaskbarViewController(this, taskbarView)); Display display = windowContext.getDisplay(); Context c = display.getDisplayId() == Display.DEFAULT_DISPLAY ? windowContext.getApplicationContext() : windowContext.getApplicationContext().createDisplayContext(display); mWindowManager = c.getSystemService(WindowManager.class); - - mTaskbarIconAlpha = new MultiValueAlpha(mDragLayer.findViewById(R.id.taskbar_view), 3); - mTaskbarIconAlpha.setUpdateVisibility(true); } public void init() { @@ -170,13 +152,10 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ new int[] { ITYPE_EXTRA_NAVIGATION_BAR, ITYPE_BOTTOM_TAPPABLE_ELEMENT } ); - mIconController.init(mOnTaskbarIconClickListener, mOnTaskbarIconLongClickListener); - mNavbarButtonUIController.init(mDragLayer, mNavButtonController, mRotationButtonController, - mBgNavbar, mTaskbarIconAlpha.getProperty(ALPHA_INDEX_IME)); + // Initialize controllers after all are constructed. + mControllers.init(); + mWindowManager.addView(mDragLayer, mWindowLayoutParams); - if (canShowNavButtons()) { - mRotationButtonController.init(); - } } public boolean canShowNavButtons() { @@ -200,23 +179,21 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ @Override public Rect getFolderBoundingBox() { - return mDragLayer.getFolderBoundingBox(); + return mControllers.taskbarDragLayerController.getFolderBoundingBox(); } @Override public TaskbarDragController getDragController() { - return mDragController; + return mControllers.taskbarDragController; } /** * Sets a new data-source for this taskbar instance */ public void setUIController(@NonNull TaskbarUIController uiController) { - mUIController.onDestroy(); - mUIController = uiController; - mIconController.setUIController(mUIController); - mUIController.init(mBgTaskbar, mTaskbarIconAlpha.getProperty(ALPHA_INDEX_LAUNCHER_STATE), - mTaskbarIconAlpha.getProperty(ALPHA_INDEX_HOME)); + mControllers.uiController.onDestroy(); + mControllers.uiController = uiController; + mControllers.uiController.init(mControllers); } /** @@ -224,8 +201,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ */ public void onDestroy() { setUIController(TaskbarUIController.DEFAULT); - mIconController.onDestroy(); - mRotationButtonController.onDestroy(); + mControllers.onDestroy(); mWindowManager.removeViewImmediate(mDragLayer); } @@ -233,23 +209,25 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ if (!canShowNavButtons()) { return; } - mNavbarButtonUIController.updateStateForSysuiFlags(systemUiStateFlags, forceUpdate); - mIconController.setImeIsVisible(mNavbarButtonUIController.isImeVisible()); + mControllers.navbarButtonsViewController.updateStateForSysuiFlags( + systemUiStateFlags, forceUpdate); + mControllers.taskbarViewController.setImeIsVisible( + mControllers.navbarButtonsViewController.isImeVisible()); } public void onRotationProposal(int rotation, boolean isValid) { - mRotationButtonController.onRotationProposal(rotation, isValid); + mControllers.rotationButtonController.onRotationProposal(rotation, isValid); } public void disable(int displayId, int state1, int state2, boolean animate) { if (displayId != getDisplayId()) { return; } - mRotationButtonController.onDisable2FlagChanged(state2); + mControllers.rotationButtonController.onDisable2FlagChanged(state2); } public void onSystemBarAttributesChanged(int displayId, int behavior) { - mRotationButtonController.onBehaviorChanged(displayId, behavior); + mControllers.rotationButtonController.onBehaviorChanged(displayId, behavior); } /** @@ -296,8 +274,8 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ folder.animateOpen(); folder.iterateOverItems((itemInfo, itemView) -> { - itemView.setOnClickListener(mOnTaskbarIconClickListener); - itemView.setOnLongClickListener(mOnTaskbarIconLongClickListener); + mControllers.taskbarViewController + .setClickAndLongClickListenersForIcon(itemView); // To play haptic when dragging, like other Taskbar items do. itemView.setHapticFeedbackEnabled(true); return false; @@ -343,9 +321,4 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ AbstractFloatingView.closeAllOpenViews(this); } - - private void updateBackgroundAlpha() { - mDragLayer.setTaskbarBackgroundAlpha(Math.max(mBgNavbar.value, mBgTaskbar.value)); - } - } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java new file mode 100644 index 0000000000..7712ffef55 --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -0,0 +1,76 @@ +/* + * 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. + */ +package com.android.launcher3.taskbar; + +import androidx.annotation.NonNull; + +import com.android.launcher3.taskbar.contextual.RotationButtonController; + +/** + * Hosts various taskbar controllers to facilitate passing between one another. + */ +public class TaskbarControllers { + + public final TaskbarActivityContext taskbarActivityContext; + public final TaskbarDragController taskbarDragController; + public final TaskbarNavButtonController navButtonController; + public final NavbarButtonsViewController navbarButtonsViewController; + public final RotationButtonController rotationButtonController; + public final TaskbarDragLayerController taskbarDragLayerController; + public final TaskbarViewController taskbarViewController; + + /** Do not store this controller, as it may change at runtime. */ + @NonNull public TaskbarUIController uiController = TaskbarUIController.DEFAULT; + + public TaskbarControllers(TaskbarActivityContext taskbarActivityContext, + TaskbarDragController taskbarDragController, + TaskbarNavButtonController navButtonController, + NavbarButtonsViewController navbarButtonsViewController, + RotationButtonController rotationButtonController, + TaskbarDragLayerController taskbarDragLayerController, + TaskbarViewController taskbarViewController) { + this.taskbarActivityContext = taskbarActivityContext; + this.taskbarDragController = taskbarDragController; + this.navButtonController = navButtonController; + this.navbarButtonsViewController = navbarButtonsViewController; + this.rotationButtonController = rotationButtonController; + this.taskbarDragLayerController = taskbarDragLayerController; + this.taskbarViewController = taskbarViewController; + } + + /** + * Initializes all controllers. Note that controllers can now reference each other through this + * TaskbarControllers instance, but should be careful to only access things that were created + * in constructors for now, as some controllers may still be waiting for init(). + */ + public void init() { + navbarButtonsViewController.init(this); + if (taskbarActivityContext.canShowNavButtons()) { + rotationButtonController.init(); + } + taskbarDragLayerController.init(this); + taskbarViewController.init(this); + } + + /** + * Cleans up all controllers. + */ + public void onDestroy() { + uiController.onDestroy(); + rotationButtonController.onDestroy(); + taskbarDragLayerController.onDestroy(); + } +} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java index 52a2c86c76..c6845434a1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java @@ -18,7 +18,6 @@ package com.android.launcher3.taskbar; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; -import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; @@ -37,11 +36,9 @@ import com.android.systemui.shared.system.ViewTreeObserverWrapper.OnComputeInset */ public class TaskbarDragLayer extends BaseDragLayer { - private final int mFolderMargin; private final Paint mTaskbarBackgroundPaint; - private TaskbarIconController.TaskbarDragLayerCallbacks mControllerCallbacks; - private TaskbarView mTaskbarView; + private TaskbarDragLayerController.TaskbarDragLayerCallbacks mControllerCallbacks; private final OnComputeInsetsListener mTaskbarInsetsComputer = this::onComputeTaskbarInsets; @@ -61,10 +58,13 @@ public class TaskbarDragLayer extends BaseDragLayer { public TaskbarDragLayer(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, 1 /* alphaChannelCount */); - mFolderMargin = getResources().getDimensionPixelSize(R.dimen.taskbar_folder_margin); mTaskbarBackgroundPaint = new Paint(); mTaskbarBackgroundPaint.setColor(getResources().getColor(R.color.taskbar_background)); mTaskbarBackgroundPaint.setAlpha(0); + } + + public void init(TaskbarDragLayerController.TaskbarDragLayerCallbacks callbacks) { + mControllerCallbacks = callbacks; recreateControllers(); } @@ -73,15 +73,10 @@ public class TaskbarDragLayer extends BaseDragLayer { mControllers = new TouchController[] {mActivity.getDragController()}; } - public void init(TaskbarIconController.TaskbarDragLayerCallbacks callbacks, - TaskbarView taskbarView) { - mControllerCallbacks = callbacks; - mTaskbarView = taskbarView; - } - private void onComputeTaskbarInsets(InsetsInfo insetsInfo) { if (mControllerCallbacks != null) { mControllerCallbacks.updateInsetsTouchability(insetsInfo); + mControllerCallbacks.updateContentInsets(insetsInfo.contentInsets); } } @@ -120,20 +115,11 @@ public class TaskbarDragLayer extends BaseDragLayer { @Override protected void dispatchDraw(Canvas canvas) { - canvas.drawRect(0, canvas.getHeight() - mTaskbarView.getHeight(), canvas.getWidth(), - canvas.getHeight(), mTaskbarBackgroundPaint); + canvas.drawRect(0, canvas.getHeight() - mControllerCallbacks.getTaskbarBackgroundHeight(), + canvas.getWidth(), canvas.getHeight(), mTaskbarBackgroundPaint); super.dispatchDraw(canvas); } - /** - * @return Bounds (in our coordinates) where an opened Folder can display. - */ - protected Rect getFolderBoundingBox() { - Rect boundingBox = new Rect(0, 0, getWidth(), getHeight() - mTaskbarView.getHeight()); - boundingBox.inset(mFolderMargin, mFolderMargin); - return boundingBox; - } - /** * Sets the alpha of the background color behind all the Taskbar contents. * @param alpha 0 is fully transparent, 1 is fully opaque. diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java new file mode 100644 index 0000000000..2efbd4fa37 --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java @@ -0,0 +1,137 @@ +/* + * 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. + */ +package com.android.launcher3.taskbar; + +import static com.android.launcher3.AbstractFloatingView.TYPE_ALL; +import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_FRAME; +import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_REGION; + +import android.content.res.Resources; +import android.graphics.Rect; + +import com.android.launcher3.AbstractFloatingView; +import com.android.launcher3.R; +import com.android.launcher3.anim.AlphaUpdateListener; +import com.android.quickstep.AnimatedFloat; +import com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo; + +/** + * Handles properties/data collection, then passes the results to TaskbarDragLayer to render. + */ +public class TaskbarDragLayerController { + + private final TaskbarActivityContext mActivity; + private final TaskbarDragLayer mTaskbarDragLayer; + private final int mFolderMargin; + // Alpha properties for taskbar background. + private final AnimatedFloat mBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha); + private final AnimatedFloat mBgNavbar = new AnimatedFloat(this::updateBackgroundAlpha); + + // Initialized in init. + private TaskbarControllers mControllers; + + public TaskbarDragLayerController(TaskbarActivityContext activity, + TaskbarDragLayer taskbarDragLayer) { + mActivity = activity; + mTaskbarDragLayer = taskbarDragLayer; + final Resources resources = mTaskbarDragLayer.getResources(); + mFolderMargin = resources.getDimensionPixelSize(R.dimen.taskbar_folder_margin); + } + + public void init(TaskbarControllers controllers) { + mControllers = controllers; + mTaskbarDragLayer.init(new TaskbarDragLayerCallbacks()); + } + + public void onDestroy() { + mTaskbarDragLayer.onDestroy(); + } + + /** + * @return Bounds (in TaskbarDragLayer coordinates) where an opened Folder can display. + */ + public Rect getFolderBoundingBox() { + Rect boundingBox = new Rect(0, 0, mTaskbarDragLayer.getWidth(), + mTaskbarDragLayer.getHeight() - mActivity.getDeviceProfile().taskbarSize); + boundingBox.inset(mFolderMargin, mFolderMargin); + return boundingBox; + } + + public AnimatedFloat getTaskbarBackgroundAlpha() { + return mBgTaskbar; + } + + public AnimatedFloat getNavbarBackgroundAlpha() { + return mBgNavbar; + } + + private void updateBackgroundAlpha() { + mTaskbarDragLayer.setTaskbarBackgroundAlpha(Math.max(mBgNavbar.value, mBgTaskbar.value)); + } + + /** + * Callbacks for {@link TaskbarDragLayer} to interact with its controller. + */ + public class TaskbarDragLayerCallbacks { + + /** + * Called to update the touchable insets. + * @see InsetsInfo#setTouchableInsets(int) + */ + public void updateInsetsTouchability(InsetsInfo insetsInfo) { + insetsInfo.touchableRegion.setEmpty(); + if (mTaskbarDragLayer.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) { + // Let touches pass through us. + insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); + } else if (mControllers.navbarButtonsViewController.isImeVisible()) { + insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); + } else if (!mControllers.uiController.isTaskbarTouchable()) { + // Let touches pass through us. + insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); + } else if (mControllers.taskbarViewController.areIconsVisible()) { + // Buttons are visible, take over the full taskbar area + insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); + } else { + mControllers.navbarButtonsViewController.addVisibleButtonsRegion( + mTaskbarDragLayer, insetsInfo.touchableRegion); + insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); + } + } + + /** + * Called to update the {@link InsetsInfo#contentInsets}. + */ + public void updateContentInsets(Rect outContentInsets) { + mControllers.uiController.updateContentInsets(outContentInsets); + } + + /** + * Called when a child is removed from TaskbarDragLayer. + */ + public void onDragLayerViewRemoved() { + if (AbstractFloatingView.getOpenView(mActivity, TYPE_ALL) == null) { + mActivity.setTaskbarWindowFullscreen(false); + } + } + + /** + * Returns how tall the background should be drawn at the bottom of the screen. + */ + public int getTaskbarBackgroundHeight() { + return mActivity.getDeviceProfile().taskbarSize; + } + } +} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java deleted file mode 100644 index 7dca19c262..0000000000 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarIconController.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * 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. - */ -package com.android.launcher3.taskbar; - -import static com.android.launcher3.AbstractFloatingView.TYPE_ALL; -import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_FRAME; -import static com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo.TOUCHABLE_INSETS_REGION; - -import android.view.View.OnClickListener; -import android.view.View.OnLongClickListener; - -import androidx.annotation.NonNull; - -import com.android.launcher3.AbstractFloatingView; -import com.android.launcher3.R; -import com.android.launcher3.anim.AlphaUpdateListener; -import com.android.systemui.shared.system.ViewTreeObserverWrapper.InsetsInfo; - -/** - * Controller for taskbar icon UI - */ -public class TaskbarIconController { - - private final TaskbarActivityContext mActivity; - private final TaskbarDragLayer mDragLayer; - private final NavbarButtonUIController mNavbarButtonUIController; - - private final TaskbarView mTaskbarView; - - @NonNull - private TaskbarUIController mUIController = TaskbarUIController.DEFAULT; - - TaskbarIconController(TaskbarActivityContext activity, TaskbarDragLayer dragLayer, - NavbarButtonUIController navbarButtonUIController) { - mActivity = activity; - mDragLayer = dragLayer; - mNavbarButtonUIController = navbarButtonUIController; - mTaskbarView = mDragLayer.findViewById(R.id.taskbar_view); - } - - public void init(OnClickListener clickListener, OnLongClickListener longClickListener) { - mTaskbarView.init(clickListener, longClickListener); - mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; - - mDragLayer.init(new TaskbarDragLayerCallbacks(), mTaskbarView); - } - - public void onDestroy() { - mDragLayer.onDestroy(); - } - - public void setUIController(@NonNull TaskbarUIController uiController) { - mUIController = uiController; - } - - /** - * Should be called when the IME visibility changes, so we can hide/show Taskbar accordingly. - */ - public void setImeIsVisible(boolean isImeVisible) { - mTaskbarView.setTouchesEnabled(!isImeVisible); - } - - /** - * Callbacks for {@link TaskbarDragLayer} to interact with the icon controller - */ - public class TaskbarDragLayerCallbacks { - - /** - * Called to update the touchable insets - */ - public void updateInsetsTouchability(InsetsInfo insetsInfo) { - insetsInfo.touchableRegion.setEmpty(); - if (mDragLayer.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) { - // Let touches pass through us. - insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); - } else if (mNavbarButtonUIController.isImeVisible()) { - insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); - } else if (!mUIController.isTaskbarTouchable()) { - // Let touches pass through us. - insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); - } else if (mTaskbarView.areIconsVisible()) { - // Buttons are visible, take over the full taskbar area - insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); - } else { - mNavbarButtonUIController.addVisibleButtonsRegion( - mDragLayer, insetsInfo.touchableRegion); - insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); - } - - // TaskbarContainerView provides insets to other apps based on contentInsets. These - // insets should stay consistent even if we expand TaskbarContainerView's bounds, e.g. - // to show a floating view like Folder. Thus, we set the contentInsets to be where - // mTaskbarView is, since its position never changes and insets rather than overlays. - insetsInfo.contentInsets.left = mTaskbarView.getLeft(); - insetsInfo.contentInsets.top = mTaskbarView.getTop(); - insetsInfo.contentInsets.right = mDragLayer.getWidth() - mTaskbarView.getRight(); - insetsInfo.contentInsets.bottom = mDragLayer.getHeight() - mTaskbarView.getBottom(); - } - - public void onDragLayerViewRemoved() { - if (AbstractFloatingView.getOpenView(mActivity, TYPE_ALL) == null) { - mActivity.setTaskbarWindowFullscreen(false); - } - } - } -} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java index 34f66ba6b1..260cedc706 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java @@ -15,8 +15,7 @@ */ package com.android.launcher3.taskbar; -import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; -import com.android.quickstep.AnimatedFloat; +import android.graphics.Rect; /** * Base class for providing different taskbar UI @@ -25,12 +24,13 @@ public class TaskbarUIController { public static final TaskbarUIController DEFAULT = new TaskbarUIController(); - protected void init(AnimatedFloat taskBarAlpha, AlphaProperty iconAlphaForLauncherState, - AlphaProperty iconAlphaForHome) { } + protected void init(TaskbarControllers taskbarControllers) { } protected void onDestroy() { } protected boolean isTaskbarTouchable() { return true; } + + protected void updateContentInsets(Rect outContentInsets) { } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java index d41550270d..373ca2aebe 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java @@ -60,6 +60,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar private final TaskbarActivityContext mActivityContext; // Initialized in init. + private TaskbarViewController.TaskbarViewCallbacks mControllerCallbacks; private View.OnClickListener mIconClickListener; private View.OnLongClickListener mIconLongClickListener; @@ -98,9 +99,10 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar mItemPadding = (mIconTouchSize - actualIconSize) / 2; } - protected void init(OnClickListener clickListener, OnLongClickListener longClickListener) { - mIconClickListener = clickListener; - mIconLongClickListener = longClickListener; + protected void init(TaskbarViewController.TaskbarViewCallbacks callbacks) { + mControllerCallbacks = callbacks; + mIconClickListener = mControllerCallbacks.getOnClickListener(); + mIconLongClickListener = mControllerCallbacks.getOnLongClickListener(); int numHotseatIcons = mActivityContext.getDeviceProfile().numShownHotseatIcons; updateHotseatItems(new ItemInfo[numHotseatIcons]); @@ -200,11 +202,9 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar && hotseatItemInfo instanceof WorkspaceItemInfo) { ((BubbleTextView) hotseatView).applyFromWorkspaceItem( (WorkspaceItemInfo) hotseatItemInfo); - hotseatView.setOnClickListener(mIconClickListener); - hotseatView.setOnLongClickListener(mIconLongClickListener); + setClickAndLongClickListenersForIcon(hotseatView); } else if (isFolder) { - hotseatView.setOnClickListener(mIconClickListener); - hotseatView.setOnLongClickListener(mIconLongClickListener); + setClickAndLongClickListenersForIcon(hotseatView); } else { hotseatView.setOnClickListener(null); hotseatView.setOnLongClickListener(null); @@ -214,6 +214,14 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar } } + /** + * Sets OnClickListener and OnLongClickListener for the given view. + */ + public void setClickAndLongClickListenersForIcon(View icon) { + icon.setOnClickListener(mIconClickListener); + icon.setOnLongClickListener(mIconLongClickListener); + } + @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { int count = getChildCount(); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java new file mode 100644 index 0000000000..b6184c962b --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -0,0 +1,85 @@ +/* + * 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. + */ +package com.android.launcher3.taskbar; + +import android.view.View; + +import com.android.launcher3.util.MultiValueAlpha; + +/** + * Handles properties/data collection, then passes the results to TaskbarView to render. + */ +public class TaskbarViewController { + + public static final int ALPHA_INDEX_HOME = 0; + public static final int ALPHA_INDEX_LAUNCHER_STATE = 1; + public static final int ALPHA_INDEX_IME = 2; + + private final TaskbarActivityContext mActivity; + private final TaskbarView mTaskbarView; + private final MultiValueAlpha mTaskbarIconAlpha; + + // Initialized in init. + private TaskbarControllers mControllers; + + public TaskbarViewController(TaskbarActivityContext activity, TaskbarView taskbarView) { + mActivity = activity; + mTaskbarView = taskbarView; + mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 3); + mTaskbarIconAlpha.setUpdateVisibility(true); + } + + public void init(TaskbarControllers controllers) { + mControllers = controllers; + mTaskbarView.init(new TaskbarViewCallbacks()); + mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; + } + + public boolean areIconsVisible() { + return mTaskbarView.areIconsVisible(); + } + + public MultiValueAlpha getTaskbarIconAlpha() { + return mTaskbarIconAlpha; + } + + /** + * Should be called when the IME visibility changes, so we can make Taskbar not steal touches. + */ + public void setImeIsVisible(boolean isImeVisible) { + mTaskbarView.setTouchesEnabled(!isImeVisible); + } + + /** + * Sets OnClickListener and OnLongClickListener for the given view. + */ + public void setClickAndLongClickListenersForIcon(View icon) { + mTaskbarView.setClickAndLongClickListenersForIcon(icon); + } + + /** + * Callbacks for {@link TaskbarView} to interact with its controller. + */ + public class TaskbarViewCallbacks { + public View.OnClickListener getOnClickListener() { + return mActivity::onTaskbarIconClicked; + } + + public View.OnLongClickListener getOnLongClickListener() { + return mControllers.taskbarDragController::startDragOnLongClick; + } + } +} From be00d1693451c7122b55fb8e30678810acb8de39 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Wed, 9 Jun 2021 14:21:24 -0700 Subject: [PATCH 036/905] Check for null shortcut before adding new split select options Bug: 190494300 Test: Manual Change-Id: I8fe2b2fa0b1d9d4300b0bc306aa2e0667e5faa1c --- .../src/com/android/quickstep/TaskOverlayFactory.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java index c1c85de413..729710715a 100644 --- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java @@ -68,13 +68,14 @@ public class TaskOverlayFactory implements ResourceBasedOverride { final BaseDraggingActivity activity = BaseActivity.fromContext(taskView.getContext()); for (TaskShortcutFactory menuOption : MENU_OPTIONS) { SystemShortcut shortcut = menuOption.getShortcut(activity, taskView); - if (menuOption == TaskShortcutFactory.SPLIT_SCREEN && - FeatureFlags.ENABLE_SPLIT_SELECT.get()) { - addSplitOptions(shortcuts, activity, taskView, deviceProfile); + if (shortcut == null) { continue; } - if (shortcut != null) { + if (menuOption == TaskShortcutFactory.SPLIT_SCREEN && + FeatureFlags.ENABLE_SPLIT_SELECT.get()) { + addSplitOptions(shortcuts, activity, taskView, deviceProfile); + } else { shortcuts.add(shortcut); } } From 8a672e15cc95528d70e60fd3a598edc962b0ff9c Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Thu, 10 Jun 2021 14:54:12 -0700 Subject: [PATCH 037/905] Finish wrapped launcher animations if impl is gone If the runner impl is gone (since it is a weakreference), we still need to complete the animation contract by calling the finish callback, so do that. Bug: 183993924 Test: atest ActivityMetricsLoggerTests Change-Id: Idce1859f0417cb74bbb9884e0d06750539e4545e --- .../com/android/launcher3/WrappedLauncherAnimationRunner.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/quickstep/src/com/android/launcher3/WrappedLauncherAnimationRunner.java b/quickstep/src/com/android/launcher3/WrappedLauncherAnimationRunner.java index e31927550c..fcf9857649 100644 --- a/quickstep/src/com/android/launcher3/WrappedLauncherAnimationRunner.java +++ b/quickstep/src/com/android/launcher3/WrappedLauncherAnimationRunner.java @@ -58,6 +58,8 @@ public class WrappedLauncherAnimationRunner Date: Wed, 9 Jun 2021 16:34:45 -0400 Subject: [PATCH 038/905] Revert "Revert "Update preferences to Material Next styling"" There should be enough free space to merge this change into S V2. This reverts commit 19d623d9210f2f75d25b860158da3ee6dfdd83db. Test: Settings root, all apps, and about have new style on S Bug: 187732263 Fix: 188254205, 188012913 Change-Id: I346bbf819f3fe1eb13b47125b53c15baab11e439 --- Android.bp | 1 + AndroidManifest-common.xml | 2 +- .../home_settings_switch_thumb_color.xml | 27 ++++++ .../home_settings_switch_track_color.xml | 28 ++++++ .../home_settings_switch_thumb.xml | 29 ++++++ .../home_settings_switch_track.xml | 26 +++++ res/layout-v31/settings_activity.xml | 69 ++++++++++++++ res/values-night-v31/colors.xml | 27 ++++++ res/values-v31/colors.xml | 9 ++ res/values-v31/config.xml | 20 ++++ res/values-v31/styles.xml | 95 +++++++++++++++++++ res/values/styles.xml | 10 +- 12 files changed, 337 insertions(+), 6 deletions(-) create mode 100644 res/color-v31/home_settings_switch_thumb_color.xml create mode 100644 res/color-v31/home_settings_switch_track_color.xml create mode 100644 res/drawable-v31/home_settings_switch_thumb.xml create mode 100644 res/drawable-v31/home_settings_switch_track.xml create mode 100644 res/layout-v31/settings_activity.xml create mode 100644 res/values-night-v31/colors.xml create mode 100644 res/values-v31/config.xml create mode 100644 res/values-v31/styles.xml diff --git a/Android.bp b/Android.bp index 1b6ffe42b7..45d022f4fd 100644 --- a/Android.bp +++ b/Android.bp @@ -112,6 +112,7 @@ android_library { "androidx.preference_preference", "androidx.slice_slice-view", "androidx.cardview_cardview", + "com.google.android.material_material", "iconloader_base", ], manifest: "AndroidManifest-common.xml", diff --git a/AndroidManifest-common.xml b/AndroidManifest-common.xml index d725a16f80..4eecf29d67 100644 --- a/AndroidManifest-common.xml +++ b/AndroidManifest-common.xml @@ -144,7 +144,7 @@ diff --git a/res/color-v31/home_settings_switch_thumb_color.xml b/res/color-v31/home_settings_switch_thumb_color.xml new file mode 100644 index 0000000000..91d3d9b5e4 --- /dev/null +++ b/res/color-v31/home_settings_switch_thumb_color.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + diff --git a/res/color-v31/home_settings_switch_track_color.xml b/res/color-v31/home_settings_switch_track_color.xml new file mode 100644 index 0000000000..50784f527d --- /dev/null +++ b/res/color-v31/home_settings_switch_track_color.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + diff --git a/res/drawable-v31/home_settings_switch_thumb.xml b/res/drawable-v31/home_settings_switch_thumb.xml new file mode 100644 index 0000000000..260d5ea35f --- /dev/null +++ b/res/drawable-v31/home_settings_switch_thumb.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/res/drawable-v31/home_settings_switch_track.xml b/res/drawable-v31/home_settings_switch_track.xml new file mode 100644 index 0000000000..502a3007a9 --- /dev/null +++ b/res/drawable-v31/home_settings_switch_track.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/res/layout-v31/settings_activity.xml b/res/layout-v31/settings_activity.xml new file mode 100644 index 0000000000..59e14f22dd --- /dev/null +++ b/res/layout-v31/settings_activity.xml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/values-night-v31/colors.xml b/res/values-night-v31/colors.xml new file mode 100644 index 0000000000..2c1bc90074 --- /dev/null +++ b/res/values-night-v31/colors.xml @@ -0,0 +1,27 @@ + + + + @android:color/system_accent1_100 + @android:color/system_neutral1_700 + @android:color/system_neutral1_900 + + @android:color/system_neutral2_300 + @android:color/system_accent2_700 + @android:color/system_neutral1_700 + \ No newline at end of file diff --git a/res/values-v31/colors.xml b/res/values-v31/colors.xml index 1434430223..fb1e8ef97b 100644 --- a/res/values-v31/colors.xml +++ b/res/values-v31/colors.xml @@ -39,4 +39,13 @@ @android:color/system_accent2_50 + @android:color/system_accent1_600 + @android:color/system_neutral1_100 + @android:color/system_neutral1_50 + + @android:color/system_accent1_100 + @android:color/system_accent2_100 + @android:color/system_neutral2_100 + @android:color/system_accent1_600 + @android:color/system_neutral2_600 diff --git a/res/values-v31/config.xml b/res/values-v31/config.xml new file mode 100644 index 0000000000..afb9e6d9e8 --- /dev/null +++ b/res/values-v31/config.xml @@ -0,0 +1,20 @@ + + + + false + false + \ No newline at end of file diff --git a/res/values-v31/styles.xml b/res/values-v31/styles.xml new file mode 100644 index 0000000000..0d2fce0307 --- /dev/null +++ b/res/values-v31/styles.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/values/styles.xml b/res/values/styles.xml index 571377cd3f..d341fb7fd5 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -154,18 +154,18 @@ - - From 2b81fec4509a5753456e993a7cd25a5356da2fb3 Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Thu, 10 Jun 2021 17:54:57 -0400 Subject: [PATCH 039/905] Add flag for widgets in Launcher preview Test: Flag available in developer options (does nothing) Bug: 185306338 Change-Id: I74063d0ef29f828f740633ce0dab860672f69d3d --- src/com/android/launcher3/config/FeatureFlags.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index e911b8f98c..5e3177a62d 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -240,6 +240,10 @@ public final class FeatureFlags { "ENABLE_WALLPAPER_SCRIM", false, "Enables scrim over wallpaper for text protection."); + public static final BooleanFlag WIDGETS_IN_LAUNCHER_PREVIEW = getDebugFlag( + "WIDGETS_IN_LAUNCHER_PREVIEW", false, + "Enables widgets in Launcher preview for the Wallpaper app."); + public static void initialize(Context context) { synchronized (sDebugFlags) { for (DebugFlag flag : sDebugFlags) { From 8e0bb9a12f39355e4eb21184a07c9e223eb1eba0 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 10 Jun 2021 18:05:56 -0700 Subject: [PATCH 040/905] Skip entering PIP when dismissing auto-enter pip task - Revert some changes from ag/14827090, we don't actually need to screenshot when dismissing, but we do need to prevent pip Bug: 190751761 Test: Swiping up from YT -> PIP Swiping up from YT to Overview to home -> PIP Swiping up from YT to Overview Change-Id: I2057467d5146be6edc382d3745a1e5269cd76a6b --- .../com/android/quickstep/RecentsActivity.java | 3 ++- .../com/android/quickstep/views/RecentsView.java | 16 ++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java index 68526420ef..0e85ec3760 100644 --- a/quickstep/src/com/android/quickstep/RecentsActivity.java +++ b/quickstep/src/com/android/quickstep/RecentsActivity.java @@ -353,7 +353,8 @@ public final class RecentsActivity extends StatefulActivity { public void startHome() { if (LIVE_TILE.get()) { RecentsView recentsView = getOverviewPanel(); - recentsView.switchToScreenshotAndFinishAnimationToRecents(this::startHomeInternal); + recentsView.switchToScreenshot(() -> recentsView.finishRecentsAnimation(true, + this::startHomeInternal)); } else { startHomeInternal(); } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 2cfaa4db44..45bcc87b29 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -2409,7 +2409,8 @@ public abstract class RecentsView onEnd(success)); + finishRecentsAnimation(true /* toRecents */, false /* shouldPip */, + () -> onEnd(success)); } else { onEnd(success); } @@ -2420,7 +2421,8 @@ public abstract class RecentsView { + finishRecentsAnimation(true /* toRecents */, false /* shouldPip */, + () -> { UI_HELPER_EXECUTOR.getHandler().postDelayed(() -> ActivityManagerWrapper.getInstance().removeTask( dismissedTaskId), REMOVE_TASK_WAIT_FOR_APP_STOP_MS); @@ -2530,7 +2532,7 @@ public abstract class RecentsView { if (isSuccess) { // Remove all the task views now - switchToScreenshotAndFinishAnimationToRecents(() -> { + finishRecentsAnimation(true /* toRecents */, false /* shouldPip */, () -> { UI_HELPER_EXECUTOR.getHandler().postDelayed( ActivityManagerWrapper.getInstance()::removeAllRecentTasks, REMOVE_TASK_WAIT_FOR_APP_STOP_MS); @@ -2691,7 +2693,9 @@ public abstract class RecentsView finishRecentsAnimation(true /* toRecents */, false /* showPip */, + this::updateRecentsRotation)); mEnableDrawingLiveTile = false; } else { updateRecentsRotation(); @@ -3701,10 +3705,6 @@ public abstract class RecentsView finishRecentsAnimation(true /* toRecents */, onFinishRunnable)); - } - /** * Switch the current running task view to static snapshot mode, * capturing the snapshot at the same time. From dbf577af469ece1833f7a7ad684bf67cdf04c529 Mon Sep 17 00:00:00 2001 From: Andras Kloczl Date: Wed, 26 May 2021 15:02:52 +0200 Subject: [PATCH 041/905] Add left widget panel to Launcher home when unfolded Test: manual Bug: 175939730 Change-Id: I9831e7fa95084db12953ec7cb2eb725e7549e01d --- src/com/android/launcher3/Launcher.java | 28 ++++++-- src/com/android/launcher3/PagedView.java | 1 + src/com/android/launcher3/Workspace.java | 65 +++++++++++++++---- .../launcher3/WorkspaceLayoutManager.java | 2 + .../android/launcher3/model/BgDataModel.java | 13 ++++ .../android/launcher3/model/ModelWriter.java | 7 ++ 6 files changed, 100 insertions(+), 16 deletions(-) diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 061d869f4a..a0d15da333 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -1180,6 +1180,7 @@ public class Launcher extends StatefulActivity implements Launche // Until the workspace is bound, ensure that we keep the wallpaper offset locked to the // default state, otherwise we will update to the wrong offsets in RTL mWorkspace.lockWallpaperToDefaultPage(); + mWorkspace.bindAndInitLeftPanel(); mWorkspace.bindAndInitFirstWorkspaceScreen(null /* recycled qsb */); mDragController.addDragListener(mWorkspace); @@ -2091,11 +2092,16 @@ public class Launcher extends StatefulActivity implements Launche @Override public void bindScreens(IntArray orderedScreenIds) { - // Make sure the first screen is always at the start. + // Make sure the first screen is at the start if there's no widget panel, + // or on the second place if the first is the widget panel + boolean isLeftPanelShown = + mWorkspace.mWorkspaceScreens.containsKey(Workspace.LEFT_PANEL_ID); + int firstScreenPosition = isLeftPanelShown && orderedScreenIds.size() > 1 ? 1 : 0; + if (FeatureFlags.QSB_ON_FIRST_SCREEN && - orderedScreenIds.indexOf(Workspace.FIRST_SCREEN_ID) != 0) { + orderedScreenIds.indexOf(Workspace.FIRST_SCREEN_ID) != firstScreenPosition) { orderedScreenIds.removeValue(Workspace.FIRST_SCREEN_ID); - orderedScreenIds.add(0, Workspace.FIRST_SCREEN_ID); + orderedScreenIds.add(firstScreenPosition, Workspace.FIRST_SCREEN_ID); } else if (!FeatureFlags.QSB_ON_FIRST_SCREEN && orderedScreenIds.isEmpty()) { // If there are no screens, we need to have an empty screen mWorkspace.addExtraEmptyScreen(); @@ -2112,10 +2118,17 @@ public class Launcher extends StatefulActivity implements Launche int count = orderedScreenIds.size(); for (int i = 0; i < count; i++) { int screenId = orderedScreenIds.get(i); - if (!FeatureFlags.QSB_ON_FIRST_SCREEN || screenId != Workspace.FIRST_SCREEN_ID) { + if (FeatureFlags.QSB_ON_FIRST_SCREEN && screenId == Workspace.FIRST_SCREEN_ID) { // No need to bind the first screen, as its always bound. - mWorkspace.insertNewWorkspaceScreenBeforeEmptyScreen(screenId); + continue; } + + if (screenId == Workspace.LEFT_PANEL_ID) { + // No need to bind the left panel, as its always bound. + continue; + } + + mWorkspace.insertNewWorkspaceScreenBeforeEmptyScreen(screenId); } } @@ -2190,6 +2203,11 @@ public class Launcher extends StatefulActivity implements Launche continue; } + // Skip if the item is on the left widget panel but the panel is not shown + if (item.screenId == Workspace.LEFT_PANEL_ID && !getDeviceProfile().isTwoPanels) { + continue; + } + final View view; switch (item.itemType) { case LauncherSettings.Favorites.ITEM_TYPE_APPLICATION: diff --git a/src/com/android/launcher3/PagedView.java b/src/com/android/launcher3/PagedView.java index d2dfb7bd95..204913a96c 100644 --- a/src/com/android/launcher3/PagedView.java +++ b/src/com/android/launcher3/PagedView.java @@ -17,6 +17,7 @@ package com.android.launcher3; import static androidx.annotation.VisibleForTesting.PACKAGE_PRIVATE; + import static com.android.launcher3.anim.Interpolators.SCROLL; import static com.android.launcher3.compat.AccessibilityManagerCompat.isAccessibilityEnabled; import static com.android.launcher3.compat.AccessibilityManagerCompat.isObservedEventType; diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index bcddf3475a..aba8a40665 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -17,6 +17,7 @@ package com.android.launcher3; import static androidx.annotation.VisibleForTesting.PROTECTED; + import static com.android.launcher3.LauncherAnimUtils.SPRING_LOADED_EXIT_DELAY; import static com.android.launcher3.LauncherSettings.Favorites.ITEM_TYPE_APPLICATION; import static com.android.launcher3.LauncherState.ALL_APPS; @@ -315,18 +316,34 @@ public class Workspace extends PagedView // Increase our bottom insets so we don't overlap with the taskbar. mInsets.bottom += grid.nonOverlappingTaskbarInset; - if (isTwoPanelEnabled()) { + if (grid.isTwoPanels) { setPageSpacing(0); // we have two pages and we don't want any spacing - } else if (mWorkspaceFadeInAdjacentScreens) { - // In landscape mode the page spacing is set to the default. - setPageSpacing(grid.edgeMarginPx); + + // Add left widget panel if it isn't already there + if (!mWorkspaceScreens.containsKey(LEFT_PANEL_ID)) { + int newCurrentPage = mCurrentPage + 1; + bindAndInitLeftPanel(); + setCurrentPage(newCurrentPage); + } } else { - // In portrait, we want the pages spaced such that there is no - // overhang of the previous / next page into the current page viewport. - // We assume symmetrical padding in portrait mode. - int maxInsets = Math.max(insets.left, insets.right); - int maxPadding = Math.max(grid.edgeMarginPx, padding.left + 1); - setPageSpacing(Math.max(maxInsets, maxPadding)); + if (mWorkspaceFadeInAdjacentScreens) { + // In landscape mode the page spacing is set to the default. + setPageSpacing(grid.edgeMarginPx); + } else { + // In portrait, we want the pages spaced such that there is no + // overhang of the previous / next page into the current page viewport. + // We assume symmetrical padding in portrait mode. + int maxInsets = Math.max(insets.left, insets.right); + int maxPadding = Math.max(grid.edgeMarginPx, padding.left + 1); + setPageSpacing(Math.max(maxInsets, maxPadding)); + } + + // Remove left widget panel if it is present + if (mWorkspaceScreens.containsKey(LEFT_PANEL_ID)) { + int newCurrentPage = mCurrentPage - 1; + removeLeftPanel(); + setCurrentPage(newCurrentPage); + } } int paddingLeftRight = grid.cellLayoutPaddingLeftRightPx; @@ -557,7 +574,7 @@ public class Workspace extends PagedView return; } // Add the first page - CellLayout firstPage = insertNewWorkspaceScreen(Workspace.FIRST_SCREEN_ID, 0); + CellLayout firstPage = insertNewWorkspaceScreen(Workspace.FIRST_SCREEN_ID, getChildCount()); // Always add a QSB on the first screen. if (qsb == null) { // In transposed layout, we add the QSB in the Grid. As workspace does not touch the @@ -576,6 +593,19 @@ public class Workspace extends PagedView } } + /** + * Initializes and binds the left panel + */ + public void bindAndInitLeftPanel() { + if (!FeatureFlags.QSB_ON_FIRST_SCREEN || !isTwoPanelEnabled() + || mWorkspaceScreens.containsKey(Workspace.LEFT_PANEL_ID)) { + return; + } + + insertNewWorkspaceScreen(Workspace.LEFT_PANEL_ID, getChildCount()); + mLauncher.getModelWriter().setLeftPanelShown(true); + } + public void removeAllWorkspaceScreens() { // Disable all layout transitions before removing all pages to ensure that we don't get the // transition animations competing with us changing the scroll when we add pages @@ -597,6 +627,7 @@ public class Workspace extends PagedView mLauncher.mHandler.removeCallbacksAndMessages(DeferredWidgetRefresh.class); // Ensure that the first page is always present + bindAndInitLeftPanel(); bindAndInitFirstWorkspaceScreen(qsb); // Re-enable the layout transitions @@ -617,6 +648,18 @@ public class Workspace extends PagedView insertNewWorkspaceScreen(screenId, getChildCount()); } + private void removeLeftPanel() { + if (!mWorkspaceScreens.containsKey(LEFT_PANEL_ID)) { + return; + } + mLauncher.getModelWriter().setLeftPanelShown(false); + CellLayout leftPanel = mWorkspaceScreens.get(LEFT_PANEL_ID); + mWorkspaceScreens.remove(LEFT_PANEL_ID); + removeView(leftPanel); + mScreenOrder.removeValue(LEFT_PANEL_ID); + updatePageScrollValues(); + } + public CellLayout insertNewWorkspaceScreen(int screenId, int insertIndex) { if (mWorkspaceScreens.containsKey(screenId)) { throw new RuntimeException("Screen id " + screenId + " already exists!"); diff --git a/src/com/android/launcher3/WorkspaceLayoutManager.java b/src/com/android/launcher3/WorkspaceLayoutManager.java index d6302ce580..326e3c343a 100644 --- a/src/com/android/launcher3/WorkspaceLayoutManager.java +++ b/src/com/android/launcher3/WorkspaceLayoutManager.java @@ -32,6 +32,8 @@ public interface WorkspaceLayoutManager { int EXTRA_EMPTY_SCREEN_ID = -201; // The is the first screen. It is always present, even if its empty. int FIRST_SCREEN_ID = 0; + // This panel is shown on the first page if the panel count is greater than 1. + int LEFT_PANEL_ID = -777; /** * At bind time, we use the rank (screenId) to compute x and y for hotseat items. diff --git a/src/com/android/launcher3/model/BgDataModel.java b/src/com/android/launcher3/model/BgDataModel.java index 037f408ab1..0740a30f21 100644 --- a/src/com/android/launcher3/model/BgDataModel.java +++ b/src/com/android/launcher3/model/BgDataModel.java @@ -116,6 +116,11 @@ public class BgDataModel { */ public int lastBindId = 0; + /** + * Value that indicates if left widget panel is shown or not. + */ + public boolean isLeftPanelShown = false; + /** * Clears all the data */ @@ -141,6 +146,14 @@ public class BgDataModel { if (FeatureFlags.QSB_ON_FIRST_SCREEN || screenSet.isEmpty()) { screenSet.add(Workspace.FIRST_SCREEN_ID); } + + if (isLeftPanelShown) { + // We should add it even though there are no items on it. + screenSet.add(Workspace.LEFT_PANEL_ID); + } else { + // We should NOT add it even though there are items on it. + screenSet.remove(Workspace.LEFT_PANEL_ID); + } return screenSet.getArray(); } diff --git a/src/com/android/launcher3/model/ModelWriter.java b/src/com/android/launcher3/model/ModelWriter.java index 080ce20f31..2b93118192 100644 --- a/src/com/android/launcher3/model/ModelWriter.java +++ b/src/com/android/launcher3/model/ModelWriter.java @@ -112,6 +112,13 @@ public class ModelWriter { } } + /** + * Sets the value that indicates if left widget panel is shown or not. + */ + public void setLeftPanelShown(boolean value) { + mBgDataModel.isLeftPanelShown = value; + } + private void checkItemInfoLocked(int itemId, ItemInfo item, StackTraceElement[] stackTrace) { ItemInfo modelItem = mBgDataModel.itemsIdMap.get(itemId); if (modelItem != null && item != modelItem) { From 62a5942bbb2208227d671b8f4b6d06d476263705 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 15 Jun 2021 16:41:08 +0000 Subject: [PATCH 042/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I6008bded871e4aeb07624a629a1c511da221e180 --- quickstep/res/values-cs/strings.xml | 8 ++++---- quickstep/res/values-de/strings.xml | 4 ++-- quickstep/res/values-fi/strings.xml | 8 ++++---- quickstep/res/values-hr/strings.xml | 4 ++-- quickstep/res/values-it/strings.xml | 2 +- quickstep/res/values-iw/strings.xml | 8 ++++---- quickstep/res/values-ja/strings.xml | 6 +++--- quickstep/res/values-kk/strings.xml | 4 ++-- quickstep/res/values-kn/strings.xml | 6 +++--- quickstep/res/values-ko/strings.xml | 4 ++-- quickstep/res/values-ky/strings.xml | 2 +- quickstep/res/values-mn/strings.xml | 4 ++-- quickstep/res/values-ne/strings.xml | 10 +++++----- quickstep/res/values-ru/strings.xml | 6 +++--- quickstep/res/values-sl/strings.xml | 10 +++++----- quickstep/res/values-sv/strings.xml | 15 +++++---------- quickstep/res/values-te/strings.xml | 8 ++++---- quickstep/res/values-th/strings.xml | 2 +- quickstep/res/values-zh-rTW/strings.xml | 12 ++++++------ 19 files changed, 59 insertions(+), 64 deletions(-) diff --git a/quickstep/res/values-cs/strings.xml b/quickstep/res/values-cs/strings.xml index b8d24cf24e..101f86557a 100644 --- a/quickstep/res/values-cs/strings.xml +++ b/quickstep/res/values-cs/strings.xml @@ -33,14 +33,14 @@ "Návrhy aplikací pro vás" "Nechte si ve spodním řádku na ploše zobrazovat návrhy aplikací" "Nechte si na řádku oblíbených na ploše zobrazovat návrhy aplikací" - "Mějte nejpoužívanější aplikace k dispozici přímo na ploše. Návrhy se budou měnit v závislosti na sledech činností. Aplikace ve spodním řádku se přesunou na vaši plochu." - "Mějte nejpoužívanější aplikace k dispozici přímo na ploše. Návrhy se budou měnit v závislosti na sledech činností. Aplikace na řádku oblíbených se přesunou na plochu." - "Mějte nejpoužívanější aplikace k dispozici přímo na ploše. Návrhy se budou měnit v závislosti na sledech činností. Aplikace ve spodním řádku se přesunou do nové složky." + "Mějte nejpoužívanější aplikace k dispozici přímo na ploše. Návrhy se budou měnit podle vašich zvyklostí. Aplikace ve spodním řádku se přesunou nahoru na vaši plochu." + "Mějte nejpoužívanější aplikace k dispozici přímo na ploše. Návrhy se budou měnit podle vašich zvyklostí. Aplikace na řádku oblíbených se přesunou na plochu." + "Mějte nejpoužívanější aplikace k dispozici přímo na ploše. Návrhy se budou měnit podle vašich zvyklostí. Aplikace ve spodním řádku se přesunou do nové složky." "Zobrazovat návrhy aplikací" "Ne, díky" "Nastavení" "Zde se zobrazují nejpoužívanější aplikace (které se mění podle sledů činností)" - "Chcete-li získat návrhy aplikací, přetáhněte aplikace z dolního řádku" + "Návrhy aplikací získáte přetažením aplikací z dolního řádku" "Volné místo bylo vyplněno návrhy aplikací" "Návrhy aplikací jsou povoleny" "Návrhy aplikací jsou zakázány" diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index 1e0cd3d8a8..17849e0bed 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -24,7 +24,7 @@ "Keine kürzlich verwendeten Elemente" "Einstellungen zur App-Nutzung" "Alle Apps schließen" - "Zuletzt aktive Apps" + "Kürzlich geöffnete Apps" "%1$s, %2$s" "< 1 Min." "Heute noch %1$s" @@ -42,7 +42,7 @@ "Hier erscheinen die meistverwendeten Apps. Die Angaben können sich je nach deiner gewöhnlichen Nutzung ändern" "Ziehe Apps aus der unteren Reihe heraus, um Vorschläge für Apps zu erhalten" "App-Vorschläge in freiem Bereich hinzugefügt" - "Funktion \"App-Vorschläge\" aktiviert" + "Funktion „App-Vorschläge“ aktiviert" "Funktion \"App-Vorschläge\" deaktiviert" "Vorgeschlagene App: %1$s" "Wische vom äußersten linken Bildschirmrand." diff --git a/quickstep/res/values-fi/strings.xml b/quickstep/res/values-fi/strings.xml index 5c19b23658..e81906f95b 100644 --- a/quickstep/res/values-fi/strings.xml +++ b/quickstep/res/values-fi/strings.xml @@ -31,16 +31,16 @@ "Sovellusehdotukset" "Kaikki sovellukset" "Sovellusennusteet" - "Näytä sovellusehdotuksia aloitusnäytön alimmaisella rivillä" + "Näytä sovellusehdotuksia aloitusnäytön alimmalla rivillä" "Näytä sovellusehdotuksia aloitusnäytön Suosikit-rivillä" - "Voit avata käytetyimmät sovellukset kätevästi aloitusnäytöltä. Ehdotukset muuttuvat rutiiniesi perusteella. Alimmaisella rivillä olevat sovellukset siirretään aloitusnäytön yläosaan." + "Voit avata käytetyimmät sovellukset kätevästi aloitusnäytöltä. Ehdotukset muuttuvat rutiiniesi perusteella. Alimmalla rivillä olevat sovellukset siirretään aloitusnäytön yläosaan." "Voit avata käytetyimmät sovellukset kätevästi aloitusnäytöltä. Ehdotukset muuttuvat rutiiniesi perusteella. Suosikit-rivillä olevat sovellukset siirretään aloitusnäytölle." - "Voit avata käytetyimmät sovellukset kätevästi aloitusnäytöltä. Ehdotukset muuttuvat rutiiniesi perusteella. Alimmaisella rivillä olevat sovellukset siirretään uuteen kansioon." + "Voit avata käytetyimmät sovellukset kätevästi aloitusnäytöltä. Ehdotukset muuttuvat rutiiniesi perusteella. Alimmalla rivillä olevat sovellukset siirretään uuteen kansioon." "Näytä sovellusehdotuksia" "Ei kiitos" "Asetukset" "Käytetyimmät sovellukset näkyvät täällä ja muuttuvat rutiiniesi perusteella" - "Siirrä sovelluksia pois alimmaiselta riviltä, niin voit saada sovellusehdotuksia" + "Siirrä sovelluksia pois alimmalta riviltä, niin voit saada sovellusehdotuksia" "Sovellusehdotuksia lisätty tyhjään kohtaan" "Sovellusehdotukset käytössä" "Sovellusehdotukset on poistettu käytöstä" diff --git a/quickstep/res/values-hr/strings.xml b/quickstep/res/values-hr/strings.xml index 0e3444ade3..c3520cbcd5 100644 --- a/quickstep/res/values-hr/strings.xml +++ b/quickstep/res/values-hr/strings.xml @@ -28,10 +28,10 @@ "%1$s, %2$s" "< 1 min" "Još %1$s danas" - "Predložene aplikacije" + "Prijedlozi aplikacija" "Sve aplikacije" "Vaše predviđene aplikacije" - "Prijedloge aplikacija vidjet ćete u donjem retku početnog zaslona" + "Primajte prijedloge aplikacija u donjem retku početnog zaslona" "Primajte prijedloge aplikacija u retku omiljenih na početnom zaslonu" "Lako pristupite najčešće upotrebljavanim aplikacijama s početnog zaslona. Prijedlozi će se mijenjati na temelju vaših rutina. Aplikacije iz donjeg retka pomaknut će se na početni zaslon." "Lako pristupite najčešće upotrebljavanim aplikacijama s početnog zaslona. Prijedlozi će se mijenjati na temelju vaših rutina. Aplikacije koje se nalaze u retku omiljenih pomaknut će se na početni zaslon." diff --git a/quickstep/res/values-it/strings.xml b/quickstep/res/values-it/strings.xml index ea7454ae3c..b64926670a 100644 --- a/quickstep/res/values-it/strings.xml +++ b/quickstep/res/values-it/strings.xml @@ -19,7 +19,7 @@ - "Blocca" + "Blocca su schermo" "Forma libera" "Nessun elemento recente" "Impostazioni di utilizzo delle app" diff --git a/quickstep/res/values-iw/strings.xml b/quickstep/res/values-iw/strings.xml index 5b89d2c3db..ed69faaba5 100644 --- a/quickstep/res/values-iw/strings.xml +++ b/quickstep/res/values-iw/strings.xml @@ -33,16 +33,16 @@ "האפליקציות החזויות שלך" "קבלת הצעות לאפליקציות בשורה התחתונה של מסך הבית" "קבלת הצעות לאפליקציות בשורת המועדפות של מסך הבית" - "גישה נוחה לאפליקציות הכי נפוצות ישירות ממסך הבית. ההצעות ישתנו בהתאם להרגלי השימוש שלך. אפליקציות שמופיעות בשורה התחתונה יעברו למעלה למסך הבית." + "גישה נוחה לאפליקציות שנעשה בהן שימוש תכוף – ישירות ממסך הבית. ההצעות ישתנו בהתאם להרגלי השימוש שלך. אפליקציות שמופיעות בשורה התחתונה יעברו למעלה למסך הבית." "גישה נוחה לאפליקציות שהשתמשת בהן הכי הרבה, ישירות ממסך הבית. ההצעות ישתנו בהתאם להרגלי השימוש שלך. אפליקציות בשורת המועדפות יועברו למסך הבית." - "גישה נוחה לאפליקציות הכי נפוצות ישירות ממסך הבית. ההצעות ישתנו בהתאם להרגלי השימוש שלך. אפליקציות שמופיעות בשורה התחתונה יעברו למעלה למסך הבית." + "גישה נוחה לאפליקציות שנעשה בהן שימוש תכוף – ישירות ממסך הבית. ההצעות ישתנו בהתאם להרגלי השימוש שלך. אפליקציות שמופיעות בשורה התחתונה יעברו לתיקייה חדשה." "קבלת הצעות לאפליקציות" "לא, תודה" "הגדרות" "רוב האפליקציות הכי נפוצות מופיעות כאן ומשתנות בהתאם להרגלי השימוש שלך" - "יש לגרור אפליקציות מהשורה התחתונה כדי לקבל הצעות לאפליקציות" + "כדי לקבל הצעות נוספות לאפליקציות, צריך לגרור אפליקציות מהשורה התחתונה" "הצעות לאפליקציות נוספו לאזור ריק" - "ההצעות לאפליקציות מופעלות" + "התכונה \'הצעות לאפליקציות\' מופעלת" "ההצעות לאפליקציות מושבתות" "האפליקציות החזויות: %1$s" "חשוב להקפיד להחליק מהקצה הימני." diff --git a/quickstep/res/values-ja/strings.xml b/quickstep/res/values-ja/strings.xml index 0c2a03b64e..38accd1062 100644 --- a/quickstep/res/values-ja/strings.xml +++ b/quickstep/res/values-ja/strings.xml @@ -31,9 +31,9 @@ "アプリの候補" "すべてのアプリ" "予測されたアプリ" - "ホーム画面の一番下の行でアプリの候補を利用できます" + "ホーム画面の一番下にアプリの候補を表示できます" "ホーム画面のお気に入りの行でアプリの候補を利用できます" - "ホーム画面で、使用頻度の高いアプリに簡単にアクセスできるようになります。アプリの候補はルーティンに応じて変わります。一番下の行にあるアプリがホーム画面に移動します。" + "ホーム画面で、使用頻度の高いアプリに簡単にアクセスできるようになります。アプリの候補はルーティンに応じて変わります。一番下の行にあるアプリは上に移動します。" "ホーム画面で、使用頻度の高いアプリに簡単にアクセスできるようになります。アプリの候補はルーティンに応じて変わります。お気に入りの行にあるアプリがホーム画面に移動します。" "ホーム画面で、使用頻度の高いアプリに簡単にアクセスできるようになります。アプリの候補はルーティンに応じて変わります。一番下の行にあるアプリが新しいフォルダに移動します。" "アプリの候補を利用" @@ -42,7 +42,7 @@ "使用頻度の高いアプリがここに表示されます(ルーティンに応じて変わります)" "一番下の行からアプリをドラッグするとアプリの候補が表示されます" "空いたスペースにアプリの候補が追加されます" - "アプリの候補は有効です" + "アプリの候補表示が有効です" "アプリの候補は無効です" "予測されたアプリ: %1$s" "一番左端からスワイプしてください。" diff --git a/quickstep/res/values-kk/strings.xml b/quickstep/res/values-kk/strings.xml index 292f4cb037..52d8b91c5c 100644 --- a/quickstep/res/values-kk/strings.xml +++ b/quickstep/res/values-kk/strings.xml @@ -29,7 +29,7 @@ "< 1 мин" "Бүгін %1$s қалды" "Ұсынылған қолданбалар" - "Барлық қолданбалар" + "Барлық қолданба" "Ұсынылатын қолданбалар" "Негізгі экранның төменгі жолында қолданбаларды ұсыну" "Ұсынылған қолданбалар негізгі экранда таңдаулылар арасында көрсетілетін болады" @@ -42,7 +42,7 @@ "Жиі пайдаланылатын қолданбалар осы жерде көрсетіледі. Олар күнделікті әрекеттеріңізге сәйкес өзгереді." "Ұсынылған қолданбаларды көру үшін төменгі қатардан керектерін сүйреп шығарыңыз." "Ұсынылған қолданбалар бос орынға қосылды." - "\"Ұсынылған қолданбалар\" функциясы қосулы." + "Ұсынылған қолданбалар функциясы қосылды." "\"Ұсынылған қолданбалар\" функциясы өшірулі." "Болжалды қолданба: %1$s" "Сол жақтағы ең шеткі нүктеден бастап сырғытыңыз." diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml index 437fdbaae0..306f153035 100644 --- a/quickstep/res/values-kn/strings.xml +++ b/quickstep/res/values-kn/strings.xml @@ -33,9 +33,9 @@ "ನಿಮ್ಮ ಮುನ್ಸೂಚಿತ ಆ್ಯಪ್‌ಗಳು" "ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದ ಸಾಲಿನಲ್ಲಿ ಆ್ಯಪ್ ಸಲಹೆಗಳನ್ನು ಪಡೆಯಿರಿ" "ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನ ಮೆಚ್ಚಿನವುಗಳ ಸಾಲಿನಲ್ಲಿ ಆ್ಯಪ್ ಸಲಹೆಗಳನ್ನು ಪಡೆಯಿರಿ" - "ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿಯೇ ನೀವು ಹೆಚ್ಚು ಬಳಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಿ. ನಿಮ್ಮ ದಿನಚರಿಯನ್ನು ಆಧರಿಸಿ ಸಲಹೆಗಳು ಬದಲಾಗುತ್ತವೆ. ಕೆಳಭಾಗದ ಸಾಲಿನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳು ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ ಚಲಿಸುತ್ತವೆ." - "ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿಯೇ ನೀವು ಹೆಚ್ಚು ಬಳಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಿ. ನಿಮ್ಮ ದಿನಚರಿಯನ್ನು ಆಧರಿಸಿ ಸಲಹೆಗಳು ಬದಲಾಗುತ್ತವೆ. ಮೆಚ್ಚಿನವುಗಳ ಸಾಲಿನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳು ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ಗೆ ಚಲಿಸುತ್ತವೆ." - "ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿಯೇ ನೀವು ಹೆಚ್ಚು ಬಳಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಿ. ನಿಮ್ಮ ದಿನಚರಿಯನ್ನು ಆಧರಿಸಿ ಸಲಹೆಗಳು ಬದಲಾಗುತ್ತವೆ. ಕೆಳಭಾಗದ ಸಾಲಿನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳು ಹೊಸ ಫೋಲ್ಡರ್‌ಗೆ ಚಲಿಸುತ್ತವೆ." + "ನೀವು ಹೆಚ್ಚು ಬಳಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿಯೇ ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಿ. ನಿಮ್ಮ ದಿನಚರಿಯನ್ನು ಆಧರಿಸಿ ಸಲಹೆಗಳು ಬದಲಾಗುತ್ತವೆ. ಕೆಳಭಾಗದ ಸಾಲಿನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳು ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ ಚಲಿಸುತ್ತವೆ." + "ನೀವು ಹೆಚ್ಚು ಬಳಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿಯೇ ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಿ. ನಿಮ್ಮ ದಿನಚರಿಯನ್ನು ಆಧರಿಸಿ ಸಲಹೆಗಳು ಬದಲಾಗುತ್ತವೆ. ಮೆಚ್ಚಿನವುಗಳ ಸಾಲಿನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳು ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ಗೆ ಚಲಿಸುತ್ತವೆ." + "ನೀವು ಹೆಚ್ಚು ಬಳಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿಯೇ ಸುಲಭವಾಗಿ ಪ್ರವೇಶಿಸಿ. ನಿಮ್ಮ ದಿನಚರಿಯನ್ನು ಆಧರಿಸಿ ಸಲಹೆಗಳು ಬದಲಾಗುತ್ತವೆ. ಕೆಳಭಾಗದ ಸಾಲಿನಲ್ಲಿನ ಆ್ಯಪ್‌ಗಳು ಹೊಸ ಫೋಲ್ಡರ್‌ಗೆ ಚಲಿಸುತ್ತವೆ." "ಆ್ಯಪ್ ಸಲಹೆಗಳನ್ನು ಪಡೆಯಿರಿ" "ಬೇಡ" "ಸೆಟ್ಟಿಂಗ್‌ಗಳು" diff --git a/quickstep/res/values-ko/strings.xml b/quickstep/res/values-ko/strings.xml index b31dba9735..1666a5a1f7 100644 --- a/quickstep/res/values-ko/strings.xml +++ b/quickstep/res/values-ko/strings.xml @@ -57,7 +57,7 @@ "왼쪽에서 스와이프하여 뒤로 돌아가세요" "돌아가려면 오른쪽에서 스와이프하세요" "마지막 화면으로 돌아가려면 왼쪽 가장자리에서 화면 중앙으로 스와이프하세요" - "오른쪽 가장자리에서 화면 중앙으로 스와이프해도 마지막 화면으로 돌아갈 수도 있습니다. 지금 동작을 취해 보세요" + "오른쪽 가장자리에서 화면 중앙으로 스와이프해도 마지막 화면으로 돌아갈 수 있습니다. 지금 동작을 취해 보세요" "화면 하단 가장자리에서 위로 스와이프하세요." "손가락을 떼기 전에 멈추지 않아야 합니다." "위로 똑바르게 스와이프하세요." @@ -81,7 +81,7 @@ "설정 완료" "위로 스와이프하여 홈으로 이동" "휴대전화를 사용할 준비가 되었습니다." - "탐색 접근성 설정" + "접근성 탐색 설정" "공유" "스크린샷" "이 작업은 앱 또는 조직에서 허용되지 않습니다." diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml index eb19e13102..7f6741596e 100644 --- a/quickstep/res/values-ky/strings.xml +++ b/quickstep/res/values-ky/strings.xml @@ -40,7 +40,7 @@ "Жок, рахмат" "Жөндөөлөр" "Көп иштетилген колдонмолор ушул жерде көрүнүп, тартиптин негизинде өзгөрөт" - "Сунуштарды алып туруу үчүн, ылдый жактагы тилкедеги колдонмолорду сүйрөп келиңиз" + "Сунуштарды алып туруу үчүн ылдый жактагы тилкедеги колдонмолорду сүйрөп келиңиз" "Сунушталган колдонмолор бош жерге кошулат" "Сунушталган колдонмолор функциясы иштетилди" "Сунушталган колдонмолор функциясы өчүрүлгөн" diff --git a/quickstep/res/values-mn/strings.xml b/quickstep/res/values-mn/strings.xml index 43d9a27cc3..1ef7299f70 100644 --- a/quickstep/res/values-mn/strings.xml +++ b/quickstep/res/values-mn/strings.xml @@ -31,9 +31,9 @@ "Санал болгож буй аппууд" "Бүх апп" "Таны таамагласан аппууд" - "Үндсэн нүүрнийхээ доод мөрөнд санал болгож буй аппуудыг аваарай" + "Үндсэн нүүрнийхээ доод мөрд санал болгож буй аппуудыг аваарай" "Үндсэн нүүрний дуртай мөрнөөсөө санал болгож буй аппуудыг аваарай" - "Хамгийн их ашигладаг аппууддаа Үндсэн нүүрнээс хялбархан хандаарай. Санал болгож буй аппуудыг таны хэвшлээс хамаарч өөрчилнө. Доод мөрөнд буй аппуудыг таны Үндсэн нүүр лүү дээш зөөнө." + "Хамгийн их ашигладаг аппууддаа Үндсэн нүүрнээс хялбархан хандаарай. Санал болгож буй аппуудыг таны хэвшлээс хамаарч өөрчилнө. Доод мөрд буй аппуудыг таны Үндсэн нүүр лүү дээш зөөнө." "Хамгийн их ашигладаг аппууддаа Үндсэн нүүрнээсээ хялбархан хандаарай. Санал болголтыг таны хэвшлээс хамааран өөрчилнө. Дуртай мөрөнд буй аппуудыг таны үндсэн нүүр лүү зөөнө." "Хамгийн их ашигладаг аппууддаа Үндсэн нүүрнээс хялбархан хандаарай. Санал болгож буй аппуудыг таны хэвшлээс хамаарч өөрчилнө. Доод мөрөнд буй аппуудыг шинэ фолдер луу зөөнө." "Санал болгож буй аппуудыг авах" diff --git a/quickstep/res/values-ne/strings.xml b/quickstep/res/values-ne/strings.xml index f1351f186d..dea056b557 100644 --- a/quickstep/res/values-ne/strings.xml +++ b/quickstep/res/values-ne/strings.xml @@ -31,16 +31,16 @@ "एपसम्बन्धी सुझावहरू" "सबै एपहरू" "तपाईंलाई चाहिने एपहरू" - "तपाईंको गृह स्क्रिनको पुछारको पङ्क्तिमा सिफारिस गरिएका एपहरू प्राप्त गर्नुहोस्" - "आफ्नो होम स्क्रिनको मन पर्ने नामक पङ्क्तिमा सिफारिस गरिएका एपहरू प्राप्त गर्नुहोस्" - "गृह स्क्रिनबाटै आफूले सबैभन्दा बढी प्रयोग गर्ने एप सजिलै चलाउनुहोस्। सिफारिस गरिने एपहरूको क्रम तपाईंले एप प्रयोग गर्ने समयतालिकाअनुसार बदलिने छ। फेदको पङ्क्तिमा रहेका एपहरू तपाईंको गृह स्क्रिनको सिरानमा सर्ने छन्।" + "आफ्नो होम स्क्रिनको पुछारको रोमा एपसम्बन्धी सिफारिस प्राप्त गर्नुहोस्" + "आफ्नो होम स्क्रिनको मन पर्ने नामक पङ्क्तिमा एपसम्बन्धी सिफारिस प्राप्त गर्नुहोस्" + "आफूले सबैभन्दा बढी प्रयोग गर्ने एप होम स्क्रिनबाट सजिलै चलाउनुहोस्। सिफारिस गरिने एपहरूको क्रम तपाईंले एप प्रयोग गर्ने समयतालिकाअनुसार बदलिने छ। फेदको रोमा रहेका एपहरू तपाईंको होम स्क्रिनको सिरानमा सर्ने छन्।" "आफूले सबैभन्दा बढी प्रयोग गर्ने एपहरू गृह स्क्रिनबाटै सजिलैसँग खोल्नुहोस्। सिफारिस गरिने एपहरूको क्रम तपाईंको दिनचर्याअनुसार बदलिने छ। मन पर्ने नामक पङ्क्तिमा रहेका एपहरू सारेर होम स्क्रिनमा लगिने छन्।" "गृह स्क्रिनबाटै आफूले सबैभन्दा बढी प्रयोग गर्ने एप सजिलै चलाउनुहोस्। सिफारिस गरिने एपहरूको क्रम तपाईंले एप प्रयोग गर्ने समयतालिकाअनुसार बदलिने छ। फेदको पङ्क्तिमा रहेका एपहरू एउटा नयाँ फोल्डरमा सर्ने छन्।" - "सिफारिस गरिएका एपहरू प्राप्त गर्नुहोस्" + "एपसम्बन्धी सिफारिस प्राप्त गर्नुहोस्" "पर्दैन धन्यवाद" "सेटिङ" "सबैभन्दा बढी प्रयोग हुने एपहरू यहाँ देखिन्छन् र यी एपहरूको क्रम तपाईंले एप प्रयोग गर्ने समयतालिकाअनुसार बदलिरहन्छ" - "सिफारिस गरिएका एपहरू प्राप्त गर्न फेदको पङ्क्तिमा रहेका एपहरू ड्र्याग गरी हटाउनुहोस्" + "एपसम्बन्धी सिफारिस प्राप्त गर्न फेदको रोमा रहेका एपहरू ड्र्याग गरी हटाउनुहोस्" "खाली ठाउँमा सिफारिस गरिएका एपहरू थपिए" "सिफारिस गरिएका एपहरू देखाउने सुविधा सक्षम पारिएका छन्" "सिफारिस गरिएका एपहरू देखाउने सुविधा असक्षम पारिएको छ" diff --git a/quickstep/res/values-ru/strings.xml b/quickstep/res/values-ru/strings.xml index 6d28815ef2..ef05954ce8 100644 --- a/quickstep/res/values-ru/strings.xml +++ b/quickstep/res/values-ru/strings.xml @@ -33,14 +33,14 @@ "Ваши рекомендуемые приложения" "Рекомендуемые приложения будут появляться в нижнем ряду на главном экране" "Рекомендуемые приложения будут появляться в разделе избранных на главном экране" - "Быстрый доступ к часто используемым приложениям на главном экране. Список меняется с учетом ваших привычек. Приложения из нижнего ряда будут перемещены вверх на главный экран." + "Приложения, которыми вы часто пользуетесь, будут доступны прямо на главном экране. Их список может меняться с учетом ваших предпочтений. Приложения из нижнего ряда будут перемещены выше на главном экране." "Включите функцию для быстрого доступа к часто используемым приложениям на главном экране. Список меняется с учетом ваших действий. Приложения из раздела избранных будут перемещены на главный экран." - "Быстрый доступ к часто используемым приложениям на главном экране. Список меняется с учетом ваших привычек. Приложения из нижнего ряда будут перемещены в новую папку." + "Приложения, которыми вы часто пользуетесь, будут доступны прямо на главном экране. Их список может меняться с учетом ваших предпочтений. Приложения из нижнего ряда будут перемещены в новую папку." "Показывать рекомендации" "Отмена" "Настройки" "Здесь появляются часто используемые приложения. Список меняется с учетом ваших привычек." - "Перетащите приложения из нижнего ряда, чтобы получить рекомендации" + "Перетащите приложения из нижнего ряда, чтобы получить рекомендации." "Рекомендуемые приложения будут появляться на свободных местах." "Функция \"Рекомендуемые приложения\" включена." "Функция \"Рекомендуемые приложения\" отключена." diff --git a/quickstep/res/values-sl/strings.xml b/quickstep/res/values-sl/strings.xml index 19982dfcb9..ed035aa74e 100644 --- a/quickstep/res/values-sl/strings.xml +++ b/quickstep/res/values-sl/strings.xml @@ -33,17 +33,17 @@ "Predvidene aplikacije" "Oglejte si predlagane aplikacije v spodnji vrstici začetnega zaslona" "Prejemajte predloge aplikacij v vrstici s priljubljenimi na začetnem zaslonu" - "Preprosto dostopajte do najpogosteje uporabljenih aplikacij kar na začetnem zaslonu. Predlogi se spreminjajo na podlagi dejanj, ki jih pogosto izvajate. Aplikacije se iz spodnje vrstice premaknejo na začetni zaslon." + "Preprosto dostopajte do najpogosteje uporabljenih aplikacij kar na začetnem zaslonu. Predlogi se spreminjajo na podlagi dejanj, ki jih pogosto izvajate. Aplikacije iz spodnje vrstice se premaknejo na začetni zaslon." "Preprosto dostopajte do najpogosteje uporabljenih aplikacij kar na začetnem zaslonu. Predlogi se spreminjajo na podlagi dejanj, ki jih pogosto izvajate. Aplikacije v vrstici s priljubljenimi bodo premaknjene na začetni zaslon." - "Preprosto dostopajte do najpogosteje uporabljenih aplikacij kar na začetnem zaslonu. Predlogi se spreminjajo na podlagi dejanj, ki jih pogosto izvajate. Aplikacije se iz spodnje vrstice premaknejo v novo mapo." + "Preprosto dostopajte do najpogosteje uporabljenih aplikacij kar na začetnem zaslonu. Predlogi se spreminjajo na podlagi dejanj, ki jih pogosto izvajate. Aplikacije iz spodnje vrstice se premaknejo v novo mapo." "Prikaži predlagane aplikacije" "Ne, hvala" "Nastavitve" "Tukaj so navedene najpogosteje uporabljene aplikacije in spremembe na podlagi rutin" - "Če si želite ogledati predlagane aplikacije, povlecite aplikacije iz spodnje vrstice" + "Če si želite ogledati predlagane aplikacije, povlecite aplikacije iz spodnje vrstice." "Predlagane aplikacije so bile dodane v prazni prostor" - "Predlogi aplikacij so omogočeni" - "Predlogi aplikacij so onemogočeni" + "Predlogi aplikacij so omogočeni." + "Predlogi aplikacij so onemogočeni." "Predvidena aplikacija: %1$s" "Pazite, da ne povlečete s skrajno levega roba." "Pazite, da povlečete z levega roba do sredine zaslona in dvignete prst." diff --git a/quickstep/res/values-sv/strings.xml b/quickstep/res/values-sv/strings.xml index 4b4407b423..1838643a64 100644 --- a/quickstep/res/values-sv/strings.xml +++ b/quickstep/res/values-sv/strings.xml @@ -51,8 +51,7 @@ "Se till att du sveper från den högra kanten till mitten av skärmen och sedan släpper." "Nu kan du svepa från vänster för att gå tillbaka." "Nu kan du svepa från höger för att gå tillbaka. Nu ska du få lära dig hur du byter mellan appar." - - + "Du är klar med rörelsen för att gå tillbaka." "Se till att du inte sveper för nära skärmens nederkant." "Öppna inställningarna om du vill ändra rörelsens känslighet" "Återgå genom att svepa från vänster" @@ -62,19 +61,15 @@ "Se till att du sveper från nederkanten på skärmen." "Se till att du sveper i en jämn rörelse innan du släpper." "Se till att du sveper rakt uppåt." - - - - + "Du är klar med rörelsen för att öppna startskärmen. Nu ska du få lära dig hur du går tillbaka." + "Du är klar med rörelsen för att öppna startskärmen." "Svep för att öppna startskärmen" "Svep uppåt från skärmens nederkant. Du kan alltid återgå startskärmen med den här rörelsen." "Se till att du sveper från nederkanten på skärmen." "Testa att trycka längre på fönstret innan du släpper." "Se till att du sveper rakt uppåt och sedan pausar." - - - - + "Du har lärt dig hur du använder rörelser. Om du vill inaktivera rörelser öppnar du inställningarna." + "Du är klar med rörelsen för att byta mellan appar." "Svep för att byta mellan appar" "Svep uppåt från skärmens nederkant. Håll fingret nedtryckt och släpp sedan." "Klart" diff --git a/quickstep/res/values-te/strings.xml b/quickstep/res/values-te/strings.xml index a0351a79e3..0d18e35745 100644 --- a/quickstep/res/values-te/strings.xml +++ b/quickstep/res/values-te/strings.xml @@ -31,11 +31,11 @@ "యాప్ సలహాలు" "అన్ని యాప్‌లు" "మీ సూచించబడిన యాప్‌లు" - "మీ హోమ్ స్క్రీన్‌ దిగువ వరుసలో యాప్ సలహాలను పొందండి" + "మీ మొదటి స్క్రీన్‌ దిగువ వరుసలో యాప్ సలహాలను పొందండి" "మీ హోమ్ స్క్రీన్‌లోని ఇష్టమైన వాటి వరుసలో యాప్ సూచ‌న‌లు పొందండి" - "మీరు ఎక్కువగా ఉపయోగించే యాప్‌లను నేరుగా హోమ్ స్క్రీన్‌లోనే సులభంగా యాక్సెస్ చేయండి. మీ రోజువారీ కార్యకలాపాలను బట్టి సూచనలు మారతాయి. దిగువ వరుసలోని యాప్‌లు మీ హోమ్ స్క్రీన్ పైకి చేరుకుంటాయి." - "మీరు ఎక్కువగా ఉపయోగించే యాప్‌లను నేరుగా హోమ్ స్క్రీన్‌లోనే సులభంగా యాక్సెస్ చేయండి. మీ రోజువారీ కార్యకలాపాలను బట్టి సూచనలు మారతాయి. ఇష్టమైన వాటి వరుసలోని యాప్‌లు మీ హోమ్ స్క్రీన్‌కు చేరుకుంటాయి." - "మీరు ఎక్కువగా ఉపయోగించే యాప్‌లను నేరుగా హోమ్ స్క్రీన్‌లోనే సులభంగా యాక్సెస్ చేయండి. మీ రోజువారీ కార్యకలాపాలను బట్టి సూచనలు మారతాయి. దిగువ వరుసలోని యాప్‌లు కొత్త ఫోల్డర్‌కు తరలించబడతాయి." + "మీరు ఎక్కువగా ఉపయోగించే యాప్‌లను నేరుగా మొదటి స్క్రీన్‌లోనే సులభంగా యాక్సెస్ చేయండి. మీ రోజువారీ కార్యకలాపాలను బట్టి సూచనలు మారతాయి. దిగువ వరుసలోని యాప్‌లు మీ మొదటి స్క్రీన్ పైకి చేరుకుంటాయి." + "మీరు ఎక్కువగా ఉపయోగించే యాప్‌లను నేరుగా మొదటి స్క్రీన్‌లోనే సులభంగా యాక్సెస్ చేయండి. మీ రోజువారీ కార్యకలాపాలను బట్టి సూచనలు మారతాయి. ఇష్టమైన వాటి వరుసలోని యాప్‌లు మీ మొదటి స్క్రీన్‌కు చేరుకుంటాయి." + "మీరు ఎక్కువగా ఉపయోగించే యాప్‌లను నేరుగా మొదటి స్క్రీన్‌లోనే సులభంగా యాక్సెస్ చేయండి. మీ రోజువారీ కార్యకలాపాలను బట్టి సూచనలు మారతాయి. దిగువ వరుసలోని యాప్‌లు కొత్త ఫోల్డర్‌కు తరలించబడతాయి." "యాప్ సూచ‌న‌లను పొందండి" "వద్దు" "సెట్టింగ్‌లు" diff --git a/quickstep/res/values-th/strings.xml b/quickstep/res/values-th/strings.xml index a13b43b776..1758589f8b 100644 --- a/quickstep/res/values-th/strings.xml +++ b/quickstep/res/values-th/strings.xml @@ -42,7 +42,7 @@ "แอปที่ใช้มากที่สุดจะปรากฎที่นี่และจะเปลี่ยนไปตามการใช้งานประจำ" "ลากแอปออกจากแถวล่างเพื่อดูแอปแนะนำ" "เพิ่มคำแนะนำเกี่ยวกับแอปในพื้นที่ว่างแล้ว" - "เปิดใช้คำแนะนำเกี่ยวกับแอปแล้ว" + "เปิดใช้แอปแนะนำแล้ว" "ปิดใช้คำแนะนำเกี่ยวกับแอปอยู่" "แอปที่คาดว่าจะใช้: %1$s" "ตรวจสอบว่าปัดจากขอบด้านซ้ายสุด" diff --git a/quickstep/res/values-zh-rTW/strings.xml b/quickstep/res/values-zh-rTW/strings.xml index f3cb45840c..51bb189cd8 100644 --- a/quickstep/res/values-zh-rTW/strings.xml +++ b/quickstep/res/values-zh-rTW/strings.xml @@ -31,16 +31,16 @@ "應用程式建議" "所有應用程式" "系統預測你會使用的應用程式" - "在主畫面的底部取得應用程式建議" + "在主畫面底部顯示應用程式建議" "在主畫面的收藏列取得應用程式建議" - "在主畫面上輕鬆存取最常使用的應用程式。應用程式建議會依據你的日常使用習慣而有所不同。系統會將底部列出的應用程式上移到主畫面。" - "在主畫面上輕鬆存取最常使用的應用程式。系統會根據你的日常使用習慣提供不同的應用程式建議,並在主畫面顯示收藏列中的應用程式。" - "在主畫面上輕鬆存取最常使用的應用程式。應用程式建議會根據日常安排有所不同。系統會將底部列出的應用程式移到新的資料夾。" + "你可以輕鬆地在主畫面上找到自己常用的應用程式。應用程式建議會依據你的日常使用習慣而有所不同。系統會將底部列出的應用程式上移到主畫面。" + "你可以輕鬆地在主畫面上找到自己常用的應用程式。系統會根據你的日常使用習慣提供不同的應用程式建議,並在主畫面顯示收藏列中的應用程式。" + "你可以輕鬆地在主畫面上找到自己常用的應用程式。應用程式建議會根據日常安排有所不同。系統會將底部列出的應用程式移到新的資料夾。" "取得應用程式建議" "不用了,謝謝" "設定" "最常使用的應用程式會顯示在這裡,顯示的項目會根據日常安排有所不同" - "將應用程式從底部列向外拖曳,即可取得應用程式建議" + "將底部列中顯示的應用程式拖曳出來,即可取得應用程式建議" "應用程式建議已新增到空白位置" "應用程式建議功能已啟用" "應用程式建議功能已停用" @@ -83,7 +83,7 @@ "你可以開始使用手機了" "無障礙工具的導覽設定" "分享" - "擷取螢幕畫面" + "螢幕截圖" "這個應用程式或貴機構不允許執行這個動作" "要略過手勢操作教學課程嗎?" "你之後可以在「%1$s」應用程式找到這些說明" From 5301e68108863e3d91a5bc2553094f86591ef469 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 15 Jun 2021 16:43:13 +0000 Subject: [PATCH 043/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Icdc7900e3f87c4dab24625e0416ff37e486cfb65 --- res/values-af/strings.xml | 18 ++++++++--------- res/values-am/strings.xml | 18 ++++++++--------- res/values-ar/strings.xml | 20 +++++++++---------- res/values-as/strings.xml | 18 ++++++++--------- res/values-az/strings.xml | 24 +++++++++++------------ res/values-b+sr+Latn/strings.xml | 20 +++++++++---------- res/values-be/strings.xml | 18 ++++++++--------- res/values-bg/strings.xml | 18 ++++++++--------- res/values-bn/strings.xml | 22 +++++++++++---------- res/values-bs/strings.xml | 20 +++++++++---------- res/values-ca/strings.xml | 18 ++++++++--------- res/values-cs/strings.xml | 20 +++++++++---------- res/values-da/strings.xml | 22 ++++++++++----------- res/values-de/strings.xml | 20 +++++++++---------- res/values-el/strings.xml | 18 ++++++++--------- res/values-en-rAU/strings.xml | 18 ++++++++--------- res/values-en-rCA/strings.xml | 18 ++++++++--------- res/values-en-rGB/strings.xml | 18 ++++++++--------- res/values-en-rIN/strings.xml | 18 ++++++++--------- res/values-en-rXC/strings.xml | 18 ++++++++--------- res/values-es-rUS/strings.xml | 20 +++++++++---------- res/values-es/strings.xml | 22 ++++++++++----------- res/values-et/strings.xml | 22 ++++++++++----------- res/values-eu/strings.xml | 22 ++++++++++----------- res/values-fa/strings.xml | 20 +++++++++---------- res/values-fi/strings.xml | 20 +++++++++---------- res/values-fr-rCA/strings.xml | 20 +++++++++---------- res/values-fr/strings.xml | 20 +++++++++---------- res/values-gl/strings.xml | 18 ++++++++--------- res/values-gu/strings.xml | 22 +++++++++++---------- res/values-hi/strings.xml | 18 ++++++++--------- res/values-hr/strings.xml | 22 ++++++++++----------- res/values-hu/strings.xml | 18 ++++++++--------- res/values-hy/strings.xml | 22 ++++++++++----------- res/values-in/strings.xml | 22 ++++++++++----------- res/values-is/strings.xml | 18 ++++++++--------- res/values-it/strings.xml | 18 ++++++++--------- res/values-iw/strings.xml | 22 ++++++++++----------- res/values-ja/strings.xml | 24 +++++++++++------------ res/values-ka/strings.xml | 18 ++++++++--------- res/values-kk/strings.xml | 24 +++++++++++------------ res/values-km/strings.xml | 20 +++++++++---------- res/values-kn/strings.xml | 20 ++++++++++--------- res/values-ko/strings.xml | 18 ++++++++--------- res/values-ky/strings.xml | 22 ++++++++++----------- res/values-lo/strings.xml | 20 +++++++++---------- res/values-lt/strings.xml | 18 ++++++++--------- res/values-lv/strings.xml | 18 ++++++++--------- res/values-mk/strings.xml | 18 ++++++++--------- res/values-ml/strings.xml | 24 +++++++++++------------ res/values-mn/strings.xml | 20 +++++++++---------- res/values-mr/strings.xml | 25 +++++++++++++++--------- res/values-ms/strings.xml | 18 ++++++++--------- res/values-my/strings.xml | 18 ++++++++--------- res/values-nb/strings.xml | 18 ++++++++--------- res/values-ne/strings.xml | 33 ++++++++++++++++---------------- res/values-nl/strings.xml | 18 ++++++++--------- res/values-or/strings.xml | 22 ++++++++++----------- res/values-pa/strings.xml | 29 ++++++++++++++-------------- res/values-pl/strings.xml | 18 ++++++++--------- res/values-pt-rPT/strings.xml | 20 +++++++++---------- res/values-pt/strings.xml | 20 +++++++++---------- res/values-ro/strings.xml | 18 ++++++++--------- res/values-ru/strings.xml | 22 ++++++++++----------- res/values-si/strings.xml | 18 ++++++++--------- res/values-sk/strings.xml | 18 ++++++++--------- res/values-sl/strings.xml | 20 +++++++++---------- res/values-sq/strings.xml | 18 ++++++++--------- res/values-sr/strings.xml | 20 +++++++++---------- res/values-sv/strings.xml | 20 +++++++++---------- res/values-sw/strings.xml | 18 ++++++++--------- res/values-ta/strings.xml | 18 ++++++++--------- res/values-te/strings.xml | 30 +++++++++++++++-------------- res/values-th/strings.xml | 22 ++++++++++----------- res/values-tl/strings.xml | 18 ++++++++--------- res/values-tr/strings.xml | 20 +++++++++---------- res/values-uk/strings.xml | 20 +++++++++---------- res/values-ur/strings.xml | 20 ++++++++++--------- res/values-uz/strings.xml | 22 ++++++++++----------- res/values-vi/strings.xml | 18 ++++++++--------- res/values-zh-rCN/strings.xml | 27 ++++++++++++-------------- res/values-zh-rHK/strings.xml | 18 ++++++++--------- res/values-zh-rTW/strings.xml | 18 ++++++++--------- res/values-zu/strings.xml | 20 +++++++++---------- 84 files changed, 854 insertions(+), 842 deletions(-) diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index ad353e11c3..2703eb5e98 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -53,7 +53,9 @@ "Gesprekke" "Nuttige inligting binne jou bereik" "Jy kan legstukke by jou tuisskerm voeg om inligting te kry sonder om programme oop te maak" + "Tik om legstukinstellings te verander" "Het dit" + "Verander legstukinstellings" "Deursoek programme" "Laai tans programme …" "Kon geen programme kry wat by \"%1$s\" pas nie" @@ -154,18 +156,16 @@ "Persoonlik" "Werk" "Werkprofiel" - "Persoonlike programme is apart en van werkprogramme versteek." - "Jou IT-admin kan jou werkprogramme en -data sien" - "Volgende" + + "Het dit" - "Werkprofiel is onderbreek" - "Werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" - "Werkprofiel is onderbreek. Werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" + "Werkprogramme is af" + "Jou werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" + "Werkprogramme is af. Jou werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" "Werkprogramme het \'n kenteken en is sigbaar vir jou IT-administrateur" "Het dit" - "Onderbreek werkprogramme" - "Skakel aan" + "Skakel werkprogramme af" + "Skakel werkprogramme aan" "Filter" - "Onderbreek werkprogramme en kennisgewings" "Misluk: %1$s" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 34cdc03f0c..846de43d4a 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -53,7 +53,9 @@ "ውይይቶች" "በጣቶችዎ ጫፎች ላይ ጠቃሚ መረጃ" "መተግበሪያዎችን ሳይከፍቱ መረጃ ለማግኘት በመነሻ ማያ ገጽዎ ላይ ምግብሮችን ማከል ይችላሉ" + "የምግብር ቅንብሮችን ለመለወጥ መታ ያድርጉ" "ገባኝ" + "የምግብር ቅንብሮችን ይለውጡ" "መተግበሪያዎችን ፈልግ" "መተግበሪያዎችን በመጫን ላይ…" "ከ«%1$s» ጋር የሚዛመዱ ምንም መተግበሪያዎች አልተገኙም" @@ -154,18 +156,16 @@ "የግል" "ሥራ" "የሥራ መገለጫ" - "የግል ውሂብ የተለየ እና ከሥራ መተግበሪያዎች የተደበቀ ነው" - "የስራ መተግበሪያዎች እና ውሂብ የተለዩ እና ከሥራ መተግበሪያዎች የተደበቁ ናቸው" - "ቀጣይ" + + "ገባኝ" - "የሥራ መገለጫ ባለበት ቆሟል" - "የስራ መተግበሪያዎች ማሳወቂያዎችን ወደ እርስዎ መላክ፣ ባትሪዎን መጠቀም ወይም አካባቢዎ ዘንድ መድረስ አይችሉም" - "የሥራ መገለጫ ባለበት ቆሟል። የስራ መተግበሪያዎች ማሳወቂያዎችን ወደ እርስዎ መላክ፣ ባትሪዎን መጠቀም ወይም አካባቢዎ ዘንድ መድረስ አይችሉም" + "የሥራ መተግበሪያዎች ጠፍተዋል" + "የስራ መተግበሪያዎችዎ ማሳወቂያዎችን ሊልክልዎ፣ ባትሪዎን መጠቀም ወይም አካባቢዎን መድረስ አይችሉም" + "የሥራ መተግበሪያዎች ጠፍተዋል። የስራ መተግበሪያዎችዎ ማሳወቂያዎችን ሊልክልዎ፣ ባትሪዎን መጠቀም ወይም አካባቢዎን መድረስ አይችሉም" "የሥራ መተግበሪያዎች ባጅ የተደረገባቸው ሲሆን ለእርስዎ IT ቡድን ታይ ናቸው" "ገባኝ" - "የሥራ መተግበሪያዎችን ባሉበት አቁም" - "አብራ" + "የሥራ መተግበሪያዎችን ያጥፉ" + "የሥራ መተግበሪያዎችን ያብሩ" "አጣራ" - "የስራ መተግበሪያዎችን እና ማሳወቂያዎችን ባሉበት ያቁሙ" "አልተሳካም፦ %1$s" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 7a5488fd4a..18ce18c23b 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -61,7 +61,9 @@ "المحادثات" "معلومات مفيدة في متناول يديك" "للحصول على معلومات بدون فتح التطبيقات، يمكنك إضافة الأدوات إلى الشاشة الرئيسية." + "انقر لتغيير إعدادات الأداة" "حسنًا" + "تغيير إعدادات الأداة" "بحث في التطبيقات" "جارٍ تحميل التطبيقات…" "لم يتم العثور على أي تطبيقات تتطابق مع \"%1$s\"" @@ -70,7 +72,7 @@ "الإشعارات" "انقر مرتين مع تثبيت إصبعك لنقل اختصار." "انقر مرتين مع تثبيت إصبعك لنقل اختصار أو استخدام الإجراءات المخصّصة." - "ليس هناك مساحة أخرى في هذه الشاشة الرئيسية." + "لا يتبقى مساحة على هذه الشاشة الرئيسية." "لا يوجد المزيد من الحقول في علبة المفضلة" "قائمة التطبيقات" "قائمة التطبيقات الشخصية" @@ -166,18 +168,16 @@ "شخصية" "للعمل" "الملف الشخصي للعمل" - "إن البيانات الشخصية منفصلة عن تطبيقات العمل ومخفية عنها" - "إن بيانات وتطبيقات العمل مرئية لمشرف تكنولوجيا المعلومات في مؤسستك" - "التالي" + + "حسنًا" - "تم إيقاف الملف الشخصي للعمل مؤقتًا" - "لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." - "تم إيقاف الملف الشخصي للعمل مؤقتًا. لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." + "تطبيقات العمل غير مفعّلة" + "لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." + "تطبيقات العمل غير مفعّلة، وبالتالي لا يمكنها إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." "تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات." "حسنًا" - "إيقاف تطبيقات العمل مؤقتًا" - "تفعيل" + "إيقاف تطبيقات العمل" + "تفعيل تطبيقات العمل" "فلتر" - "إيقاف تطبيقات العمل وإشعاراتها مؤقتًا" "تعذَّر %1$s." diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index 1b2d8a11b9..1f217cf7b6 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -53,7 +53,9 @@ "বাৰ্তালাপ" "আপোনাৰ আঙুলিৰে টিপতে উপযোগী তথ্য পাওক" "এপ্‌ নোখোলাকৈ তথ্য পাবলৈ আপুনি নিজৰ গৃহ স্ক্ৰীনত ৱিজেট যোগ দিব পাৰে" + "ৱিজেটৰ ছেটিং সলনি কৰিবলৈ টিপক" "বুজি পালোঁ" + "ৱিজেটৰ ছেটিং সলনি কৰক" "এপসমূহ সন্ধান কৰক" "এপসমূহ ল’ড কৰি থকা হৈছে…" "\"%1$s\"ৰ সৈতে মিলা কোনো এপ্ বিচাৰি পোৱা নগ\'ল" @@ -154,18 +156,16 @@ "ব্যক্তিগত" "কৰ্মস্থান" "কৰ্মস্থানৰ প্ৰ\'ফাইল" - "ব্যক্তিগত ডেটাখিনি পৃথক হয় আৰু সেইখিনি কর্মস্থানৰ এপ্‌সমূহৰ পৰা লুকুওৱা আছে" - "আপোনাৰ আইটি প্ৰশাসকে কর্মস্থানৰ এপ্‌সমূহ আৰু ডেটা দেখা পায়" - "পৰৱৰ্তী" + + "বুজি পালোঁ" - "কৰ্মস্থানৰ প্ৰ\'ফাইলটো পজ কৰা আছে" - "কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" - "কৰ্মস্থানৰ প্ৰ’ফাইলটো পজ কৰা আছে। কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" + "কৰ্মস্থানৰ এপ্‌সমূহ অফ হৈ আছে" + "আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" + "কৰ্মস্থানৰ এপ্‌সমূহ অফ হৈ আছে। আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" "কর্মস্থানৰ এপ্‌সমূহ প্ৰতীকেৰে চিহ্নিত কৰা হয় আৰু সেইবোৰ আপোনাৰ আইটি প্ৰশাসকৰ বাবে দৃশ্যমান হয়" "বুজি পালোঁ" - "কৰ্মস্থানৰ এপ্‌ পজ কৰক" - "অন কৰক" + "কৰ্মস্থানৰ এপ্‌সমূহ অফ কৰক" + "কৰ্মস্থানৰ এপ্‌সমূহ অন কৰক" "ফিল্টাৰ" - "কর্মস্থানৰ এপ্‌সমূহ আৰু জাননীসমূহ পজ কৰক" "বিফল: %1$s" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 41573d91f3..f73e500c4f 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -53,7 +53,9 @@ "Söhbətlər" "Faydalı məlumatlar barmaqlarınızın ucunda" "Tətbiqləri açmadan məlumat almaq üçün Əsas ekrana vidcet əlavə edə bilərsiniz" + "Vidcet ayarlarını dəyişmək üçün toxunun" "Anladım" + "Vidcet ayarlarını dəyişin" "Tətbiqləri axtarın" "Tətbiqlər yüklənir…" "%1$s sorğusuna uyğun tətbiq tapılmadı" @@ -69,7 +71,7 @@ "İş tətbiqlərinin siyahısı" "Silin" "Sistemdən sil" - "Tətbiq infosu" + "Tətbiq haqqında" "Quraşdırın" "Tətbiq təklif olunmasın" "Proqnozlaşdırılan tətbiqi bərkidin" @@ -103,7 +105,7 @@ "Divar kağızı və üslub" "Home ayarları" "Admininiz tərəfindən deaktiv edilib" - "Əsas ekranın firlanmağına icazə verin" + "Əsas ekran çevrilsin" "Telefon çevrilən zaman" "Bildiriş nöqtələri" "Aktiv" @@ -112,7 +114,7 @@ "Bildiriş Nöqtələrini göstərmək üçün %1$s bildirişlərini aktiv edin" "Ayarları dəyişin" "Bildiriş nöqtələrini göstərin" - "Tətbiq ikonalarını Ana ekrana əlavə edin" + "Əsas ekrana nişanlar əlavə edilsin" "Yeni tətbiqlər üçün" "Naməlum" "Yığışdır" @@ -154,18 +156,16 @@ "Şəxsi" "İş" "İş profili" - "Şəxsi data ayrı olur və iş tətbiqlərindən gizlədilir" - "İş tətbiqləri və datasını İT admininiz görə bilir" - "Növbəti" + + "Anladım" - "İş profilinə fasilə verilib" - "İş tətbiqləri sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" - "İş profili durdurulub. İş tətbiqləri sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" + "İş tətbiqləri deaktivdir" + "İş tətbiqləriniz sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" + "İş tətbiqləri deaktivdir. İş tətbiqləriniz sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" "İş tətbiqləri nişanlanıb və İT administratorunuza görünür" "Anladım" - "İş tətbiqlərini durdurun" - "Aktiv edin" + "İş tətbiqlərini deaktiv edin" + "İş tətbiqlərini aktiv edin" "Filtr" - "İş tətbiqlərinə və bildirişlərə fasilə verin" "Alınmadı: %1$s" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 1417ea66d4..a5000765fb 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -46,7 +46,7 @@ "%1$s, %2$s" "Vidžeti" - "Pretraga" + "Pretražite" "Obrišite tekst iz okvira za pretragu" "Nije dostupan nijedan vidžet" "Nema rezultata pretrage" @@ -55,7 +55,9 @@ "Konverzacije" "Korisne informacije nadohvat ruke" "Da biste pronašli informacije bez otvaranja aplikacija, možete da dodate vidžete na početni ekran" + "Dodirnite da biste promenili podešavanja vidžeta" "Važi" + "Promenite podešavanja vidžeta" "Pretražite aplikacije" "Aplikacije se učitavaju…" "Nije pronađena nijedna aplikacija za „%1$s“" @@ -157,18 +159,16 @@ "Lične" "Poslovne" "Poslovni profil" - "Lični podaci su odvojeni i sakriveni od aplikacija za posao" - "IT administrator vidi poslovne aplikacije i podatke" - "Dalje" + + "Važi" - "Poslovni profil je pauziran" - "Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" - "Poslovni profil je pauziran. Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" + "Poslovne aplikacije su isključene" + "Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" + "Poslovne aplikacije su isključene. Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" "Poslovne aplikacije su označene značkom i IT administrator može da ih vidi" "Važi" - "Pauziraj poslovne aplikacije" - "Uključi" + "Isključi poslovne aplikacije" + "Uključi poslovne aplikacije" "Filter" - "Pauzirajte poslovne aplikacije i obaveštenja" "Nije uspelo: %1$s" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index c0047ce133..aa8acd65d0 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -57,7 +57,9 @@ "Размовы" "Карысная інфармацыя ў вас пад рукой" "Каб не адкрываць праграмы для прагляду патрэбнай інфармацыі, дадайце віджэты на галоўны экран" + "Націсніце, каб змяніць налады віджэта" "Зразумела" + "Змяніць налады віджэта" "Пошук праграм" "Праграмы загружаюцца…" "Праграм, якія адпавядаюць запыту \"%1$s\", не знойдзена" @@ -160,18 +162,16 @@ "Асабістыя" "Працоўныя" "Працоўны профіль" - "Асабістыя даныя схаваны і паказваюцца адасоблена ад працоўных праграм" - "Ваш IТ-адміністратар мае доступ да працоўных праграм і іх даных" - "Далей" + + "Зразумела" - "Працоўны профіль прыпынены" - "Працоўныя праграмы не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да даных пра ваша месцазнаходжанне" - "Працоўны профіль прыпынены. Працоўныя праграмы не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да даных пра ваша месцазнаходжанне" + "Працоўныя праграмы выключаны" + "Працоўныя праграмы не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да даных пра ваша месцазнаходжанне" + "Працоўныя праграмы выключаны. Яны не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да вашага месцазнаходжання" "Працоўныя праграмы маюць значкі і бачныя IT-адміністратару" "Зразумела" - "Прыпыніць працоўныя праграмы" - "Уключыць" + "Выключыць працоўныя праграмы" + "Уключыць працоўныя праграмы" "Фільтр" - "Прыпыніць працоўныя праграмы і апавяшчэнні" "Не ўдалося: %1$s" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 69f20747b7..117ee45e7b 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -53,7 +53,9 @@ "Разговори" "Лесен достъп до полезна информация" "За да получавате информация, без да отваряте приложенията, можете да добавите приспособления към началния екран" + "Докоснете, за да промените настройките на приспособлението" "Разбрах" + "Промяна на настройките на приспособлението" "Търсене в приложенията" "Приложенията се зареждат…" "Няма намерени приложения, съответстващи на „%1$s“" @@ -154,18 +156,16 @@ "Лични" "Служебни" "Служебен потребителски профил" - "Личните данни се съхраняват отделно и са скрити от служебните приложения" - "Служебните приложения и данни са видими за системния ви администратор" - "Напред" + + "Разбрах" - "Служебният потребителски профил е поставен на пауза" - "Служебните приложения не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" - "Служебният потребителски профил е поставен на пауза. Служебните приложения не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" + "Служебните ви приложения са изключени" + "Служебните ви приложения не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" + "Служебните ви приложения са изключени. Те не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" "Служебните приложения са означени със значка и са видими за системния администратор" "Разбрах" - "Поставяне на пауза на служебните приложения" - "Включване" + "Изключване на служебните приложения" + "Включване на служебните приложения" "Филтър" - "Поставете на пауза служебните приложения и известия" "Неуспешно: %1$s" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index 8c8292d25b..e88e4b923d 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -53,7 +53,11 @@ "কথোপকথন" "সহজেই দরকারি তথ্য পান" "অ্যাপ না খুলে তথ্য পাওয়ার জন্য, আপনার হোম স্ক্রিনে উইজেট যোগ করতে পারেন" + + "বুঝেছি" + + "অ্যাপ খুঁজুন" "অ্যাপ লোড হচ্ছে…" "\"%1$s\" এর সাথে মেলে এমন কোনো অ্যাপ পাওয়া যায়নি" @@ -128,7 +132,7 @@ "এখানে আইটেম সরান" "হোম স্ক্রীনে আইটেম যোগ করা হয়েছে" "আইটেম সরানো হয়েছে" - "ফিরে যান" + "ফিরিয়ে আনুন" "আইটেম সরান" "সারি %1$s কলাম %2$s এ সরান" "অবস্থানে সরান %1$s" @@ -154,18 +158,16 @@ "ব্যক্তিগত" "অফিস" "অফিসের প্রোফাইল" - "অফিসের অ্যাপের থেকে ব্যক্তিগত ডেটা আলাদা করে লুকিয়ে রাখা হয়" - "আপনার আইটি অ্যাডমিন অফিস অ্যাপ এবং ডেটা দেখতে পাবেন" - "পরের" + + "বুঝেছি" - "অফিস প্রোফাইল বন্ধ করা আছে" - "অফিসের অ্যাপ আপনাকে নোটিফিকেশন পাঠাতে পারবে না। এছাড়া, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" - "অফিসের প্রোফাইল পজ করা আছে। অফিসের অ্যাপ আপনাকে নোটিফিকেশন পাঠাতে পারবে না। এছাড়া, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" + "অফিসের অ্যাপ বন্ধ আছে" + "অফিসের অ্যাপ আপনাকে নোটিফিকেশন পাঠাতে পারবে না। এছাড়া, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" + "অফিসের অ্যাপ বন্ধ আছে। আপনার অফিসের অ্যাপ আপনাকে বিজ্ঞপ্তি পাঠাতে, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" "অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন" "বুঝেছি" - "অফিসের অ্যাপ পজ করুন" - "চালু করুন" + "অফিসের অ্যাপ বন্ধ করুন" + "অফিসের অ্যাপ চালু করুন" "ফিল্টার" - "অফিস অ্যাপ এবং বিজ্ঞপ্তি বন্ধ করুন" "কাজটি করা যায়নি: %1$s" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index bfec27d709..ed7050fa30 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -55,7 +55,9 @@ "Razgovori" "Korisne informacije nadohvat ruke" "Da dobijete informacije bez otvaranja aplikacija, možete dodati vidžete na početni ekran" + "Dodirnite da promijenite postavke vidžeta" "Razumijem" + "Promjena postavki vidžeta" "Pretražite aplikacije" "Aplikacije se učitavaju…" "Nije pronađena nijedna aplikacija za upit \"%1$s\"" @@ -64,7 +66,7 @@ "Obavještenja" "Dodirnite i zadržite da pomjerite prečicu." "Dvaput dodirnite i zadržite da pomjerite prečicu ili da koristite prilagođene radnje." - "Na ovom početnom ekranu nema više prostora." + "Nema više prostora na ovom početnom ekranu." "Nema više prostora u ladici Omiljeno" "Lista aplikacija" "Lista ličnih aplikacija" @@ -157,18 +159,16 @@ "Lične" "Poslovne" "Radni profil" - "Lični podaci su odvojeni i sakriveni od poslovnih aplikacija" - "Vaš IT administrator može vidjeti poslovne aplikacije i podatke" - "Sljedeće" + + "Razumijem" - "Radni profil je pauziran" - "Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju niti pristupiti vašoj lokaciji" - "Radni profil je pauziran. Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju niti pristupiti vašoj lokaciji" + "Poslovne aplikacije su isključene" + "Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju niti pristupiti vašoj lokaciji" + "Poslovne aplikacije su isključene. Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju ili pristupiti vašoj lokaciji" "Poslovne aplikacije su označene i vaš IT administrator ih može vidjeti" "Razumijem" - "Pauziraj poslovne aplikacije" - "Uključi" + "Isključi poslovne aplikacije" + "Uključi poslovne aplikacije" "Filtrirajte" - "Pauzirajte poslovne aplikacije i obavještenja" "Nije uspjelo: %1$s" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index d35bfc66da..306e0c220f 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -53,7 +53,9 @@ "Converses" "Informació útil a l\'abast de la mà" "Per obtenir informació sense obrir les aplicacions, pots afegir widgets a la pantalla d\'inici" + "Toca per canviar la configuració del widget" "Entesos" + "Canvia la configuració del widget" "Cerca aplicacions" "S\'estan carregant les aplicacions…" "No s\'ha trobat cap aplicació que coincideixi amb \"%1$s\"" @@ -154,18 +156,16 @@ "Personal" "Treball" "Perfil de treball" - "Les dades personals s\'oculten i se separen de les aplicacions de treball" - "L\'administrador de TI pot veure les teves dades i aplicacions de treball" - "Següent" + + "Entesos" - "El perfil de treball està en pausa" - "Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" - "El perfil de treball està en pausa. Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació." + "Les aplicacions de treball estan desactivades" + "Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" + "Les aplicacions de treball estan desactivades: no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" "Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI" "Entesos" - "Posa en pausa les aplicacions de treball" - "Activa" + "Desactiva les aplicacions de treball" + "Activa les aplicacions de treball" "Filtra" - "Posa en pausa les aplicacions i notificacions de treball" "Error: %1$s" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 558d22f812..70c511fd95 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -57,7 +57,9 @@ "Konverzace" "Užitečné informace na dosah" "Pokud chcete mít informace k dispozici bez otevírání aplikací, můžete si na plochu přidat widgety" + "Klepnutím změníte nastavení widgetu" "Rozumím" + "Změnit nastavení widgetu" "Hledat v aplikacích" "Načítání aplikací…" "Dotazu „%1$s“ neodpovídají žádné aplikace" @@ -118,7 +120,7 @@ "Chcete-li zobrazovat puntíky s oznámením, zapněte oznámení z aplikace %1$s" "Změnit nastavení" "Zobrazovat puntíky s oznámením" - "Přidat na plochu ikony aplikací" + "Přidávat na plochu ikony aplikací" "U nových aplikací" "Neznámé" "Odstranit" @@ -160,18 +162,16 @@ "Osobní" "Pracovní" "Pracovní profil" - "Osobní údaje jsou oddělené a před pracovními aplikacemi jsou skryty" - "Pracovní aplikace a údaje může vidět váš administrátor IT" - "Další" + + "Rozumím" - "Pracovní profil je pozastaven" - "Pracovní aplikace vám nemohou zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" - "Pracovní profil je pozastaven. Pracovní aplikace vám nemohou zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" + "Pracovní aplikace jsou vypnuté" + "Pracovní aplikace vám nemohou zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" + "Pracovní aplikace jsou vypnuté. Nemohou vám zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" "Pracovní aplikace jsou označené a viditelné vašemu administrátorovi IT" "OK" - "Pozastavit pracovní aplikace" - "Zapnout" + "Vypnout pracovní aplikace" + "Zapnout pracovní aplikace" "Filtr" - "Pozastavit pracovní aplikace a oznámení" "Selhalo: %1$s" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index dea0183e88..5087ac4fb0 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -53,7 +53,9 @@ "Samtaler" "Nyttige oplysninger lige ved hånden" "Hvis du vil have oplysninger uden at åbne apps, kan du føje widgets til din startskærm" + "Tryk for at ændre widgetindstillinger" "OK" + "Skift widgetindstillinger" "Søg efter apps" "Indlæser apps…" "Der blev ikke fundet nogen apps, som matcher \"%1$s\"" @@ -101,11 +103,11 @@ "Mappe: %1$s, %2$d eller flere elementer" "Baggrunde" "Baggrund og stil" - "Indstillinger for startskærm" + "Indst. for startskærm" "Deaktiveret af din administrator" "Tillad rotation af startskærmen" "Når telefonen roteres" - "Notifikationscirkler" + "Notifikationsprikker" "Til" "Fra" "Kræver adgang til notifikationer" @@ -154,18 +156,16 @@ "Personlige" "Arbejde" "Arbejdsprofil" - "Personlige data er adskilt og skjult fra arbejdsapps" - "Arbejdsapps og -data er synlige for din it-administrator" - "Næste" + + "OK" - "Arbejdsprofilen er sat på pause" - "Arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din placering" - "Arbejdsprofilen er sat på pause. Arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din placering" + "Arbejdsapps er deaktiveret" + "Arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din lokation" + "Arbejdsapps er deaktiveret. Dine arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din lokation" "Arbejdsapps har badges og kan ses af din it-administrator" "OK" - "Sæt arbejdsapps på pause" - "Aktivér" + "Deaktiver arbejdsapps" + "Aktivér arbejdsapps" "Filter" - "Sæt arbejdsapps og notifikationer på pause" "Mislykket: %1$s" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 72929cf869..6ff90222ae 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -53,7 +53,9 @@ "Unterhaltungen" "Praktische Informationen – immer zur Hand" "Wenn du Informationen erhalten möchtest, ohne Apps zu öffnen, kannst du deinem Startbildschirm Widgets hinzufügen" + "Tippen, um die Widget-Einstellungen zu ändern" "OK" + "Widget-Einstellungen ändern" "Apps finden" "Apps werden geladen…" "Keine Apps für \"%1$s\" gefunden" @@ -72,7 +74,7 @@ "App-Info" "Installieren" "App nicht vorschlagen" - "Vorgeschlagene App anpinnen" + "Vorgeschlagene App fixieren" "Verknüpfungen installieren" "Ermöglicht einer App das Hinzufügen von Verknüpfungen ohne Eingreifen des Nutzers" "Einstellungen und Verknüpfungen auf dem Startbildschirm lesen" @@ -154,18 +156,16 @@ "Privat" "Geschäftlich" "Arbeitsprofil" - "Personenbezogene Daten sind für geschäftliche Apps nicht sichtbar oder zugänglich" - "Geschäftliche Apps und Daten können von deinem IT-Administrator eingesehen werden" - "Weiter" + + "OK" - "Arbeitsprofil pausiert" - "Geschäftliche Apps können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen" - "Das Arbeitsprofil ist pausiert. Geschäftliche Apps können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen." + "Geschäftliche Apps sind deaktiviert" + "Deine geschäftlichen Apps können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen" + "Geschäftliche Apps sind deaktiviert. Sie können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen." "Geschäftliche Apps sind gekennzeichnet und für deinen IT-Administrator sichtbar" "OK" - "Geschäftliche Apps pausieren" - "Aktivieren" + "Geschäftliche Apps deaktivieren" + "Geschäftliche Apps aktivieren" "Filter" - "Geschäftliche Apps und Benachrichtigungen pausieren" "Fehler: %1$s" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 4e8ecf951f..b6b44f03e1 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -53,7 +53,9 @@ "Συζητήσεις" "Χρήσιμες πληροφορίες στη διάθεσή σας" "Για να λάβετε πληροφορίες χωρίς να ανοίξετε εφαρμογές, μπορείτε να προσθέσετε γραφικά στοιχεία στην αρχική σας οθόνη." + "Πατήστε για αλλαγή των ρυθμίσεων του γραφικού στοιχείου" "Το κατάλαβα" + "Αλλαγή ρυθμίσεων γραφικού στοιχείου" "Αναζήτηση εφαρμογών" "Φόρτωση εφαρμογών…" "Δεν βρέθηκαν εφαρμογές αντιστοίχισης για \"%1$s\"" @@ -154,18 +156,16 @@ "Προσωπικές" "Εργασίας" "Προφίλ εργασίας" - "Τα προσωπικά δεδομένα βρίσκονται σε ξεχωριστή θέση και δεν είναι ορατά από τις εφαρμογές εργασίας" - "Οι εφαρμογές εργασίας και τα δεδομένα τους είναι ορατά στον διαχειριστή IT" - "Επόμενο" + + "Το κατάλαβα" - "Το προφίλ εργασίας έχει τεθεί σε παύση" - "Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας." - "Το προφίλ εργασίας έχει τεθεί σε παύση. Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας." + "Οι εφαρμογές εργασιών είναι απενεργοποιημένες" + "Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" + "Οι εφαρμογές εργασιών είναι απενεργοποιημένες. Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" "Οι εφαρμογές εργασιών φέρουν σήμα και είναι ορατές στον διαχειριστή IT σας" "Το κατάλαβα" - "Παύση εφαρμογών εργασιών" - "Ενεργοποίηση" + "Απενεργοποίηση εφαρμογών εργασιών" + "Ενεργοποίηση εφαρμογών εργασιών" "Φίλτρο" - "Παύση εφαρμογών εργασίας και ειδοποιήσεων" "Αποτυχία: %1$s" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index ecf68038be..0e585f1032 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -53,7 +53,9 @@ "Conversations" "Useful info at your fingertips" "To get info without opening apps, you can add widgets to your home screen" + "Tap to change widget settings" "OK" + "Change widget settings" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" @@ -154,18 +156,16 @@ "Personal" "Work" "Work profile" - "Personal data is separate and hidden from work apps" - "Work apps and data are visible to your IT admin" - "Next" + + "OK" - "Work profile is paused" - "Work apps can’t send you notifications, use your battery or access your location" - "Work profile is paused. Work apps can’t send you notifications, use your battery or access your location" + "Work apps are off" + "Your work apps can’t send you notifications, use your battery or access your location" + "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" "OK" - "Pause work apps" - "Turn on" + "Turn off work apps" + "Turn on work apps" "Filter" - "Pause work apps and notifications" "Failed: %1$s" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index ecf68038be..0e585f1032 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -53,7 +53,9 @@ "Conversations" "Useful info at your fingertips" "To get info without opening apps, you can add widgets to your home screen" + "Tap to change widget settings" "OK" + "Change widget settings" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" @@ -154,18 +156,16 @@ "Personal" "Work" "Work profile" - "Personal data is separate and hidden from work apps" - "Work apps and data are visible to your IT admin" - "Next" + + "OK" - "Work profile is paused" - "Work apps can’t send you notifications, use your battery or access your location" - "Work profile is paused. Work apps can’t send you notifications, use your battery or access your location" + "Work apps are off" + "Your work apps can’t send you notifications, use your battery or access your location" + "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" "OK" - "Pause work apps" - "Turn on" + "Turn off work apps" + "Turn on work apps" "Filter" - "Pause work apps and notifications" "Failed: %1$s" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index ecf68038be..0e585f1032 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -53,7 +53,9 @@ "Conversations" "Useful info at your fingertips" "To get info without opening apps, you can add widgets to your home screen" + "Tap to change widget settings" "OK" + "Change widget settings" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" @@ -154,18 +156,16 @@ "Personal" "Work" "Work profile" - "Personal data is separate and hidden from work apps" - "Work apps and data are visible to your IT admin" - "Next" + + "OK" - "Work profile is paused" - "Work apps can’t send you notifications, use your battery or access your location" - "Work profile is paused. Work apps can’t send you notifications, use your battery or access your location" + "Work apps are off" + "Your work apps can’t send you notifications, use your battery or access your location" + "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" "OK" - "Pause work apps" - "Turn on" + "Turn off work apps" + "Turn on work apps" "Filter" - "Pause work apps and notifications" "Failed: %1$s" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index ecf68038be..0e585f1032 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -53,7 +53,9 @@ "Conversations" "Useful info at your fingertips" "To get info without opening apps, you can add widgets to your home screen" + "Tap to change widget settings" "OK" + "Change widget settings" "Search apps" "Loading apps…" "No apps found matching \'%1$s\'" @@ -154,18 +156,16 @@ "Personal" "Work" "Work profile" - "Personal data is separate and hidden from work apps" - "Work apps and data are visible to your IT admin" - "Next" + + "OK" - "Work profile is paused" - "Work apps can’t send you notifications, use your battery or access your location" - "Work profile is paused. Work apps can’t send you notifications, use your battery or access your location" + "Work apps are off" + "Your work apps can’t send you notifications, use your battery or access your location" + "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" "OK" - "Pause work apps" - "Turn on" + "Turn off work apps" + "Turn on work apps" "Filter" - "Pause work apps and notifications" "Failed: %1$s" diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml index 9475db92f1..9add9f4820 100644 --- a/res/values-en-rXC/strings.xml +++ b/res/values-en-rXC/strings.xml @@ -53,7 +53,9 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎Conversations‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎Useful info at your fingertips‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎To get info without opening apps, you can add widgets to your Home screen‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‏‎Tap to change widget settings‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‎Got it‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎Change widget settings‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎Search apps‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎Loading apps…‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎No apps found matching \"‎‏‎‎‏‏‎%1$s‎‏‎‎‏‏‏‎\"‎‏‎‎‏‎" @@ -154,18 +156,16 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‎‎Personal‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‎‎Work‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎Work profile‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‎Personal data is separate & hidden from work apps‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎Work apps & data are visible to your IT admin‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎Next‎‏‎‎‏‎" + + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎Got it‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‏‎Work profile is paused‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‏‎‎‎Work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎Work profile is paused. Work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎Work apps are off‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎Your work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎Work apps are off. Your work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎Work apps are badged and visible to your IT admin‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎Got it‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎Pause work apps‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎Turn on‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎Turn off work apps‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‎Turn on work apps‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎Filter‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎Pause work apps and notifications‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎Failed: ‎‏‎‎‏‏‎%1$s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 1f9d5f1dbd..53e7637707 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -48,12 +48,14 @@ "Borra el texto del cuadro de búsqueda" "No hay widgets disponibles" "La búsqueda no arrojó resultados" - "Personal" + "Personales" "Trabajo" "Conversaciones" "Información útil a tu alcance" "Para recibir información de apps sin abrirlas, puedes agregar widgets a la pantalla principal" + "Presiona para cambiar la configuración del widget" "Entendido" + "Cambiar la configuración del widget" "Buscar apps" "Cargando apps…" "No hay apps que coincidan con \"%1$s\"" @@ -154,18 +156,16 @@ "Personales" "De trabajo" "Perfil de trabajo" - "Los datos personales están separados y ocultos de las apps de trabajo" - "El administrador de TI puede ver las apps de trabajo y los datos" - "Siguiente" + + "Entendido" - "El perfil de trabajo está en pausa" - "Las apps de trabajo no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" - "El perfil de trabajo está en pausa. Las apps de trabajo no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" + "Las apps de trabajo están desactivadas" + "Las apps de trabajo no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" + "Las apps de trabajo están desactivadas y, por ende, no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" "Las apps de trabajo tienen una insignia y el administrador de IT las puede ver" "Entendido" - "Detener apps de trabajo" - "Activar" + "Desactivar las apps de trabajo" + "Activar las apps de trabajo" "Filtro" - "Pon en pausa las apps de trabajo y las notificaciones" "Error: %1$s" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 45061d5882..61bd39d38c 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -48,12 +48,14 @@ "Borrar texto del cuadro de búsqueda" "No hay widgets disponibles" "No hay resultados de búsqueda" - "Personal" + "Personales" "Trabajo" "Conversaciones" "Información útil al alcance de la mano" "Para recibir información sin abrir aplicaciones, puedes añadir widgets a la pantalla de inicio." + "Toca para cambiar los ajustes del widget" "Entendido" + "Cambiar ajustes del widget" "Buscar aplicaciones" "Cargando aplicaciones…" "No se han encontrado aplicaciones que contengan \"%1$s\"" @@ -106,7 +108,7 @@ "Permitir rotación de la pantalla de inicio" "Al girar el teléfono" "Puntos de notificación" - "Activados" + "Activado" "Desactivadas" "Se necesita acceso a las notificaciones" "Para mostrar puntos de notificación, activa las notificaciones de %1$s" @@ -154,18 +156,16 @@ "Personal" "Trabajo" "Perfil de trabajo" - "Los datos personales están separados y ocultos de las aplicaciones de trabajo" - "Tu administrador de TI puede ver tus aplicaciones y datos de trabajo" - "Siguiente" + + "Entendido" - "El perfil de trabajo está en pausa" - "Las aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" - "El perfil de trabajo está en pausa. Las aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" + "Las aplicaciones de trabajo están desactivadas" + "Tus aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" + "Las aplicaciones de trabajo están desactivadas, por lo que no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" "Las aplicaciones de trabajo tienen una insignia y tu administrador de TI las puede ver" "Entendido" - "Pausar aplicaciones de trabajo" - "Activar" + "Desactivar aplicaciones de trabajo" + "Activar aplicaciones de trabajo" "Filtro" - "Pausa apps y notificaciones de trabajo" "Se ha producido un error: %1$s" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index ef27c2b0a6..e0c8733820 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -48,12 +48,14 @@ "Kustuta otsingukastis olev tekst" "Ühtki vidinat pole saadaval" "Otsingutulemused puuduvad" - "Isiklik" + "Isiklikud" "Töö" "Vestlused" "Kasulik teave on teie käeulatuses" "Teabe saamiseks rakendusi avamata võite oma avakuvale lisada vidinaid" + "Puudutage vidina seadete muutmiseks" "Selge" + "Vidina seadete muutmine" "Otsige rakendusi" "Rakenduste laadimine …" "Päringule „%1$s” ei vastanud ükski rakendus" @@ -62,7 +64,7 @@ "Märguanded" "Otsetee teisaldamiseks puudutage ja hoidke all." "Otsetee teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all." - "Sellel avaekraanil pole enam ruumi." + "Sellel avakuval pole enam ruumi." "Salves Lemmikud pole rohkem ruumi" "Rakenduste loend" "Isiklike rakenduste loend" @@ -154,18 +156,16 @@ "Isiklik" "Töö" "Tööprofiil" - "Isiklikke andmeid hoitakse töörakendustest eraldi" - "Teie IT-administraator näeb töörakendusi ja -andmeid" - "Järgmine" + + "Selge" - "Tööprofiil on peatatud" - "Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda" - "Tööprofiil on peatatud. Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda" + "Töörakendused on välja lülitatud" + "Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda" + "Töörakendused on välja lülitatud. Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda." "Töörakendustel on märk ja need on teie IT-administraatorile nähtavad" "Selge" - "Peata töörakendused" - "Lülita sisse" + "Lülita töörakendused välja" + "Lülita töörakendused sisse" "Filter" - "Peatage töörakendused ja märguanded" "Nurjus: %1$s" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 735f6e332f..eb038bae2b 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -42,7 +42,7 @@ %1$d lasterbide %1$d lasterbide - "%1$s: %2$s" + "%1$s, %2$s" "Widgetak" "Bilatu" "Garbitu bilaketa-koadroko testua" @@ -52,8 +52,10 @@ "Lanekoak" "Elkarrizketak" "Informazio erabilgarria beti eskura" - "Aplikazioa ireki beharrik gabe informazioa zuzenean jasotzeko, gehitu widgetak hasierako pantailan" + "Aplikaziorik ireki beharrik gabe informazioa zuzenean jasotzeko, gehitu widgetak hasierako pantailan" + "Sakatu hau widgeten ezarpenak aldatzeko" "Ados" + "Aldatu widgeten ezarpenak" "Bilatu aplikazioetan" "Aplikazioak kargatzen…" "Ez da aurkitu \"%1$s\" bilaketaren emaitzarik" @@ -154,18 +156,16 @@ "Pertsonalak" "Lanekoak" "Laneko profila" - "Datu pertsonalak ez daude laneko aplikazioetan, eta ezin dira haien bidez ikusi" - "IKT saileko administratzaileak laneko aplikazioak eta datuak ikus ditzake" - "Hurrengoa" + + "Ados" - "Laneko profila pausatuta dago" - "Laneko aplikazioek ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu" - "Laneko profila pausatuta dago. Laneko aplikazioek ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu." + "Laneko aplikazioak desaktibatuta daude" + "Laneko aplikazioek ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu" + "Laneko aplikazioak desaktibatuta daude. Hori dela eta, ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu." "Laneko aplikazioek bereizgarriak dituzte, eta IKT saileko administratzaileak ikus ditzake" "Ados" - "Pausatu laneko aplikazioak" - "Aktibatu" + "Desaktibatu laneko aplikazioak" + "Aktibatu laneko aplikazioak" "Iragazi" - "Pausatu laneko aplikazioak eta jakinarazpenak" "Huts egin du: %1$s" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 29ada372e5..0926e48f81 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -48,12 +48,14 @@ "پاک کردن نوشتار از چارگوش جستجو" "ابزارکی دردسترس نیست" "بدون نتیجه جستجو" - "شخصی" + "ابزارک‌های شخصی" "کار" "مکالمه‌ها" "دسترسی آسان به اطلاعات سودمند" "با افزودن ابزارک‌ها به «صفحه اصلی» می‌توانید اطلاعات را بدون باز کردن برنامه‌ها دریافت کنید" + "برای تغییر تنظیمات ابزارک، ضربه بزنید" "متوجه‌ام" + "تغییر تنظیمات ابزارک" "جستجوی برنامه‌ها" "درحال بارگیری برنامه‌‌ها…" "هیچ برنامه‌ای در مطابقت با «%1$s» پیدا نشد" @@ -154,18 +156,16 @@ "شخصی" "کاری" "نمایه کاری" - "داده‌های شخصی از برنامه‌های کاری جدا و از دسترس آن‌ها پنهان هستند" - "برنامه‌های کاری و داده‌ها برای سرپرست فناوری اطلاعات نمایان هستند" - "بعدی" + + "متوجه‌ام" - "نمایه کاری موقتاً متوقف شده است" - "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" - "نمایه کاری موقتاً متوقف شده است. برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" + "برنامه‌های کاری خاموش است" + "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" + "برنامه‌های کاری خاموش است. برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند." "متوجه‌ام" - "توقف موقت برنامه‌های کاری" - "روشن کردن" + "خاموش کردن برنامه‌های کاری" + "روشن کردن برنامه‌های کاری" "فیلتر" - "توقف موقت برنامه‌های کاری و اعلان‌ها" "ناموفق بود: %1$s" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index c4d0655d78..4ebc8d279b 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -48,12 +48,14 @@ "Tyhjennä teksti hakukentästä" "Ei widgetejä käytettävissä" "Ei hakutuloksia" - "Henkilökohtainen" + "Henkilökohtaiset" "Työ" "Keskustelut" "Hyödyllisiä tietoja käden ulottuvilla" "Jos haluat nähdä tietoja avaamatta sovelluksia, voit lisätä aloitusnäytölle widgetejä" + "Napauta, niin voit muuttaa widgetin asetuksia" "OK" + "Muuta widgetin asetuksia" "Hae sovelluksia" "Ladataan sovelluksia…" "%1$s ei palauttanut sovelluksia." @@ -154,18 +156,16 @@ "Henkilökohtaiset" "Työsovellukset" "Työprofiili" - "Henkilökohtainen data pidetään erillään, piilotettuna työsovelluksilta" - "Työsovellukset ja ‑data näkyvät IT-järjestelmänvalvojalle" - "Seuraava" + + "Selvä" - "Työprofiilin käyttö on keskeytetty" - "Työsovellukset eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai paikantaa sijaintiasi" - "Työprofiilin käyttö on keskeytetty. Työsovellukset eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai paikantaa sijaintiasi" + "Työsovellukset ovat pois päältä" + "Työsovellukset eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai paikantaa sijaintiasi" + "Työsovellukset ovat pois päältä. Ne eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai sijaintiasi" "Työsovellukset on merkitty ja ne näkyvät IT-järjestelmänvalvojalle" "OK" - "Keskeytä työsovellusten käyttö" - "Laita päälle" + "Laita työsovellukset pois päältä" + "Laita työsovellukset päälle" "Suodatin" - "Keskeytä työsovellukset ja ‑ilmoitukset" "Epäonnistui: %1$s" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index e7801c9571..0a66787554 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -53,7 +53,9 @@ "Conversations" "Renseignements utiles à portée de main" "Pour obtenir des renseignements sans ouvrir aucune application, vous pouvez ajouter des widgets à votre écran d\'accueil" + "Touchez pour modifier les paramètres du widget" "OK" + "Modifier les paramètres du widget" "Rechercher dans les applications" "Chargement des applications en cours…" "Aucune application trouvée correspondant à « %1$s »" @@ -127,7 +129,7 @@ "Ajouter à l\'écran d\'accueil" "Déplacer l\'élément ici" "Élément ajouté à l\'écran d\'accueil" - "Élément supprimé" + "Élément retiré" "Annuler" "Déplacer l\'élément" "Déplacer vers rangée %1$s colonne %2$s" @@ -154,18 +156,16 @@ "Personnel" "Travail" "Profil professionnel" - "Les données personnelles sont distinctes et masquées des applications professionnelles" - "Les applications et les données professionnelles sont visibles pour votre administrateur informatique" - "Suivant" + + "OK" - "Le profil professionnel est interrompu" - "Les applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" - "Le profil professionnel est interrompu. Les applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" + "Les applications professionnelles sont désactivées" + "Les applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" + "Les applications professionnelles sont désactivées. Vos applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" "Les applications professionnelles sont indiquées par un badge et sont visibles pour votre administrateur informatique" "OK" - "Mettre en pause les applications professionnelles" - "Activer" + "Désactiver les applications professionnelles" + "Activer les applications professionnelles" "Filtrer" - "Interrompre les applications et les notifications professionnelles" "Échec : %1$s" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index adc04fd0d3..f08f7eb0ba 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -53,7 +53,9 @@ "Conversations" "Infos utiles à portée de main" "Pour obtenir des infos sans ouvrir d\'applis, vous pouvez ajouter des widgets à votre écran d\'accueil" + "Appuyez pour modifier les paramètres du widget" "OK" + "Modifier les paramètres du widget" "Rechercher dans les applications" "Chargement des applications…" "Aucune application ne correspond à la requête \"%1$s\"" @@ -112,7 +114,7 @@ "Pour afficher les pastilles de notification, activez les notifications de l\'application %1$s" "Modifier les paramètres" "Afficher les pastilles de notification" - "Ajouter icônes d\'applis à l\'écran d\'acc." + "Ajouter les icônes des applis à l\'écran d\'accueil" "Pour les nouvelles applications" "Inconnu" "Supprimer" @@ -154,18 +156,16 @@ "Personnelles" "Professionnelles" "Profil professionnel" - "Les applications professionnelles n\'ont pas accès aux données personnelles" - "Votre administrateur informatique a accès à vos applications et données professionnelles" - "Suivant" + + "OK" - "Profil professionnel en pause" - "Les applis professionnelles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position" - "Profil professionnel en pause. Les applis professionnelles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position" + "Les applis professionnelles sont désactivées" + "Vos applis professionnelles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position" + "Vos applis professionnelles sont désactivées. Elles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position." "Les applis professionnelles sont identifiées par un badge et votre administrateur informatique peut les voir" "OK" - "Mettre en pause les applis professionnelles" - "Activer" + "Désactiver les applis professionnelles" + "Activer les applications professionnelles" "Filtre" - "Mettre en pause vos applications et notifications professionnelles" "Échec : %1$s" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 615c644cc9..6a7a6ef10e 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -53,7 +53,9 @@ "Conversas" "Información útil ao teu alcance" "Se queres obter información sen abrir as aplicacións, podes engadir widgets á pantalla de inicio" + "Toca para cambiar a configuración do widget" "Entendido" + "Cambiar configuración do widget" "Buscar aplicacións" "Cargando aplicacións…" "Non se atoparon aplicacións que coincidan con \"%1$s\"" @@ -154,18 +156,16 @@ "Persoal" "Traballo" "Perfil de traballo" - "Os datos persoais sepáranse e ocúltanse das aplicacións do traballo" - "O teu administrador de TI pode ver as túas aplicacións e datos do traballo" - "Seguinte" + + "Entendido" - "O perfil de traballo está en pausa" - "As aplicacións do traballo non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" - "O perfil de traballo está en pausa. As aplicacións do traballo non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" + "As aplicacións do traballo están desactivadas" + "As aplicacións do traballo non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" + "As aplicacións do traballo están desactivadas e non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" "O administrador de TI pode ver as aplicacións do traballo e engadirlles indicadores" "Entendido" - "Pór en pausa aplicacións do traballo" - "Activar" + "Desactivar aplicacións do traballo" + "Activar aplicacións do traballo" "Filtra" - "Pon en pausa as aplicacións e as notificacións do traballo" "Erro: %1$s" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index d9ffa68a3b..4b3821ce03 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -53,7 +53,11 @@ "વાતચીતો" "ઉપયોગી માહિતી તમારી આંગળીના ટેરવે" "ઍપને ખોલ્યા વિના માહિતી મેળવવા માટે, તમે તમારી હોમ સ્ક્રીન પર વિજેટ ઉમેરી શકો છો" + + "સમજાઈ ગયું" + + "શોધ ઍપ્લિકેશનો" "ઍપ્લિકેશનો લોડ કરી રહ્યું છે…" "\"%1$s\"થી મેળ ખાતી કોઈ ઍપ્લિકેશનો મળી નથી" @@ -113,7 +117,7 @@ "સેટિંગ્સ બદલો" "નોટિફિકેશન માટેના ચિહ્ન બતાવો" "ઍપના આઇકન હોમ સ્ક્રીન પર ઉમેરો" - "નવી ઍપ્લિકેશનો માટે" + "નવી ઍપ માટે" "અજાણ્યો" "દૂર કરો" "શોધો" @@ -154,18 +158,16 @@ "મનગમતી ઍપ" "ઑફિસની ઍપ" "ઑફિસની પ્રોફાઇલ" - "વ્યક્તિગત ડેટા ઑફિસ માટેની ઍપથી અલગ અને છુપાવીને રાખેલો છે" - "ઑફિસ માટેની ઍપ અને ડેટા તમારા IT વ્યવસ્થાપકને દેખાય છે" - "આગળ" + + "સમજાઈ ગયું" - "ઑફિસની પ્રોફાઇલ થોભાવી છે" - "ઑફિસ માટેની ઍપ તમને નોટિફિકેશન મોકલી શકતી નથી, તમારી બૅટરી વાપરી શકતી નથી કે તમારું સ્થાન ઍક્સેસ કરી શકતી નથી" - "ઑફિસની પ્રોફાઇલ થોભાવી છે. ઑફિસ માટેની ઍપ તમને નોટિફિકેશન મોકલી શકતી નથી, તમારી બૅટરી વાપરી શકતી નથી કે તમારું સ્થાન ઍક્સેસ કરી શકતી નથી" + "ઑફિસ માટેની ઍપ બંધ છે" + "ઑફિસ માટેની તમારી ઍપ તમને નોટિફિકેશન મોકલી શકતી નથી, તમારી બૅટરી વાપરી શકતી નથી કે તમારું સ્થાન ઍક્સેસ કરી શકતી નથી" + "ઑફિસ માટેની ઍપ બંધ છે. ઑફિસ માટેની તમારી ઍપ તમને નોટિફિકેશન મોકલી શકતી નથી, તમારી બૅટરી વાપરી શકતી નથી કે તમારું સ્થાન ઍક્સેસ કરી શકતી નથી" "ઑફિસની ઍપને બૅજ આપેલા હોય છે અને તમારા IT વ્યવસ્થાપક તેમને જોઈ શકે છે" "સમજાઈ ગયું" - "ઑફિસની ઍપ થોભાવો" - "ચાલુ કરો" + "ઑફિસ માટેની ઍપ બંધ કરો" + "ઑફિસ માટેની ઍપ ચાલુ કરો" "ફિલ્ટર કરો" - "ઑફિસ માટેની ઍપ અને નોટિફિકેશન થોભાવો" "નિષ્ફળ: %1$s" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 5cfb7dbf1b..8af8f066ad 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -53,7 +53,9 @@ "बातचीत" "काम की जानकारी आसानी से पाएं" "ऐप्लिकेशन को खोले बिना उनकी जानकारी पाने के लिए, आप होम स्क्रीन पर विजेट जोड़ सकते हैं" + "विजेट की सेटिंग में बदलाव करने के लिए टैप करें" "ठीक है" + "विजेट की सेटिंग में बदलाव करें" "ऐप सर्च करें" "ऐप्लिकेशन लोड हो रहे हैं…" "\"%1$s\" से मिलता-जुलता कोई ऐप्लिकेशन नहीं मिला" @@ -154,18 +156,16 @@ "निजी ऐप" "काम से जुड़े ऐप" "वर्क प्रोफ़ाइल" - "निजी डेटा को अलग रखा जाता है. साथ ही, ऑफ़िस के काम से जुड़े ऐप्लिकेशन से छिपा कर रखा जाता है" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन और डेटा, आपके आईटी एडमिन को दिखते हैं" - "आगे बढ़ें" + + "ठीक है" - "वर्क प्रोफ़ाइल रोक दी गई है" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन रोक दिए गए हैं. ऑफ़िस के काम से जुड़े ऐप्लिकेशन आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद हैं" + "ऑफ़िस के काम से जुड़े आपके ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद हैं. ये ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन, बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" "ठीक है" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन रोकें" - "चालू करें" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद करें" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन चालू करें" "फ़िल्टर" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन और सूचनाएं रोकें" "पूरा नहीं हुआ: %1$s" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 6c94f31b49..3f1e1b0762 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -50,12 +50,14 @@ "Izbrišite tekst iz okvira za pretraživanje" "Nije dostupan nijedan widget" "Nema rezultata pretraživanja" - "Osobno" + "Osobni" "Posao" "Razgovori" "Korisne informacije nadohvat ruke" "Da biste dobili informacije bez otvaranja aplikacija, možete dodati widgete na početni zaslon" + "Dodirnite da biste promijenili postavke widgeta" "Shvaćam" + "Promijenite postavke widgeta" "Pretraži aplikacije" "Učitavanje aplikacija…" "Nema aplikacija podudarnih s upitom \"%1$s\"" @@ -115,7 +117,7 @@ "Za prikaz točaka obavijesti uključite obavijesti aplikacije %1$s" "Promjena postavki" "Prikaži točke obavijesti" - "Dodajte ikone aplikacija na početni zaslon" + "Dodaj ikone aplikacija na početni zaslon" "Za nove aplikacije" "Nepoznato" "Ukloni" @@ -157,18 +159,16 @@ "Osobno" "Posao" "Poslovni profil" - "Osobni podaci odvojeni su i skriveni od poslovnih aplikacija" - "Podaci poslovnih aplikacija vidljivi su vašem IT administratoru" - "Dalje" + + "Shvaćam" - "Poslovni profil je pauziran" - "Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju niti pristupiti vašoj lokaciji" - "Poslovni profil je pauziran. Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju niti pristupiti vašoj lokaciji" + "Poslovne aplikacije su isključene" + "Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju niti pristupiti vašoj lokaciji" + "Poslovne aplikacije su isključene. Ne mogu vam slati obavijesti, trošiti bateriju ili pristupiti vašoj lokaciji" "Poslovne su aplikacije označene i vidljive vašem IT administratoru" "Shvaćam" - "Pauziraj poslovne aplikacije" - "Uključi" + "Isključite poslovne aplikacije" + "Uključite poslovne aplikacije" "Filtrirajte" - "Pauzirajte poslovne aplikacije i obavijesti" "Nije uspjelo: %1$s" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 5e1b032255..09c4d5093a 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -53,7 +53,9 @@ "Beszélgetések" "Hasznos információk egy koppintásnyira" "Ha az alkalmazások megnyitása nélkül szeretne információhoz jutni, felvehet modulokat a kezdőképernyőre." + "Ide koppintva módosíthatja a modulbeállításokat" "Értem" + "A modulbeállítások módosítása" "Alkalmazások keresése" "Alkalmazások betöltése…" "Nem található alkalmazás a(z) „%1$s” lekérdezésre" @@ -154,18 +156,16 @@ "Személyes" "Munkahelyi" "Munkaprofil" - "A személyes adatok el vannak különítve a munkahelyi alkalmazásoktól, amelyek nem is látják őket" - "A munkahelyi alkalmazásokat és adatokat látja a rendszergazda" - "Tovább" + + "Értem" - "A munkaprofil használata szünetel" - "A munkahelyi alkalmazások nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez." - "A munkaprofil szüneteltetve van. A munkahelyi alkalmazások nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez." + "A munkahelyi alkalmazások ki vannak kapcsolva" + "A munkahelyi alkalmazások nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez." + "A munkahelyi alkalmazások ki vannak kapcsolva, nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez" "A munkahelyi alkalmazások jelvénnyel vannak megjelölve, és láthatók a rendszergazda számára" "Értem" - "Munkahelyi alkalmazások szüneteltetése" - "Bekapcsolás" + "Kapcsolja ki a munkahelyi alkalmazásokat" + "Kapcsolja be a munkahelyi alkalmazásokat" "Szűrő" - "Munkahelyi alkalmazások és értesítések szüneteltetése" "Sikertelen: %1$s" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index f7d6b317aa..ef87d0619c 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -53,7 +53,9 @@ "Զրույցներ" "Օգտակար տեղեկությունները՝ միշտ հասանելի" "Ավելացրեք վիջեթներ ձեր հիմնական էկրանին և ստացեք տեղեկություններ՝ առանց հավելվածները բացելու։" + "Հպեք՝ վիջեթի կարգավորումները փոփոխելու համար" "Եղավ" + "Փոխել վիջեթի կարգավորումները" "Որոնել հավելվածներ" "Հավելվածների բեռնում…" %1$s» հարցմանը համապատասխանող հավելվածներ չեն գտնվել" @@ -101,7 +103,7 @@ "Պանակ՝ %1$s, %2$d կամ ավելի տարրեր" "Պաստառներ" "Պաստառ և ոճ" - "Գլխավոր էջի կարգավորումներ" + "Գլխավոր էկրանի կարգավորումներ" "Անջատվել է ձեր ադմինիստրատորի կողմից" "Թույլ տալ հիմնական էկրանի պտտումը" "Հեռախոսը պտտելու դեպքում" @@ -154,18 +156,16 @@ "Անձնական" "Աշխատանքային" "Աշխատանքային պրոֆիլ" - "Անձնական տվյալները առանձին են և թաքցված են, երբ ցուցադրվում են աշխատանքայինները" - "Աշխատանքային հավելվածներն ու դրանց տվյալները տեսանելի են ձեր ադմինիստրատորին" - "Առաջ" + + "Եղավ" - "Աշխատանքային պրոֆիլը դադարեցված է" - "Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել ձեր մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" - "Աշխատանքային պրոֆիլը դադարեցված է։ Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել ձեր մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" - "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ձեր ՏՏ ադմինիստրատորին" + "Աշխատանքային հավելվածներն անջատված են" + "Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" + "Աշխատանքային հավելվածներն անջատված են։ Դրանք չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" + "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" "Եղավ" - "Դադարեցնել աշխատանքային հավելվածները" - "Միացնել" + "Անջատել աշխատանքային հավելվածները" + "Միացնել աշխատանքային հավելվածները" "Զտեք" - "Դադարեցնել աշխատանքային հավելվածներն ու ծանուցումները" "Չհաջողվեց կատարել գործողությունը (%1$s)" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 782737c31e..c3cdcfcf6a 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -51,9 +51,11 @@ "Pribadi" "Kantor" "Percakapan" - "Info bermanfaat yang mudah diakses" + "Info yang bermanfaat di ujung jari Anda" "Untuk mendapatkan info tanpa membuka aplikasi, Anda dapat menambahkan widget ke Layar utama" + "Ketuk untuk mengubah setelan widget" "Oke" + "Ubah setelan widget" "Telusuri aplikasi" "Memuat aplikasi…" "Tidak ditemukan aplikasi yang cocok dengan \"%1$s\"" @@ -62,7 +64,7 @@ "Notifikasi" "Sentuh lama untuk memindahkan pintasan." "Ketuk dua kali & tahan untuk memindahkan pintasan atau gunakan tindakan khusus." - "Tidak ada ruang lagi pada layar Utama ini." + "Tidak ada ruang lagi di Layar Utama ini." "Tidak ada ruang tersisa di baki Favorit" "Daftar aplikasi" "Daftar aplikasi pribadi" @@ -154,18 +156,16 @@ "Pribadi" "Kerja" "Profil kerja" - "Data pribadi terpisah & tersembunyi dari aplikasi kerja" - "Aplikasi & data kerja terlihat oleh admin IT" - "Berikutnya" + + "Oke" - "Profil kerja dijeda" - "Aplikasi kerja tidak dapat mengirimi Anda notifikasi, menggunakan baterai, atau mengakses lokasi Anda" - "Profil kerja dijeda. Aplikasi kerja tidak dapat mengirimi Anda notifikasi, menggunakan baterai, atau mengakses lokasi Anda" + "Aplikasi kerja dinonaktifkan" + "Aplikasi kerja tidak dapat mengirimkan notifikasi, menggunakan baterai, atau mengakses lokasi Anda" + "Aplikasi kerja dinonaktifkan. Aplikasi kerja tidak dapat mengirimkan notifikasi, menggunakan baterai, atau mengakses lokasi Anda" "Aplikasi kerja diberi badge dan terlihat oleh admin IT" "Oke" - "Jeda aplikasi kerja" - "Aktifkan" + "Nonaktifkan aplikasi kerja" + "Aktifkan aplikasi kerja" "Filter" - "Jeda notifikasi dan aplikasi kerja" "Gagal: %1$s" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index b15e86c404..d3774ed827 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -53,7 +53,9 @@ "Samtöl" "Gagnlegar upplýsingar innan seilingar" "Þú getur bætt við græjum á heimaskjáinn til að fá upplýsingar án þess að opna forrit" + "Ýttu til að breyta græjustillingum" "Ég skil" + "Breyta græjustillingum" "Leita í forritum" "Hleður forrit…" "Ekki fundust forrit sem samsvara „%1$s“" @@ -154,18 +156,16 @@ "Persónulegt" "Vinna" "Vinnusnið" - "Persónuupplýsingar eru aðskildar og faldar í vinnuforritum" - "Gögn vinnuforrita eru sýnileg kerfisstjóranum þínum" - "Áfram" + + "Ég skil" - "Hlé gert á vinnusniði" - "Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" - "Hlé gert á vinnusniði. Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" + "Slökkt er á vinnuforritum" + "Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" + "Slökkt er á vinnuforritum. Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" "Vinnuforrit eru merkt og kerfisstjórinn getur séð þau" "Ég skil" - "Setja vinnuforrit í bið" - "Kveikja" + "Slökkva á vinnuforritum" + "Kveikja á vinnuforritum" "Sía" - "Gera hlé á vinnuforritum og tilkynningum" "Mistókst: %1$s" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 23297e4a4b..58135218c0 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -53,7 +53,9 @@ "Conversazioni" "Informazioni utili a portata di mano" "Per ricevere informazioni senza aprire app, puoi aggiungere widget alla schermata Home" + "Tocca per modificare le impostazioni del widget" "OK" + "Modifica le impostazioni del widget" "Cerca nelle app" "Caricamento delle app…" "Nessuna app trovata corrispondente a \"%1$s\"" @@ -154,18 +156,16 @@ "Personali" "Lavoro" "Profilo di lavoro" - "I dati personali sono separati e non sono visibili nelle app di lavoro" - "I dati e le app di lavoro sono visibili all\'amministratore IT" - "Avanti" + + "OK" - "Profilo di lavoro in pausa" - "Le app di lavoro non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" - "Profilo di lavoro in pausa. Le app di lavoro non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" + "Le app di lavoro non sono attive" + "Le app di lavoro non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" + "Le app di lavoro non sono attive e non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" "Le app di lavoro sono contrassegnate con un badge e sono visibili dal tuo amministratore IT" "OK" - "Metti in pausa le app di lavoro" - "Attiva" + "Disattiva app di lavoro" + "Attiva app di lavoro" "Filtra" - "Metti in pausa le app di lavoro e le relative notifiche" "Operazione non riuscita: %1$s" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index 8ec7de366f..f07b4e554d 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -52,12 +52,14 @@ "מחיקת טקסט מתיבת החיפוש" "אין ווידג\'טים זמינים" "אין תוצאות חיפוש" - "אישי" + "ווידג\'טים אישיים" "עבודה" "שיחות" "קבלת מידע שימושי בהקשה" "רוצה לקבל מידע בלי לפתוח אפליקציות? אפשר להוסיף ווידג\'טים למסך הבית" + "אפשר לשנות את הגדרות הווידג\'ט בהקשה" "הבנתי" + "שינוי הגדרות הווידג\'ט" "חיפוש אפליקציות" "טעינת אפליקציות מתבצעת…" "לא נמצאו אפליקציות התואמות ל-\"%1$s\"" @@ -66,7 +68,7 @@ "התראות" "כדי להעביר קיצור דרך למקום אחר יש לגעת ולא להרפות." "כדי להעביר קיצור דרך למקום אחר או להשתמש בפעולות מותאמות אישית\' יש ללחוץ פעמיים ולא להרפות." - "אין עוד מקום במסך דף הבית הזה." + "אין עוד מקום במסך הבית הזה." "אין עוד מקום במגש המועדפים" "רשימת אפליקציות" "רשימת אפליקציות אישיות" @@ -160,18 +162,16 @@ "אישיות" "עבודה" "פרופיל עבודה" - "מידע אישי מאוחסן בנפרד ומוסתר מאפליקציות לעבודה" - "‏אפליקציות לעבודה ונתוני פרופיל העבודה שלך גלויים למנהל ה-IT" - "הבא" + + "הבנתי" - "פרופיל העבודה מושהה" - "האפליקציות לעבודה לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" - "פרופיל העבודה מושהה. האפליקציות לעבודה לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" + "האפליקציות לעבודה מושבתות" + "האפליקציות לעבודה לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" + "האפליקציות לעבודה מושבתות. האפליקציות לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" "‏האפליקציות לעבודה מתויגות ומוצגות למנהל ה-IT" "הבנתי" - "השהיית האפליקציות לעבודה" - "הפעלה" + "כיבוי של אפליקציות לעבודה" + "הפעלה של אפליקציות לעבודה" "סינון" - "השהיה של ההתראות והאפליקציות בפרופיל העבודה" "הפעולה נכשלה: %1$s" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index d54f884372..0d60f6d656 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -53,7 +53,9 @@ "会話" "スワイプだけで役立つ情報をいつでも入手" "ホーム画面にウィジェットを追加すると、アプリを開かずに情報を入手できます" + "タップしてウィジェットの設定を変更する" "OK" + "ウィジェットの設定を変更します" "アプリを検索" "アプリを読み込んでいます…" "「%1$s」に一致するアプリは見つかりませんでした" @@ -62,7 +64,7 @@ "通知" "長押ししてショートカットを移動してください。" "ショートカットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。" - "このホーム画面に空きスペースがありません。" + "このホーム画面には空きスペースがありません。" "お気に入りトレイに空きスペースがありません" "アプリのリスト" "個人用アプリのリスト" @@ -104,7 +106,7 @@ "ホームの設定" "管理者により無効にされています" "ホーム画面の回転を許可" - "スマートフォンが回転したとき" + "スマートフォンの向きに合わせます" "通知ドット" "ON" "OFF" @@ -113,7 +115,7 @@ "設定を変更" "通知ドットの表示" "ホーム画面にアプリのアイコンを追加" - "新しいアプリをダウンロードしたとき" + "新しいアプリをダウンロードしたときに自動で追加します" "不明" "削除" "検索" @@ -154,18 +156,16 @@ "個人用" "仕事用" "仕事用プロファイル" - "個人用と仕事用のデータは分離され、アプリは別々に表示されます" - "仕事用アプリと仕事用データは IT 管理者に公開されます" - "次へ" + + "OK" - "仕事用プロファイルが一時停止しています" - "仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" - "仕事用プロファイルが一時停止しています。仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" + "仕事用アプリは OFF になっています" + "仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" + "仕事用アプリは OFF になっています。仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" "仕事用アプリはバッジが付き、IT 管理者に公開されます" "OK" - "仕事用アプリを一時停止" - "ON にする" + "仕事用アプリを OFF にする" + "仕事用アプリを ON にする" "フィルタ" - "仕事用のアプリと通知を一時停止します" "失敗: %1$s" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 1347d1debc..51246be30b 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -53,7 +53,9 @@ "მიმოწერები" "ადვილად მისაწვდომი სასარგებლო ინფორმაცია" "იმისთვის, რომ ინფორმაცია აპების გაუხსნელად მიიღოთ, შეგიძლიათ, მთავარ ეკრანზე ვიჯეტები დაამატოთ" + "შეეხეთ ვიჯეტის პარამეტრების შესაცვლელად" "გასაგებია" + "ვიჯეტის პარამეტრების შეცვლა" "აპების ძიება" "აპები იტვირთება…" "„%1$s“-ის თანხვედრი აპები არ მოიძებნა" @@ -154,18 +156,16 @@ "პირადი" "სამსახური" "სამსახურის პროფილი" - "პერსონალური მონაცემები განცალკევებულია და თქვენი სამსახურის აპებისთვის უხილავია" - "თქვენი IT ადმინისტრატორი თქვენს სამსახურის აპებში არსებულ მონაცემებს ხედავს" - "შემდეგ" + + "გასაგებია" - "სამსახურის პროფილი დაპაუზებულია" - "სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" - "სამსახურის პროფილი დაპაუზებულია. სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" + "სამსახურის აპები გამორთულია" + "თქვენს სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" + "სამსახურის აპები გამორთულია. თქვენს სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" "სამსახურის აპები ბეჯით არის მონიშნული და ხილულია IT ადმინისტრატორისთვის" "გასაგებია" - "სამსახურის აპების დაპაუზება" - "ჩართვა" + "სამსახურის აპების გამორთვა" + "სამსახურის აპების ჩართვა" "ფილტრი" - "სამსახურის აპებისა და შეტყობინებების დაპაუზება" "ვერ მოხერხდა: %1$s" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 640ffca72d..b2753a2e88 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -28,11 +28,11 @@ "Таңбаша қолжетімді емес" "Негізгі экран" "Экранды бөлу" - "Виджетті жылжыту үшін түртіп ұстап тұрыңыз." + "Виджетті жылжыту үшін басып тұрыңыз." "Виджетті жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." "%1$d × %2$d" "Ені: %1$d, биіктігі: %2$d" - "Негізгі экранда қозғалту үшін виджетті басып, ұстап тұрыңыз." + "Негізгі экранда қозғалту үшін виджетті басып тұрыңыз." "Негізгі экранға қосу" %1$d виджет @@ -53,14 +53,16 @@ "Әңгімелер" "Саусақпен түртсеңіз болғаны – пайдалы ақпарат көз алдыңызда" "Қолданбаларды ашпай-ақ ақпарат алу үшін негізгі экранға тиісті виджеттерді қосыңыз." + "Виджет параметрлерін өзгерту үшін түртіңіз." "Түсінікті" + "Виджет параметрлерін өзгерту" "Қолданбаларды іздеу" "Қолданбалар жүктелуде…" "\"%1$s\" сұрауына сәйкес келетін қолданбалар жоқ" "Қосымша қолданбалар іздеу" "Қолданба" "Хабарландырулар" - "Таңбашаны жылжыту үшін түртіп ұстап тұрыңыз." + "Таңбашаны жылжыту үшін басып тұрыңыз." "Таңбашаны жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." "Бұл Негізгі экранда орын қалмады." "Қалаулылар науасында орын қалмады" @@ -154,18 +156,16 @@ "Жеке" "Жұмыс" "Жұмыс профилі" - "Жеке деректер бөлек орналасқан және жұмыс қолданбаларынан жасырылған" - "Әкімшіңіз жұмыс қолданбалары мен деректерін көре алады" - "Келесі" + + "Түсінікті" - "Жұмыс профилі кідіртілді" - "Жұмыс қолданбалары сізге хабарландырулар жібере алмайды, батареяңызды немесе локацияңызды пайдалана алмайды." - "Жұмыс профилі уақытша тоқтатылды. Жұмыс қолданбалары сізге хабарландырулар жібере алмайды, батареяңызды немесе локацияңызды пайдалана алмайды." + "Жұмыс қолданбалары өшірулі" + "Жұмыс қолданбалары сізге хабарландырулар жібере, батареяңызды немесе локацияңызды пайдалана алмайды." + "Жұмыс қолданбалары өшірулі. Олар сізге хабарландырулар жібере, батареяңызды немесе локацияңызды пайдалана алмайды." "Жұмыс қолданбаларының танымбелгілері бар және олар әкімшіңізге көрінеді." "Түсінікті" - "Жұмыс қолданбаларын тоқтата тұру" - "Қосу" + "Жұмыс қолданбаларын өшіру" + "Жұмыс қолданбаларын қосу" "Сүзгі" - "Жұмыс қолданбалары мен хабарландыруларын кідірту" "Қате шықты: %1$s" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 4f0964836c..82c9a36123 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -53,7 +53,9 @@ "ការសន្ទនា" "ទទួលបាន​ព័ត៌មានដែលមានប្រយោជន៍​យ៉ាងងាយស្រួល" "ដើម្បីទទួលបាន​ព័ត៌មាន​ដោយមិនចាំបាច់​បើកកម្មវិធី អ្នកអាចបញ្ចូលធាតុ​ក្រាហ្វិកទៅក្នុង​អេក្រង់ដើម​របស់អ្នក" + "ចុចដើម្បីប្ដូរការកំណត់ធាតុ​ក្រាហ្វិក" "យល់ហើយ" + "ប្ដូរការកំណត់ធាតុ​ក្រាហ្វិក" "ស្វែងរក​កម្មវិធី" "កំពុងផ្ទុកកម្មវិធី…" "រកមិនឃើញកម្មវិធី​ដែលត្រូវគ្នាជាមួយ \"%1$s\" ទេ" @@ -62,7 +64,7 @@ "ការ​ជូនដំណឹង" "ចុចឱ្យជាប់​ដើម្បីផ្លាស់ទី​ផ្លូវកាត់​។" "ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ផ្លូវកាត់ ឬប្រើ​សកម្មភាព​តាមបំណង​។" - "គ្មាន​បន្ទប់​នៅ​លើ​អេក្រង់​ដើម​នេះ​ទៀត​ទេ។" + "គ្មាន​កន្លែង​នៅ​លើ​អេក្រង់​ដើម​នេះ​ទៀត​ទេ។" "គ្មាន​បន្ទប់​​ក្នុង​ថាស​និយម​ប្រើ" "បញ្ជីកម្មវិធី" "បញ្ជី​កម្មវិធី​ផ្ទាល់ខ្លួន" @@ -154,18 +156,16 @@ "ផ្ទាល់ខ្លួន" "ការងារ" "កម្រងព័ត៌មានការងារ" - "ទិន្នន័យ​ផ្ទាល់ខ្លួន​ស្ថិតនៅ​ដាច់ដោយឡែក និង​ត្រូវបាន​លាក់ពី​កម្មវិធី​ការងារ" - "ទិន្នន័យ និង​កម្មវិធី​ការងារ​គឺអាចមើលឃើញដោយ​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក" - "បន្ទាប់" + + "យល់ហើយ" - "កម្រងព័ត៌មានការងារត្រូវបាន​ផ្អាក" - "កម្មវិធី​ការងារ​មិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" - "កម្រងព័ត៌មាន​ការងារ​ត្រូវបាន​ផ្អាក។ កម្មវិធី​ការងារ​មិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" + "កម្មវិធីការងារ​ត្រូវបានបិទ" + "កម្មវិធី​ការងារ​របស់អ្នក​មិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" + "កម្មវិធីការងារ​ត្រូវបានបិទ។ កម្មវិធីការងារ​របស់អ្នកមិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" "កម្មវិធីការងារ​ត្រូវបានដាក់​គ្រឿងសម្គាល់ ហើយ​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក​អាចមើលឃើញ" "យល់ហើយ" - "ផ្អាក​កម្មវិធី​ការងារ" - "បើក" + "បិទ​កម្មវិធីការងារ" + "បើក​កម្មវិធី​ការងារ" "តម្រង" - "ផ្អាក​ការជូនដំណឹង និង​កម្មវិធី​ការងារ" "បានបរាជ័យ៖ %1$s" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 9a3075f54d..07a0cc9238 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -53,7 +53,11 @@ "ಸಂವಾದಗಳು" "ನಿಮ್ಮ ಬೆರಳ ತುದಿಯಲ್ಲಿ ಉಪಯುಕ್ತ ಮಾಹಿತಿ" "ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯದೆಯೇ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ನೀವು ವಿಜೆಟ್‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು" + + "ಅರ್ಥವಾಯಿತು" + + "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಹುಡುಕಿ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." "\"%1$s\" ಹೊಂದಿಕೆಯ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ" @@ -154,18 +158,16 @@ "ವೈಯಕ್ತಿಕ" "ಕೆಲಸ" "ಕೆಲಸದ ಪ್ರೊಫೈಲ್" - "ವೈಯಕ್ತಿಕ ಡೇಟಾ ಬೇರೆಯದಾಗಿದೆ ಮತ್ತು ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ನಿಂದ ಮರೆ ಮಾಡಲಾಗಿದೆ" - "ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಡೇಟಾ ಗೋಚರಿಸುತ್ತದೆ" - "ಮುಂದೆ" + + "ಸರಿ" - "ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ" - "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" - "ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌ ಅನ್ನು ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ. ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" + "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ" + "ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" + "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ. ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತದೆ" "ಅರ್ಥವಾಯಿತು" - "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಿ" - "ಆನ್ ಮಾಡಿ" + "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಆಫ್ ಮಾಡಿ" + "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಆನ್ ಮಾಡಿ" "ಫಿಲ್ಟರ್‌" - "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಿ" "ವಿಫಲವಾಗಿದೆ: %1$s" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index cce4c8935b..68589d8ea9 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -53,7 +53,9 @@ "대화" "빠르게 유용한 정보 확인" "앱을 열지 않고 정보를 확인하려면 홈 화면에 위젯을 추가하세요." + "탭하여 위젯 설정 변경" "확인" + "위젯 설정 변경" "앱 검색" "앱 로드 중…" "\'%1$s\'과(와) 일치하는 앱이 없습니다." @@ -154,18 +156,16 @@ "개인" "직장" "직장 프로필" - "개인 정보는 직장 앱에서 분리되어 숨겨짐" - "직장 앱 및 데이터가 IT 관리자에게 표시됨" - "다음" + + "확인" - "직장 프로필이 일시중지됨" - "직장 앱에서 알림을 보내거나 배터리를 사용하거나 내 위치 정보에 액세스할 수 없습니다." - "직장 프로필이 일시중지되었습니다. 직장 앱에서 알림을 보내거나 배터리를 사용하거나 내 위치 정보에 액세스할 수 없습니다." + "직장 앱이 꺼져 있음" + "직장 앱에서 알림을 보내거나 배터리를 사용하거나 위치 정보에 액세스할 수 없습니다." + "직장 앱이 꺼져 있습니다. 직장 앱에서 알림을 보내거나 배터리를 사용하거나 위치 정보에 액세스할 수 없습니다." "직장 앱에는 배지가 있으며, IT 관리자는 직장 앱을 확인할 수 있습니다." "확인" - "직장 앱 일시중지" - "사용 설정" + "직장 앱 사용 중지" + "직장 앱 사용 설정" "필터" - "직장 앱 및 알림 일시중지" "실패: %1$s" diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index ed49ff1ae2..919fe45bba 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -48,12 +48,14 @@ "Текстти издөө кутучасынан тазалоо" "Виджет жок" "Издөө жыйынтыктары жок" - "Жеке" + "Жеке виджеттер" "Жумуш" "Сүйлөшүүлөр" "Пайдалуу маалымат манжаңыздын учунда эле турат" "Колдонмолорду ачпастан керектүү маалыматты алуу үчүн Башкы экранга виджеттерди кошуңуз" + "Виджеттин жөндөөлөрүн өзгөртүү үчүн таптап коюңуз" "Түшүндүм" + "Виджеттин жөндөөлөрүн өзгөртүү" "Колдонмолорду издөө" "Колдонмолор жүктөлүүдө…" "\"%1$s\" сурамына дал келген колдонмолор табылган жок" @@ -62,7 +64,7 @@ "Билдирмелер" "Ыкчам баскычты жылдыруу үчүн коё бербей басып туруңуз." "Ыкчам баскычты жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз." - "Бул Үй экранында бош орун жок." + "Бул экранда бош орун жок." "Тандамалдар тайпасында орун калган жок" "Колдонмолор тизмеси" "Жеке колдономолордун тизмеси" @@ -154,18 +156,16 @@ "Жеке колдонмолор" "Жумуш колдонмолору" "Жумуш профили" - "Жеке маалымат жумуш колдонмолорунан өзүнчө сакталат" - "Жумуш колдонмолору жана маалымат IT администраторго гана көрүнөт" - "Кийинки" + + "Түшүндүм" - "Жумуш профили тындырылган" - "Жумуш колдонмолору билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" - "Жумуш профили тындырылган. Жумуш колдонмолору билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" + "Жумуш колдонмолору өчүк" + "Жумуш колдонмолору билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" + "Жумуш колдонмолору өчүк жана билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" "Жумуш колдонмолору белгиленип, аларды IT администраторлору көрөт" "Түшүндүм" - "Жумуш колдонмолорун тындыруу" - "Күйгүзүү" + "Жумуш колдонмолорун өчүрүү" + "Жумуш колдонмолорун күйгүзүү" "Чыпкалоо" - "Жумуш колдонмолорун жана билдирмелерди тындыруу" "Аткарылган жок: %1$s" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index ed367d98eb..b91da7d67e 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -53,7 +53,9 @@ "ການສົນທະນາ" "ຂໍ້ມູນທີ່ເປັນປະໂຫຍດຢູ່ປາຍນິ້ວຂອງທ່ານ" "ເພື່ອຮັບຂໍ້ມູນໂດຍບໍ່ຕ້ອງເປີດແອັບ, ທ່ານສາມາດເພີ່ມວິດເຈັດໃສ່ໂຮມສະກຣີນຂອງທ່ານໄດ້" + "ແຕະເພື່ອປ່ຽນການຕັ້ງຄ່າວິດເຈັດ" "ເຂົ້າໃຈແລ້ວ" + "ປ່ຽນການຕັ້ງຄ່າວິດເຈັດ" "ຊອກຫາແອັບ" "ກໍາລັງໂຫຼດແອັບ…" "ບໍ່ພົບແອັບທີ່ກົງກັບ \"%1$s\"" @@ -62,7 +64,7 @@ "ການແຈ້ງເຕືອນ" "ແຕະຄ້າງໄວ້ເພື່ອຍ້າຍທາງລັດ." "ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍທາງລັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ." - "ບໍ່ມີຫ້ອງເຫຼືອໃນໜ້າຈໍຫຼັກນີ້." + "ບໍ່ມີບ່ອນຫວ່າງໃນໜ້ານີ້." "ບໍ່ມີບ່ອນຫວ່າງໃນຖາດສຳລັບເກັບສິ່ງທີ່ໃຊ້ເປັນປະຈຳ" "ລາຍຊື່ແອັບ" "ລາຍຊື່ແອັບສ່ວນຕົວ" @@ -154,18 +156,16 @@ "ສ່ວນຕົວ" "ວຽກ" "ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ" - "ຂໍ້ມູນສ່ວນຕົວຈະຖືກແຍກອອກ ແລະ ເຊື່ອງໄວ້ຈາກແອັບວຽກ" - "ແອັບ ແລະ ຂໍ້ມູນວຽກຈະສະແດງໃຫ້ຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານເຫັນ" - "ຕໍ່ໄປ" + + "ເຂົ້າໃຈແລ້ວ" - "ຢຸດໂປຣໄຟລ໌ວຽກໄວ້ຊົ່ວຄາວແລ້ວ" - "ແອັບບ່ອນເຮັດວຽກຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນຫາທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" - "ຢຸດໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄວ້ຊົ່ວຄາວແລ້ວ. ແອັບບ່ອນເຮັດວຽກຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນຫາທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" + "ແອັບບ່ອນເຮັດວຽກຖືກປິດໄວ້ຢູ່" + "ແອັບບ່ອນເຮັດວຽກຂອງທ່ານຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນຫາທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" + "ແອັບບ່ອນເຮັດວຽກຖືກປິດໄວ້ຢູ່. ແອັບບ່ອນເຮັດວຽກຂອງທ່ານຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນໃຫ້ທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" "ແອັບບ່ອນເຮັດວຽກແມ່ນຖືກຕິດປ້າຍ ແລະ ສະແດງໃຫ້ຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານເຫັນ" "ເຂົ້າໃຈແລ້ວ" - "ຢຸດແອັບບ່ອນເຮັດວຽກຊົ່ວຄາວ" - "ເປີດໃຊ້" + "ປິດການໃຊ້ແອັບບ່ອນເຮັດວຽກ" + "ເປີດໃຊ້ແອັບບ່ອນເຮັດວຽກ" "ກັ່ນຕອງ" - "ຢຸດແອັບວຽກ ແລະ ການແຈ້ງເຕືອນໄວ້ຊົ່ວຄາວ" "ບໍ່ສຳເລັດ: %1$s" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 21f99fc127..84414ca486 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -57,7 +57,9 @@ "Pokalbiai" "Lengvai pasiekiama naudinga informacija" "Jei norite gauti informacijos neatidarę programų, galite pridėti valdiklių pagrindiniame ekrane" + "Palieskite, kad pakeistumėte valdiklio nustatymus" "Supratau" + "Pakeisti valdiklio nustatymus" "Paieškos programos" "Įkeliamos programos…" "Nerasta jokių užklausą „%1$s“ atitinkančių programų" @@ -160,18 +162,16 @@ "Asmeninės" "Darbo" "Darbo profilis" - "Asmens duomenys laikomi atskirai ir paslėpti nuo darbo programų" - "Darbo programas ir duomenis mato jūsų IT administratorius" - "Kitas" + + "Supratau" - "Darbo profilis pristabdytas" - "Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" - "Darbo profilis pristabdytas. Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" + "Darbo programos išjungtos" + "Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" + "Darbo programos išjungtos. Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" "Darbo programos yra pažymėtos ženkleliu ir matomos IT administratoriui" "Supratau" - "Pristabdyti darbo programas" - "Įjungti" + "Išjungti darbo programas" + "Įjungti darbo programas" "Filtruoti" - "Pristabdykite darbo programas ir pranešimus" "Nepavyko: %1$s" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index ad4082be57..0b283d9b48 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -55,7 +55,9 @@ "Sarunas" "Ērta piekļuve noderīgai informācijai" "Lai iegūtu informāciju, neatverot lietotnes, varat pievienot logrīkus sākuma ekrānā." + "Pieskarieties, lai mainītu logrīka iestatījumus." "Labi" + "Mainīt logrīka iestatījumus" "Meklēt lietotnes" "Notiek lietotņu ielāde…" "Vaicājumam “%1$s” neatbilda neviena lietotne" @@ -157,18 +159,16 @@ "Personīgās lietotnes" "Darba lietotnes" "Darba profils" - "Personas dati ir atsevišķi un paslēpti no darba lietotnēm" - "Jūsu IT administrators var skatīt darba lietotnes un datus" - "Tālāk" + + "Labi" - "Darba profila darbība ir pārtraukta" - "Darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." - "Darba profila darbība ir pārtraukta. Darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." + "Darba lietotnes ir izslēgtas" + "Jūsu darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." + "Darba lietotnes ir izslēgtas. Jūsu darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." "Darba lietotnēm ir pievienota emblēma, un tās ir redzamas jūsu IT administratoram" "Labi" - "Pārtraukt darba lietotņu darbību" - "Ieslēgt" + "Izslēgt darba lietotnes" + "Ieslēgt darba lietotnes" "Filtrs" - "Pārtraukt darba lietotņu darbību un paziņojumu sūtīšanu" "Neizdevās: %1$s" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index f4c960624e..29acbb87b6 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -53,7 +53,9 @@ "Разговори" "Корисни информации на дофат на прстите" "За да добивате информации без да ги отворате апликациите, може да додадете виџети на почетниот екран" + "Допрете за да ги промените поставките за виџетот" "Сфатив" + "Промени ги поставките за виџетот" "Пребарувајте апликации" "Се вчитуваат апликации…" "Не се најдени апликации што одговараат на „%1$s“" @@ -154,18 +156,16 @@ "Лично" "За работа" "Работен профил" - "Личните податоци се одделни и сокриени од работните апликации" - "Работните апликации и податоци се видливи за IT-администраторот" - "Следно" + + "Сфатив" - "Работниот профил е паузиран" - "Работните апликации не можат да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" - "Работниот профил е паузиран. Работните апликации не можат да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" + "Работните апликации се исклучени" + "Работните апликации не може да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" + "Работните апликации се исклучени. Не може да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" "Работните апликации имаат значка и се видливи за IT-администраторот" "Сфатив" - "Паузирај ги работните апликации" - "Вклучи" + "Исклучете ги работните апликации" + "Вклучете ги работните апликации" "Филтер" - "Паузирајте работни апликации и известувања" "Не успеа: %1$s" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index 0359220ac1..53679f15c4 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -43,7 +43,7 @@ %1$d കുറുക്കുവഴി "%1$s, %2$s" - "വിഡ്ജെറ്റുകൾ" + "വിജറ്റുകൾ" "തിരയൽ" "സെർച്ച് ബോക്‌സിൽ നിന്ന് ടെക്‌സ്‌റ്റ് മായ്‌ക്കുക" "ഒരു വിജറ്റുകളും ലഭ്യമല്ല" @@ -53,7 +53,9 @@ "സംഭാഷണങ്ങൾ" "ഉപകാരപ്രദമായ വിവരങ്ങൾ നിങ്ങളുടെ വിരൽത്തുമ്പിൽ" "ആപ്പുകൾ തുറക്കാതെ വിവരങ്ങൾ ലഭിക്കാൻ, നിങ്ങൾക്ക് ഹോം സ്ക്രീനിലേക്ക് വിജറ്റുകൾ ചേർക്കാം" + "വിജറ്റ് ക്രമീകരണം മാറ്റാൻ ടാപ്പ് ചെയ്യുക" "മനസ്സിലായി" + "വിജറ്റ് ക്രമീകരണം മാറ്റുക" "ആപ്പുകൾ തിരയുക" "ആപ്പുകൾ ലോഡുചെയ്യുന്നു..." "\"%1$s\" എന്നതുമായി പൊരുത്തപ്പെടുന്ന ആപ്പുകളൊന്നും കണ്ടെത്തിയില്ല" @@ -112,7 +114,7 @@ "അറിയിപ്പ് ഡോട്ടുകൾ കാണിക്കുന്നതിന്, %1$s എന്നയാളിനായുള്ള ആപ്പ് അറിയിപ്പുകൾ ഓണാക്കുക" "ക്രമീകരണം മാറ്റുക" "അറിയിപ്പ് ഡോട്ടുകൾ കാണിക്കുക" - "ഹോം സ്‌ക്രീനിൽ ആപ്പ് ഐക്കണുകൾ ചേർക്കൂ" + "ഹോം സ്‌ക്രീനിൽ ആപ്പ് ഐക്കണുകൾ ചേർക്കുക" "പുതിയ ആപ്പുകൾക്ക്" "അജ്ഞാതം" "നീക്കംചെയ്യുക" @@ -152,20 +154,18 @@ "അടയ്ക്കൂ" "അറിയിപ്പ് നിരസിച്ചു" "വ്യക്തിപരം" - "ജോലി" + "ഔദ്യോഗികം" "ഔദ്യോഗിക പ്രൊഫൈൽ" - "ഔദ്യോഗിക ആപ്പുകളിൽ നിന്ന് വ്യക്തിപരമായ ഡാറ്റ വേർതിരിച്ച് മറച്ചിരിക്കുന്നു" - "ഔദ്യോഗിക ആപ്പുകളും ഡാറ്റയും നിങ്ങളുടെ ഐടി അഡ്‌മിന് ദൃശ്യമാണ്" - "അടുത്തത്" + + "മനസ്സിലായി" - "ഔദ്യോഗിക പ്രൊഫൈൽ തൽക്കാലം നിർത്തിയിരിക്കുന്നു" - "നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" - "ഔദ്യോഗിക പ്രൊഫൈൽ താൽക്കാലികമായി നിർത്തിയിരിക്കുന്നു. നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" + "ഔദ്യോഗിക ആപ്പുകൾ ഓഫാണ്" + "നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" + "ഔദ്യോഗിക ആപ്പുകൾ ഓഫാണ്. നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" "ഔദ്യോഗിക ആപ്പുകൾക്ക് ബാഡ്‌ജ് നൽകിയിരിക്കുന്നു, അവ നിങ്ങളുടെ ഐടി അഡ്‌മിന് കാണാനും കഴിയും" "മനസ്സിലായി" - "ഔദ്യോഗിക ആപ്പുകൾ താൽക്കാലികമായി നിർത്തുക" - "ഓണാക്കുക" + "ഔദ്യോഗിക ആപ്പുകൾ ഓഫാക്കുക" + "ഔദ്യോഗിക ആപ്പുകൾ ഓണാക്കുക" "ഫിൽട്ടർ ചെയ്യുക" - "ഔദ്യോഗിക ആപ്പുകളും അറിയിപ്പുകളും താൽക്കാലികമായി നിർത്തുക" "പരാജയപ്പെട്ടു: %1$s" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 53d382dc85..dc30f552a2 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -48,12 +48,14 @@ "Хайх хэсгээс текстийг арилгах" "Боломжтой жижиг хэрэгсэл байхгүй" "Хайлтын илэрц байхгүй" - "Хувийн" + "Хувийн виджетүүд" "Ажил" "Харилцан яриа" "Хэрэгтэй мэдээллээ хурууныхаа үзүүрээр аваарай" "Аппуудыг нээлгүйгээр мэдээлэл авахын тулд та Үндсэн нүүрэндээ жижиг хэрэгслүүд нэмэх боломжтой" + "Жижиг хэрэгслийн тохиргоог өөрчлөхийн тулд товшино уу" "Ойлголоо" + "Жижиг хэрэгслийн тохиргоог өөрчлөх" "Апп хайх" "Аппыг ачаалж байна..." "\"%1$s\"-д тохирох апп олдсонгүй" @@ -154,18 +156,16 @@ "Хувийн" "Ажил" "Ажлын профайл" - "Хувийн өгөгдөл нь ажлын аппаас тусдаа бөгөөд нуугдмал байна" - "Ажлын апп болон өгөгдөл нь таны мэдээлэл технологийн админд харагдана" - "Дараах" + + "Ойлголоо" - "Ажлын профайлыг түр зогсоосон" - "Ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" - "Ажлын профайлыг түр зогсоосон. Ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" + "Ажлын аппууд унтраалттай байна" + "Таны ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" + "Ажлын аппууд унтраалттай байна. Таны ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" "Ажлын аппуудыг тэмдэглэсэн бөгөөд танай IT админд харагдана" "Ойлголоо" - "Ажлын аппуудыг түр зогсоох" - "Асаах" + "Ажлын аппуудыг унтраах" + "Ажлын аппуудыг асаах" "Шүүлтүүр" - "Ажлын апп болон мэдэгдлийг түр зогсоох" "Амжилтгүй болсон: %1$s" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index b4c217434e..38acebffad 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -53,7 +53,11 @@ "संभाषणे" "तुमच्यासाठी सहज उपलब्ध असलेली माहिती" "ॲप्स न उघडता माहिती मिळवण्यासाठी, तुम्ही तुमच्या होम स्क्रीनवर विजेट जोडू शकता" + + "समजले" + + "अ‍ॅप्स शोधा" "अ‍ॅप्स लोड करत आहे…" "\"%1$s\" शी जुळणारे कोणतेही अ‍ॅप्स आढळले नाहीत" @@ -154,18 +158,21 @@ "वैयक्तिक" "कार्यालय" "कार्य प्रोफाइल" - "वैयक्तिक डेटा वेगळा असतो आणि तो ऑफिस अ‍ॅप्सपासून लपवलेला असतो" - "कार्य अ‍ॅप्स आणि डेटा तुमच्या अ‍ॅडमिनला दृश्यमान असतो" - "पुढील" + + "समजले" - "कार्य प्रोफाइल थांबवली आहे" - "Work apps तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" - "कार्य प्रोफाइल थांबवली आहे. Work apps तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" + + + + + + "Work apps ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" - "Work apps थांबवा" - "सुरू करा" + + + + "फिल्टर" - "कार्य अ‍ॅप्स आणि सूचना थांबवा" "हे करता आले नाही: %1$s" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index f6300ee107..be9496203f 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -53,7 +53,9 @@ "Perbualan" "Maklumat berguna di hujung jari anda" "Untuk mendapatkan maklumat tanpa membuka apl, anda boleh menambahkan widget pada skrin Utama anda" + "Ketik untuk menukar tetapan widget" "OK" + "Tukar tetapan widget" "Cari apl" "Memuatkan apl…" "Tiada apl yang ditemui sepadan dengan \"%1$s\"" @@ -154,18 +156,16 @@ "Peribadi" "Kerja" "Profil kerja" - "Data peribadi adalah berasingan & disembunyikan daripada apl kerja" - "Apl & data kerja kelihatan kepada pentadbir IT anda" - "Seterusnya" + + "OK" - "Profil kerja dijeda" - "Apl kerja tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" - "Profil kerja dijeda. Apl kerja tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" + "Apl kerja dimatikan" + "Apl kerja anda tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" + "Apl kerja dimatikan. Apl kerja anda tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" "Apl kerja mempunyai lencana dan kelihatan kepada pentadbir IT anda" "OK" - "Jeda apl kerja" - "Hidupkan" + "Matikan apl kerja" + "Hidupkan apl kerja" "Tapis" - "Jeda apl kerja dan pemberitahuan" "Gagal: %1$s" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index c120c24725..480310064f 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -53,7 +53,9 @@ "စကားဝိုင်းများ" "အသုံးဝင်သော အချက်အလက်များကို အလွယ်တကူ ရယူလိုက်ပါ" "အက်ပ်များကိုမဖွင့်ဘဲ အချက်အလက်များရယူရန် သင်၏ ပင်မစာမျက်နှာသို့ ဝိဂျက်များ ထည့်နိုင်သည်" + "ဝိဂျက် ဆက်တင်များကို ပြောင်းရန် တို့ပါ" "ရပြီ" + "ဝိဂျက် ဆက်တင်များကို ပြောင်းပါ" "ရှာဖွေမှု အက်ပ်များ" "အက်ပ်များကို ဖွင့်နေသည်…" "\"%1$s\" နှင့်ကိုက်ညီသည့် အပ်ပ်များကို မတွေ့ပါ" @@ -154,18 +156,16 @@ "ကိုယ်ပိုင်" "အလုပ်" "အလုပ်ပရိုဖိုင်" - "ကိုယ်ပိုင်ဒေတာများသည် သီးသန့်ဖြစ်ပြီး အလုပ်အက်ပ်များမှ ဖျောက်ထားသည်" - "အလုပ်သုံးအက်ပ်နှင့် ဒေတာများကို သင်၏ IT စီမံခန့်ခွဲသူက မြင်ရပါသည်" - "ရှေ့သို့" + + "ရပါပြီ" - "အလုပ်ပရိုဖိုင် ခဏရပ်ထားသည်" - "အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" - "အလုပ်ပရိုဖိုင် ခဏရပ်ထားသည်။ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" + "အလုပ်သုံးအက်ပ်များ ပိတ်ထားသည်" + "သင်၏ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" + "အလုပ်သုံးအက်ပ်များ ပိတ်ထားသည်။ သင်၏ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" "အလုပ်သုံးအက်ပ်များကို တံဆိပ်တပ်ထားပြီး သင်၏ IT စီမံခန့်ခွဲသူက မြင်နိုင်ပါသည်" "ရပြီ" - "အလုပ်သုံးအက်ပ်များကို ခဏရပ်ရန်" - "ဖွင့်ရန်" + "အလုပ်သုံးအက်ပ်များ ပိတ်ရန်" + "အလုပ်သုံးအက်ပ်များ ဖွင့်ရန်" "စစ်ထုတ်ရန်" - "အလုပ်သုံးအက်ပ်နှင့် အကြောင်းကြားချက်များ ခဏရပ်ရန်" "မအောင်မြင်ပါ− %1$s" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 49d29127f4..55ef7a4cd1 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -53,7 +53,9 @@ "Samtaler" "Lett tilgjengelig nyttig informasjon" "For å se informasjon uten å åpne apper kan du legge til moduler på startskjermen" + "Trykk for å endre modulinnstillinger" "Greit" + "Endre modulinnstillinger" "Søk etter apper" "Laster inn appene …" "Fant ingen apper som samsvarer med «%1$s»" @@ -154,18 +156,16 @@ "Personlig" "Jobb" "Jobbprofil" - "Personlige data er atskilte og skjules fra jobbapper" - "Jobbapper og -data er synlige for IT-administratoren din" - "Neste" + + "Greit" - "Jobbprofilen er satt på pause" - "Jobbapper kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" - "Jobbprofilen er satt på pause. Jobbapper kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" + "Jobbapper er av" + "Jobbapper kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" + "Jobbapper er av. De kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" "Jobbapper er merket og synlige for IT-administratoren din" "Greit" - "Sett jobbapper på pause" - "Slå på" + "Slå av jobbapper" + "Slå på jobbapper" "Filter" - "Sett jobbapper og -varsler på pause" "Mislyktes: %1$s" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 929e302e19..14dcec8aa2 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -51,11 +51,12 @@ "व्यक्तिगत" "कामसम्बन्धी" "वार्तालापहरू" - + "उपयोगी जानकारी सजिलै प्राप्त गर्नुहोस्" + "एपहरू नखोलिकनै तिनका बारेमा जानकारी प्राप्त गर्न तपाईं आफ्नो होम स्क्रिनमा विजेटहरू हाल्न सक्नुहुन्छ" + - - - + "बुझेँ" + "खोजसम्बन्धी एपहरू" "एपहरू लोड गर्दै…" @@ -65,7 +66,7 @@ "सूचनाहरू" "कुनै सर्टकट सार्न डबल ट्याप गरेर छोइराख्नुहोस्।" "कुनै सर्टकट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।" - "यो गृह स्क्रिनमा कुनै थप ठाउँ छैन।" + "यो होम स्क्रिनमा थप ठाउँ छैन।" "मन पर्ने ट्रे अब कुनै ठाँउ छैन" "एपको सूची" "व्यक्तिगत अनुप्रयोगहरूको सूची" @@ -104,9 +105,9 @@ "फोल्डर: %1$s, %2$d वा सोभन्दा बढी वस्तुहरू" "वालपेपरहरु" "वालपेपर तथा शैली" - "गृहपृष्ठका सेटिङहरू" + "होम पेजका सेटिङहरू" "तपाईँको प्रशासकद्वारा असक्षम गरिएको" - "गृह स्क्रिनलाई रोटेट हुन दिइयोस्" + "होम स्क्रिन रोटेट हुन दिइयोस्" "फोनलाई घुमाइँदा" "सूचनाको प्रतीक जनाउने थोप्लाहरू" "सक्रिय" @@ -115,7 +116,7 @@ "सूचनाको प्रतीक जनाउने थोप्लाहरू देखाउन %1$s को एपसम्बन्धी सूचनाहरूलाई सक्रिय गर्नुहोस्" "सेटिङहरू बदल्नुहोस्" "सूचनाको प्रतीक जनाउने थोप्लाहरू देखाउनुहोस्" - "गृह स्क्रिनमा एपका आइकनहरू थप्नुहोस्" + "होम स्क्रिनमा एपका आइकन थपियोस्" "नयाँ एपका लागि" "अज्ञात" "हटाउनुहोस्" @@ -157,18 +158,16 @@ "व्यक्तिगत" "कार्यसम्बन्धी" "कार्य प्रोफाइल" - "व्यक्तिगत डेटा कामसम्बन्धी एपहरूबाट लुकाएर छुट्टै राखिन्छ" - "तपाईंका IT एड्मिनले कामसम्पबन्धी एपहरू र डेटा हेर्न सक्छन्" - "अर्को" + + "बुझेँ" - "कार्यालयको प्रोफाइल पज गरिएको छ" - "कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" - "कामसम्बन्धी प्रोफाइल पज गरिएको छ। कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" + "कामसम्बन्धी एपहरू अफ गरिएका छन्" + "तपाईंका कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" + "कामसम्बन्धी एपहरू अफ गरिएका छन्। तपाईंका कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" "कामसम्बन्धी एपमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्नुहुन्छ" "बुझेँ" - "कामसम्बन्धी एपहरू अस्थायी रूपमा रोक्का गर्नुहोस्" - "अन गर्नुहोस्" + "कामसम्बन्धी एपहरू अफ गर्नुहोस्" + "कामसम्बन्धी एपहरू अन गर्नुहोस्" "फिल्टर" - "कामसम्बन्धी एप र सूचनाहरू अस्थायी रूपमा रोक्का गर्नुहोस्" "कार्य पूरा गर्न सकिएन: %1$s" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 7573102e99..c9f204bc2b 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -53,7 +53,9 @@ "Gesprekken" "Nuttige informatie binnen handbereik" "Als je informatie wilt krijgen zonder apps te openen, kun je widgets toevoegen aan je startscherm" + "Tik om de widgetinstellingen te wijzigen" "OK" + "Widgetinstellingen wijzigen" "Apps zoeken" "Apps laden…" "Er zijn geen apps gevonden die overeenkomen met \'%1$s\'" @@ -154,18 +156,16 @@ "Privé" "Werk" "Werkprofiel" - "Persoonlijke gegevens zijn afgescheiden en verborgen voor werk-apps" - "Werk-apps en -gegevens zijn zichtbaar voor je IT-beheerder" - "Volgende" + + "OK" - "Werkprofiel is onderbroken" - "Werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie" - "Werkprofiel is gepauzeerd. Werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie." + "Werk-apps staan uit" + "Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie" + "Werk-apps staan uit. Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie." "Werk-apps hebben badges en zijn zichtbaar voor je IT-beheerder" "OK" - "Werk-apps pauzeren" - "Aanzetten" + "Werk-apps uitzetten" + "Werk-apps aanzetten" "Filteren" - "Werk-apps en -meldingen onderbreken" "Mislukt: %1$s" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 5c1d498827..81b66c6ba1 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -53,7 +53,9 @@ "ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ" "ଉପଯୋଗୀ ସୂଚନା ଆପଣଙ୍କ ପାଖରେ ସହଜରେ ଉପଲବ୍ଧ" "ଆପଗୁଡ଼ିକୁ ନଖୋଲି ସୂଚନା ପାଇବା ପାଇଁ, ଆପଣ ଆପଣଙ୍କ ମୂଳସ୍କ୍ରିନରେ ୱିଜେଟଗୁଡ଼ିକୁ ଯୋଗ କରିପାରିବେ" + "ୱିଜେଟ୍ ସେଟିଂସ୍ ପରିବର୍ତ୍ତନ କରିବାକୁ ଟାପ୍ କରନ୍ତୁ" "ବୁଝିଗଲି" + "ୱିଜେଟ୍ ସେଟିଂସ୍ ପରିବର୍ତ୍ତନ କରନ୍ତୁ" "ଆପ୍‌ ଖୋଜନ୍ତୁ" "ଆପ୍‌ ଲୋଡ୍‌ ହେଉଛି..." "\"%1$s\" ସହିତ ମେଳ ହେଉଥିବା କୌଣସି ଆପ୍‌ ମିଳିଲା ନାହିଁ" @@ -62,7 +64,7 @@ "ବିଜ୍ଞପ୍ତି" "ଏକ ସର୍ଟକଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।" "ଏକ ସର୍ଟକଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।" - "ହୋମ୍‌ ସ୍କ୍ରୀନ ପାଇଁ ଆଉ କୋଠରୀ ନାହିଁ" + "ଏହି ମୂଳସ୍କ୍ରୀନରେ ଆଉ ଜାଗା ନାହିଁ" "ମନପସନ୍ଦ ଟ୍ରେରେ ଆଉ କୋଠରୀ ନାହିଁ" "ଆପ୍‌ ତାଲିକା" "ବ୍ୟକ୍ତିଗତ ଆପ୍ ତାଲିକା" @@ -127,7 +129,7 @@ "ହୋମ୍‌ ସ୍କ୍ରୀନରେ ଯୋଡ଼ନ୍ତୁ" "ଆଇଟମ୍‌କୁ ଏଠାକୁ ଘୁଞ୍ଚାନ୍ତୁ" "ହୋମ୍‌ ସ୍କ୍ରୀନରେ ଆଇଟମ୍‌ ଯୋଡ଼ାଗଲା" - "ଆଇଟମ୍‌ ବାହାର କରାଗଲା" + "ଆଇଟମକୁ କାଢ଼ି ଦିଆଯାଇଛି" "ପୂର୍ବବତ୍‍" "ଆଇଟମ୍‌ ଘୁଞ୍ଚାନ୍ତୁ" "ଧାଡ଼ି %1$s ସ୍ତମ୍ଭ %2$sକୁ ନିଅନ୍ତୁ" @@ -154,18 +156,16 @@ "ବ୍ୟକ୍ତିଗତ" "ୱାର୍କ" "ୱର୍କ ପ୍ରୋଫାଇଲ୍‌" - "ବ୍ୟକ୍ତିଗତ ଡାଟା କାର୍ଯ୍ୟସ୍ଥଳୀ ଆପଗୁଡ଼ିକ ଠାରୁ ପୃଥକ୍ ଓ ଲୁକ୍କାୟିତ ଅଟେ" - "କାର୍ଯ୍ୟସ୍ଥଳୀ ଆପଗୁଡ଼ିକ ଓ ଡାଟା ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦେଖାଯାଏ" - "ପରବର୍ତ୍ତୀ" + + "ବୁଝିଗଲି" - "ୱାର୍କ ପ୍ରୋଫାଇଲକୁ ବିରତ କରାଯାଇଛି" - "ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" - "ୱାର୍କ ପ୍ରୋଫାଇଲକୁ ବିରତ କରାଯାଇଛି। ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" + "ୱାର୍କ ଆପଗୁଡ଼ିକ ବନ୍ଦ ଅଛି" + "ଆପଣଙ୍କ ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" + "ୱାର୍କ ଆପଗୁଡ଼ିକ ବନ୍ଦ ଅଛି। ଆପଣଙ୍କ ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ବ୍ୟାଜ୍ କରାଯାଇଛି ଏବଂ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦେଖାଯାଉଛି" "ବୁଝିଗଲି" - "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ବିରତ କରନ୍ତୁ" - "ଚାଲୁ କରନ୍ତୁ" + "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ବନ୍ଦ କରନ୍ତୁ" + "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ଚାଲୁ କରନ୍ତୁ" "ଫିଲ୍ଟର୍" - "କାର୍ଯ୍ୟସ୍ଥଳୀ ଆପ୍ ଏବଂ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବିରତ କରନ୍ତୁ" "ବିଫଳ ହୋଇଛି: %1$s" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 64a180a651..993b16a11b 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -51,11 +51,12 @@ "ਨਿੱਜੀ" "ਕਾਰਜ-ਸਥਾਨ" "ਗੱਲਾਂਬਾਤਾਂ" - + "ਤੁਹਾਡੀਆਂ ਉਂਗਲਾਂ \'ਤੇ ਲਾਹੇਵੰਦ ਜਾਣਕਾਰੀ" + "ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹੇ ਬਿਨਾਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਆਪਣੀ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਵਿਜੇਟ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ" + - - - + "ਸਮਝ ਲਿਆ" + "ਐਪਾਂ ਖੋਜੋ" "ਐਪਾਂ ਨੂੰ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." @@ -65,7 +66,7 @@ "ਸੂਚਨਾਵਾਂ" "ਕਿਸੇ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਸਪੱਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।" "ਕਿਸੇ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਡਬਲ ਟੈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ ਜਾਂ ਵਿਉਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤੋ।" - "ਇਸ ਹੋਮ ਸਕ੍ਰੀਨ ਲਈ ਹੋਰ ਖਾਲੀ ਸਥਾਨ ਨਹੀਂ ਹੈ।" + "ਇਸ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਹੋਰ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੈ।" "ਮਨਪਸੰਦ ਟ੍ਰੇ ਵਿੱਚ ਹੋਰ ਖਾਲੀ ਸਥਾਨ ਨਹੀਂ।" "ਐਪ ਸੂਚੀ" "ਨਿੱਜੀ ਐਪਾਂ ਦੀ ਸੂਚੀ" @@ -155,20 +156,18 @@ "ਬੰਦ ਕਰੋ" "ਸੂਚਨਾ ਖਾਰਜ ਕੀਤੀ ਗਈ" "ਨਿੱਜੀ" - "ਕਾਰਜ-ਸਥਾਨ" + "ਕੰਮ ਸੰਬੰਧੀ" "ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ" - "ਨਿੱਜੀ ਡਾਟਾ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੋਂ ਵੱਖ ਅਤੇ ਲੁਕਾਇਆ ਹੋਇਆ ਹੈ" - "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਅਤੇ ਡਾਟਾ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਖਣਯੋਗ ਹੈ" - "ਅੱਗੇ" + + "ਸਮਝ ਲਿਆ" - "ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ" - "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" - "ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ। ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" + "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਬੰਦ ਹਨ" + "ਤੁਹਾਡੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" + "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਬੰਦ ਹਨ। ਤੁਹਾਡੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ" "ਸਮਝ ਲਿਆ" - "ਕੰਮ ਸੰਬੰਧੀ ਐਪ ਰੋਕੋ" - "ਚਾਲੂ ਕਰੋ" + "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਬੰਦ ਕਰੋ" + "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਚਾਲੂ ਕਰੋ" "ਫਿਲਟਰ" - "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਅਤੇ ਸੂਚਨਾਵਾਂ ਨੂੰ ਰੋਕੋ" "ਇਹ ਕਾਰਵਾਈ ਅਸਫਲ ਹੋਈ: %1$s" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 770f3440a7..d55f6f5173 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -57,7 +57,9 @@ "Rozmowy" "Użyteczne informacje w zasięgu ręki" "Aby uzyskać informacje bez otwierania aplikacji, możesz dodać widżety do ekranu głównego" + "Kliknij, aby zmienić ustawienia widżetu" "OK" + "Zmień ustawienia widżetu" "Wyszukaj aplikacje" "Ładuję aplikacje…" "Nie znaleziono aplikacji pasujących do zapytania „%1$s”" @@ -160,18 +162,16 @@ "Osobiste" "Służbowe" "Profil służbowy" - "Dane osobiste znajdują się w innym miejscu i są niewidoczne dla aplikacji służbowych" - "Dane i aplikacje z profilu służbowego są widoczne dla Twojego administratora IT" - "Dalej" + + "OK" - "Wstrzymano profil służbowy" - "Aplikacje służbowe nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" - "Wstrzymano profil służbowy. Aplikacje służbowe nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" + "Aplikacje służbowe są wyłączone" + "Aplikacje służbowe nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" + "Aplikacje służbowe są wyłączone i nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" "Aplikacje służbowe mają plakietki i są widoczne dla administratora IT" "OK" - "Wstrzymaj aplikacje służbowe" - "Włącz" + "Wyłącz aplikacje służbowe" + "Włącz aplikacje służbowe" "Filtruj" - "Wstrzymaj służbowe aplikacje i powiadomienia" "Niepowodzenie: %1$s" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 84c472f642..d844da3c22 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -53,7 +53,9 @@ "Conversas" "Informações úteis à sua disposição" "Para obter informações sem abrir apps, pode adicionar widgets ao seu ecrã principal" + "Toque para alterar as definições do widget" "OK" + "Alterar definições do widget" "Pesquisar aplicações" "A carregar aplicações…" "Nenhuma app correspondente a \"%1$s\"" @@ -100,7 +102,7 @@ "Pasta: %1$s, %2$d itens" "Pasta: %1$s, %2$d ou mais itens" "Imagens de fundo" - "Imagem de fundo e estilo" + "Imagem fundo/estilo" "Definições de início" "Desativada pelo gestor" "Permitir rotação do ecrã principal" @@ -154,18 +156,16 @@ "Pessoal" "Trabalho" "Perfil de trabalho" - "Os dados pessoais são separados e ocultos das apps de trabalho" - "Os dados e apps de trabalho estão visíveis para o seu administrador de TI" - "Seguinte" + + "OK" - "Perfil de trabalho em pausa" - "As apps de trabalho não podem enviar-lhe notificações, utilizar a sua bateria ou aceder à sua localização" - "O perfil de trabalho está em pausa. As apps de trabalho não podem enviar-lhe notificações, utilizar a sua bateria ou aceder à sua localização" + "As apps de trabalho estão desativadas" + "As apps de trabalho não podem enviar-lhe notificações, utilizar a bateria ou aceder à sua localização" + "As apps de trabalho estão desativadas. As apps de trabalho não podem enviar-lhe notificações, utilizar a bateria ou aceder à sua localização" "As apps de trabalho têm um emblema e estão visíveis para o seu administrador de TI" "OK" - "Colocar apps de trabalho em pausa" - "Ativar" + "Desativar apps de trabalho" + "Ativar apps de trabalho" "Filtrar" - "Coloque as apps de trabalho e as notificações em pausa" "Falhou: %1$s" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index c44ffc8294..a29cc4968f 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -48,12 +48,14 @@ "Limpar texto da caixa de pesquisa" "Nenhum widget disponível" "Nenhum resultado de pesquisa" - "Pessoal" + "Pessoais" "Trabalho" "Conversas" "Informações úteis ao seu alcance" "Para receber informações sem precisar abrir apps, adicione widgets à sua tela inicial" + "Toque para mudar as configurações do widget" "Ok" + "Mudar as configurações do widget" "Pesquisar apps" "Carregando apps…" "Nenhum app encontrado que corresponda a \"%1$s\"" @@ -154,18 +156,16 @@ "Pessoais" "Trabalho" "Perfil de trabalho" - "Os dados pessoais ficam separados e ocultos dos apps de trabalho" - "Os dados de apps de trabalho ficam visíveis para seu administrador de TI" - "Próxima" + + "Ok" - "O perfil de trabalho está pausado" - "Os apps de trabalho não podem enviar notificações, usar a bateria nem acessar o local" - "O perfil de trabalho está pausado. Os apps de trabalho não podem enviar notificações, usar a bateria nem acessar o local" + "Os apps de trabalho estão desativados" + "Os apps de trabalho não podem enviar notificações, usar a bateria nem acessar o local" + "Os apps de trabalho estão desativados. Eles não podem enviar notificações, usar a bateria nem acessar o local" "Os apps de trabalho têm um ícone e ficam visíveis para o administrador de TI" "Ok" - "Pausar apps de trabalho" - "Ativar" + "Desativar apps de trabalho" + "Ativar apps de trabalho" "Filtrar" - "Pausar apps e notificações de trabalho" "Falha: %1$s" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 16f0ade92f..6fb48aa000 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -55,7 +55,9 @@ "Conversații" "Informații utile la îndemâna dvs." "Pentru a primi informații fără să deschideți aplicațiile, puteți adăuga widgeturi pe ecranul de pornire" + "Atingeți ca să schimbați setările pentru widgeturi" "OK" + "Modificați setările pentru widgeturi" "Căutați aplicații" "Se încarcă aplicații…" "Nu s-a găsit nicio aplicație pentru „%1$s\"" @@ -157,18 +159,16 @@ "Personale" "Profesionale" "Profil de serviciu" - "Datele cu caracter personal sunt separate și ascunse de aplicațiile pentru lucru" - "Aplicațiile și datele pentru lucru sunt vizibile pentru administratorul IT" - "Înainte" + + "OK" - "Profilul de serviciu este întrerupt" - "Aplicațiile pentru lucru nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația" - "Profilul de serviciu este întrerupt. Aplicațiile pentru lucru nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația" + "Aplicațiile pentru lucru sunt dezactivate" + "Aplicațiile pentru lucru nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația" + "Aplicațiile pentru lucru sunt dezactivate. Acestea nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația." "Aplicațiile pentru lucru sunt marcate și vizibile pentru administratorul IT" "OK" - "Întrerupeți aplicațiile pentru lucru" - "Activați" + "Dezactivați aplicațiile pentru lucru" + "Activați aplicațiile pentru lucru" "Filtru" - "Întrerupeți aplicațiile pentru lucru și notificările" "Eșuare: %1$s" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 6d2f9e5d2e..5adf04b3b1 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -57,7 +57,9 @@ "Разговоры" "Вся нужная информация перед глазами" "Чтобы не открывать приложения каждый раз, когда нужна информация, добавьте виджеты на главный экран." + "Нажмите, чтобы изменить настройки виджета" "ОК" + "Изменить настройки виджета" "Поиск приложений" "Загрузка приложений…" "По запросу \"%1$s\" ничего не найдено" @@ -66,7 +68,7 @@ "Уведомления" "Нажмите и удерживайте для переноса ярлыка." "Чтобы использовать специальные действия или перенести ярлык, нажмите на него дважды и удерживайте." - "На этом экране все занято" + "На этом экране нет свободного места." "В разделе \"Избранное\" больше нет места" "Список приложений" "Открыть список личных приложений" @@ -133,7 +135,7 @@ "Добавить на главный экран" "Переместить элемент сюда" "Элемент добавлен на главный экран" - "Элемент удален." + "Объект удален." "Отменить" "Переместить элемент" "Переместить в ячейку %1$s %2$s" @@ -160,18 +162,16 @@ "Личные" "Рабочие" "Рабочий профиль" - "Личные данные скрыты от рабочих приложений и недоступны им." - "Рабочие приложения и их данные видны системному администратору." - "Далее" + + "ОК" - "Рабочий профиль приостановлен" - "Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." - "Рабочий профиль приостановлен. Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." + "Рабочие приложения отключены" + "Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." + "Рабочие приложения отключены. Они не могут отправлять уведомления, расходовать заряд батареи и получать доступ к вашему местоположению." "У рабочих приложений есть специальная пометка. Они видны системному администратору." "ОК" - "Приостановить рабочие приложения" - "Включить" + "Отключить рабочие приложения" + "Включить рабочие приложения" "Фильтр" - "Приостановить рабочие приложения и уведомления от них" "Не удалось выполнить действие (%1$s)." diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 2ba06fabff..e9e1062b73 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -53,7 +53,9 @@ "සංවාද" "ප්‍රයෝජනවත් තොරතුරු ඔබගේ ඇඟිලි තුඩු අග" "යෙදුම් විවෘත නොකර තොරතුරු ලබා ගැනීම සඳහා, ඔබට ඔබගේ මුල් තිරයට විජට් එක් කළ හැකිය" + "විජට් සැකසීම් වෙනස් කිරීමට තට්ටු කරන්න" "තේරුණා" + "විජට් සැකසීම් වෙනස් කරන්න" "යෙදුම් සොයන්න" "යෙදුම් පූරණය වෙමින්…" "\"%1$s\" සමග ගැළපෙන යෙදුම් හමු නොවිණි" @@ -154,18 +156,16 @@ "පුද්ගලික" "කාර්යාලය" "කාර්යාල පැතිකඩ" - "පෞද්ගලික දත්ත කාර්යාල යෙදුම්වලින් වෙන් කර සඟවා ඇත" - "කාර්යාල යෙදුම් & දත්ත ඔබගේ IT පරිපාලකට දෘශ්‍යමාන වේ" - "ඊළඟ" + + "තේරුණා" - "කාර්යාල පැතිකඩ විරාම කර ඇත" - "කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" - "කාර්යාල පැතිකඩ විරාම කර ඇත. කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" + "කාර්යාල යෙදුම් ක්‍රියාවිරහිතයි" + "ඔබගේ කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" + "කාර්යාල යෙදුම් ක්‍රියාවිරහිතයි. ඔබගේ කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" "කාර්යාල යෙදුම්වලට ලාංඡන යොදා ඇති අතර ඔබගේ IT පරිපාලකට දෘශ්‍යමාන වේ" "තේරුණා" - "කාර්යාල යෙදුම් විරාම කරන්න" - "ක්‍රියාත්මක කරන්න" + "කාර්යාල යෙදුම් ක්‍රියාවිරහිත කරන්න" + "කාර්යාල යෙදුම් ක්‍රියාත්මක කරන්න" "පෙරහන" - "කාර්යාල යෙදුම් සහ දැනුම් දීම් විරාම කරන්න" "අසාර්ථකයි: %1$s" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index cbb082aed1..56637aed78 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -57,7 +57,9 @@ "Konverzácie" "Užitočné informácie poruke" "Ak chcete získavať informácie bez otvárania aplikácií, môžete si pridať miniaplikácie na plochu" + "Klepnutím zmeňte nastavenia miniaplikácie" "Dobre" + "Zmena nastavení miniaplikácie" "Hľadať aplikácie" "Načítavajú sa aplikácie…" "Nenašli sa žiadne aplikácie zodpovedajúce dopytu %1$s" @@ -160,18 +162,16 @@ "Osobné" "Pracovné" "Pracovný profil" - "Osobné údaje sú oddelené a sú pred pracovnými aplikáciami skryté" - "Pracovné aplikácie a údaje môže vidieť váš správca IT" - "Ďalej" + + "Dobre" - "Pracovný profil je pozastavený" - "Pracovné aplikácie vám nemôžu posielať upozornenia, používať vašu batériu ani vašu polohu" - "Pracovný profil je pozastavený. Pracovné aplikácie nemôžu posielať upozornenia, používať batériu ani polohu." + "Pracovné aplikácie sú vypnuté" + "Pracovné aplikácie nemôžu posielať upozornenia ani používať batériu či polohu." + "Pracovné aplikácie sú vypnuté. Nemôžu posielať upozornenia ani používať batériu či polohu." "Pracovné aplikácie majú odznak a zobrazujú sa správcovi IT" "Dobre" - "Pozastaviť pracovné aplikácie" - "Zapnúť" + "Vypnúť pracovné aplikácie" + "Zapnúť pracovné aplikácie" "Filtrujte" - "Pozastavte pracovné aplikácie a upozornenia" "Zlyhalo: %1$s" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 57461a1e89..3cf34d4a7a 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -52,12 +52,14 @@ "Brisanje besedila v iskalnem polju" "Ni pripomočkov" "Ni rezultatov iskanja" - "Osebno" + "Osebni" "Služba" "Pogovori" "Koristne informacije na dosegu prstov" "Če si želite podatke ogledati brez odpiranja aplikacij, lahko na začetni zaslon dodate pripomočke." + "Dotaknite se, če želite spremeniti nastavitve pripomočka." "V redu" + "Spreminjanje nastavitev pripomočka" "Iskanje programov" "Nalaganje aplikacij …" "Ni aplikacij, ki bi ustrezale poizvedbi »%1$s«" @@ -160,18 +162,16 @@ "Osebno" "Delo" "Delovni profil" - "Osebni podatki so ločeni in skriti pred delovnimi aplikacijami" - "Delovne aplikacije in službeni podatki so vidni skrbniku za IT" - "Naprej" + + "Razumem" - "Delovni profil je začasno zaustavljen" - "Delovne aplikacije ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." - "Delovni profil je začasno zaustavljen. Delovne aplikacije ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." + "Delovne aplikacije so izklopljene." + "Delovne aplikacije ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." + "Delovne aplikacije so izklopljene in ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." "Delovne aplikacije so označene z značko in vidne skrbniku za IT." "V redu" - "Začasno zaustavi delovne aplikacije" - "Vklopi" + "Izklopi delovne aplikacije" + "Vklopi delovne aplikacije" "Filtriranje" - "Začasna zaustavitev delovnih aplikacij in obvestil" "Ni uspelo: %1$s" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 1054092634..62537f2312 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -53,7 +53,9 @@ "Bisedat" "Informacione të dobishme në majë të gishtave të tu" "Për të marrë informacione pa i hapur aplikacionet, mund të shtosh miniaplikacione në ekranin bazë" + "Trokit për të ndryshuar cilësimet e miniaplikacionit" "E kuptova" + "Ndrysho cilësimet e miniaplikacionit" "Kërko për aplikacione" "Po ngarkon aplikacionet..." "Nuk u gjet asnjë aplikacion që përputhet me \"%1$s\"" @@ -154,18 +156,16 @@ "Personale" "Punë" "Profili i punës" - "Të dhënat personale janë të veçuara dhe të fshehura nga aplikacionet e punës" - "Aplikacionet e punës dhe të dhënat janë të dukshme për administratorin e teknologjisë së informacionit" - "Para" + + "E kuptova" - "Profili i punës është në pauzë" - "Aplikacionet e punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" - "Profili i punës është në pauzë. Aplikacionet e punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" + "Aplikacionet e punës janë joaktive" + "Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" + "Aplikacionet e punës janë joaktive. Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" "Aplikacionet e punës janë të shënuara dhe të dukshme për administratorin e teknologjisë së informacionit" "E kuptova" - "Vendos në pauzë aplikacionet e punës" - "Aktivizo" + "Çaktivizo aplikacionet e punës" + "Aktivizo aplikacionet e punës" "Filtro" - "Vendos në pauzë aplikacionet e punës dhe njoftimet" "Dështoi: %1$s" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 2e87b439bf..d5f8598b1a 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -46,7 +46,7 @@ "%1$s, %2$s" "Виџети" - "Претрага" + "Претражите" "Обришите текст из оквира за претрагу" "Није доступан ниједан виџет" "Нема резултата претраге" @@ -55,7 +55,9 @@ "Конверзације" "Корисне информације надохват руке" "Да бисте пронашли информације без отварања апликација, можете да додате виџете на почетни екран" + "Додирните да бисте променили подешавања виџета" "Важи" + "Промените подешавања виџета" "Претражите апликације" "Апликације се учитавају…" "Није пронађена ниједна апликација за „%1$s“" @@ -157,18 +159,16 @@ "Личне" "Пословне" "Пословни профил" - "Лични подаци су одвојени и сакривени од апликација за посао" - "ИТ администратор види пословне апликације и податке" - "Даље" + + "Важи" - "Пословни профил је паузиран" - "Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" - "Пословни профил је паузиран. Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" + "Пословне апликације су искључене" + "Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" + "Пословне апликације су искључене. Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" "Пословне апликације су означене значком и ИТ администратор може да их види" "Важи" - "Паузирај пословне апликације" - "Укључи" + "Искључи пословне апликације" + "Укључи пословне апликације" "Филтер" - "Паузирајте пословне апликације и обавештења" "Није успело: %1$s" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 29ef67d3e2..03872280ba 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -48,12 +48,14 @@ "Rensa texten från sökrutan" "Det finns inga tillgängliga widgetar" "Inga sökresultat" - "Privata widgetar" + "Privata" "Arbete" "Konversationer" "Användbar information nära till hands" "Om du vill ha information utan att öppna appar kan du lägga till widgetar på startskärmen" + "Tryck för att ändra inställningarna för widgeten" "OK" + "Ändra inställningarna för widgeten" "Sök efter appar" "Läser in appar …" "Inga appar som matchar %1$s hittades" @@ -154,18 +156,16 @@ "Privat" "Arbete" "Jobbprofil" - "Privat data lagras för sig och är inte synlig för jobbapparna" - "Jobbappar och jobbdata är synliga för IT-administratören" - "Nästa" + + "OK" - "Jobbprofilen är pausad" - "Jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" - "Jobbprofilen är pausad. Jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" + "Jobbappar är inaktiverade" + "Dina jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" + "Jobbappar är inaktiverade. Dina jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" "Jobbappar är märkta och synliga för IT-administratören" "OK" - "Pausa jobbappar" - "Aktivera" + "Inaktivera jobbappar" + "Aktivera jobbappar" "Filter" - "Pausa jobbappar och jobbaviseringar" "Misslyckades: %1$s" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 7829bebe16..c8463499db 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -53,7 +53,9 @@ "Mazungumzo" "Maelezo muhimu mahali popote ulipo" "Ili upate maelezo bila kufungua programu, unaweza kuweka wijeti kwenye Skrini yako ya kwanza" + "Gusa ili ubadilishe mipangilio ya wijeti" "Nimeelewa" + "Badilisha mipangilio ya wijeti" "Tafuta programu" "Inapakia programu..." "Haikupata programu zozote zinazolingana na \"%1$s\"" @@ -154,18 +156,16 @@ "Binafsi" "Kazini" "Wasifu wa kazini" - "Data binafsi iko kando na haionyeshwi kwenye programu za kazini" - "Programu na data ya kazini huonekana kwa msimamizi wako wa TEHAMA" - "Endelea" + + "Nimeelewa" - "Wasifu wa kazini umesimamishwa" - "Programu za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" - "Wasifu wa kazini umesimamishwa. Programu za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" + "Programu za kazini zimezimwa" + "Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" + "Programu za kazini zimezimwa. Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" "Programu za kazini zina beji na zinaonekana kwa msimamizi wako wa TEHAMA" "Nimeelewa" - "Simamisha programu za kazini" - "Washa" + "Zima programu za kazini" + "Washa programu za kazini" "Kichujio" - "Simamisha arifa na programu za kazini" "Hitilafu: %1$s" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 6fe5a388fa..cfd4b3660a 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -53,7 +53,9 @@ "உரையாடல்கள்" "விரல்நுனியில் பயனுள்ள தகவல்களைப் பெறுங்கள்" "ஆப்ஸைத் திறக்காமல் தகவல்களைப் பெற, முகப்புத் திரையில் விட்ஜெட்டுகளைச் சேர்க்கலாம்" + "விட்ஜெட் அமைப்புகளை மாற்றத் தட்டவும்" "சரி" + "விட்ஜெட் அமைப்புகளை மாற்றும்" "பயன்பாடுகளில் தேடுக" "ஆப்ஸை ஏற்றுகிறது…" "\"%1$s\" உடன் பொருந்தும் ஆப்ஸ் இல்லை" @@ -154,18 +156,16 @@ "தனிப்பட்டவை" "பணி" "பணிக் கணக்கு" - "தனிப்பட்ட தரவு பணி ஆப்ஸுடன் சேர்ந்ததல்ல என்பதோடு பணி ஆப்ஸில் இருந்து அவை மறைக்கப்பட்டிருக்கும்" - "பணி ஆப்ஸையும் தரவையும் உங்கள் IT நிர்வாகியால் பார்க்க முடியும்" - "அடுத்து" + + "முடிந்தது" - "பணிக் கணக்கு இடைநிறுத்தப்பட்டது" - "பணி ஆப்ஸால் அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ இருப்பிடத்தை அணுகவோ முடியாது" - "பணிக் கணக்கு இடைநிறுத்தப்பட்டது. பணி ஆப்ஸால் அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ இருப்பிடத்தை அணுகவோ முடியாது" + "பணி ஆப்ஸ் முடக்கப்பட்டுள்ளன" + "பணி ஆப்ஸால் உங்களுக்கு அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ உங்கள் இருப்பிடத்தை அணுகவோ முடியாது" + "பணி ஆப்ஸ் முடக்கப்பட்டுள்ளன. அவற்றால் உங்களுக்கு அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ உங்கள் இருப்பிடத்தை அணுகவோ முடியாது" "பணி ஆப்ஸ் பேட்ஜ் குறியிடப்பட்டுள்ளன. மேலும் உங்கள் IT நிர்வாகியால் அவற்றைப் பார்க்க முடியும்" "சரி" - "பணி ஆப்ஸை இடைநிறுத்து" - "இயக்கு" + "பணி ஆப்ஸை முடக்கு" + "பணி ஆப்ஸை இயக்கு" "வடிப்பான்" - "பணி தொடர்பான ஆப்ஸையும் அறிவிப்புகளையும் இடைநிறுத்தும்" "தோல்வி: %1$s" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 7a851791c6..b42b242169 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -48,12 +48,16 @@ "సెర్చ్ బాక్స్ నుండి టెక్స్ట్‌ను క్లియర్ చేయి" "విడ్జెట్‌లు అందుబాటులో లేవు" "సెర్చ్ ఫలితాలు లేవు" - "వ్యక్తిగతం" + "వ్యక్తిగత గ్యాడ్జెట్స్" "ఆఫీస్" "సంభాషణలు" "మీ చేతివేళ్ల మీద ఉపయోగకరమైన సమాచారం" "యాప్‌లను తెరవకుండా సమాచారం పొందడానికి, మీరు మీ మొదటి స్క్రీన్‌కు విడ్జెట్‌లను జోడించవచ్చు" + + "అర్థమైంది" + + "అప్లికేషన్‌లను శోధించండి" "అప్లికేషన్‌లను లోడ్ చేస్తోంది…" "\"%1$s\"కి సరిపోలే అప్లికేషన్‌లేవీ కనుగొనబడలేదు" @@ -101,9 +105,9 @@ "ఫోల్డర్: %1$s, %2$d లేదా అంతకంటే ఎక్కువ ఐటెమ్‌లు" "వాల్‌పేపర్‌లు" "వాల్‌పేపర్ & స్టయిల్" - "హోమ్ సెట్టింగ్‌లు" + "మొదటి స్క్రీన్ సెట్టింగ్‌లు" "మీ నిర్వాహకులు నిలిపివేసారు" - "హోమ్ స్క్రీన్ రొటేషన్‌ను అనుమతించండి" + "మొదటి స్క్రీన్ రొటేషన్‌ను అనుమతించండి" "ఫోన్‌‌ను తిప్పినప్పుడు" "నోటిఫికేషన్ డాట్‌లు" "ఆన్" @@ -112,7 +116,7 @@ "నోటిఫికేషన్ డాట్‌లను చూపించడానికి %1$sకు యాప్ నోటిఫికేషన్‌లను ఆన్ చేయండి" "సెట్టింగ్‌లను మార్చు" "నోటిఫికేషన్ డాట్‌లను చూపు" - "యాప్ చిహ్నాలను హోమ్ స్క్రీన్‌కు జోడించు" + "యాప్ చిహ్నాలను మొదటి స్క్రీన్‌కు జోడించు" "కొత్త యాప్‌ల కోసం" "తెలియదు" "తీసివేయి" @@ -127,7 +131,7 @@ "హోమ్ స్క్రీన్‌కు జోడించండి" "అంశాన్ని ఇక్కడికి తరలించు" "అంశం హోమ్‌స్క్రీన్‌కి జోడించబడింది" - "అంశం తీసివేయబడింది" + "ఐటెమ్ తీసివేయబడింది" "చర్య రద్దు" "అంశాన్ని తరలించు" "అడ్డు వరుస %1$s నిలువు వరుస %2$sకి తరలించు" @@ -154,18 +158,16 @@ "వ్యక్తిగతం" "కార్యాలయం" "కార్యాలయ ప్రొఫైల్" - "వ్యక్తిగత డేటా అనేది విడిగా & ఆఫీస్ యాప్‌లకు యాక్సెస్ లేకుండా, దాచబడి ఉంటుంది" - "ఆఫీస్ యాప్‌లు & డేటా మీ IT అడ్మిన్‌కు కనిపిస్తాయి" - "తర్వాత" + + "అర్థమైంది" - "ఆఫీస్ ప్రొఫైల్ పాజ్ చేయబడింది" - "మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం \'వర్క్ యాప్\'‌లకు సాధ్యపడదు" - "వర్క్ ప్రొఫైల్ పాజ్ చేయబడింది. మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం \'వర్క్ యాప్\'‌లకు సాధ్యపడదు" + "వర్క్ యాప్‌లు ఆఫ్‌లో ఉన్నాయి" + "మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం మీ వర్క్ యాప్‌లకు సాధ్యపడదు" + "వర్క్ యాప్‌లు ఆఫ్‌లో ఉన్నాయి. మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం మీ వర్క్ యాప్‌లకు సాధ్యపడదు" "వర్క్ యాప్‌లు బ్యాడ్జ్ చేయబడ్డాయి, మీ IT అడ్మిన్‌కి కనిపిస్తాయి" "అర్థమైంది" - "వర్క్ యాప్‌లను పాజ్ చేయి" - "ఆన్ చేయి" + "వర్క్ యాప్‌లను ఆఫ్ చేయి" + "వర్క్ యాప్‌లను ఆన్ చేయి" "ఫిల్టర్ చేయి" - "ఆఫీస్ యాప్‌లు, నోటిఫికేషన్‌లను పాజ్ చేయండి" "విఫలమైంది: %1$s" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 0011d70c01..cbb7d2a953 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -53,7 +53,9 @@ "การสนทนา" "เข้าถึงข้อมูลที่เป็นประโยชน์ได้ที่ปลายนิ้ว" "หากต้องการรับข้อมูลโดยไม่เปิดแอป ให้เพิ่มวิดเจ็ตลงในหน้าจอหลัก" + "แตะเพื่อเปลี่ยนการตั้งค่าวิดเจ็ต" "รับทราบ" + "เปลี่ยนการตั้งค่าวิดเจ็ต" "ค้นหาแอป" "กำลังโหลดแอป…" "ไม่พบแอปที่ตรงกับ \"%1$s\"" @@ -109,7 +111,7 @@ "เปิด" "ปิด" "ต้องได้รับสิทธิ์เข้าถึงการแจ้งเตือน" - "เปิดการแจ้งเตือนแอปของ %1$s เพื่อแสดงจุดแจ้งเตือน" + "เปิดการแจ้งเตือนแอปของ %1$s เพื่อแสดงเครื่องหมายจุดแสดงการแจ้งเตือน" "เปลี่ยนการตั้งค่า" "แสดงเครื่องหมายจุดแสดงการแจ้งเตือน" "เพิ่มไอคอนแอปในหน้าจอหลัก" @@ -127,7 +129,7 @@ "เพิ่มลงในหน้าจอหลัก" "ย้ายรายการมาที่นี่" "เพิ่มรายการไปยังหน้าจอหลักแล้ว" - "นำออกรายการออกแล้ว" + "นำรายการออกแล้ว" "เลิกทำ" "ย้ายรายการ" "ย้ายไปที่แถว %1$s คอลัมน์ %2$s" @@ -154,18 +156,16 @@ "ส่วนตัว" "งาน" "โปรไฟล์งาน" - "ข้อมูลส่วนตัวจะอยู่แยกต่างหากและซ่อนจากแอปงาน" - "ผู้ดูแลระบบไอทีจะดูแอปและข้อมูลงานได้" - "ถัดไป" + + "รับทราบ" - "โปรไฟล์งานหยุดชั่วคราว" - "แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" - "โปรไฟล์งานหยุดชั่วคราว แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" + "แอปงานปิดอยู่" + "แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" + "แอปงานปิดอยู่ แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" "แอปงานจะติดป้ายไว้และผู้ดูแลระบบไอทีจะมองเห็น" "รับทราบ" - "หยุดแอปงานชั่วคราว" - "เปิด" + "ปิดแอปงาน" + "เปิดแอปงาน" "ตัวกรอง" - "หยุดแอปงานและการแจ้งเตือนไว้ชั่วคราว" "ไม่สำเร็จ: %1$s" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index cd662e1eec..aefb1204ed 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -53,7 +53,9 @@ "Mga Pag-uusap" "Abot-kamay na mahalagang impormasyon" "Para makakuha ng impormasyon nang hindi nagbubukas ng mga app, puwede kang magdagdag ng mga widget sa iyong Home screen" + "I-tap para baguhin ang mga setting ng widget" "OK" + "Baguhin ang mga setting ng widget" "Maghanap ng mga app" "Naglo-load ng mga app…" "Walang nahanap na app na tumutugma sa \"%1$s\"" @@ -154,18 +156,16 @@ "Personal" "Trabaho" "Profile sa trabaho" - "Hiwalay at nakatago ang personal na data sa mga app para sa trabaho" - "Makikita ng iyong IT admin ang mga app at data para sa trabaho" - "Susunod" + + "OK" - "Naka-pause ang profile sa trabaho" - "Ang mga app para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng battery mo, o makaka-access ng iyong lokasyon" - "Naka-pause ang profile sa trabaho. Ang mga app para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng battery mo, o makaka-access ng iyong lokasyon" + "Naka-off ang mga app para sa trabaho" + "Ang mga app mo para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng baterya mo, o makaka-access ng iyong lokasyon" + "Naka-off ang mga app para sa trabaho. Ang mga app mo para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng baterya mo, o makaka-access ng iyong lokasyon" "May badge at nakikita ng iyong IT admin ang mga app para sa trabaho" "OK" - "I-pause ang mga app para sa trabaho" - "I-on" + "I-off ang mga app para sa trabaho" + "I-on ang mga app para sa trabaho" "Filter" - "I-pause ang mga app at notification para sa trabaho" "Hindi nagawa: %1$s" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 5691fc044d..6c4e541f68 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -53,7 +53,9 @@ "Görüşmeler" "Faydalı bilgiler parmaklarınızın ucunda" "Uygulamaları açmadan bilgi almak için Ana ekranınıza widget\'lar ekleyebilirsiniz" + "Widget ayarlarını değiştirmek için dokunun" "Anladım" + "Widget ayarlarını değiştir" "Uygulamalarda ara" "Uygulamalar yükleniyor…" "\"%1$s\" ile eşleşen uygulama bulunamadı" @@ -112,7 +114,7 @@ "Bildirim Noktaları\'nı göstermek için %1$s uygulamasının bildirimlerini açın" "Ayarları değiştir" "Bildirim noktalarını göster" - "Uygulama simgelerini Ana ekrana ekleyin" + "Uygulama simgelerini Ana ekrana ekle" "Yeni uygulamalar için" "Bilinmiyor" "Kaldır" @@ -154,18 +156,16 @@ "Kişisel" "İş" "İş profili" - "Kişisel veriler ayrı olup iş uygulamalarından gizlenir" - "BT yöneticiniz iş uygulamalarını ve verilerini görebilir" - "İleri" + + "Anladım" - "İş profili duraklatıldı" - "İş uygulamaları size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" - "İş profili duraklatıldı. İş uygulamaları size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" + "İş uygulamaları kapalı" + "İş uygulamaları size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" + "İş uygulamaları kapalı. İş uygulamalarınız size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" "İş uygulamaları rozetle işaretlenmiş olup BT yöneticisi tarafından görülebilir" "Anladım" - "İş uygulamalarını duraklat" - "Aç" + "İş uygulamalarını kapat" + "İş uygulamalarını aç" "Filtre" - "İş uygulamalarını ve bildirimlerini duraklatın" "Başarısız: %1$s" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index f0d486d108..1677c9e67d 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -57,7 +57,9 @@ "Розмови" "Корисна інформація завжди під рукою" "Щоб отримувати інформацію, не відкриваючи додатки, ви можете додати на головний екран віджети" + "Натисніть, щоб змінити налаштування віджета" "OK" + "Змінити налаштування віджета" "Пошук додатків" "Завантаження додатків…" "Немає додатків для запиту \"%1$s\"" @@ -106,7 +108,7 @@ "Папка \"%1$s\", елементів: %2$d" "Папка \"%1$s\", елементів: %2$d або більше" "Фонові малюнки" - "Фоновий малюнок і стиль" + "Оформлення та стиль" "Налаштування головного екрана" "Вимкнув адміністратор" "Дозволити обертання головного екрана" @@ -160,18 +162,16 @@ "Особисті додатки" "Робочі додатки" "Робочий профіль" - "Персональні дані зберігаються окремо, вони недоступні для робочих додатків" - "ІТ-адміністратор бачить ваші робочі додатки й дані" - "Далі" + + "OK" - "Робочий профіль призупинено" - "Робочі додатки не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих" - "Робочий профіль призупинено. Робочі додатки не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих" + "Робочі додатки вимкнено" + "Ваші робочі додатки не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих" + "Робочі додатки вимкнено. Вони не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих." "Робочі додатки відповідно позначені й видимі системному адміністратору" "Зрозуміло" - "Призупинити робочі додатки" - "Увімкнути" + "Вимкнути робочі додатки" + "Увімкнути робочі додатки" "Фільтр" - "Призупинити робочі додатки й сповіщення" "Не вдалося %1$s" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 1574c47e96..8545f8a9b1 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -53,7 +53,11 @@ "گفتگوئیں" "مفید معلومات کو آسانی سے حاصل کریں" "ایپس کو کھولے بغیر معلومات حاصل کرنے کے لیے آپ اپنی ہوم اسکرین پر ویجیٹس شامل کر سکتے ہیں" + + "سمجھ آ گئی" + + "ایپس تلاش کریں" "ایپس لوڈ کی جا رہی ہیں…" "\"%1$s\" سے مماثل کوئی ایپس نہیں ملیں" @@ -154,18 +158,16 @@ "ذاتی" "دفتری" "دفتری پروفائل" - "ذاتی ڈیٹا ورک ایپس سے الگ اور پوشیدہ ہے" - "‏آپ کا IT منتظم ورک ایپس اور ڈیٹا کو دیکھ سکتا ہے" - "اگلا" + + "سمجھ آ گئی" - "دفتری پروفائل روک دی گئی ہے" - "ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" - "دفتری پروفائل موقوف کر دی گئی ہے۔ ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" + "ورک ایپس آف ہیں" + "آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری کا استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" + "ورک ایپس آف ہیں۔ آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" "‏ورک ایپس پر بَیج لگایا ہے اور آپ کا IT منتظم انہیں دیکھ سکتا ہے" "سمجھ آ گئی" - "ورک ایپس موقوف کریں" - "آن کریں" + "ورک ایپس آف کریں" + "ورک ایپس آن کریں" "فلٹر" - "ورک ایپس اور اطلاعات کو روکیں" "ناکام ہو گيا: %1$s" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 99bdd4b27f..d9f492339a 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -53,7 +53,9 @@ "Suhbatlar" "Barcha foydali axborot koʻz oldingizda" "Ilovalarni ochmasdan axborot olish uchun vidjetlarni bosh ekranga qoʻshishingiz mumkin" + "Vidjet sozlamalarini oʻzgartirish uchun bosing" "OK" + "Vidjet sozlamalarini oʻzgartirish" "Ilovalarni qidirish" "Ilovalar yuklanmoqda…" "“%1$s” bilan mos hech qanday ilova topilmadi" @@ -62,7 +64,7 @@ "Bildirishnomalar" "Yorliqni bosib turgan holatda suring." "Ikki marta bosing va yorliqni bosib turgan holatda suring yoki maxsus amaldan foydalaning." - "Uy ekranida bitta ham xona yo‘q." + "Bosh ekranda joy qolmadi." "Ajratilganlarda birorta ham xona yo‘q" "Ilovalar ro‘yxati" "Shaxsiy ilovalar ro‘yxati" @@ -127,7 +129,7 @@ "Bosh ekranga chiqarish" "Obyektni bu yerga ko‘chirish" "Obyekt bosh ekranga qo‘shildi" - "Obyekt o‘chirib tashlandi" + "Element olib tashlandi" "Qaytarish" "Obyektni ko‘chirib o‘tkazish" "%1$s %2$s katakka olish" @@ -154,18 +156,16 @@ "Shaxsiy" "Ish" "Ish profili" - "Shaxsiy maʼlumotlar ishga oid ilovalardan alohida va berkitilgan" - "Administratoringiz ishga oid ilovalar va maʼlumotlarni koʻra oladi" - "Keyingisi" + + "OK" - "Ish profili pauzada" - "Ishga oid ilovalar batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" - "Ish profili pauzada. Ishga oid ilovalar batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" + "Ishga oid ilovalar faolsizlantirilgan" + "Ishga oid ilovalar batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" + "Ishga oid ilovalar faolsizlantirilgan. Ular batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" "Ishga oid ilovalar qadalgan va IT administratoringizga koʻrinadi" "OK" - "Ishga oid ilovalarni pauza qilish" - "Yoqish" + "Ishga oid ilovalarni faolsizlantirish" + "Ishga oid ilovalarni yoqish" "Saralash" - "Ishga oid ilova va bildirishnomalarni pauza qilish" "Xato: %1$s" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 9f7fea373f..e15b3235ff 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -53,7 +53,9 @@ "Cuộc trò chuyện" "Thông tin hữu ích ngay trong tầm tay bạn" "Để nhận thông tin mà không cần mở các ứng dụng, bạn có thể thêm tiện ích vào Màn hình chính" + "Nhấn để thay đổi chế độ cài đặt tiện ích" "Tôi hiểu" + "Thay đổi chế độ cài đặt tiện ích" "Tìm kiếm ứng dụng" "Đang tải ứng dụng…" "Không tìm thấy ứng dụng nào phù hợp với \"%1$s\"" @@ -154,18 +156,16 @@ "Cá nhân" "Công việc" "Hồ sơ công việc" - "Dữ liệu cá nhân được lưu trữ riêng biệt và ẩn khỏi các ứng dụng công việc" - "Quản trị viên CNTT của bạn có thể xem dữ liệu và các ứng dụng công việc" - "Tiếp theo" + + "OK" - "Hồ sơ công việc của bạn đã bị tạm dừng" - "Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" - "Hồ sơ công việc đã bị tạm dừng. Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" + "Ứng dụng công việc đang tắt" + "Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" + "Ứng dụng công việc đang tắt. Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT sẽ nhìn thấy các ứng dụng này" "Tôi hiểu" - "Tạm dừng các ứng dụng công việc" - "Bật" + "Tắt ứng dụng công việc" + "Bật ứng dụng công việc" "Bộ lọc" - "Tạm dừng các ứng dụng và thông báo liên quan tới công việc" "Không thực hiện được thao tác: %1$s" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index b1fb1658da..2d8162a92f 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -51,12 +51,11 @@ "个人" "工作" "对话" - - - - - - + "实用信息触手可及" + "要想不打开应用就能获取信息,您可以将相应微件添加到主屏幕" + "点按即可更改微件设置" + "知道了" + "更改微件设置" "搜索应用" "正在加载应用…" "未找到与“%1$s”相符的应用" @@ -157,18 +156,16 @@ "个人" "工作" "工作资料" - "工作应用与个人数据相互独立,它们无法获取此类数据" - "您的 IT 管理员可以查看工作应用和工作数据" - "继续" + + "知道了" - "工作资料已被暂停" - "现在,工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" - "工作资料已暂停使用。现在,工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" + "工作应用已关闭" + "工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" + "工作应用已关闭。工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" "工作应用带有标志,您的 IT 管理员可以看到工作应用" "知道了" - "暂停工作应用" - "开启" + "关闭工作应用" + "开启工作应用" "过滤器" - "暂停工作应用及其通知" "失败:%1$s" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index c0bb552ddb..80f9ee9315 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -53,7 +53,9 @@ "對話" "實用資訊,唾手可得" "只要將小工具新增到主畫面,就可以直接查看資訊,無需開啟應用程式" + "輕按即可變更小工具設定" "知道了" + "變更小工具設定" "搜尋應用程式" "正在載入應用程式…" "找不到與「%1$s」相符的應用程式" @@ -154,18 +156,16 @@ "個人" "工作" "工作設定檔" - "個人資料會獨立儲存,並在工作應用程式中隱藏。" - "IT 管理員能看到工作應用程式的資料" - "繼續" + + "知道了" - "工作設定檔已暫停使用" - "工作應用程式無法向您傳送通知、使用電池或存取位置" - "工作設定檔已暫停。工作應用程式無法向您傳送通知、使用電池或存取位置" + "工作應用程式已關閉" + "工作應用程式無法向您傳送通知、使用電池或存取位置" + "工作應用程式已關閉。工作應用程式無法向您傳送通知、使用電池或存取位置" "IT 管理員可看到工作應用程式和相關標誌" "知道了" - "暫停工作應用程式" - "開啟" + "關閉工作應用程式" + "開啟工作應用程式" "篩選器" - "暫停工作應用程式和通知" "操作失敗:%1$s" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 9685d89c1d..c868137354 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -53,7 +53,9 @@ "對話" "實用資訊隨手可得" "只要將小工具新增到主畫面,就可以直接查看資訊,不必開啟應用程式" + "輕觸即可變更小工具設定" "我知道了" + "變更小工具設定" "搜尋應用程式" "正在載入應用程式…" "找不到與「%1$s」相符的應用程式" @@ -154,18 +156,16 @@ "個人" "工作" "工作資料夾" - "系統會區隔個人資料與工作資料,因此兩者不會同時顯示" - "你的 IT 管理員可以查看工作應用程式和工作資料" - "繼續" + + "我知道了" - "工作資料夾已暫停" - "工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊。" - "系統已暫停使用工作資料夾。在這種情況下,工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊。" + "工作應用程式已關閉" + "工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" + "工作應用程式已關閉。工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" "你的 IT 管理員可以看見工作應用程式和相關標記" "我知道了" - "暫停工作應用程式" - "開啟" + "關閉工作應用程式" + "開啟工作應用程式" "篩選器" - "暫停工作應用程式和通知" "失敗:%1$s" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index 1b645b2502..03a451c5c8 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -48,12 +48,14 @@ "Sula umbhalo ovela ebhokisini lokusesha" "Awekho amawijethi atholakalayo" "Ayikho imiphumela yosesho" - "Okomuntu siqu" + "Okwabantu siqu" "Umsebenzi" "Izingxoxo" "Ulwazi oluwusizo phambi nje kwakho" "Ukuze utholeulwazi ngaphandle kokuvula ama-app, ungakwazi ukwengeza amawijethi kusikrini sakho sasekhaya" + "Thepha ukuze ushintshe amasethingi ewijethi" "Ngiyezwa" + "Shintsha amasethingi ewijethi" "Sesha izinhlelo zokusebenza" "Ilayisha izinhlelo zokusebenza..." "Azikho izinhlelo zokusebenza ezitholiwe ezifana ne-\"%1$s\"" @@ -154,18 +156,16 @@ "Okomuntu siqu" "Umsebenzi" "Iphrofayela yomsebenzi" - "Idatha yomuntu siqu yehlukile futhi ifihliwe kusuka kuzinhlelo zokusebenza zomsebenzi" - "Izinhlelo zokusebenza zomsebenzi nedatha kuyobonakala kumphathi wakho we-IT" - "Okulandelayo" + + "Ngiyezwa" - "Iphrofayela yomsebenzi iphunyuziwe" - "Ama-app omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" - "Iphrofayela yomsebenzi iphunyuziwe. Ama-app omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" + "Ama-app omsebenzi avaliwe" + "Ama-app akho omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" + "Ama-app omsebenzi avaliwe. Ama-app akho omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" "Ama-app omsebenzi anebheji futhi ayabonakala kumphathi wakho we-IT" "Ngiyezwa" - "Misa ama-app omsebenzi" - "Vula" + "Vala ama-app omsebenzi" + "Vula ama-app omsebenzi" "Hlunga" - "Phumuza izinhlelo zokusebenza zomsebenzi nezaziso" "Yehlulekile: %1$s" From ea8ac5a2234cc6e384a1902d5b0e6553939beee2 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 14 Jun 2021 11:40:10 -0700 Subject: [PATCH 044/905] Only inflating taskbar views for valid items Also enabling view cache for folders Bug: 187353581 Test: Manual Change-Id: I5bc695fd86475f30611bc6b362b4ae93c48c26bb --- .../taskbar/TaskbarActivityContext.java | 7 ++ .../taskbar/TaskbarDragController.java | 7 +- .../launcher3/taskbar/TaskbarView.java | 93 ++++++++++--------- 3 files changed, 62 insertions(+), 45 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 6e477000dd..aaf0d3fac9 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -56,6 +56,7 @@ import com.android.launcher3.touch.ItemClickHandler; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.Themes; import com.android.launcher3.util.TraceHelper; +import com.android.launcher3.util.ViewCache; import com.android.launcher3.views.ActivityContext; import com.android.quickstep.SysUINavigationMode; import com.android.quickstep.SysUINavigationMode.Mode; @@ -88,6 +89,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private int mLastRequestedNonFullscreenHeight; private final SysUINavigationMode.Mode mNavMode; + private final ViewCache mViewCache = new ViewCache(); private final boolean mIsSafeModeEnabled; @@ -187,6 +189,11 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ return mControllers.taskbarDragController; } + @Override + public ViewCache getViewCache() { + return mViewCache; + } + /** * Sets a new data-source for this taskbar instance */ diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java index 4294eb565f..67ebc02a74 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragController.java @@ -15,6 +15,9 @@ */ package com.android.launcher3.taskbar; +import static android.view.View.INVISIBLE; +import static android.view.View.VISIBLE; + import android.content.ClipData; import android.content.ClipDescription; import android.content.Intent; @@ -86,7 +89,7 @@ public class TaskbarDragController extends DragController { startInternalDrag(btv); - btv.setAlpha(0); + btv.setVisibility(INVISIBLE); }); return true; } @@ -293,7 +296,7 @@ public class TaskbarDragController extends DragController iconStart) { @@ -246,12 +255,10 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar mIconLayoutBounds.bottom = mIconLayoutBounds.top + mIconTouchSize; for (int i = 0; i < count; i++) { View child = getChildAt(i); - if (child.getVisibility() == VISIBLE) { - iconStart += mItemMarginLeftRight; - int iconEnd = iconStart + mIconTouchSize; - child.layout(iconStart, mIconLayoutBounds.top, iconEnd, mIconLayoutBounds.bottom); - iconStart = iconEnd + mItemMarginLeftRight; - } + iconStart += mItemMarginLeftRight; + int iconEnd = iconStart + mIconTouchSize; + child.layout(iconStart, mIconLayoutBounds.top, iconEnd, mIconLayoutBounds.bottom); + iconStart = iconEnd + mItemMarginLeftRight; } mIconLayoutBounds.right = iconStart; } @@ -307,7 +314,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar } private View inflate(@LayoutRes int layoutResId) { - return mActivityContext.getLayoutInflater().inflate(layoutResId, this, false); + return mActivityContext.getViewCache().getView(layoutResId, mActivityContext, this); } @Override From 560d28e3a195caf68f16c8042e7f82afa3c81cff Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Fri, 4 Jun 2021 15:35:46 -0700 Subject: [PATCH 045/905] Initial commit of TaskBar on keyguard Bug: 180046394 Test: Tested with pin + keyboard + pattern Change-Id: I951d9508b1325c157a9c0d92fa8e77fe8df9c460 --- .../taskbar/LauncherTaskbarUIController.java | 11 ++ .../taskbar/NavbarButtonsViewController.java | 32 +++++- .../taskbar/TaskbarActivityContext.java | 11 +- .../launcher3/taskbar/TaskbarControllers.java | 7 +- .../taskbar/TaskbarKeyguardController.java | 104 ++++++++++++++++++ .../launcher3/taskbar/TaskbarManager.java | 8 +- .../taskbar/TaskbarViewController.java | 3 +- .../quickstep/TouchInteractionService.java | 2 +- 8 files changed, 163 insertions(+), 15 deletions(-) create mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 9a836aa255..f4168d9f80 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -55,6 +55,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { private AlphaProperty mIconAlphaForHome; private @Nullable Animator mAnimator; private boolean mIsAnimatingToLauncher; + private TaskbarKeyguardController mKeyguardController; public LauncherTaskbarUIController( BaseQuickstepLauncher launcher, TaskbarActivityContext context) { @@ -81,6 +82,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mHotseatController.init(); setTaskbarViewVisible(!mLauncher.hasBeenResumed()); mLauncher.setTaskbarUIController(this); + mKeyguardController = taskbarControllers.taskbarKeyguardController; } @Override @@ -117,6 +119,15 @@ public class LauncherTaskbarUIController extends TaskbarUIController { * Should be called from onResume() and onPause(), and animates the Taskbar accordingly. */ public void onLauncherResumedOrPaused(boolean isResumed) { + if (mKeyguardController.isScreenOff()) { + if (!isResumed) { + return; + } else { + // Resuming implicitly means device unlocked + mKeyguardController.setScreenOn(); + } + } + long duration = QuickstepTransitionManager.CONTENT_ALPHA_DURATION; if (mAnimator != null) { mAnimator.cancel(); diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 2ae7d108ed..d40242c42c 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -22,6 +22,7 @@ import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_HO import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_IME_SWITCH; import static com.android.launcher3.taskbar.TaskbarNavButtonController.BUTTON_RECENTS; import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_IME; +import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_KEYGUARD; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_A11Y_BUTTON_LONG_CLICKABLE; import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_IME_SHOWING; @@ -65,6 +66,8 @@ public class NavbarButtonsViewController { private static final int FLAG_IME_VISIBLE = 1 << 1; private static final int FLAG_ROTATION_BUTTON_VISIBLE = 1 << 2; private static final int FLAG_A11Y_VISIBLE = 1 << 3; + private static final int FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE = 1 << 4; + private static final int FLAG_KEYGUARD_VISIBLE = 1 << 5; private static final int MASK_IME_SWITCHER_VISIBLE = FLAG_SWITCHER_SUPPORTED | FLAG_IME_VISIBLE; @@ -114,6 +117,10 @@ public class NavbarButtonsViewController { mControllers.taskbarViewController.getTaskbarIconAlpha() .getProperty(ALPHA_INDEX_IME), flags -> (flags & FLAG_IME_VISIBLE) == 0, MultiValueAlpha.VALUE, 1, 0)); + mPropertyHolders.add(new StatePropertyHolder( + mControllers.taskbarViewController.getTaskbarIconAlpha() + .getProperty(ALPHA_INDEX_KEYGUARD), + flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0, MultiValueAlpha.VALUE, 1, 0)); // Rotation button RotationButton rotationButton = new RotationButtonImpl(addButton(mEndContainer)); @@ -136,16 +143,21 @@ public class NavbarButtonsViewController { mPropertyHolders.add(new StatePropertyHolder(backButton, flags -> (flags & FLAG_IME_VISIBLE) == 0, View.ROTATION, 0, Utilities.isRtl(mContext.getResources()) ? 90 : -90)); + mPropertyHolders.add(new StatePropertyHolder(backButton, + flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0 || + (flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0)); // home and recents buttons View homeButton = addButton(R.drawable.ic_sysbar_home, BUTTON_HOME, startContainer, navButtonController); mPropertyHolders.add(new StatePropertyHolder(homeButton, - flags -> (flags & FLAG_IME_VISIBLE) == 0)); + flags -> (flags & FLAG_IME_VISIBLE) == 0 && + (flags & FLAG_KEYGUARD_VISIBLE) == 0)); View recentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS, startContainer, navButtonController); mPropertyHolders.add(new StatePropertyHolder(recentsButton, - flags -> (flags & FLAG_IME_VISIBLE) == 0)); + flags -> (flags & FLAG_IME_VISIBLE) == 0 && + (flags & FLAG_KEYGUARD_VISIBLE) == 0)); // IME switcher View imeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH, @@ -183,6 +195,22 @@ public class NavbarButtonsViewController { applyState(); } + /** + * Should be called when we need to show back button for bouncer + */ + public void setBackForBouncer(boolean isBouncerVisible) { + updateStateForFlag(FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE, isBouncerVisible); + applyState(); + } + + /** + * Slightly misnamed, but should be called when only keyguard OR AOD is showing + */ + public void setKeyguardVisible(boolean isKeyguardVisible) { + updateStateForFlag(FLAG_KEYGUARD_VISIBLE, isKeyguardVisible); + applyState(); + } + /** * Returns true if IME bar is visible */ diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 6e477000dd..2a0fbbb1bc 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -18,6 +18,7 @@ package com.android.launcher3.taskbar; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; +import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_BOTTOM_TAPPABLE_ELEMENT; import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_EXTRA_NAVIGATION_BAR; @@ -121,7 +122,8 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ new RotationButtonController(this, R.color.popup_color_primary_light, R.color.popup_color_primary_light), new TaskbarDragLayerController(this, mDragLayer), - new TaskbarViewController(this, taskbarView)); + new TaskbarViewController(this, taskbarView), + new TaskbarKeyguardController(this)); Display display = windowContext.getDisplay(); Context c = display.getDisplayId() == Display.DEFAULT_DISPLAY @@ -135,7 +137,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mWindowLayoutParams = new WindowManager.LayoutParams( MATCH_PARENT, mLastRequestedNonFullscreenHeight, - TYPE_APPLICATION_OVERLAY, + TYPE_NAVIGATION_BAR_PANEL, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, PixelFormat.TRANSLUCENT); mWindowLayoutParams.setTitle(WINDOW_TITLE); @@ -144,7 +146,6 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mWindowLayoutParams.setFitInsetsTypes(0); mWindowLayoutParams.softInputMode = WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING; mWindowLayoutParams.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; - mWindowLayoutParams.setSystemApplicationOverlay(true); WindowManagerWrapper wmWrapper = WindowManagerWrapper.getInstance(); wmWrapper.setProvidesInsetsTypes( @@ -213,17 +214,19 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ systemUiStateFlags, forceUpdate); mControllers.taskbarViewController.setImeIsVisible( mControllers.navbarButtonsViewController.isImeVisible()); + mControllers.taskbarKeyguardController.updateStateForSysuiFlags(systemUiStateFlags); } public void onRotationProposal(int rotation, boolean isValid) { mControllers.rotationButtonController.onRotationProposal(rotation, isValid); } - public void disable(int displayId, int state1, int state2, boolean animate) { + public void disableNavBarElements(int displayId, int state1, int state2, boolean animate) { if (displayId != getDisplayId()) { return; } mControllers.rotationButtonController.onDisable2FlagChanged(state2); + mControllers.taskbarKeyguardController.disableNavbarElements(state1, state2); } public void onSystemBarAttributesChanged(int displayId, int behavior) { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java index 7712ffef55..157053efdd 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -31,6 +31,7 @@ public class TaskbarControllers { public final RotationButtonController rotationButtonController; public final TaskbarDragLayerController taskbarDragLayerController; public final TaskbarViewController taskbarViewController; + public final TaskbarKeyguardController taskbarKeyguardController; /** Do not store this controller, as it may change at runtime. */ @NonNull public TaskbarUIController uiController = TaskbarUIController.DEFAULT; @@ -41,7 +42,8 @@ public class TaskbarControllers { NavbarButtonsViewController navbarButtonsViewController, RotationButtonController rotationButtonController, TaskbarDragLayerController taskbarDragLayerController, - TaskbarViewController taskbarViewController) { + TaskbarViewController taskbarViewController, + TaskbarKeyguardController taskbarKeyguardController) { this.taskbarActivityContext = taskbarActivityContext; this.taskbarDragController = taskbarDragController; this.navButtonController = navButtonController; @@ -49,6 +51,7 @@ public class TaskbarControllers { this.rotationButtonController = rotationButtonController; this.taskbarDragLayerController = taskbarDragLayerController; this.taskbarViewController = taskbarViewController; + this.taskbarKeyguardController = taskbarKeyguardController; } /** @@ -63,6 +66,7 @@ public class TaskbarControllers { } taskbarDragLayerController.init(this); taskbarViewController.init(this); + taskbarKeyguardController.init(navbarButtonsViewController); } /** @@ -72,5 +76,6 @@ public class TaskbarControllers { uiController.onDestroy(); rotationButtonController.onDestroy(); taskbarDragLayerController.onDestroy(); + taskbarKeyguardController.onDestroy(); } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java new file mode 100644 index 0000000000..b7799d8149 --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java @@ -0,0 +1,104 @@ +package com.android.launcher3.taskbar; + +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_BOUNCER_SHOWING; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_DEVICE_DOZING; +import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING; + +import android.app.KeyguardManager; +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; +import android.view.View; + +/** + * Controller for managing keyguard state for taskbar + */ +public class TaskbarKeyguardController { + + private static final int KEYGUARD_SYSUI_FLAGS = SYSUI_STATE_BOUNCER_SHOWING | + SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING | SYSUI_STATE_DEVICE_DOZING; + + private final TaskbarActivityContext mContext; + private int mDisabledNavIcons; + private int mKeyguardSysuiFlags; + private boolean mBouncerShowing; + private NavbarButtonsViewController mNavbarButtonsViewController; + private final KeyguardManager mKeyguardManager; + private boolean mIsScreenOff; + + private final BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + mIsScreenOff = true; + } + }; + + public TaskbarKeyguardController(TaskbarActivityContext context) { + mContext = context; + mKeyguardManager = mContext.getSystemService(KeyguardManager.class); + } + + public void init(NavbarButtonsViewController navbarButtonUIController) { + mNavbarButtonsViewController = navbarButtonUIController; + mContext.registerReceiver(mScreenOffReceiver, new IntentFilter(Intent.ACTION_SCREEN_OFF)); + } + + public void updateStateForSysuiFlags(int systemUiStateFlags) { + boolean bouncerShowing = (systemUiStateFlags & SYSUI_STATE_BOUNCER_SHOWING) != 0; + boolean keyguardShowing = (systemUiStateFlags & SYSUI_STATE_STATUS_BAR_KEYGUARD_SHOWING) + != 0; + boolean dozing = (systemUiStateFlags & SYSUI_STATE_DEVICE_DOZING) != 0; + + int interestingKeyguardFlags = systemUiStateFlags & KEYGUARD_SYSUI_FLAGS; + if (interestingKeyguardFlags == mKeyguardSysuiFlags) { + return; + } + mKeyguardSysuiFlags = interestingKeyguardFlags; + + mBouncerShowing = bouncerShowing; + if (!mContext.canShowNavButtons()) { + // For gesture nav we don't need to deal with bouncer or showing taskbar when locked + return; + } + + mNavbarButtonsViewController.setKeyguardVisible(keyguardShowing || dozing); + updateIconsForBouncer(); + } + + public boolean isScreenOff() { + return mIsScreenOff; + } + + public void setScreenOn() { + mIsScreenOff = false; + } + + public void disableNavbarElements(int state1, int state2) { + if (mDisabledNavIcons == state1) { + // no change + return; + } + mDisabledNavIcons = state1; + updateIconsForBouncer(); + } + + /** + * Hides/shows taskbar when keyguard is up + */ + private void updateIconsForBouncer() { + boolean disableBack = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_BACK) != 0; + boolean disableRecent = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_RECENT) != 0; + boolean disableHome = (mDisabledNavIcons & View.STATUS_BAR_DISABLE_HOME) != 0; + boolean onlyBackEnabled = !disableBack && disableRecent && disableHome; + + boolean showBackForBouncer = onlyBackEnabled && + mKeyguardManager.isDeviceSecure() && + mBouncerShowing; + mNavbarButtonsViewController.setBackForBouncer(showBackForBouncer); + } + + public void onDestroy() { + mContext.unregisterReceiver(mScreenOffReceiver); + } +} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index 3563d09573..9f5ea50480 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -136,10 +136,6 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen onSysuiFlagsChangedInternal(mSysuiStateFlags, true /* forceUpdate */); } - /** - * See {@link com.android.systemui.shared.system.QuickStepContract.SystemUiStateFlags} - * @param systemUiStateFlags The latest SystemUiStateFlags - */ public void onSystemUiFlagsChanged(int systemUiStateFlags) { onSysuiFlagsChangedInternal(systemUiStateFlags, false /* forceUpdate */); } @@ -157,9 +153,9 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen } } - public void disable(int displayId, int state1, int state2, boolean animate) { + public void disableNavBarElements(int displayId, int state1, int state2, boolean animate) { if (mTaskbarActivityContext != null) { - mTaskbarActivityContext.disable(displayId, state1, state2, animate); + mTaskbarActivityContext.disableNavBarElements(displayId, state1, state2, animate); } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index b6184c962b..10cc926759 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -27,6 +27,7 @@ public class TaskbarViewController { public static final int ALPHA_INDEX_HOME = 0; public static final int ALPHA_INDEX_LAUNCHER_STATE = 1; public static final int ALPHA_INDEX_IME = 2; + public static final int ALPHA_INDEX_KEYGUARD = 3; private final TaskbarActivityContext mActivity; private final TaskbarView mTaskbarView; @@ -38,7 +39,7 @@ public class TaskbarViewController { public TaskbarViewController(TaskbarActivityContext activity, TaskbarView taskbarView) { mActivity = activity; mTaskbarView = taskbarView; - mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 3); + mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 4); mTaskbarIconAlpha.setUpdateVisibility(true); } diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index a3136c7dd8..47ca3d2024 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -274,7 +274,7 @@ public class TouchInteractionService extends Service implements PluginListener mTaskbarManager - .disable(displayId, state1, state2, animate)); + .disableNavBarElements(displayId, state1, state2, animate)); } @Override From 113377d8b8a213e72126f4f67aba5e778adaa491 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 15 Jun 2021 15:12:17 -0700 Subject: [PATCH 046/905] Tap on recents button twice to go to last app Fixes: 190660016 Test: Tapped on recents twice and saw last app. Tapped on recents and tried to tap on other app icons and none of them launched. Change-Id: Ie89f1ec0464f194087dc07ab99deb8223ab6ddb8 --- .../launcher3/taskbar/TaskbarDragLayerController.java | 8 ++++++-- .../launcher3/taskbar/TaskbarNavButtonController.java | 6 ++++-- .../src/com/android/quickstep/OverviewCommandHelper.java | 5 +++++ 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java index 2efbd4fa37..743619b6be 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java @@ -93,6 +93,12 @@ public class TaskbarDragLayerController { */ public void updateInsetsTouchability(InsetsInfo insetsInfo) { insetsInfo.touchableRegion.setEmpty(); + if (mActivity.canShowNavButtons()) { + // Always have nav buttons be touchable + mControllers.navbarButtonsViewController.addVisibleButtonsRegion( + mTaskbarDragLayer, insetsInfo.touchableRegion); + } + if (mTaskbarDragLayer.getAlpha() < AlphaUpdateListener.ALPHA_CUTOFF_THRESHOLD) { // Let touches pass through us. insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); @@ -105,8 +111,6 @@ public class TaskbarDragLayerController { // Buttons are visible, take over the full taskbar area insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_FRAME); } else { - mControllers.navbarButtonsViewController.addVisibleButtonsRegion( - mTaskbarDragLayer, insetsInfo.touchableRegion); insetsInfo.setTouchableInsets(TOUCHABLE_INSETS_REGION); } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index 002d42da3b..8549ca2ac5 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -94,8 +94,10 @@ public class TaskbarNavButtonController { } private void navigateToOverview() { - mService.getOverviewCommandHelper() - .addCommand(OverviewCommandHelper.TYPE_SHOW); + int commandType = mService.getOverviewCommandHelper().isOverviewVisible() ? + OverviewCommandHelper.TYPE_TOGGLE : + OverviewCommandHelper.TYPE_SHOW; + mService.getOverviewCommandHelper().addCommand(commandType); } private void executeBack() { diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java index dbdd75fc13..b06c1ca8f1 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java @@ -136,6 +136,11 @@ public class OverviewCommandHelper { } } + public boolean isOverviewVisible() { + BaseActivityInterface activityInterface = + mOverviewComponentObserver.getActivityInterface(); + return activityInterface.getVisibleRecentsView() != null; + } /** * Executes the task and returns true if next task can be executed. If false, then the next * task is deferred until {@link #scheduleNextTask} is called From 58ffbef8f0a9a71d4aa264e0af0cdecab1fddd50 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 15 Jun 2021 13:14:41 -0700 Subject: [PATCH 047/905] Enable 3 button nav for taskbar Bug: 180046394 Test: Switched between gesture and button nav on phone and tablet. Change-Id: Iac2357a3256f8b6b36ca49d3680594a91e824a5f --- .../launcher3/taskbar/NavbarButtonsViewController.java | 2 +- .../android/launcher3/taskbar/TaskbarActivityContext.java | 6 +++--- .../com/android/launcher3/taskbar/TaskbarControllers.java | 2 +- .../launcher3/taskbar/TaskbarDragLayerController.java | 2 +- .../launcher3/taskbar/TaskbarKeyguardController.java | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index d40242c42c..2facd4436c 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -105,7 +105,7 @@ public class NavbarButtonsViewController { return true; }; - if (mContext.canShowNavButtons()) { + if (mContext.isThreeButtonNav()) { initButtons(mStartContainer, mEndContainer, mControllers.navButtonController); // Animate taskbar background when IME shows diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 000799b73b..59586abee7 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -161,8 +161,8 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ mWindowManager.addView(mDragLayer, mWindowLayoutParams); } - public boolean canShowNavButtons() { - return ENABLE_THREE_BUTTON_TASKBAR && mNavMode == Mode.THREE_BUTTONS; + public boolean isThreeButtonNav() { + return mNavMode == Mode.THREE_BUTTONS; } @Override @@ -214,7 +214,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ } public void updateSysuiStateFlags(int systemUiStateFlags, boolean forceUpdate) { - if (!canShowNavButtons()) { + if (!isThreeButtonNav()) { return; } mControllers.navbarButtonsViewController.updateStateForSysuiFlags( diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java index 157053efdd..c48c28b9e5 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -61,7 +61,7 @@ public class TaskbarControllers { */ public void init() { navbarButtonsViewController.init(this); - if (taskbarActivityContext.canShowNavButtons()) { + if (taskbarActivityContext.isThreeButtonNav()) { rotationButtonController.init(); } taskbarDragLayerController.init(this); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java index 743619b6be..db5c387770 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java @@ -93,7 +93,7 @@ public class TaskbarDragLayerController { */ public void updateInsetsTouchability(InsetsInfo insetsInfo) { insetsInfo.touchableRegion.setEmpty(); - if (mActivity.canShowNavButtons()) { + if (mActivity.isThreeButtonNav()) { // Always have nav buttons be touchable mControllers.navbarButtonsViewController.addVisibleButtonsRegion( mTaskbarDragLayer, insetsInfo.touchableRegion); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java index b7799d8149..2936bd2146 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarKeyguardController.java @@ -57,7 +57,7 @@ public class TaskbarKeyguardController { mKeyguardSysuiFlags = interestingKeyguardFlags; mBouncerShowing = bouncerShowing; - if (!mContext.canShowNavButtons()) { + if (!mContext.isThreeButtonNav()) { // For gesture nav we don't need to deal with bouncer or showing taskbar when locked return; } From 5cf86b263e41cb9def813e166fba0e53c1508551 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Tue, 15 Jun 2021 14:49:28 -0700 Subject: [PATCH 048/905] Updating taskbar icon alignment state Icon alignment is only tied to Launcher paused/resumed state Creating two separate states for this: 1) Launcher paused/resumed 2) Active gesture interaction (live-titles can affect paused state) Removing state handler dependency on taskbar visibility Bug: 190170303 Bug: 187353581 Bug: 187919439 Test: Manual Change-Id: Ia97cdf43cec1d9213f5dc2af8d66258b34c57514 --- .../taskbar/LauncherTaskbarUIController.java | 141 ++++++++++-------- .../taskbar/TaskbarActivityContext.java | 5 +- .../taskbar/TaskbarStateHandler.java | 23 +-- .../launcher3/taskbar/TaskbarView.java | 53 +------ .../taskbar/TaskbarViewController.java | 77 +++++++++- .../android/quickstep/AbsSwipeUpHandler.java | 3 +- .../quickstep/BaseActivityInterface.java | 3 +- .../quickstep/LauncherActivityInterface.java | 9 +- .../quickstep/TaskAnimationManager.java | 6 + 9 files changed, 177 insertions(+), 143 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index f4168d9f80..255ba1e054 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -15,27 +15,29 @@ */ package com.android.launcher3.taskbar; -import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.launcher3.LauncherState.HOTSEAT_ICONS; import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_HOME; -import static com.android.launcher3.taskbar.TaskbarViewController.ALPHA_INDEX_LAUNCHER_STATE; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; +import android.animation.ObjectAnimator; import android.graphics.Rect; import android.view.MotionEvent; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.LauncherState; import com.android.launcher3.QuickstepTransitionManager; import com.android.launcher3.R; import com.android.launcher3.anim.AnimatorListeners; -import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; import com.android.quickstep.AnimatedFloat; +import com.android.quickstep.RecentsAnimationCallbacks; +import com.android.quickstep.RecentsAnimationCallbacks.RecentsAnimationListener; +import com.android.quickstep.RecentsAnimationController; +import com.android.systemui.shared.recents.model.ThumbnailData; /** @@ -51,12 +53,19 @@ public class LauncherTaskbarUIController extends TaskbarUIController { final TaskbarDragLayer mTaskbarDragLayer; final TaskbarView mTaskbarView; + private final AnimatedFloat mIconAlignmentForResumedState = + new AnimatedFloat(this::onIconAlignmentRatioChanged); + private final AnimatedFloat mIconAlignmentForGestureState = + new AnimatedFloat(this::onIconAlignmentRatioChanged); + private AnimatedFloat mTaskbarBackgroundAlpha; private AlphaProperty mIconAlphaForHome; - private @Nullable Animator mAnimator; private boolean mIsAnimatingToLauncher; private TaskbarKeyguardController mKeyguardController; + private LauncherState mTargetStateOverride = null; + private TaskbarControllers mControllers; + public LauncherTaskbarUIController( BaseQuickstepLauncher launcher, TaskbarActivityContext context) { mContext = context; @@ -67,7 +76,6 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mTaskbarStateHandler = mLauncher.getTaskbarStateHandler(); mHotseatController = new TaskbarHotseatController( mLauncher, mTaskbarView::updateHotseatItems); - } @Override @@ -77,21 +85,17 @@ public class LauncherTaskbarUIController extends TaskbarUIController { MultiValueAlpha taskbarIconAlpha = taskbarControllers.taskbarViewController .getTaskbarIconAlpha(); mIconAlphaForHome = taskbarIconAlpha.getProperty(ALPHA_INDEX_HOME); - mTaskbarStateHandler.setAnimationController(taskbarIconAlpha.getProperty( - ALPHA_INDEX_LAUNCHER_STATE)); + mControllers = taskbarControllers; + mHotseatController.init(); - setTaskbarViewVisible(!mLauncher.hasBeenResumed()); mLauncher.setTaskbarUIController(this); mKeyguardController = taskbarControllers.taskbarKeyguardController; + onLauncherResumedOrPaused(mLauncher.hasBeenResumed()); + mIconAlignmentForResumedState.finishAnimation(); } @Override protected void onDestroy() { - if (mAnimator != null) { - // End this first, in case it relies on properties that are about to be cleaned up. - mAnimator.end(); - } - mTaskbarStateHandler.setAnimationController(null); mHotseatController.cleanup(); setTaskbarViewVisible(true); mLauncher.getHotseat().setIconsAlpha(1f); @@ -100,7 +104,7 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override protected boolean isTaskbarTouchable() { - return !mIsAnimatingToLauncher; + return !mIsAnimatingToLauncher && mTargetStateOverride == null; } @Override @@ -128,63 +132,82 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } } - long duration = QuickstepTransitionManager.CONTENT_ALPHA_DURATION; - if (mAnimator != null) { - mAnimator.cancel(); - } - if (isResumed) { - mAnimator = createAnimToLauncher(mLauncher.getStateManager().getState(), duration); - } else { - mAnimator = createAnimToApp(duration); - } - mAnimator.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - mAnimator = null; - } - }); - mAnimator.start(); + ObjectAnimator anim = mIconAlignmentForResumedState.animateToValue( + getCurrentIconAlignmentRatio(), isResumed ? 1 : 0) + .setDuration(QuickstepTransitionManager.CONTENT_ALPHA_DURATION); + + anim.addListener(AnimatorListeners.forEndCallback(() -> mIsAnimatingToLauncher = false)); + anim.start(); + mIsAnimatingToLauncher = isResumed; } /** - * Create Taskbar animation when going from an app to Launcher. + * Create Taskbar animation when going from an app to Launcher as part of recents transition. * @param toState If known, the state we will end up in when reaching Launcher. - * TODO: Move this and createAnimToApp to TaskbarStateHandler using the BACKGROUND state + * @param callbacks callbacks to track the recents animation lifecycle. The state change is + * automatically reset once the recents animation finishes */ - public Animator createAnimToLauncher(@NonNull LauncherState toState, long duration) { - PendingAnimation anim = new PendingAnimation(duration); - mTaskbarStateHandler.setState(toState, anim); - - anim.setFloat(mTaskbarBackgroundAlpha, AnimatedFloat.VALUE, 0, LINEAR); - mTaskbarView.alignIconsWithLauncher(mLauncher.getDeviceProfile(), anim); - - anim.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationStart(Animator animation) { - mIsAnimatingToLauncher = true; - } - + public Animator createAnimToLauncher(@NonNull LauncherState toState, + @NonNull RecentsAnimationCallbacks callbacks, + long duration) { + ObjectAnimator animator = mIconAlignmentForGestureState + .animateToValue(mIconAlignmentForGestureState.value, 1) + .setDuration(duration); + animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { - mIsAnimatingToLauncher = false; - setTaskbarViewVisible(false); + mTargetStateOverride = null; } - }); - return anim.buildAnim(); - } - - private Animator createAnimToApp(long duration) { - PendingAnimation anim = new PendingAnimation(duration); - anim.setFloat(mTaskbarBackgroundAlpha, AnimatedFloat.VALUE, 1, LINEAR); - anim.addListener(AnimatorListeners.forEndCallback(mTaskbarView.resetIconPosition(anim))); - anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { - setTaskbarViewVisible(true); + mTargetStateOverride = toState; } }); - return anim.buildAnim(); + callbacks.addListener(new RecentsAnimationListener() { + @Override + public void onRecentsAnimationCanceled(ThumbnailData thumbnailData) { + endGestureStateOverride(); + } + + @Override + public void onRecentsAnimationFinished(RecentsAnimationController controller) { + endGestureStateOverride(); + } + + private void endGestureStateOverride() { + callbacks.removeListener(this); + mIconAlignmentForGestureState + .animateToValue(mIconAlignmentForGestureState.value, 0) + .start(); + } + }); + return animator; + } + + private float getCurrentIconAlignmentRatio() { + return Math.max(mIconAlignmentForResumedState.value, mIconAlignmentForGestureState.value); + } + + private void onIconAlignmentRatioChanged() { + if (mControllers == null) { + return; + } + float alignment = getCurrentIconAlignmentRatio(); + mControllers.taskbarViewController.setLauncherIconAlignment( + alignment, mLauncher.getDeviceProfile()); + + mTaskbarBackgroundAlpha.updateValue(1 - alignment); + + LauncherState state = mTargetStateOverride != null ? mTargetStateOverride + : mLauncher.getStateManager().getState(); + if ((state.getVisibleElements(mLauncher) & HOTSEAT_ICONS) != 0) { + // If the hotseat icons are visible, then switch taskbar in last frame + setTaskbarViewVisible(alignment < 1); + } else { + mLauncher.getHotseat().setIconsAlpha(1); + mIconAlphaForHome.setValue(1 - alignment); + } } /** diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 000799b73b..106ebe54dc 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -17,7 +17,6 @@ package com.android.launcher3.taskbar; import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS; -import static android.view.WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_NAVIGATION_BAR_PANEL; import static com.android.systemui.shared.system.WindowManagerWrapper.ITYPE_BOTTOM_TAPPABLE_ELEMENT; @@ -93,6 +92,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ private final ViewCache mViewCache = new ViewCache(); private final boolean mIsSafeModeEnabled; + private boolean mIsDestroyed = false; public TaskbarActivityContext(Context windowContext, DeviceProfile dp, TaskbarNavButtonController buttonController) { @@ -208,6 +208,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ * Called when this instance of taskbar is no longer needed */ public void onDestroy() { + mIsDestroyed = true; setUIController(TaskbarUIController.DEFAULT); mControllers.onDestroy(); mWindowManager.removeViewImmediate(mDragLayer); @@ -252,7 +253,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ * Updates the TaskbarContainer height (pass deviceProfile.taskbarSize to reset). */ public void setTaskbarWindowHeight(int height) { - if (mWindowLayoutParams.height == height) { + if (mWindowLayoutParams.height == height || mIsDestroyed) { return; } if (height != MATCH_PARENT) { diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java index 20d4133a97..edd2a22778 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStateHandler.java @@ -18,45 +18,33 @@ package com.android.launcher3.taskbar; import static com.android.launcher3.LauncherState.TASKBAR; import static com.android.launcher3.anim.Interpolators.LINEAR; -import androidx.annotation.Nullable; - import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.LauncherState; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.statemanager.StateManager; import com.android.launcher3.states.StateAnimationConfig; -import com.android.launcher3.util.MultiValueAlpha; import com.android.quickstep.AnimatedFloat; import com.android.quickstep.SystemUiProxy; /** - * StateHandler to animate Taskbar according to Launcher's state machine. Does nothing if Taskbar - * isn't present (i.e. {@link #setAnimationController} is never called). + * StateHandler to animate Taskbar according to Launcher's state machine. */ public class TaskbarStateHandler implements StateManager.StateHandler { private final BaseQuickstepLauncher mLauncher; - // Contains Taskbar-related properties we should aniamte. If null, don't do anything. - private @Nullable MultiValueAlpha.AlphaProperty mTaskbarAlpha = null; - private AnimatedFloat mNavbarButtonAlpha = new AnimatedFloat(this::updateNavbarButtonAlpha); public TaskbarStateHandler(BaseQuickstepLauncher launcher) { mLauncher = launcher; } - public void setAnimationController(MultiValueAlpha.AlphaProperty taskbarAlpha) { - mTaskbarAlpha = taskbarAlpha; - // Reapply state. - setState(mLauncher.getStateManager().getState()); - updateNavbarButtonAlpha(); - } - @Override public void setState(LauncherState state) { setState(state, PropertySetter.NO_ANIM_PROPERTY_SETTER); + // Force update the alpha in case it was not initialized properly + updateNavbarButtonAlpha(); } @Override @@ -69,12 +57,7 @@ public class TaskbarStateHandler implements StateManager.StateHandler mActivityContext.setTaskbarWindowHeight( - mActivityContext.getDeviceProfile().taskbarSize); - } - private void removeAndRecycle(View view) { removeView(view); view.setOnClickListener(null); @@ -195,6 +143,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar // so if the info changes we need to reinflate. This should only happen if a new // folder is dragged to the position that another folder previously existed. removeAndRecycle(hotseatView); + hotseatView = null; } else { // View found break; diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index 10cc926759..c7ac4a4f5b 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -15,19 +15,29 @@ */ package com.android.launcher3.taskbar; +import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; +import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X; +import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y; +import static com.android.launcher3.anim.Interpolators.LINEAR; + +import android.graphics.Rect; import android.view.View; +import com.android.launcher3.DeviceProfile; +import com.android.launcher3.anim.AnimatorPlaybackController; +import com.android.launcher3.anim.PendingAnimation; +import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.util.MultiValueAlpha; /** * Handles properties/data collection, then passes the results to TaskbarView to render. */ public class TaskbarViewController { + private static final Runnable NO_OP = () -> { }; public static final int ALPHA_INDEX_HOME = 0; - public static final int ALPHA_INDEX_LAUNCHER_STATE = 1; - public static final int ALPHA_INDEX_IME = 2; - public static final int ALPHA_INDEX_KEYGUARD = 3; + public static final int ALPHA_INDEX_IME = 1; + public static final int ALPHA_INDEX_KEYGUARD = 2; private final TaskbarActivityContext mActivity; private final TaskbarView mTaskbarView; @@ -36,10 +46,15 @@ public class TaskbarViewController { // Initialized in init. private TaskbarControllers mControllers; + // Animation to align icons with Launcher, created lazily. This allows the controller to be + // active only during the animation and does not need to worry about layout changes. + private AnimatorPlaybackController mIconAlignControllerLazy = null; + private Runnable mOnControllerPreCreateCallback = NO_OP; + public TaskbarViewController(TaskbarActivityContext activity, TaskbarView taskbarView) { mActivity = activity; mTaskbarView = taskbarView; - mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 4); + mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 3); mTaskbarIconAlpha.setUpdateVisibility(true); } @@ -71,6 +86,60 @@ public class TaskbarViewController { mTaskbarView.setClickAndLongClickListenersForIcon(icon); } + /** + * Sets the taskbar icon alignment relative to Launcher hotseat icons + * @param alignmentRatio [0, 1] + * 0 => not aligned + * 1 => fully aligned + */ + public void setLauncherIconAlignment(float alignmentRatio, DeviceProfile launcherDp) { + if (mIconAlignControllerLazy == null) { + mIconAlignControllerLazy = createIconAlignmentController(launcherDp); + } + mIconAlignControllerLazy.setPlayFraction(alignmentRatio); + if (alignmentRatio <= 0 || alignmentRatio >= 1) { + // Cleanup lazy controller so that it is created again in next animation + mIconAlignControllerLazy = null; + } + } + + /** + * Creates an animation for aligning the taskbar icons with the provided Launcher device profile + */ + private AnimatorPlaybackController createIconAlignmentController(DeviceProfile launcherDp) { + mOnControllerPreCreateCallback.run(); + PendingAnimation setter = new PendingAnimation(100); + Rect hotseatPadding = launcherDp.getHotseatLayoutPadding(mActivity); + float scaleUp = ((float) launcherDp.iconSizePx) / mActivity.getDeviceProfile().iconSizePx; + int hotseatCellSize = + (launcherDp.availableWidthPx - hotseatPadding.left - hotseatPadding.right) + / launcherDp.numShownHotseatIcons; + + int offsetY = launcherDp.getTaskbarOffsetY(); + setter.setFloat(mTaskbarView, VIEW_TRANSLATE_Y, -offsetY, LINEAR); + + int collapsedHeight = mActivity.getDeviceProfile().taskbarSize; + int expandedHeight = collapsedHeight + offsetY; + setter.addOnFrameListener(anim -> mActivity.setTaskbarWindowHeight( + anim.getAnimatedFraction() > 0 ? expandedHeight : collapsedHeight)); + + int count = mTaskbarView.getChildCount(); + for (int i = 0; i < count; i++) { + View child = mTaskbarView.getChildAt(i); + ItemInfo info = (ItemInfo) child.getTag(); + setter.setFloat(child, SCALE_PROPERTY, scaleUp, LINEAR); + + float childCenter = (child.getLeft() + child.getRight()) / 2; + float hotseatIconCenter = hotseatPadding.left + hotseatCellSize * info.screenId + + hotseatCellSize / 2; + setter.setFloat(child, VIEW_TRANSLATE_X, hotseatIconCenter - childCenter, LINEAR); + } + + AnimatorPlaybackController controller = setter.createPlaybackController(); + mOnControllerPreCreateCallback = () -> controller.setPlayFraction(0); + return controller; + } + /** * Callbacks for {@link TaskbarView} to interact with its controller. */ diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index 0ebaea2234..a8658a788e 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -1107,7 +1107,8 @@ public abstract class AbsSwipeUpHandler, mActivityRestartListener); mParallelRunningAnim = mActivityInterface.getParallelAnimationToLauncher( - mGestureState.getEndTarget(), duration); + mGestureState.getEndTarget(), duration, + mTaskAnimationManager.getCurrentCallbacks()); if (mParallelRunningAnim != null) { mParallelRunningAnim.start(); } diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java index a45ced4b21..2699b0795b 100644 --- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java +++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java @@ -346,7 +346,8 @@ public abstract class BaseActivityInterface Date: Wed, 16 Jun 2021 15:22:32 -0700 Subject: [PATCH 049/905] Fixing widget not laid-out properly in preview Bug: 185306338 Test: Manual Change-Id: Ib1ec8a53e4701f6813813b86bf481b837127a909 --- .../launcher3/ShortcutAndWidgetContainer.java | 18 +++++++++--------- .../graphics/LauncherPreviewRenderer.java | 8 +++++++- .../widget/NavigableAppWidgetHostView.java | 3 +-- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/com/android/launcher3/ShortcutAndWidgetContainer.java b/src/com/android/launcher3/ShortcutAndWidgetContainer.java index 4579705f5a..9a7ddbcd6a 100644 --- a/src/com/android/launcher3/ShortcutAndWidgetContainer.java +++ b/src/com/android/launcher3/ShortcutAndWidgetContainer.java @@ -31,7 +31,7 @@ import android.view.ViewGroup; import com.android.launcher3.CellLayout.ContainerType; import com.android.launcher3.folder.FolderIcon; import com.android.launcher3.views.ActivityContext; -import com.android.launcher3.widget.LauncherAppWidgetHostView; +import com.android.launcher3.widget.NavigableAppWidgetHostView; public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon.FolderIconParent { static final String TAG = "ShortcutAndWidgetContainer"; @@ -104,9 +104,9 @@ public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon. public void setupLp(View child) { CellLayout.LayoutParams lp = (CellLayout.LayoutParams) child.getLayoutParams(); - if (child instanceof LauncherAppWidgetHostView) { + if (child instanceof NavigableAppWidgetHostView) { DeviceProfile profile = mActivity.getDeviceProfile(); - ((LauncherAppWidgetHostView) child).getWidgetInset(profile, mTempRect); + ((NavigableAppWidgetHostView) child).getWidgetInset(profile, mTempRect); lp.setup(mCellWidth, mCellHeight, invertLayoutHorizontally(), mCountX, mCountY, profile.appWidgetScale.x, profile.appWidgetScale.y, mBorderSpacing, mTempRect); } else { @@ -129,8 +129,8 @@ public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon. CellLayout.LayoutParams lp = (CellLayout.LayoutParams) child.getLayoutParams(); final DeviceProfile dp = mActivity.getDeviceProfile(); - if (child instanceof LauncherAppWidgetHostView) { - ((LauncherAppWidgetHostView) child).getWidgetInset(dp, mTempRect); + if (child instanceof NavigableAppWidgetHostView) { + ((NavigableAppWidgetHostView) child).getWidgetInset(dp, mTempRect); lp.setup(mCellWidth, mCellHeight, invertLayoutHorizontally(), mCountX, mCountY, dp.appWidgetScale.x, dp.appWidgetScale.y, mBorderSpacing, mTempRect); } else { @@ -176,16 +176,16 @@ public class ShortcutAndWidgetContainer extends ViewGroup implements FolderIcon. */ public void layoutChild(View child) { CellLayout.LayoutParams lp = (CellLayout.LayoutParams) child.getLayoutParams(); - if (child instanceof LauncherAppWidgetHostView) { - LauncherAppWidgetHostView lahv = (LauncherAppWidgetHostView) child; + if (child instanceof NavigableAppWidgetHostView) { + NavigableAppWidgetHostView nahv = (NavigableAppWidgetHostView) child; // Scale and center the widget to fit within its cells. DeviceProfile profile = mActivity.getDeviceProfile(); float scaleX = profile.appWidgetScale.x; float scaleY = profile.appWidgetScale.y; - lahv.setScaleToFit(Math.min(scaleX, scaleY)); - lahv.setTranslationForCentering(-(lp.width - (lp.width * scaleX)) / 2.0f, + nahv.setScaleToFit(Math.min(scaleX, scaleY)); + nahv.setTranslationForCentering(-(lp.width - (lp.width * scaleX)) / 2.0f, -(lp.height - (lp.height * scaleY)) / 2.0f); } diff --git a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java index 952b850c28..c6add3190e 100644 --- a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java +++ b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java @@ -84,6 +84,7 @@ import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.views.ActivityContext; import com.android.launcher3.views.BaseDragLayer; import com.android.launcher3.widget.LauncherAppWidgetProviderInfo; +import com.android.launcher3.widget.NavigableAppWidgetHostView; import com.android.launcher3.widget.custom.CustomWidgetManager; import java.util.ArrayList; @@ -353,7 +354,12 @@ public class LauncherPreviewRenderer extends ContextWrapper private void inflateAndAddWidgets( LauncherAppWidgetInfo info, LauncherAppWidgetProviderInfo providerInfo) { - AppWidgetHostView view = new AppWidgetHostView(mContext); + AppWidgetHostView view = new NavigableAppWidgetHostView(this) { + @Override + protected boolean shouldAllowDirectClick() { + return false; + } + }; view.setAppWidget(-1, providerInfo); view.updateAppWidget(null); view.setTag(info); diff --git a/src/com/android/launcher3/widget/NavigableAppWidgetHostView.java b/src/com/android/launcher3/widget/NavigableAppWidgetHostView.java index 6163b5199c..d12fe74637 100644 --- a/src/com/android/launcher3/widget/NavigableAppWidgetHostView.java +++ b/src/com/android/launcher3/widget/NavigableAppWidgetHostView.java @@ -26,7 +26,6 @@ import android.view.View; import android.view.ViewDebug; import android.view.ViewGroup; -import com.android.launcher3.BaseActivity; import com.android.launcher3.DeviceProfile; import com.android.launcher3.Reorderable; import com.android.launcher3.dragndrop.DraggableView; @@ -59,7 +58,7 @@ public abstract class NavigableAppWidgetHostView extends AppWidgetHostView @ViewDebug.ExportedProperty(category = "launcher") private boolean mChildrenFocused; - protected final BaseActivity mActivity; + protected final ActivityContext mActivity; public NavigableAppWidgetHostView(Context context) { super(context); From ecc32bd2279fe534e6b228fa2298f97e6ce56b1b Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Wed, 26 May 2021 13:03:20 +0100 Subject: [PATCH 050/905] Send TaskBar touch events to tests Bug: 191344757 Test: TaplTestsQuickstep.testOverview Change-Id: I9e1a4c6d4616e5791762a6340944212e4631862e --- .../com/android/launcher3/taskbar/TaskbarDragLayer.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java index c6845434a1..ac121ab5fa 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java @@ -19,12 +19,15 @@ import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; +import android.view.MotionEvent; import android.view.View; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import com.android.launcher3.R; +import com.android.launcher3.testing.TestLogging; +import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.util.TouchController; import com.android.launcher3.views.BaseDragLayer; import com.android.systemui.shared.system.ViewTreeObserverWrapper; @@ -128,4 +131,10 @@ public class TaskbarDragLayer extends BaseDragLayer { mTaskbarBackgroundPaint.setAlpha((int) (alpha * 255)); invalidate(); } + + @Override + public boolean dispatchTouchEvent(MotionEvent ev) { + TestLogging.recordMotionEvent(TestProtocol.SEQUENCE_MAIN, "Touch event", ev); + return super.dispatchTouchEvent(ev); + } } From 5ca9df757ab1805f09ea34d8ca1b49c161e55713 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Thu, 17 Jun 2021 13:37:10 +0100 Subject: [PATCH 051/905] Apply dismissScale on TaskView instead of TaskThumbnailView - As icon is hidden while TaskView become focused, there is no need to apply the scaling on TaskThumbnailView only. Apply scaling on TaskView to simplify Bug: 14622874 Test: manual Change-Id: Idb5fc8540649d57a071a42d36388dedcdcf893eb --- quickstep/src/com/android/quickstep/views/TaskView.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/TaskView.java b/quickstep/src/com/android/quickstep/views/TaskView.java index 8ed6c14fc4..8b6410508f 100644 --- a/quickstep/src/com/android/quickstep/views/TaskView.java +++ b/quickstep/src/com/android/quickstep/views/TaskView.java @@ -337,6 +337,7 @@ public class TaskView extends FrameLayout implements Reusable { private float mFullscreenProgress; private float mGridProgress; private float mNonGridScale = 1; + private float mDismissScale = 1; private final FullscreenDrawParams mCurrentFullscreenParams; private final StatefulActivity mActivity; @@ -916,9 +917,6 @@ public class TaskView extends FrameLayout implements Reusable { if (mActivity.getDeviceProfile().isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get()) { setPivotX(getLayoutDirection() == LAYOUT_DIRECTION_RTL ? 0 : right - left); setPivotY(mSnapshotView.getTop()); - mSnapshotView.setPivotX( - getLayoutDirection() == LAYOUT_DIRECTION_RTL ? 0 : right - left); - mSnapshotView.setPivotY(0); } else { setPivotX((right - left) * 0.5f); setPivotY(mSnapshotView.getTop() + mSnapshotView.getHeight() * 0.5f); @@ -950,8 +948,8 @@ public class TaskView extends FrameLayout implements Reusable { } private void setSnapshotScale(float dismissScale) { - mSnapshotView.setScaleX(dismissScale); - mSnapshotView.setScaleY(dismissScale); + mDismissScale = dismissScale; + applyScale(); } /** @@ -969,6 +967,7 @@ public class TaskView extends FrameLayout implements Reusable { private void applyScale() { float scale = 1; scale *= getPersistentScale(); + scale *= mDismissScale; setScaleX(scale); setScaleY(scale); } From e91e4f0328f9e43ad2992a04b20962e5d9ddf4c9 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Thu, 17 Jun 2021 12:37:02 -0700 Subject: [PATCH 052/905] Default to requesting command type TOGGLE for OverviewCommandHelper Parity with how sysui switches between apps for double tapping recents button. Fixes: 190660016 Test: Double tap to switch works, tapping fast also works Change-Id: If6dda377d8accf564f3385e78c6721c677310361 --- .../launcher3/taskbar/TaskbarNavButtonController.java | 5 +---- .../src/com/android/quickstep/OverviewCommandHelper.java | 5 ----- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index 8549ca2ac5..8b0f426699 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -94,10 +94,7 @@ public class TaskbarNavButtonController { } private void navigateToOverview() { - int commandType = mService.getOverviewCommandHelper().isOverviewVisible() ? - OverviewCommandHelper.TYPE_TOGGLE : - OverviewCommandHelper.TYPE_SHOW; - mService.getOverviewCommandHelper().addCommand(commandType); + mService.getOverviewCommandHelper().addCommand(OverviewCommandHelper.TYPE_TOGGLE); } private void executeBack() { diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java index 728fec2732..2beef0a7ce 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java @@ -136,11 +136,6 @@ public class OverviewCommandHelper { } } - public boolean isOverviewVisible() { - BaseActivityInterface activityInterface = - mOverviewComponentObserver.getActivityInterface(); - return activityInterface.getVisibleRecentsView() != null; - } /** * Executes the task and returns true if next task can be executed. If false, then the next * task is deferred until {@link #scheduleNextTask} is called From deec62378c7e3518d1b8a727880b9c68efafae09 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 17 Jun 2021 15:18:15 -0700 Subject: [PATCH 053/905] Fixing Taskbar not initialized properly on recreate Bug: 187353581 Test: Manual Change-Id: I6e675937a033a4edcb4fa4e8151c210e14e8f896 --- .../launcher3/taskbar/LauncherTaskbarUIController.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 255ba1e054..7d0afe1aba 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -90,12 +90,17 @@ public class LauncherTaskbarUIController extends TaskbarUIController { mHotseatController.init(); mLauncher.setTaskbarUIController(this); mKeyguardController = taskbarControllers.taskbarKeyguardController; + onLauncherResumedOrPaused(mLauncher.hasBeenResumed()); mIconAlignmentForResumedState.finishAnimation(); + onIconAlignmentRatioChanged(); } @Override protected void onDestroy() { + mIconAlignmentForResumedState.finishAnimation(); + mIconAlignmentForGestureState.finishAnimation(); + mHotseatController.cleanup(); setTaskbarViewVisible(true); mLauncher.getHotseat().setIconsAlpha(1f); From 4a48a988c817264a4d6c80b649f0fec45b369fa3 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 17 Jun 2021 15:15:46 -0700 Subject: [PATCH 054/905] Simplifying Launcher binding callbacks > Making all methods as default > Removing obsolete logic around synchronous binding > Removing some UI dependencies from bind callbacks Bug: 187353581 Test: Manual Change-Id: I0d2bbb060af2cab7c64541d7695055629dfaf0b8 --- .../WidgetsPredicationUpdateTaskTest.java | 67 ------------------- .../model/ModelMultiCallbacksTest.java | 30 ++++----- .../launcher3/util/LauncherUIHelper.java | 2 +- src/com/android/launcher3/Launcher.java | 52 ++++++-------- .../launcher3/model/BaseLoaderResults.java | 50 +++++--------- .../android/launcher3/model/BgDataModel.java | 48 +++++++------ .../SecondaryDisplayLauncher.java | 67 ------------------- .../launcher3/util/ViewOnDrawExecutor.java | 61 +++++------------ 8 files changed, 99 insertions(+), 278 deletions(-) diff --git a/quickstep/robolectric_tests/src/com/android/launcher3/model/WidgetsPredicationUpdateTaskTest.java b/quickstep/robolectric_tests/src/com/android/launcher3/model/WidgetsPredicationUpdateTaskTest.java index 5471e492ae..1386ac0371 100644 --- a/quickstep/robolectric_tests/src/com/android/launcher3/model/WidgetsPredicationUpdateTaskTest.java +++ b/quickstep/robolectric_tests/src/com/android/launcher3/model/WidgetsPredicationUpdateTaskTest.java @@ -41,20 +41,11 @@ import com.android.launcher3.icons.ComponentWithLabel; import com.android.launcher3.icons.IconCache; import com.android.launcher3.model.BgDataModel.FixedContainerItems; import com.android.launcher3.model.QuickstepModelDelegate.PredictorState; -import com.android.launcher3.model.data.AppInfo; -import com.android.launcher3.model.data.ItemInfo; -import com.android.launcher3.model.data.LauncherAppWidgetInfo; -import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.shadows.ShadowDeviceFlag; -import com.android.launcher3.util.ComponentKey; -import com.android.launcher3.util.IntArray; import com.android.launcher3.util.IntSet; -import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.LauncherModelHelper; -import com.android.launcher3.util.ViewOnDrawExecutor; import com.android.launcher3.widget.LauncherAppWidgetProviderInfo; import com.android.launcher3.widget.PendingAddWidgetInfo; -import com.android.launcher3.widget.model.WidgetsListBaseEntry; import org.junit.Before; import org.junit.Test; @@ -68,9 +59,6 @@ import org.robolectric.shadows.ShadowAppWidgetManager; import org.robolectric.shadows.ShadowPackageManager; import org.robolectric.util.ReflectionHelpers; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.stream.Collectors; @@ -243,60 +231,5 @@ public final class WidgetsPredicationUpdateTaskTest { public IntSet getPagesToBindSynchronously() { return IntSet.wrap(0); } - - @Override - public void clearPendingBinds() { } - - @Override - public void startBinding() { } - - @Override - public void bindItems(List shortcuts, boolean forceAnimateIcons) { } - - @Override - public void bindScreens(IntArray orderedScreenIds) { } - - @Override - public void finishFirstPageBind(ViewOnDrawExecutor executor) { } - - @Override - public void finishBindingItems(IntSet pagesBoundFirst) { } - - @Override - public void preAddApps() { } - - @Override - public void bindAppsAdded(IntArray newScreens, ArrayList addNotAnimated, - ArrayList addAnimated) { } - - @Override - public void bindIncrementalDownloadProgressUpdated(AppInfo app) { } - - @Override - public void bindWorkspaceItemsChanged(List updated) { } - - @Override - public void bindWidgetsRestored(ArrayList widgets) { } - - @Override - public void bindRestoreItemsChange(HashSet updates) { } - - @Override - public void bindWorkspaceComponentsRemoved(ItemInfoMatcher matcher) { } - - @Override - public void bindAllWidgets(List widgets) { } - - @Override - public void onPagesBoundSynchronously(IntSet pages) { } - - @Override - public void executeOnNextDraw(ViewOnDrawExecutor executor) { } - - @Override - public void bindDeepShortcutMap(HashMap deepShortcutMap) { } - - @Override - public void bindAllApplications(AppInfo[] apps, int flags) { } } } diff --git a/robolectric_tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java b/robolectric_tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java index 275cf81da0..07351fe65b 100644 --- a/robolectric_tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java +++ b/robolectric_tests/src/com/android/launcher3/model/ModelMultiCallbacksTest.java @@ -35,7 +35,7 @@ import com.android.launcher3.util.IntSet; import com.android.launcher3.util.LauncherLayoutBuilder; import com.android.launcher3.util.LauncherModelHelper; import com.android.launcher3.util.LooperExecutor; -import com.android.launcher3.util.ViewOnDrawExecutor; +import com.android.launcher3.util.RunnableList; import org.junit.Before; import org.junit.Test; @@ -106,14 +106,14 @@ public class ModelMultiCallbacksTest { // No effect on callbacks when removing an callback mModelHelper.getModel().removeCallbacks(cb2); waitForLoaderAndTempMainThread(); - assertNull(cb1.mDeferredExecutor); - assertNull(cb2.mDeferredExecutor); + assertNull(cb1.mPendingTasks); + assertNull(cb2.mPendingTasks); // Reloading only loads registered callbacks mModelHelper.getModel().startLoader(); waitForLoaderAndTempMainThread(); cb1.verifySynchronouslyBound(3); - assertNull(cb2.mDeferredExecutor); + assertNull(cb2.mPendingTasks); } @Test @@ -180,19 +180,15 @@ public class ModelMultiCallbacksTest { final List mItems = new ArrayList<>(); IntSet mPageToBindSync = IntSet.wrap(0); IntSet mPageBoundSync = new IntSet(); - ViewOnDrawExecutor mDeferredExecutor; + RunnableList mPendingTasks; AppInfo[] mAppInfos; MyCallbacks() { } @Override - public void onPagesBoundSynchronously(IntSet pages) { - mPageBoundSync = pages; - } - - @Override - public void executeOnNextDraw(ViewOnDrawExecutor executor) { - mDeferredExecutor = executor; + public void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks) { + mPageBoundSync = boundPages; + mPendingTasks = pendingTasks; } @Override @@ -213,19 +209,19 @@ public class ModelMultiCallbacksTest { public void reset() { mItems.clear(); mPageBoundSync = new IntSet(); - mDeferredExecutor = null; + mPendingTasks = null; mAppInfos = null; } public void verifySynchronouslyBound(int totalItems) { // Verify that the requested page is bound synchronously - assertEquals(mPageBoundSync, mPageToBindSync); + assertEquals(mPageToBindSync, mPageBoundSync); assertEquals(mItems.size(), 1); - assertEquals(mItems.get(0).screenId, mPageBoundSync); - assertNotNull(mDeferredExecutor); + assertEquals(IntSet.wrap(mItems.get(0).screenId), mPageBoundSync); + assertNotNull(mPendingTasks); // Verify that all other pages are bound properly - mDeferredExecutor.runAllTasks(); + mPendingTasks.executeAllAndDestroy(); assertEquals(mItems.size(), totalItems); } diff --git a/robolectric_tests/src/com/android/launcher3/util/LauncherUIHelper.java b/robolectric_tests/src/com/android/launcher3/util/LauncherUIHelper.java index fdddab49ce..caad40e260 100644 --- a/robolectric_tests/src/com/android/launcher3/util/LauncherUIHelper.java +++ b/robolectric_tests/src/com/android/launcher3/util/LauncherUIHelper.java @@ -81,7 +81,7 @@ public class LauncherUIHelper { doLayout(launcher); ViewOnDrawExecutor executor = ReflectionHelpers.getField(launcher, "mPendingExecutor"); if (executor != null) { - executor.runAllTasks(); + executor.markCompleted(); } return launcher; } diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index 5a9257d636..5720a8cb34 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -118,6 +118,7 @@ import com.android.launcher3.allapps.AllAppsContainerView; import com.android.launcher3.allapps.AllAppsStore; import com.android.launcher3.allapps.AllAppsTransitionController; import com.android.launcher3.allapps.DiscoveryBounce; +import com.android.launcher3.anim.AnimatorListeners; import com.android.launcher3.anim.PropertyListBuilder; import com.android.launcher3.compat.AccessibilityManagerCompat; import com.android.launcher3.config.FeatureFlags; @@ -174,6 +175,7 @@ import com.android.launcher3.util.OnboardingPrefs; import com.android.launcher3.util.PackageManagerHelper; import com.android.launcher3.util.PackageUserKey; import com.android.launcher3.util.PendingRequestArgs; +import com.android.launcher3.util.RunnableList; import com.android.launcher3.util.SafeCloseable; import com.android.launcher3.util.SystemUiController; import com.android.launcher3.util.Themes; @@ -2060,7 +2062,7 @@ public class Launcher extends StatefulActivity implements Launche @Override public void clearPendingBinds() { if (mPendingExecutor != null) { - mPendingExecutor.markCompleted(); + mPendingExecutor.cancel(); mPendingExecutor = null; // We might have set this flag previously and forgot to clear it. @@ -2482,25 +2484,6 @@ public class Launcher extends StatefulActivity implements Launche return info; } - public void onPagesBoundSynchronously(IntSet pages) { - mSynchronouslyBoundPages = pages; - mWorkspace.setCurrentPage(pages.getArray().get(0)); - mPagesToBindSynchronously = new IntSet(); - } - - @Override - public void executeOnNextDraw(ViewOnDrawExecutor executor) { - clearPendingBinds(); - mPendingExecutor = executor; - if (!isInState(ALL_APPS)) { - mAppsView.getAppsStore().enableDeferUpdates(AllAppsStore.DEFER_UPDATES_NEXT_DRAW); - mPendingExecutor.execute(() -> mAppsView.getAppsStore().disableDeferUpdates( - AllAppsStore.DEFER_UPDATES_NEXT_DRAW)); - } - - executor.attachTo(this); - } - public void clearPendingExecutor(ViewOnDrawExecutor executor) { if (mPendingExecutor == executor) { mPendingExecutor = null; @@ -2508,22 +2491,31 @@ public class Launcher extends StatefulActivity implements Launche } @Override - public void finishFirstPageBind(final ViewOnDrawExecutor executor) { + public void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks) { + mSynchronouslyBoundPages = boundPages; + if (!boundPages.isEmpty()) { + mWorkspace.setCurrentPage(boundPages.getArray().get(0)); + } + mPagesToBindSynchronously = new IntSet(); + + clearPendingBinds(); + ViewOnDrawExecutor executor = new ViewOnDrawExecutor(pendingTasks); + mPendingExecutor = executor; + if (!isInState(ALL_APPS)) { + mAppsView.getAppsStore().enableDeferUpdates(AllAppsStore.DEFER_UPDATES_NEXT_DRAW); + pendingTasks.add(() -> mAppsView.getAppsStore().disableDeferUpdates( + AllAppsStore.DEFER_UPDATES_NEXT_DRAW)); + } + AlphaProperty property = mDragLayer.getAlphaProperty(ALPHA_INDEX_LAUNCHER_LOAD); if (property.getValue() < 1) { ObjectAnimator anim = ObjectAnimator.ofFloat(property, MultiValueAlpha.VALUE, 1); - if (executor != null) { - anim.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - executor.onLoadAnimationCompleted(); - } - }); - } + anim.addListener(AnimatorListeners.forEndCallback(executor::onLoadAnimationCompleted)); anim.start(); - } else if (executor != null) { + } else { executor.onLoadAnimationCompleted(); } + executor.attachTo(this); } /** diff --git a/src/com/android/launcher3/model/BaseLoaderResults.java b/src/com/android/launcher3/model/BaseLoaderResults.java index 12ee676b06..30755e398b 100644 --- a/src/com/android/launcher3/model/BaseLoaderResults.java +++ b/src/com/android/launcher3/model/BaseLoaderResults.java @@ -18,7 +18,9 @@ package com.android.launcher3.model; import static com.android.launcher3.model.ModelUtils.filterCurrentWorkspaceItems; import static com.android.launcher3.model.ModelUtils.sortWorkspaceItemsSpatially; +import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; +import android.os.Process; import android.util.Log; import com.android.launcher3.InvariantDeviceProfile; @@ -33,7 +35,7 @@ import com.android.launcher3.util.IntArray; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.LooperExecutor; import com.android.launcher3.util.LooperIdleLock; -import com.android.launcher3.util.ViewOnDrawExecutor; +import com.android.launcher3.util.RunnableList; import java.util.ArrayList; import java.util.Collections; @@ -175,7 +177,6 @@ public abstract class BaseLoaderResults { currentScreenIndices = screenIndices; } - final boolean validFirstPage = !currentScreenIndices.isEmpty(); IntSet currentScreenIds = new IntSet(); currentScreenIndices.forEach( @@ -204,40 +205,25 @@ public abstract class BaseLoaderResults { // Bind workspace screens executeCallbacksTask(c -> c.bindScreens(mOrderedScreenIds), mUiExecutor); - Executor mainExecutor = mUiExecutor; // Load items on the current page. - bindWorkspaceItems(currentWorkspaceItems, mainExecutor); - bindAppWidgets(currentAppWidgets, mainExecutor); + bindWorkspaceItems(currentWorkspaceItems, mUiExecutor); + bindAppWidgets(currentAppWidgets, mUiExecutor); mExtraItems.forEach(item -> - executeCallbacksTask(c -> c.bindExtraContainerItems(item), mainExecutor)); + executeCallbacksTask(c -> c.bindExtraContainerItems(item), mUiExecutor)); - // In case of validFirstPage, only bind the first screen, and defer binding the - // remaining screens after first onDraw (and an optional the fade animation whichever - // happens later). - // This ensures that the first screen is immediately visible (eg. during rotation) - // In case of !validFirstPage, bind all pages one after other. + RunnableList pendingTasks = new RunnableList(); + Executor pendingExecutor = pendingTasks::add; + bindWorkspaceItems(otherWorkspaceItems, pendingExecutor); + bindAppWidgets(otherAppWidgets, pendingExecutor); + executeCallbacksTask(c -> c.finishBindingItems(currentScreenIndices), pendingExecutor); + pendingExecutor.execute( + () -> MODEL_EXECUTOR.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT)); - final Executor deferredExecutor = - validFirstPage ? new ViewOnDrawExecutor() : mainExecutor; - - executeCallbacksTask(c -> c.finishFirstPageBind( - validFirstPage ? (ViewOnDrawExecutor) deferredExecutor : null), mainExecutor); - - bindWorkspaceItems(otherWorkspaceItems, deferredExecutor); - bindAppWidgets(otherAppWidgets, deferredExecutor); - // Tell the workspace that we're done binding items - executeCallbacksTask(c -> c.finishBindingItems(currentScreenIndices), deferredExecutor); - - if (validFirstPage) { - executeCallbacksTask(c -> { - // We are loading synchronously, which means, some of the pages will be - // bound after first draw. Inform the mCallbacks that page binding is - // not complete, and schedule the remaining pages. - c.onPagesBoundSynchronously(currentScreenIndices); - c.executeOnNextDraw((ViewOnDrawExecutor) deferredExecutor); - - }, mUiExecutor); - } + executeCallbacksTask( + c -> { + MODEL_EXECUTOR.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); + c.onInitialBindComplete(currentScreenIndices, pendingTasks); + }, mUiExecutor); } private void bindWorkspaceItems( diff --git a/src/com/android/launcher3/model/BgDataModel.java b/src/com/android/launcher3/model/BgDataModel.java index 0740a30f21..ba825ca300 100644 --- a/src/com/android/launcher3/model/BgDataModel.java +++ b/src/com/android/launcher3/model/BgDataModel.java @@ -49,7 +49,7 @@ import com.android.launcher3.util.IntArray; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.IntSparseArrayMap; import com.android.launcher3.util.ItemInfoMatcher; -import com.android.launcher3.util.ViewOnDrawExecutor; +import com.android.launcher3.util.RunnableList; import com.android.launcher3.widget.model.WidgetsListBaseEntry; import java.io.FileDescriptor; @@ -462,35 +462,41 @@ public class BgDataModel { * Returns an IntSet of page numbers to bind first, synchronously if possible * or an empty IntSet */ - IntSet getPagesToBindSynchronously(); - void clearPendingBinds(); - void startBinding(); - void bindItems(List shortcuts, boolean forceAnimateIcons); - void bindScreens(IntArray orderedScreenIds); - void finishFirstPageBind(ViewOnDrawExecutor executor); - void finishBindingItems(IntSet pagesBoundFirst); - void preAddApps(); - void bindAppsAdded(IntArray newScreens, - ArrayList addNotAnimated, ArrayList addAnimated); + default IntSet getPagesToBindSynchronously() { + return new IntSet(); + } + + default void clearPendingBinds() { } + default void startBinding() { } + + default void bindItems(List shortcuts, boolean forceAnimateIcons) { } + default void bindScreens(IntArray orderedScreenIds) { } + default void finishBindingItems(IntSet pagesBoundFirst) { } + default void preAddApps() { } + default void bindAppsAdded(IntArray newScreens, + ArrayList addNotAnimated, ArrayList addAnimated) { } /** * Binds updated incremental download progress */ - void bindIncrementalDownloadProgressUpdated(AppInfo app); - void bindWorkspaceItemsChanged(List updated); - void bindWidgetsRestored(ArrayList widgets); - void bindRestoreItemsChange(HashSet updates); - void bindWorkspaceComponentsRemoved(ItemInfoMatcher matcher); - void bindAllWidgets(List widgets); - void onPagesBoundSynchronously(IntSet pages); - void executeOnNextDraw(ViewOnDrawExecutor executor); - void bindDeepShortcutMap(HashMap deepShortcutMap); + default void bindIncrementalDownloadProgressUpdated(AppInfo app) { } + default void bindWorkspaceItemsChanged(List updated) { } + default void bindWidgetsRestored(ArrayList widgets) { } + default void bindRestoreItemsChange(HashSet updates) { } + default void bindWorkspaceComponentsRemoved(ItemInfoMatcher matcher) { } + default void bindAllWidgets(List widgets) { } + + default void onInitialBindComplete(IntSet boundPages, RunnableList pendingTasks) { + pendingTasks.executeAllAndDestroy(); + } + + default void bindDeepShortcutMap(HashMap deepShortcutMap) { } /** * Binds extra item provided any external source */ default void bindExtraContainerItems(FixedContainerItems item) { } - void bindAllApplications(AppInfo[] apps, int flags); + default void bindAllApplications(AppInfo[] apps, int flags) { } } } diff --git a/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java b/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java index b271a6a7ce..1a96c2311c 100644 --- a/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java +++ b/src/com/android/launcher3/secondarydisplay/SecondaryDisplayLauncher.java @@ -35,23 +35,13 @@ import com.android.launcher3.model.BgDataModel; import com.android.launcher3.model.data.AppInfo; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.ItemInfoWithIcon; -import com.android.launcher3.model.data.LauncherAppWidgetInfo; -import com.android.launcher3.model.data.WorkspaceItemInfo; import com.android.launcher3.popup.PopupContainerWithArrow; import com.android.launcher3.popup.PopupDataProvider; import com.android.launcher3.util.ComponentKey; -import com.android.launcher3.util.IntArray; -import com.android.launcher3.util.IntSet; -import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.Themes; -import com.android.launcher3.util.ViewOnDrawExecutor; import com.android.launcher3.views.BaseDragLayer; -import com.android.launcher3.widget.model.WidgetsListBaseEntry; -import java.util.ArrayList; import java.util.HashMap; -import java.util.HashSet; -import java.util.List; /** * Launcher activity for secondary displays @@ -175,68 +165,11 @@ public class SecondaryDisplayLauncher extends BaseDraggingActivity return mDragLayer; } - @Override - public IntSet getPagesToBindSynchronously() { - return new IntSet(); - } - - @Override - public void clearPendingBinds() { } - - @Override - public void startBinding() { } - - @Override - public void bindItems(List shortcuts, boolean forceAnimateIcons) { } - - @Override - public void bindScreens(IntArray orderedScreenIds) { } - - @Override - public void finishFirstPageBind(ViewOnDrawExecutor executor) { - if (executor != null) { - executor.onLoadAnimationCompleted(); - } - } - - @Override - public void finishBindingItems(IntSet pagesBoundFirst) { } - - @Override - public void preAddApps() { } - - @Override - public void bindAppsAdded(IntArray newScreens, ArrayList addNotAnimated, - ArrayList addAnimated) { } - @Override public void bindIncrementalDownloadProgressUpdated(AppInfo app) { mAppsView.getAppsStore().updateProgressBar(app); } - @Override - public void bindWorkspaceItemsChanged(List updated) { } - - @Override - public void bindWidgetsRestored(ArrayList widgets) { } - - @Override - public void bindRestoreItemsChange(HashSet updates) { } - - @Override - public void bindWorkspaceComponentsRemoved(ItemInfoMatcher matcher) { } - - @Override - public void bindAllWidgets(List widgets) { } - - @Override - public void onPagesBoundSynchronously(IntSet pages) { } - - @Override - public void executeOnNextDraw(ViewOnDrawExecutor executor) { - executor.attachTo(getDragLayer(), false, null); - } - /** * Called when apps-button is clicked */ diff --git a/src/com/android/launcher3/util/ViewOnDrawExecutor.java b/src/com/android/launcher3/util/ViewOnDrawExecutor.java index 82e24c24f5..5d902917cd 100644 --- a/src/com/android/launcher3/util/ViewOnDrawExecutor.java +++ b/src/com/android/launcher3/util/ViewOnDrawExecutor.java @@ -16,28 +16,21 @@ package com.android.launcher3.util; -import static com.android.launcher3.util.Executors.MODEL_EXECUTOR; - -import android.os.Process; import android.view.View; import android.view.View.OnAttachStateChangeListener; import android.view.ViewTreeObserver.OnDrawListener; -import androidx.annotation.VisibleForTesting; - import com.android.launcher3.Launcher; -import java.util.ArrayList; -import java.util.concurrent.Executor; import java.util.function.Consumer; /** * An executor which runs all the tasks after the first onDraw is called on the target view. */ -public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, +public class ViewOnDrawExecutor implements OnDrawListener, Runnable, OnAttachStateChangeListener { - private final ArrayList mTasks = new ArrayList<>(); + private final RunnableList mTasks; private Consumer mOnClearCallback; private View mAttachedView; @@ -46,22 +39,16 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, private boolean mLoadAnimationCompleted; private boolean mFirstDrawCompleted; - public void attachTo(Launcher launcher) { - attachTo(launcher.getWorkspace(), true /* waitForLoadAnimation */, - launcher::clearPendingExecutor); + private boolean mCancelled; + + public ViewOnDrawExecutor(RunnableList tasks) { + mTasks = tasks; } - /** - * Attached the executor to the existence of the view - */ - public void attachTo(View attachedView, boolean waitForLoadAnimation, - Consumer onClearCallback) { - mOnClearCallback = onClearCallback; - mAttachedView = attachedView; + public void attachTo(Launcher launcher) { + mOnClearCallback = launcher::clearPendingExecutor; + mAttachedView = launcher.getWorkspace(); mAttachedView.addOnAttachStateChangeListener(this); - if (!waitForLoadAnimation) { - mLoadAnimationCompleted = true; - } if (mAttachedView.isAttachedToWindow()) { attachObserver(); @@ -74,12 +61,6 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, } } - @Override - public void execute(Runnable command) { - mTasks.add(command); - MODEL_EXECUTOR.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND); - } - @Override public void onViewAttachedToWindow(View v) { attachObserver(); @@ -105,12 +86,17 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, public void run() { // Post the pending tasks after both onDraw and onLoadAnimationCompleted have been called. if (mLoadAnimationCompleted && mFirstDrawCompleted && !mCompleted) { - runAllTasks(); + markCompleted(); } } + /** + * Executes all tasks immediately + */ public void markCompleted() { - mTasks.clear(); + if (!mCancelled) { + mTasks.executeAllAndDestroy(); + } mCompleted = true; if (mAttachedView != null) { mAttachedView.getViewTreeObserver().removeOnDrawListener(this); @@ -119,21 +105,10 @@ public class ViewOnDrawExecutor implements Executor, OnDrawListener, Runnable, if (mOnClearCallback != null) { mOnClearCallback.accept(this); } - MODEL_EXECUTOR.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT); } - protected boolean isCompleted() { - return mCompleted; - } - - /** - * Executes all tasks immediately - */ - @VisibleForTesting - public void runAllTasks() { - for (final Runnable r : mTasks) { - r.run(); - } + public void cancel() { + mCancelled = true; markCompleted(); } } From 6e1ce8ccb89a72ffddec4d8af7170f6b20d651a9 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Fri, 18 Jun 2021 12:41:22 -0700 Subject: [PATCH 055/905] Fixing out of order taskbar callbacks OnCreate can come before onDestroy for a previous activity which can cause the callbacks for taskbar to get cleared Bug: 190170303 Test: Presubmit Change-Id: I48334605384d4604043a50ffc3d137f84575148a --- .../launcher3/BaseQuickstepLauncher.java | 2 +- .../taskbar/LauncherTaskbarUIController.java | 2 +- .../launcher3/taskbar/TaskbarManager.java | 23 ++++++++++++++----- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 872633ca48..4eb2d53b46 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -132,7 +132,7 @@ public abstract class BaseQuickstepLauncher extends Launcher unbindService(mTisBinderConnection); if (mTaskbarManager != null) { - mTaskbarManager.setLauncher(null); + mTaskbarManager.clearLauncher(this); } super.onDestroy(); } diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 7d0afe1aba..12ac0f5692 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -98,11 +98,11 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override protected void onDestroy() { + onLauncherResumedOrPaused(false); mIconAlignmentForResumedState.finishAnimation(); mIconAlignmentForGestureState.finishAnimation(); mHotseatController.cleanup(); - setTaskbarViewVisible(true); mLauncher.getHotseat().setIconsAlpha(1f); mLauncher.setTaskbarUIController(null); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java index 9f5ea50480..788a36b31a 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarManager.java @@ -26,7 +26,7 @@ import android.content.Context; import android.hardware.display.DisplayManager; import android.view.Display; -import androidx.annotation.Nullable; +import androidx.annotation.NonNull; import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.DeviceProfile; @@ -103,14 +103,25 @@ public class TaskbarManager implements DisplayController.DisplayInfoChangeListen } /** - * Sets or clears a launcher to act as taskbar callback + * Sets a launcher to act as taskbar callback */ - public void setLauncher(@Nullable BaseQuickstepLauncher launcher) { + public void setLauncher(@NonNull BaseQuickstepLauncher launcher) { mLauncher = launcher; if (mTaskbarActivityContext != null) { - mTaskbarActivityContext.setUIController(mLauncher == null - ? TaskbarUIController.DEFAULT - : new LauncherTaskbarUIController(launcher, mTaskbarActivityContext)); + mTaskbarActivityContext.setUIController( + new LauncherTaskbarUIController(launcher, mTaskbarActivityContext)); + } + } + + /** + * Clears a previously set Launcher + */ + public void clearLauncher(@NonNull BaseQuickstepLauncher launcher) { + if (mLauncher == launcher) { + mLauncher = null; + if (mTaskbarActivityContext != null) { + mTaskbarActivityContext.setUIController(TaskbarUIController.DEFAULT); + } } } From c79d577f18cdae7445c1e5d8c10d5fb3bf0db78d Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Thu, 17 Jun 2021 19:56:30 -0400 Subject: [PATCH 056/905] Load widgets in wallpaper app launcher preview Test: Widgets in wallpaper app launcher preview rendered Bug: 185306338 Change-Id: I38569d2ff0b64ba55eb188afa42fba4100aae7ff --- .../graphics/LauncherPreviewRenderer.java | 57 +++++++-- .../widget/BaseLauncherAppWidgetHostView.java | 119 ++++++++++++++++++ .../widget/LauncherAppWidgetHostView.java | 84 +------------ 3 files changed, 170 insertions(+), 90 deletions(-) create mode 100644 src/com/android/launcher3/widget/BaseLauncherAppWidgetHostView.java diff --git a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java index c6add3190e..a27d5c8e06 100644 --- a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java +++ b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java @@ -26,6 +26,7 @@ import static com.android.launcher3.model.ModelUtils.sortWorkspaceItemsSpatially import android.annotation.TargetApi; import android.app.Fragment; +import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; import android.content.Context; @@ -83,6 +84,8 @@ import com.android.launcher3.util.IntSet; import com.android.launcher3.util.MainThreadInitializedObject; import com.android.launcher3.views.ActivityContext; import com.android.launcher3.views.BaseDragLayer; +import com.android.launcher3.widget.BaseLauncherAppWidgetHostView; +import com.android.launcher3.widget.LauncherAppWidgetHost; import com.android.launcher3.widget.LauncherAppWidgetProviderInfo; import com.android.launcher3.widget.NavigableAppWidgetHostView; import com.android.launcher3.widget.custom.CustomWidgetManager; @@ -202,6 +205,7 @@ public class LauncherPreviewRenderer extends ContextWrapper private final InsettableFrameLayout mRootView; private final Hotseat mHotseat; private final CellLayout mWorkspace; + private final AppWidgetHost mAppWidgetHost; public LauncherPreviewRenderer(Context context, InvariantDeviceProfile idp) { super(context); @@ -255,6 +259,10 @@ public class LauncherPreviewRenderer extends ContextWrapper mDp.workspacePadding.top, mDp.workspacePadding.right + mDp.cellLayoutPaddingLeftRightPx, mDp.workspacePadding.bottom); + + mAppWidgetHost = FeatureFlags.WIDGETS_IN_LAUNCHER_PREVIEW.get() + ? new LauncherPreviewAppWidgetHost(context) + : null; } /** Populate preview and render it. */ @@ -354,14 +362,20 @@ public class LauncherPreviewRenderer extends ContextWrapper private void inflateAndAddWidgets( LauncherAppWidgetInfo info, LauncherAppWidgetProviderInfo providerInfo) { - AppWidgetHostView view = new NavigableAppWidgetHostView(this) { - @Override - protected boolean shouldAllowDirectClick() { - return false; - } - }; - view.setAppWidget(-1, providerInfo); - view.updateAppWidget(null); + AppWidgetHostView view; + if (FeatureFlags.WIDGETS_IN_LAUNCHER_PREVIEW.get()) { + view = mAppWidgetHost.createView(mContext, info.appWidgetId, providerInfo); + } else { + view = new NavigableAppWidgetHostView(this) { + @Override + protected boolean shouldAllowDirectClick() { + return false; + } + }; + view.setAppWidget(-1, providerInfo); + view.updateAppWidget(null); + } + view.setTag(info); addInScreenFromBind(view, info); } @@ -477,4 +491,31 @@ public class LauncherPreviewRenderer extends ContextWrapper view.measure(makeMeasureSpec(width, EXACTLY), makeMeasureSpec(height, EXACTLY)); view.layout(0, 0, width, height); } + + private class LauncherPreviewAppWidgetHost extends AppWidgetHost { + + private LauncherPreviewAppWidgetHost(Context context) { + super(context, LauncherAppWidgetHost.APPWIDGET_HOST_ID); + } + + @Override + protected AppWidgetHostView onCreateView( + Context context, + int appWidgetId, + AppWidgetProviderInfo appWidget) { + return new LauncherPreviewAppWidgetHostView(LauncherPreviewRenderer.this); + } + } + + private static class LauncherPreviewAppWidgetHostView extends BaseLauncherAppWidgetHostView { + + private LauncherPreviewAppWidgetHostView(Context context) { + super(context); + } + + @Override + protected boolean shouldAllowDirectClick() { + return false; + } + } } diff --git a/src/com/android/launcher3/widget/BaseLauncherAppWidgetHostView.java b/src/com/android/launcher3/widget/BaseLauncherAppWidgetHostView.java new file mode 100644 index 0000000000..2742882b1f --- /dev/null +++ b/src/com/android/launcher3/widget/BaseLauncherAppWidgetHostView.java @@ -0,0 +1,119 @@ +/* + * 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. + */ + +package com.android.launcher3.widget; + +import android.content.Context; +import android.graphics.Outline; +import android.graphics.Rect; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewOutlineProvider; +import android.widget.RemoteViews; + +import androidx.annotation.UiThread; + +import com.android.launcher3.R; +import com.android.launcher3.util.Executors; + +/** + * Launcher AppWidgetHostView with support for rounded corners and a fallback View. + */ +public abstract class BaseLauncherAppWidgetHostView extends NavigableAppWidgetHostView { + + protected final LayoutInflater mInflater; + + private final Rect mEnforcedRectangle = new Rect(); + private final float mEnforcedCornerRadius; + private final ViewOutlineProvider mCornerRadiusEnforcementOutline = new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + if (mEnforcedRectangle.isEmpty() || mEnforcedCornerRadius <= 0) { + outline.setEmpty(); + } else { + outline.setRoundRect(mEnforcedRectangle, mEnforcedCornerRadius); + } + } + }; + + public BaseLauncherAppWidgetHostView(Context context) { + super(context); + + setExecutor(Executors.THREAD_POOL_EXECUTOR); + + mInflater = LayoutInflater.from(context); + mEnforcedCornerRadius = RoundedCornerEnforcement.computeEnforcedRadius(getContext()); + } + + @Override + protected View getErrorView() { + return mInflater.inflate(R.layout.appwidget_error, this, false); + } + + /** + * Fall back to error layout instead of showing widget. + */ + public void switchToErrorView() { + // Update the widget with 0 Layout id, to reset the view to error view. + updateAppWidget(new RemoteViews(getAppWidgetInfo().provider.getPackageName(), 0)); + } + + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + try { + super.onLayout(changed, left, top, right, bottom); + } catch (final RuntimeException e) { + post(this::switchToErrorView); + } + + enforceRoundedCorners(); + } + + @UiThread + private void resetRoundedCorners() { + setOutlineProvider(ViewOutlineProvider.BACKGROUND); + setClipToOutline(false); + } + + @UiThread + private void enforceRoundedCorners() { + if (mEnforcedCornerRadius <= 0 || !RoundedCornerEnforcement.isRoundedCornerEnabled()) { + resetRoundedCorners(); + return; + } + View background = RoundedCornerEnforcement.findBackground(this); + if (background == null + || RoundedCornerEnforcement.hasAppWidgetOptedOut(this, background)) { + resetRoundedCorners(); + return; + } + RoundedCornerEnforcement.computeRoundedRectangle(this, + background, + mEnforcedRectangle); + setOutlineProvider(mCornerRadiusEnforcementOutline); + setClipToOutline(true); + } + + /** Returns the corner radius currently enforced, in pixels. */ + public float getEnforcedCornerRadius() { + return mEnforcedCornerRadius; + } + + /** Returns true if the corner radius are enforced for this App Widget. */ + public boolean hasEnforcedCornerRadius() { + return getClipToOutline(); + } +} diff --git a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java index 70ed02f006..fa50dfb667 100644 --- a/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java +++ b/src/com/android/launcher3/widget/LauncherAppWidgetHostView.java @@ -20,19 +20,16 @@ import android.appwidget.AppWidgetProviderInfo; import android.content.Context; import android.content.res.Configuration; import android.graphics.Canvas; -import android.graphics.Outline; import android.graphics.Rect; import android.graphics.RectF; import android.os.Handler; import android.os.SystemClock; import android.util.SparseBooleanArray; import android.util.SparseIntArray; -import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.ViewDebug; import android.view.ViewGroup; -import android.view.ViewOutlineProvider; import android.view.accessibility.AccessibilityNodeInfo; import android.widget.AdapterView; import android.widget.Advanceable; @@ -40,7 +37,6 @@ import android.widget.RemoteViews; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.annotation.UiThread; import com.android.launcher3.CheckLongPressHelper; import com.android.launcher3.Launcher; @@ -51,7 +47,6 @@ import com.android.launcher3.dragndrop.DragLayer; import com.android.launcher3.keyboard.ViewGroupFocusHelper; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.model.data.LauncherAppWidgetInfo; -import com.android.launcher3.util.Executors; import com.android.launcher3.util.Themes; import com.android.launcher3.views.BaseDragLayer.TouchCompleteListener; import com.android.launcher3.widget.dragndrop.AppWidgetHostViewDragListener; @@ -61,7 +56,7 @@ import java.util.List; /** * {@inheritDoc} */ -public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView +public class LauncherAppWidgetHostView extends BaseLauncherAppWidgetHostView implements TouchCompleteListener, View.OnLongClickListener, LocalColorExtractor.Listener { @@ -76,8 +71,6 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView // Maximum duration for which updates can be deferred. private static final long UPDATE_LOCK_TIMEOUT_MILLIS = 1000; - protected final LayoutInflater mInflater; - private final CheckLongPressHelper mLongPressHelper; protected final Launcher mLauncher; private final Workspace mWorkspace; @@ -101,18 +94,6 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView private final Rect mWidgetSizeAtDrag = new Rect(); private final RectF mTempRectF = new RectF(); - private final Rect mEnforcedRectangle = new Rect(); - private final float mEnforcedCornerRadius; - private final ViewOutlineProvider mCornerRadiusEnforcementOutline = new ViewOutlineProvider() { - @Override - public void getOutline(View view, Outline outline) { - if (mEnforcedRectangle.isEmpty() || mEnforcedCornerRadius <= 0) { - outline.setEmpty(); - } else { - outline.setRoundRect(mEnforcedRectangle, mEnforcedCornerRadius); - } - } - }; private final Object mUpdateLock = new Object(); private final ViewGroupFocusHelper mDragLayerRelativeCoordinateHelper; private long mDeferUpdatesUntilMillis = 0; @@ -123,18 +104,15 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView mLauncher = Launcher.getLauncher(context); mWorkspace = mLauncher.getWorkspace(); mLongPressHelper = new CheckLongPressHelper(this, this); - mInflater = LayoutInflater.from(context); setAccessibilityDelegate(mLauncher.getAccessibilityDelegate()); setBackgroundResource(R.drawable.widget_internal_focus_bg); - setExecutor(Executors.THREAD_POOL_EXECUTOR); if (Utilities.ATLEAST_Q && Themes.getAttrBoolean(mLauncher, R.attr.isWorkspaceDarkText)) { setOnLightBackground(true); } mColorExtractor = LocalColorExtractor.newInstance(getContext()); mColorExtractor.setListener(this); - mEnforcedCornerRadius = RoundedCornerEnforcement.computeEnforcedRadius(getContext()); mDragLayerRelativeCoordinateHelper = new ViewGroupFocusHelper(mLauncher.getDragLayer()); } @@ -165,11 +143,6 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView return true; } - @Override - protected View getErrorView() { - return mInflater.inflate(R.layout.appwidget_error, this, false); - } - @Override public void updateAppWidget(RemoteViews remoteViews) { synchronized (mUpdateLock) { @@ -304,34 +277,17 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView } } - public void switchToErrorView() { - // Update the widget with 0 Layout id, to reset the view to error view. - updateAppWidget(new RemoteViews(getAppWidgetInfo().provider.getPackageName(), 0)); - } - @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { - try { - super.onLayout(changed, left, top, right, bottom); - } catch (final RuntimeException e) { - post(new Runnable() { - @Override - public void run() { - switchToErrorView(); - } - }); - } + super.onLayout(changed, left, top, right, bottom); mIsScrollable = checkScrollableRecursively(this); if (!mIsInDragMode && getTag() instanceof LauncherAppWidgetInfo) { - LauncherAppWidgetInfo info = (LauncherAppWidgetInfo) getTag(); mDragLayerRelativeCoordinateHelper.viewToRect(this, mCurrentWidgetSize); updateColorExtraction(mCurrentWidgetSize, mWorkspace.getPageIndexForScreenId(info.screenId)); } - - enforceRoundedCorners(); } /** Starts the drag mode. */ @@ -502,40 +458,4 @@ public class LauncherAppWidgetHostView extends NavigableAppWidgetHostView } return false; } - - @UiThread - private void resetRoundedCorners() { - setOutlineProvider(ViewOutlineProvider.BACKGROUND); - setClipToOutline(false); - } - - @UiThread - private void enforceRoundedCorners() { - if (mEnforcedCornerRadius <= 0 || !RoundedCornerEnforcement.isRoundedCornerEnabled()) { - resetRoundedCorners(); - return; - } - View background = RoundedCornerEnforcement.findBackground(this); - if (background == null - || RoundedCornerEnforcement.hasAppWidgetOptedOut(this, background)) { - resetRoundedCorners(); - return; - } - RoundedCornerEnforcement.computeRoundedRectangle(this, - background, - mEnforcedRectangle); - setOutlineProvider(mCornerRadiusEnforcementOutline); - setClipToOutline(true); - } - - /** Returns the corner radius currently enforced, in pixels. */ - public float getEnforcedCornerRadius() { - return mEnforcedCornerRadius; - } - - /** Returns true if the corner radius are enforced for this App Widget. */ - public boolean hasEnforcedCornerRadius() { - return getClipToOutline(); - } - } From 3fd22847ac7b2b61296d4244af391fba6ec9fe5a Mon Sep 17 00:00:00 2001 From: Tony Wickham Date: Tue, 1 Jun 2021 16:54:07 -0700 Subject: [PATCH 057/905] Initial commit of taskbar stashing - Added StashedHandleViewController to provide properties such as ViewOutlineProvider to animate the handle that's shown in place of taskbar while it's stashed - Added TaskbarStashController to coordinate the stashed state, including orchestrating the animation across taskbar controllers - Added TaskbarStashInput consumer to detect long press in the nav region when taskbar is stashed Behavior: - Long pressing taskbar background animates to the stashed state by morphing the TaskbarView into the stashed handle view and offsetting the background offscreen - We persist the stashed state across app launches and reboot; to unstash, long press the stashed handle - We also visually unstash when going back home Test: long press tasbkar background when in an app to stash it, long press the resulting stashed handle to unstash; while stashed, swipe up to home to also unstash until launching another app Bug: 189503603 Change-Id: I698eff785388dff1ef717c76879719d6af236c2d --- quickstep/res/layout/taskbar.xml | 12 + quickstep/res/values/dimens.xml | 3 + .../taskbar/LauncherTaskbarUIController.java | 77 +++-- .../taskbar/StashedHandleViewController.java | 108 ++++++++ .../taskbar/TaskbarActivityContext.java | 5 +- .../launcher3/taskbar/TaskbarControllers.java | 10 +- .../launcher3/taskbar/TaskbarDragLayer.java | 18 +- .../taskbar/TaskbarDragLayerController.java | 10 + .../taskbar/TaskbarStashController.java | 262 ++++++++++++++++++ .../taskbar/TaskbarUIController.java | 4 + .../launcher3/taskbar/TaskbarView.java | 10 +- .../taskbar/TaskbarViewController.java | 49 +++- .../com/android/quickstep/AnimatedFloat.java | 10 + .../quickstep/BaseActivityInterface.java | 8 + .../com/android/quickstep/InputConsumer.java | 2 + .../quickstep/LauncherActivityInterface.java | 9 + .../quickstep/RecentsAnimationController.java | 11 + .../quickstep/TouchInteractionService.java | 9 + .../TaskbarStashInputConsumer.java | 66 +++++ .../launcher3/util/MultiValueAlpha.java | 9 + 20 files changed, 654 insertions(+), 38 deletions(-) create mode 100644 quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java create mode 100644 quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java create mode 100644 quickstep/src/com/android/quickstep/inputconsumers/TaskbarStashInputConsumer.java diff --git a/quickstep/res/layout/taskbar.xml b/quickstep/res/layout/taskbar.xml index d61a8952a7..dfa17d6cc4 100644 --- a/quickstep/res/layout/taskbar.xml +++ b/quickstep/res/layout/taskbar.xml @@ -15,6 +15,7 @@ --> + + \ No newline at end of file diff --git a/quickstep/res/values/dimens.xml b/quickstep/res/values/dimens.xml index d8899a6e8e..4f62b34a5f 100644 --- a/quickstep/res/values/dimens.xml +++ b/quickstep/res/values/dimens.xml @@ -153,4 +153,7 @@ 16dp 16dp 48dp + 24dp + 220dp + 6dp diff --git a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java index 7d0afe1aba..c98bc87168 100644 --- a/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/LauncherTaskbarUIController.java @@ -50,21 +50,23 @@ public class LauncherTaskbarUIController extends TaskbarUIController { private final TaskbarHotseatController mHotseatController; private final TaskbarActivityContext mContext; - final TaskbarDragLayer mTaskbarDragLayer; - final TaskbarView mTaskbarView; + private final TaskbarDragLayer mTaskbarDragLayer; + private final TaskbarView mTaskbarView; private final AnimatedFloat mIconAlignmentForResumedState = new AnimatedFloat(this::onIconAlignmentRatioChanged); private final AnimatedFloat mIconAlignmentForGestureState = new AnimatedFloat(this::onIconAlignmentRatioChanged); + // Initialized in init. + private TaskbarControllers mControllers; private AnimatedFloat mTaskbarBackgroundAlpha; private AlphaProperty mIconAlphaForHome; - private boolean mIsAnimatingToLauncher; + private boolean mIsAnimatingToLauncherViaResume; + private boolean mIsAnimatingToLauncherViaGesture; private TaskbarKeyguardController mKeyguardController; private LauncherState mTargetStateOverride = null; - private TaskbarControllers mControllers; public LauncherTaskbarUIController( BaseQuickstepLauncher launcher, TaskbarActivityContext context) { @@ -80,13 +82,14 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override protected void init(TaskbarControllers taskbarControllers) { - mTaskbarBackgroundAlpha = taskbarControllers.taskbarDragLayerController - .getTaskbarBackgroundAlpha(); - MultiValueAlpha taskbarIconAlpha = taskbarControllers.taskbarViewController - .getTaskbarIconAlpha(); - mIconAlphaForHome = taskbarIconAlpha.getProperty(ALPHA_INDEX_HOME); mControllers = taskbarControllers; + mTaskbarBackgroundAlpha = mControllers.taskbarDragLayerController + .getTaskbarBackgroundAlpha(); + + MultiValueAlpha taskbarIconAlpha = mControllers.taskbarViewController.getTaskbarIconAlpha(); + mIconAlphaForHome = taskbarIconAlpha.getProperty(ALPHA_INDEX_HOME); + mHotseatController.init(); mLauncher.setTaskbarUIController(this); mKeyguardController = taskbarControllers.taskbarKeyguardController; @@ -109,19 +112,17 @@ public class LauncherTaskbarUIController extends TaskbarUIController { @Override protected boolean isTaskbarTouchable() { - return !mIsAnimatingToLauncher && mTargetStateOverride == null; + return !isAnimatingToLauncher() && !mControllers.taskbarStashController.isStashed(); + } + + private boolean isAnimatingToLauncher() { + return mIsAnimatingToLauncherViaResume || mIsAnimatingToLauncherViaGesture; } @Override protected void updateContentInsets(Rect outContentInsets) { - // TaskbarDragLayer provides insets to other apps based on contentInsets. These - // insets should stay consistent even if we expand TaskbarDragLayer's bounds, e.g. - // to show a floating view like Folder. Thus, we set the contentInsets to be where - // mTaskbarView is, since its position never changes and insets rather than overlays. - outContentInsets.left = mTaskbarView.getLeft(); - outContentInsets.top = mTaskbarView.getTop(); - outContentInsets.right = mTaskbarDragLayer.getWidth() - mTaskbarView.getRight(); - outContentInsets.bottom = mTaskbarDragLayer.getHeight() - mTaskbarView.getBottom(); + int contentHeight = mControllers.taskbarStashController.getContentHeight(); + outContentInsets.top = mTaskbarDragLayer.getHeight() - contentHeight; } /** @@ -137,13 +138,20 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } } + long duration = QuickstepTransitionManager.CONTENT_ALPHA_DURATION; ObjectAnimator anim = mIconAlignmentForResumedState.animateToValue( getCurrentIconAlignmentRatio(), isResumed ? 1 : 0) - .setDuration(QuickstepTransitionManager.CONTENT_ALPHA_DURATION); + .setDuration(duration); - anim.addListener(AnimatorListeners.forEndCallback(() -> mIsAnimatingToLauncher = false)); + anim.addListener(AnimatorListeners.forEndCallback( + () -> mIsAnimatingToLauncherViaResume = false)); anim.start(); - mIsAnimatingToLauncher = isResumed; + mIsAnimatingToLauncherViaResume = isResumed; + + if (!isResumed) { + TaskbarStashController stashController = mControllers.taskbarStashController; + stashController.animateToIsStashed(stashController.isStashedInApp(), duration); + } } /** @@ -155,36 +163,48 @@ public class LauncherTaskbarUIController extends TaskbarUIController { public Animator createAnimToLauncher(@NonNull LauncherState toState, @NonNull RecentsAnimationCallbacks callbacks, long duration) { + TaskbarStashController stashController = mControllers.taskbarStashController; ObjectAnimator animator = mIconAlignmentForGestureState - .animateToValue(mIconAlignmentForGestureState.value, 1) + .animateToValue(1) .setDuration(duration); animator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mTargetStateOverride = null; + animator.removeListener(this); } @Override public void onAnimationStart(Animator animation) { mTargetStateOverride = toState; + mIsAnimatingToLauncherViaGesture = true; + // TODO: base this on launcher state + stashController.animateToIsStashed(false, duration); } }); callbacks.addListener(new RecentsAnimationListener() { @Override public void onRecentsAnimationCanceled(ThumbnailData thumbnailData) { - endGestureStateOverride(); + endGestureStateOverride(true); } @Override public void onRecentsAnimationFinished(RecentsAnimationController controller) { - endGestureStateOverride(); + endGestureStateOverride(!controller.getFinishTargetIsLauncher()); } - private void endGestureStateOverride() { + private void endGestureStateOverride(boolean finishedToApp) { callbacks.removeListener(this); + mIsAnimatingToLauncherViaGesture = false; + mIconAlignmentForGestureState - .animateToValue(mIconAlignmentForGestureState.value, 0) + .animateToValue(0) .start(); + + if (finishedToApp) { + // We only need this for the exiting live tile case. + stashController.animateToIsStashed(stashController.isStashedInApp()); + } } }); return animator; @@ -215,6 +235,11 @@ public class LauncherTaskbarUIController extends TaskbarUIController { } } + @Override + public boolean onLongPressToUnstashTaskbar() { + return mControllers.taskbarStashController.onLongPressToUnstashTaskbar(); + } + /** * Should be called when one or more items in the Hotseat have changed. */ diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java new file mode 100644 index 0000000000..8c14ff6d16 --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java @@ -0,0 +1,108 @@ +/* + * 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. + */ +package com.android.launcher3.taskbar; + +import android.animation.Animator; +import android.content.res.Resources; +import android.graphics.Outline; +import android.graphics.Rect; +import android.view.View; +import android.view.ViewOutlineProvider; + +import androidx.annotation.Nullable; + +import com.android.launcher3.R; +import com.android.launcher3.anim.RevealOutlineAnimation; +import com.android.launcher3.anim.RoundedRectRevealOutlineProvider; +import com.android.quickstep.AnimatedFloat; + +/** + * Handles properties/data collection, then passes the results to our stashed handle View to render. + */ +public class StashedHandleViewController { + + private final TaskbarActivityContext mActivity; + private final View mStashedHandleView; + private final int mStashedHandleWidth; + private final int mStashedHandleHeight; + private final AnimatedFloat mTaskbarStashedHandleAlpha = new AnimatedFloat( + this::updateStashedHandleAlpha); + + // Initialized in init. + private TaskbarControllers mControllers; + + // The bounds we want to clip to in the settled state when showing the stashed handle. + private final Rect mStashedHandleBounds = new Rect(); + private float mStashedHandleRadius; + + private boolean mIsAtStashedRevealBounds = true; + + public StashedHandleViewController(TaskbarActivityContext activity, View stashedHandleView) { + mActivity = activity; + mStashedHandleView = stashedHandleView; + final Resources resources = mActivity.getResources(); + mStashedHandleWidth = resources.getDimensionPixelSize(R.dimen.taskbar_stashed_handle_width); + mStashedHandleHeight = resources.getDimensionPixelSize( + R.dimen.taskbar_stashed_handle_height); + } + + public void init(TaskbarControllers controllers) { + mControllers = controllers; + mStashedHandleView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; + + updateStashedHandleAlpha(); + + final int stashedTaskbarHeight = mControllers.taskbarStashController.getStashedHeight(); + mStashedHandleView.setOutlineProvider(new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + final int stashedCenterX = view.getWidth() / 2; + final int stashedCenterY = view.getHeight() - stashedTaskbarHeight / 2; + mStashedHandleBounds.set( + stashedCenterX - mStashedHandleWidth / 2, + stashedCenterY - mStashedHandleHeight / 2, + stashedCenterX + mStashedHandleWidth / 2, + stashedCenterY + mStashedHandleHeight / 2); + mStashedHandleRadius = view.getHeight() / 2f; + outline.setRoundRect(mStashedHandleBounds, mStashedHandleRadius); + } + }); + } + + public AnimatedFloat getStashedHandleAlpha() { + return mTaskbarStashedHandleAlpha; + } + + /** + * Creates and returns a {@link RevealOutlineAnimation} Animator that updates the stashed handle + * shape and size. When stashed, the shape is a thin rounded pill. When unstashed, the shape + * morphs into the size of where the taskbar icons will be. + */ + public @Nullable Animator createRevealAnimToIsStashed(boolean isStashed) { + if (mIsAtStashedRevealBounds == isStashed) { + return null; + } + mIsAtStashedRevealBounds = isStashed; + final RevealOutlineAnimation handleRevealProvider = new RoundedRectRevealOutlineProvider( + mStashedHandleRadius, mStashedHandleRadius, + mControllers.taskbarViewController.getIconLayoutBounds(), mStashedHandleBounds); + return handleRevealProvider.createRevealAnimator(mStashedHandleView, !isStashed); + } + + protected void updateStashedHandleAlpha() { + mStashedHandleView.setAlpha(mTaskbarStashedHandleAlpha.value); + } +} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 41426108e5..f4703d3a99 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -115,6 +115,7 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ R.layout.taskbar, null, false); TaskbarView taskbarView = mDragLayer.findViewById(R.id.taskbar_view); FrameLayout navButtonsView = mDragLayer.findViewById(R.id.navbuttons_view); + View stashedHandleView = mDragLayer.findViewById(R.id.stashed_handle); // Construct controllers. mControllers = new TaskbarControllers(this, @@ -125,7 +126,9 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ R.color.popup_color_primary_light), new TaskbarDragLayerController(this, mDragLayer), new TaskbarViewController(this, taskbarView), - new TaskbarKeyguardController(this)); + new TaskbarKeyguardController(this), + new StashedHandleViewController(this, stashedHandleView), + new TaskbarStashController(this)); Display display = windowContext.getDisplay(); Context c = display.getDisplayId() == Display.DEFAULT_DISPLAY diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java index c48c28b9e5..8279a470f0 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarControllers.java @@ -32,6 +32,8 @@ public class TaskbarControllers { public final TaskbarDragLayerController taskbarDragLayerController; public final TaskbarViewController taskbarViewController; public final TaskbarKeyguardController taskbarKeyguardController; + public final StashedHandleViewController stashedHandleViewController; + public final TaskbarStashController taskbarStashController; /** Do not store this controller, as it may change at runtime. */ @NonNull public TaskbarUIController uiController = TaskbarUIController.DEFAULT; @@ -43,7 +45,9 @@ public class TaskbarControllers { RotationButtonController rotationButtonController, TaskbarDragLayerController taskbarDragLayerController, TaskbarViewController taskbarViewController, - TaskbarKeyguardController taskbarKeyguardController) { + TaskbarKeyguardController taskbarKeyguardController, + StashedHandleViewController stashedHandleViewController, + TaskbarStashController taskbarStashController) { this.taskbarActivityContext = taskbarActivityContext; this.taskbarDragController = taskbarDragController; this.navButtonController = navButtonController; @@ -52,6 +56,8 @@ public class TaskbarControllers { this.taskbarDragLayerController = taskbarDragLayerController; this.taskbarViewController = taskbarViewController; this.taskbarKeyguardController = taskbarKeyguardController; + this.stashedHandleViewController = stashedHandleViewController; + this.taskbarStashController = taskbarStashController; } /** @@ -67,6 +73,8 @@ public class TaskbarControllers { taskbarDragLayerController.init(this); taskbarViewController.init(this); taskbarKeyguardController.init(navbarButtonsViewController); + stashedHandleViewController.init(this); + taskbarStashController.init(this); } /** diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java index ac121ab5fa..cd1baf726d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayer.java @@ -40,10 +40,11 @@ import com.android.systemui.shared.system.ViewTreeObserverWrapper.OnComputeInset public class TaskbarDragLayer extends BaseDragLayer { private final Paint mTaskbarBackgroundPaint; + private final OnComputeInsetsListener mTaskbarInsetsComputer = this::onComputeTaskbarInsets; private TaskbarDragLayerController.TaskbarDragLayerCallbacks mControllerCallbacks; - private final OnComputeInsetsListener mTaskbarInsetsComputer = this::onComputeTaskbarInsets; + private float mTaskbarBackgroundOffset; public TaskbarDragLayer(@NonNull Context context) { this(context, null); @@ -118,8 +119,10 @@ public class TaskbarDragLayer extends BaseDragLayer { @Override protected void dispatchDraw(Canvas canvas) { - canvas.drawRect(0, canvas.getHeight() - mControllerCallbacks.getTaskbarBackgroundHeight(), - canvas.getWidth(), canvas.getHeight(), mTaskbarBackgroundPaint); + float backgroundHeight = mControllerCallbacks.getTaskbarBackgroundHeight() + * (1f - mTaskbarBackgroundOffset); + canvas.drawRect(0, canvas.getHeight() - backgroundHeight, canvas.getWidth(), + canvas.getHeight(), mTaskbarBackgroundPaint); super.dispatchDraw(canvas); } @@ -132,6 +135,15 @@ public class TaskbarDragLayer extends BaseDragLayer { invalidate(); } + /** + * Sets the translation of the background color behind all the Taskbar contents. + * @param offset 0 is fully onscreen, 1 is fully offscreen. + */ + protected void setTaskbarBackgroundOffset(float offset) { + mTaskbarBackgroundOffset = offset; + invalidate(); + } + @Override public boolean dispatchTouchEvent(MotionEvent ev) { TestLogging.recordMotionEvent(TestProtocol.SEQUENCE_MAIN, "Touch event", ev); diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java index db5c387770..e15e9ffa71 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarDragLayerController.java @@ -39,6 +39,8 @@ public class TaskbarDragLayerController { // Alpha properties for taskbar background. private final AnimatedFloat mBgTaskbar = new AnimatedFloat(this::updateBackgroundAlpha); private final AnimatedFloat mBgNavbar = new AnimatedFloat(this::updateBackgroundAlpha); + // Translation property for taskbar background. + private final AnimatedFloat mBgOffset = new AnimatedFloat(this::updateBackgroundOffset); // Initialized in init. private TaskbarControllers mControllers; @@ -78,10 +80,18 @@ public class TaskbarDragLayerController { return mBgNavbar; } + public AnimatedFloat getTaskbarBackgroundOffset() { + return mBgOffset; + } + private void updateBackgroundAlpha() { mTaskbarDragLayer.setTaskbarBackgroundAlpha(Math.max(mBgNavbar.value, mBgTaskbar.value)); } + private void updateBackgroundOffset() { + mTaskbarDragLayer.setTaskbarBackgroundOffset(mBgOffset.value); + } + /** * Callbacks for {@link TaskbarDragLayer} to interact with its controller. */ diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java new file mode 100644 index 0000000000..57600d7356 --- /dev/null +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java @@ -0,0 +1,262 @@ +/* + * 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. + */ +package com.android.launcher3.taskbar; + +import static android.view.HapticFeedbackConstants.LONG_PRESS; + +import android.animation.Animator; +import android.animation.AnimatorListenerAdapter; +import android.animation.AnimatorSet; +import android.annotation.Nullable; +import android.content.SharedPreferences; +import android.content.res.Resources; + +import com.android.launcher3.R; +import com.android.launcher3.Utilities; +import com.android.launcher3.util.MultiValueAlpha.AlphaProperty; +import com.android.quickstep.AnimatedFloat; + +/** + * Coordinates between controllers such as TaskbarViewController and StashedHandleViewController to + * create a cohesive animation between stashed/unstashed states. + */ +public class TaskbarStashController { + + /** + * How long to stash/unstash when manually invoked via long press. + */ + private static final long TASKBAR_STASH_DURATION = 300; + + /** + * The scale TaskbarView animates to when being stashed. + */ + private static final float STASHED_TASKBAR_SCALE = 0.5f; + + /** + * The SharedPreferences key for whether user has manually stashed the taskbar. + */ + private static final String SHARED_PREFS_STASHED_KEY = "taskbar_is_stashed"; + + /** + * Whether taskbar should be stashed out of the box. + */ + private static final boolean DEFAULT_STASHED_PREF = false; + + private final TaskbarActivityContext mActivity; + private final SharedPreferences mPrefs; + private final int mStashedHeight; + private final int mUnstashedHeight; + + // Initialized in init. + private TaskbarControllers mControllers; + // Taskbar background properties. + private AnimatedFloat mTaskbarBackgroundOffset; + // TaskbarView icon properties. + private AlphaProperty mIconAlphaForStash; + private AnimatedFloat mIconScaleForStash; + private AnimatedFloat mIconTranslationYForStash; + // Stashed handle properties. + private AnimatedFloat mTaskbarStashedHandleAlpha; + + /** Whether the user has manually invoked taskbar stashing, which we persist. */ + private boolean mIsStashedInApp; + /** Whether we are currently visually stashed (might change based on launcher state). */ + private boolean mIsStashed = false; + + private @Nullable AnimatorSet mAnimator; + + public TaskbarStashController(TaskbarActivityContext activity) { + mActivity = activity; + mPrefs = Utilities.getPrefs(mActivity); + final Resources resources = mActivity.getResources(); + mStashedHeight = resources.getDimensionPixelSize(R.dimen.taskbar_stashed_size); + mUnstashedHeight = mActivity.getDeviceProfile().taskbarSize; + } + + public void init(TaskbarControllers controllers) { + mControllers = controllers; + + TaskbarDragLayerController dragLayerController = controllers.taskbarDragLayerController; + mTaskbarBackgroundOffset = dragLayerController.getTaskbarBackgroundOffset(); + + TaskbarViewController taskbarViewController = controllers.taskbarViewController; + mIconAlphaForStash = taskbarViewController.getTaskbarIconAlpha().getProperty( + TaskbarViewController.ALPHA_INDEX_STASH); + mIconScaleForStash = taskbarViewController.getTaskbarIconScaleForStash(); + mIconTranslationYForStash = taskbarViewController.getTaskbarIconTranslationYForStash(); + + StashedHandleViewController stashedHandleController = + controllers.stashedHandleViewController; + mTaskbarStashedHandleAlpha = stashedHandleController.getStashedHandleAlpha(); + + mIsStashedInApp = supportsStashing() + && mPrefs.getBoolean(SHARED_PREFS_STASHED_KEY, DEFAULT_STASHED_PREF); + } + + /** + * Returns whether the user can manually stash the taskbar based on the current device state. + */ + private boolean supportsStashing() { + return !mActivity.isThreeButtonNav(); + } + + /** + * Returns whether the taskbar is currently visually stashed. + */ + public boolean isStashed() { + return mIsStashed; + } + + /** + * Returns whether the user has manually stashed the taskbar in apps. + */ + public boolean isStashedInApp() { + return mIsStashedInApp; + } + + public int getContentHeight() { + return isStashed() ? mStashedHeight : mUnstashedHeight; + } + + public int getStashedHeight() { + return mStashedHeight; + } + + /** + * Should be called when long pressing the nav region when taskbar is present. + * @return Whether taskbar was stashed and now is unstashed. + */ + public boolean onLongPressToUnstashTaskbar() { + if (!isStashed()) { + // We only listen for long press on the nav region to unstash the taskbar. To stash the + // taskbar, we use an OnLongClickListener on TaskbarView instead. + return false; + } + if (updateAndAnimateIsStashedInApp(false)) { + mControllers.taskbarActivityContext.getDragLayer().performHapticFeedback(LONG_PRESS); + return true; + } + return false; + } + + /** + * Updates whether we should stash the taskbar when in apps, and animates to the changed state. + * @return Whether we started an animation to either be newly stashed or unstashed. + */ + public boolean updateAndAnimateIsStashedInApp(boolean isStashedInApp) { + if (!supportsStashing()) { + return false; + } + if (mIsStashedInApp != isStashedInApp) { + boolean wasStashed = mIsStashedInApp; + mIsStashedInApp = isStashedInApp; + mPrefs.edit().putBoolean(SHARED_PREFS_STASHED_KEY, mIsStashedInApp).apply(); + boolean isStashed = mIsStashedInApp; + if (wasStashed != isStashed) { + createAnimToIsStashed(isStashed, TASKBAR_STASH_DURATION).start(); + return true; + } + } + return false; + } + + /** + * Starts an animation to the new stashed state with a default duration. + */ + public void animateToIsStashed(boolean isStashed) { + animateToIsStashed(isStashed, TASKBAR_STASH_DURATION); + } + + /** + * Starts an animation to the new stashed state with the specified duration. + */ + public void animateToIsStashed(boolean isStashed, long duration) { + createAnimToIsStashed(isStashed, duration).start(); + } + + private Animator createAnimToIsStashed(boolean isStashed, long duration) { + AnimatorSet fullLengthAnimatorSet = new AnimatorSet(); + // Not exactly half and may overlap. See [first|second]HalfDurationScale below. + AnimatorSet firstHalfAnimatorSet = new AnimatorSet(); + AnimatorSet secondHalfAnimatorSet = new AnimatorSet(); + + final float firstHalfDurationScale; + final float secondHalfDurationScale; + + if (isStashed) { + firstHalfDurationScale = 0.75f; + secondHalfDurationScale = 0.5f; + final float stashTranslation = (mUnstashedHeight - mStashedHeight) / 2f; + + fullLengthAnimatorSet.playTogether( + mTaskbarBackgroundOffset.animateToValue(1), + mIconTranslationYForStash.animateToValue(stashTranslation) + ); + firstHalfAnimatorSet.playTogether( + mIconAlphaForStash.animateToValue(0), + mIconScaleForStash.animateToValue(STASHED_TASKBAR_SCALE) + ); + secondHalfAnimatorSet.playTogether( + mTaskbarStashedHandleAlpha.animateToValue(1) + ); + } else { + firstHalfDurationScale = 0.5f; + secondHalfDurationScale = 0.75f; + + fullLengthAnimatorSet.playTogether( + mTaskbarBackgroundOffset.animateToValue(0), + mIconScaleForStash.animateToValue(1), + mIconTranslationYForStash.animateToValue(0) + ); + firstHalfAnimatorSet.playTogether( + mTaskbarStashedHandleAlpha.animateToValue(0) + ); + secondHalfAnimatorSet.playTogether( + mIconAlphaForStash.animateToValue(1) + ); + } + + Animator stashedHandleRevealAnim = mControllers.stashedHandleViewController + .createRevealAnimToIsStashed(isStashed); + if (stashedHandleRevealAnim != null) { + fullLengthAnimatorSet.play(stashedHandleRevealAnim); + } + + fullLengthAnimatorSet.setDuration(duration); + firstHalfAnimatorSet.setDuration((long) (duration * firstHalfDurationScale)); + secondHalfAnimatorSet.setDuration((long) (duration * secondHalfDurationScale)); + secondHalfAnimatorSet.setStartDelay((long) (duration * (1 - secondHalfDurationScale))); + + if (mAnimator != null) { + mAnimator.cancel(); + } + mAnimator = new AnimatorSet(); + mAnimator.playTogether(fullLengthAnimatorSet, firstHalfAnimatorSet, + secondHalfAnimatorSet); + mAnimator.addListener(new AnimatorListenerAdapter() { + @Override + public void onAnimationStart(Animator animation) { + mIsStashed = isStashed; + } + + @Override + public void onAnimationEnd(Animator animation) { + mAnimator = null; + } + }); + return mAnimator; + } +} diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java index 260cedc706..6d0e3c6baf 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarUIController.java @@ -33,4 +33,8 @@ public class TaskbarUIController { } protected void updateContentInsets(Rect outContentInsets) { } + + protected boolean onLongPressToUnstashTaskbar() { + return false; + } } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java index 7753f966dc..820d40af27 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarView.java @@ -94,8 +94,10 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar protected void init(TaskbarViewController.TaskbarViewCallbacks callbacks) { mControllerCallbacks = callbacks; - mIconClickListener = mControllerCallbacks.getOnClickListener(); - mIconLongClickListener = mControllerCallbacks.getOnLongClickListener(); + mIconClickListener = mControllerCallbacks.getIconOnClickListener(); + mIconLongClickListener = mControllerCallbacks.getIconOnLongClickListener(); + + setOnLongClickListener(mControllerCallbacks.getBackgroundOnLongClickListener()); } private void removeAndRecycle(View view) { @@ -235,6 +237,10 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar return isShown() && mIconLayoutBounds.contains(xInOurCoordinates, yInOurCoorindates); } + public Rect getIconLayoutBounds() { + return mIconLayoutBounds; + } + // FolderIconParent implemented methods. @Override diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java index c7ac4a4f5b..50c26b30b2 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarViewController.java @@ -17,8 +17,8 @@ package com.android.launcher3.taskbar; import static com.android.launcher3.LauncherAnimUtils.SCALE_PROPERTY; import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_X; -import static com.android.launcher3.LauncherAnimUtils.VIEW_TRANSLATE_Y; import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.quickstep.AnimatedFloat.VALUE; import android.graphics.Rect; import android.view.View; @@ -28,6 +28,7 @@ import com.android.launcher3.anim.AnimatorPlaybackController; import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.model.data.ItemInfo; import com.android.launcher3.util.MultiValueAlpha; +import com.android.quickstep.AnimatedFloat; /** * Handles properties/data collection, then passes the results to TaskbarView to render. @@ -38,10 +39,16 @@ public class TaskbarViewController { public static final int ALPHA_INDEX_HOME = 0; public static final int ALPHA_INDEX_IME = 1; public static final int ALPHA_INDEX_KEYGUARD = 2; + public static final int ALPHA_INDEX_STASH = 3; private final TaskbarActivityContext mActivity; private final TaskbarView mTaskbarView; private final MultiValueAlpha mTaskbarIconAlpha; + private final AnimatedFloat mTaskbarIconScaleForStash = new AnimatedFloat(this::updateScale); + private final AnimatedFloat mTaskbarIconTranslationYForHome = new AnimatedFloat( + this::updateTranslationY); + private final AnimatedFloat mTaskbarIconTranslationYForStash = new AnimatedFloat( + this::updateTranslationY); // Initialized in init. private TaskbarControllers mControllers; @@ -54,7 +61,7 @@ public class TaskbarViewController { public TaskbarViewController(TaskbarActivityContext activity, TaskbarView taskbarView) { mActivity = activity; mTaskbarView = taskbarView; - mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 3); + mTaskbarIconAlpha = new MultiValueAlpha(mTaskbarView, 4); mTaskbarIconAlpha.setUpdateVisibility(true); } @@ -62,6 +69,8 @@ public class TaskbarViewController { mControllers = controllers; mTaskbarView.init(new TaskbarViewCallbacks()); mTaskbarView.getLayoutParams().height = mActivity.getDeviceProfile().taskbarSize; + + mTaskbarIconScaleForStash.updateValue(1f); } public boolean areIconsVisible() { @@ -86,6 +95,32 @@ public class TaskbarViewController { mTaskbarView.setClickAndLongClickListenersForIcon(icon); } + public Rect getIconLayoutBounds() { + return mTaskbarView.getIconLayoutBounds(); + } + + public AnimatedFloat getTaskbarIconScaleForStash() { + return mTaskbarIconScaleForStash; + } + + public AnimatedFloat getTaskbarIconTranslationYForStash() { + return mTaskbarIconTranslationYForStash; + } + + /** + * Applies scale properties for the entire TaskbarView (rather than individual icons). + */ + private void updateScale() { + float scale = mTaskbarIconScaleForStash.value; + mTaskbarView.setScaleX(scale); + mTaskbarView.setScaleY(scale); + } + + private void updateTranslationY() { + mTaskbarView.setTranslationY(mTaskbarIconTranslationYForHome.value + + mTaskbarIconTranslationYForStash.value); + } + /** * Sets the taskbar icon alignment relative to Launcher hotseat icons * @param alignmentRatio [0, 1] @@ -116,7 +151,7 @@ public class TaskbarViewController { / launcherDp.numShownHotseatIcons; int offsetY = launcherDp.getTaskbarOffsetY(); - setter.setFloat(mTaskbarView, VIEW_TRANSLATE_Y, -offsetY, LINEAR); + setter.setFloat(mTaskbarIconTranslationYForHome, VALUE, -offsetY, LINEAR); int collapsedHeight = mActivity.getDeviceProfile().taskbarSize; int expandedHeight = collapsedHeight + offsetY; @@ -144,12 +179,16 @@ public class TaskbarViewController { * Callbacks for {@link TaskbarView} to interact with its controller. */ public class TaskbarViewCallbacks { - public View.OnClickListener getOnClickListener() { + public View.OnClickListener getIconOnClickListener() { return mActivity::onTaskbarIconClicked; } - public View.OnLongClickListener getOnLongClickListener() { + public View.OnLongClickListener getIconOnLongClickListener() { return mControllers.taskbarDragController::startDragOnLongClick; } + + public View.OnLongClickListener getBackgroundOnLongClickListener() { + return view -> mControllers.taskbarStashController.updateAndAnimateIsStashedInApp(true); + } } } diff --git a/quickstep/src/com/android/quickstep/AnimatedFloat.java b/quickstep/src/com/android/quickstep/AnimatedFloat.java index f7e8781573..95c871099b 100644 --- a/quickstep/src/com/android/quickstep/AnimatedFloat.java +++ b/quickstep/src/com/android/quickstep/AnimatedFloat.java @@ -53,6 +53,16 @@ public class AnimatedFloat { mUpdateCallback = updateCallback; } + /** + * Returns an animation from the current value to the given value. + */ + public ObjectAnimator animateToValue(float end) { + return animateToValue(value, end); + } + + /** + * Returns an animation from the given start value to the given end value. + */ public ObjectAnimator animateToValue(float start, float end) { cancelAnimation(); mValueAnimator = ObjectAnimator.ofFloat(this, VALUE, start, end); diff --git a/quickstep/src/com/android/quickstep/BaseActivityInterface.java b/quickstep/src/com/android/quickstep/BaseActivityInterface.java index 2699b0795b..1412b1add6 100644 --- a/quickstep/src/com/android/quickstep/BaseActivityInterface.java +++ b/quickstep/src/com/android/quickstep/BaseActivityInterface.java @@ -363,6 +363,14 @@ public abstract class BaseActivityInterface TYPE_NO_OP; diff --git a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java index 799a4c2516..09474a1ac2 100644 --- a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java +++ b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java @@ -302,6 +302,15 @@ public final class LauncherActivityInterface extends } } + @Override + public boolean onLongPressToUnstashTaskbar() { + LauncherTaskbarUIController taskbarController = getTaskbarController(); + if (taskbarController == null) { + return super.onLongPressToUnstashTaskbar(); + } + return taskbarController.onLongPressToUnstashTaskbar(); + } + @Override protected int getOverviewScrimColorForState(BaseQuickstepLauncher launcher, LauncherState state) { diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationController.java b/quickstep/src/com/android/quickstep/RecentsAnimationController.java index 0ebe13be8d..9e69ef9b52 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationController.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationController.java @@ -46,6 +46,8 @@ public class RecentsAnimationController { private boolean mUseLauncherSysBarFlags = false; private boolean mSplitScreenMinimized = false; private boolean mFinishRequested = false; + // Only valid when mFinishRequested == true. + private boolean mFinishTargetIsLauncher; private RunnableList mPendingFinishCallbacks = new RunnableList(); public RecentsAnimationController(RecentsAnimationControllerCompat controller, @@ -145,6 +147,7 @@ public class RecentsAnimationController { // Finish not yet requested mFinishRequested = true; + mFinishTargetIsLauncher = toRecents; mOnFinishedListener.accept(this); mPendingFinishCallbacks.add(callback); UI_HELPER_EXECUTOR.execute(() -> { @@ -201,4 +204,12 @@ public class RecentsAnimationController { public RecentsAnimationControllerCompat getController() { return mController; } + + /** + * RecentsAnimationListeners can check this in onRecentsAnimationFinished() to determine whether + * the animation was finished to launcher vs an app. + */ + public boolean getFinishTargetIsLauncher() { + return mFinishTargetIsLauncher; + } } diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index 47ca3d2024..5d701d4e14 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -95,6 +95,7 @@ import com.android.quickstep.inputconsumers.OverviewWithoutFocusInputConsumer; import com.android.quickstep.inputconsumers.ResetGestureInputConsumer; import com.android.quickstep.inputconsumers.ScreenPinnedInputConsumer; import com.android.quickstep.inputconsumers.SysUiOverlayInputConsumer; +import com.android.quickstep.inputconsumers.TaskbarStashInputConsumer; import com.android.quickstep.util.ActiveGestureLog; import com.android.quickstep.util.AssistantUtilities; import com.android.quickstep.util.ProtoTracer; @@ -673,6 +674,14 @@ public class TouchInteractionService extends Service implements PluginListener Date: Fri, 18 Jun 2021 14:39:08 -0700 Subject: [PATCH 058/905] Add IDs to buttons in 3 button nav for Taskbar Bug: 191449914 Test: testSwitchToOverview passes See bug for more details Change-Id: I108bbe7607181680bca7cb5fad5e7289191edde6 --- .../taskbar/NavbarButtonsViewController.java | 21 ++++++------ .../taskbar/TaskbarNavButtonController.java | 3 ++ res/values/id.xml | 9 ++++++ .../testing/TestInformationHandler.java | 4 +++ .../launcher3/testing/TestProtocol.java | 1 + .../android/launcher3/tapl/Background.java | 4 +-- .../tapl/LauncherInstrumentation.java | 32 +++++++++++++++---- .../com/android/launcher3/tapl/Workspace.java | 2 +- 8 files changed, 58 insertions(+), 18 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 2facd4436c..4e85eb4ced 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -30,6 +30,7 @@ import static com.android.systemui.shared.system.QuickStepContract.SYSUI_STATE_I import android.animation.ObjectAnimator; import android.annotation.DrawableRes; +import android.annotation.IdRes; import android.graphics.Rect; import android.graphics.Region; import android.graphics.Region.Op; @@ -123,7 +124,8 @@ public class NavbarButtonsViewController { flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0, MultiValueAlpha.VALUE, 1, 0)); // Rotation button - RotationButton rotationButton = new RotationButtonImpl(addButton(mEndContainer)); + RotationButton rotationButton = new RotationButtonImpl( + addButton(mEndContainer, R.id.rotate_suggestion)); rotationButton.hide(); mControllers.rotationButtonController.setRotationButton(rotationButton); } else { @@ -138,7 +140,7 @@ public class NavbarButtonsViewController { TaskbarNavButtonController navButtonController) { View backButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, - startContainer, navButtonController); + startContainer, navButtonController, R.id.back); // Rotate when Ime visible mPropertyHolders.add(new StatePropertyHolder(backButton, flags -> (flags & FLAG_IME_VISIBLE) == 0, View.ROTATION, 0, @@ -149,19 +151,19 @@ public class NavbarButtonsViewController { // home and recents buttons View homeButton = addButton(R.drawable.ic_sysbar_home, BUTTON_HOME, startContainer, - navButtonController); + navButtonController, R.id.home); mPropertyHolders.add(new StatePropertyHolder(homeButton, flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); View recentsButton = addButton(R.drawable.ic_sysbar_recent, BUTTON_RECENTS, - startContainer, navButtonController); + startContainer, navButtonController, R.id.recent_apps); mPropertyHolders.add(new StatePropertyHolder(recentsButton, flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); // IME switcher View imeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH, - endContainer, navButtonController); + endContainer, navButtonController, R.id.ime_switcher); mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton, flags -> ((flags & MASK_IME_SWITCHER_VISIBLE) == MASK_IME_SWITCHER_VISIBLE) && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0) @@ -169,7 +171,7 @@ public class NavbarButtonsViewController { // A11y button mA11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, - endContainer, navButtonController); + endContainer, navButtonController, R.id.accessibility_button); mPropertyHolders.add(new StatePropertyHolder(mA11yButton, flags -> (flags & FLAG_A11Y_VISIBLE) != 0 && (flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0)); @@ -251,16 +253,17 @@ public class NavbarButtonsViewController { } private ImageView addButton(@DrawableRes int drawableId, @TaskbarButton int buttonType, - ViewGroup parent, TaskbarNavButtonController navButtonController) { - ImageView buttonView = addButton(parent); + ViewGroup parent, TaskbarNavButtonController navButtonController, @IdRes int id) { + ImageView buttonView = addButton(parent, id); buttonView.setImageResource(drawableId); buttonView.setOnClickListener(view -> navButtonController.onButtonClick(buttonType)); return buttonView; } - private ImageView addButton(ViewGroup parent) { + private ImageView addButton(ViewGroup parent, int id) { ImageView buttonView = (ImageView) mContext.getLayoutInflater() .inflate(R.layout.taskbar_nav_button, parent, false); + buttonView.setId(id); parent.addView(buttonView); mAllButtons.add(buttonView); return buttonView; diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java index 8b0f426699..dd7c403d65 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarNavButtonController.java @@ -23,6 +23,8 @@ import android.view.inputmethod.InputMethodManager; import androidx.annotation.IntDef; +import com.android.launcher3.testing.TestLogging; +import com.android.launcher3.testing.TestProtocol; import com.android.quickstep.OverviewCommandHelper; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TouchInteractionService; @@ -94,6 +96,7 @@ public class TaskbarNavButtonController { } private void navigateToOverview() { + TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "onOverviewToggle"); mService.getOverviewCommandHelper().addCommand(OverviewCommandHelper.TYPE_TOGGLE); } diff --git a/res/values/id.xml b/res/values/id.xml index 1bd40cec4a..d941716f0a 100644 --- a/res/values/id.xml +++ b/res/values/id.xml @@ -19,4 +19,13 @@ + + + + + + + + + diff --git a/src/com/android/launcher3/testing/TestInformationHandler.java b/src/com/android/launcher3/testing/TestInformationHandler.java index 4261d080d9..5cd36825fc 100644 --- a/src/com/android/launcher3/testing/TestInformationHandler.java +++ b/src/com/android/launcher3/testing/TestInformationHandler.java @@ -117,6 +117,10 @@ public class TestInformationHandler implements ResourceBasedOverride { TestProtocol.sDisableSensorRotation = true; return response; + case TestProtocol.REQUEST_IS_TABLET: + response.putBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD, mDeviceProfile.isTablet); + return response; + default: return null; } diff --git a/src/com/android/launcher3/testing/TestProtocol.java b/src/com/android/launcher3/testing/TestProtocol.java index b6da7fcd37..2f1f82d9f7 100644 --- a/src/com/android/launcher3/testing/TestProtocol.java +++ b/src/com/android/launcher3/testing/TestProtocol.java @@ -94,6 +94,7 @@ public final class TestProtocol { public static final String REQUEST_GET_TEST_EVENTS = "get-test-events"; public static final String REQUEST_STOP_EVENT_LOGGING = "stop-event-logging"; public static final String REQUEST_CLEAR_DATA = "clear-data"; + public static final String REQUEST_IS_TABLET = "is-tablet"; public static boolean sDebugTracing = false; public static final String REQUEST_ENABLE_DEBUG_TRACING = "enable-debug-tracing"; diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java index e86be2af1e..55be593fb4 100644 --- a/tests/tapl/com/android/launcher3/tapl/Background.java +++ b/tests/tapl/com/android/launcher3/tapl/Background.java @@ -136,7 +136,7 @@ public class Background extends LauncherInstrumentation.VisibleContainer { case THREE_BUTTON: mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); mLauncher.runToState( - () -> mLauncher.waitForSystemUiObject("recent_apps").click(), + () -> mLauncher.waitForNavigationUiObject("recent_apps").click(), OVERVIEW_STATE_ORDINAL); break; } @@ -224,7 +224,7 @@ public class Background extends LauncherInstrumentation.VisibleContainer { case THREE_BUTTON: // Double press the recents button. - UiObject2 recentsButton = mLauncher.waitForSystemUiObject("recent_apps"); + UiObject2 recentsButton = mLauncher.waitForNavigationUiObject("recent_apps"); mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); mLauncher.runToState(() -> recentsButton.click(), OVERVIEW_STATE_ORDINAL); mLauncher.getOverview(); diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index 96e82224b1..95a15c0162 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -283,6 +283,11 @@ public final class LauncherInstrumentation { .getParcelable(TestProtocol.TEST_INFO_RESPONSE_FIELD); } + public boolean isTablet() { + return getTestInfo(TestProtocol.REQUEST_IS_TABLET) + .getBoolean(TestProtocol.TEST_INFO_RESPONSE_FIELD); + } + void setActiveContainer(VisibleContainer container) { sActiveContainer = new WeakReference<>(container); } @@ -554,29 +559,35 @@ public final class LauncherInstrumentation { public String getNavigationModeMismatchError(boolean waitForCorrectState) { final int waitTime = waitForCorrectState ? WAIT_TIME_MS : 0; final NavigationModel navigationModel = getNavigationModel(); - + String resPackage = getNavigationButtonResPackage(); if (navigationModel == NavigationModel.THREE_BUTTON) { - if (!mDevice.wait(Until.hasObject(By.res(SYSTEMUI_PACKAGE, "recent_apps")), waitTime)) { + if (!mDevice.wait(Until.hasObject(By.res(resPackage, "recent_apps")), waitTime)) { return "Recents button not present in 3-button mode"; } } else { - if (!mDevice.wait(Until.gone(By.res(SYSTEMUI_PACKAGE, "recent_apps")), waitTime)) { + if (!mDevice.wait(Until.gone(By.res(resPackage, "recent_apps")), waitTime)) { return "Recents button is present in non-3-button mode"; } } if (navigationModel == NavigationModel.ZERO_BUTTON) { - if (!mDevice.wait(Until.gone(By.res(SYSTEMUI_PACKAGE, "home")), waitTime)) { + if (!mDevice.wait(Until.gone(By.res(resPackage, "home")), waitTime)) { return "Home button is present in gestural mode"; } } else { - if (!mDevice.wait(Until.hasObject(By.res(SYSTEMUI_PACKAGE, "home")), waitTime)) { + if (!mDevice.wait(Until.hasObject(By.res(resPackage, "home")), waitTime)) { return "Home button not present in non-gestural mode"; } } return null; } + private String getNavigationButtonResPackage() { + return isTablet() && getNavigationModel() == NavigationModel.THREE_BUTTON ? + getLauncherPackageName() : + SYSTEMUI_PACKAGE; + } + private UiObject2 verifyContainerType(ContainerType containerType) { waitForLauncherInitialized(); @@ -741,7 +752,7 @@ public final class LauncherInstrumentation { } runToState( - waitForSystemUiObject("home")::click, + waitForNavigationUiObject("home")::click, NORMAL_STATE_ORDINAL, !hasLauncherObject(WORKSPACE_RES_ID) && (hasLauncherObject(APPS_RES_ID) @@ -891,6 +902,15 @@ public final class LauncherInstrumentation { return object; } + @NonNull + UiObject2 waitForNavigationUiObject(String resId) { + String resPackage = getNavigationButtonResPackage(); + final UiObject2 object = mDevice.wait( + Until.findObject(By.res(resPackage, resId)), WAIT_TIME_MS); + assertNotNull("Can't find a navigation UI object with id: " + resId, object); + return object; + } + @Nullable UiObject2 findObjectInContainer(UiObject2 container, BySelector selector) { try { diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/tapl/com/android/launcher3/tapl/Workspace.java index 1ea0922029..f4fe49db8b 100644 --- a/tests/tapl/com/android/launcher3/tapl/Workspace.java +++ b/tests/tapl/com/android/launcher3/tapl/Workspace.java @@ -63,7 +63,7 @@ public final class Workspace extends Home { /** * Swipes up to All Apps. * - * @return the App Apps object. + * @return the All Apps object. */ @NonNull public AllApps switchToAllApps() { From 76680262bcfbb569d903010d89dc2306ee095b0a Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 20 Jun 2021 03:58:07 +0000 Subject: [PATCH 059/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I6dd7c6379367b226818926ac18c8bb04571a1dc4 --- res/values-af/strings.xml | 7 +++---- res/values-am/strings.xml | 9 +++++---- res/values-ar/strings.xml | 9 +++++---- res/values-as/strings.xml | 9 +++++---- res/values-az/strings.xml | 9 +++++---- res/values-b+sr+Latn/strings.xml | 9 +++++---- res/values-be/strings.xml | 9 +++++---- res/values-bg/strings.xml | 9 +++++---- res/values-bn/strings.xml | 12 ++++++------ res/values-bs/strings.xml | 9 +++++---- res/values-ca/strings.xml | 9 +++++---- res/values-cs/strings.xml | 9 +++++---- res/values-da/strings.xml | 9 +++++---- res/values-de/strings.xml | 9 +++++---- res/values-el/strings.xml | 7 +++---- res/values-en-rAU/strings.xml | 7 +++---- res/values-en-rCA/strings.xml | 7 +++---- res/values-en-rGB/strings.xml | 7 +++---- res/values-en-rIN/strings.xml | 7 +++---- res/values-en-rXC/strings.xml | 7 +++---- res/values-es-rUS/strings.xml | 7 +++---- res/values-es/strings.xml | 9 +++++---- res/values-et/strings.xml | 9 +++++---- res/values-eu/strings.xml | 9 +++++---- res/values-fa/strings.xml | 9 +++++---- res/values-fi/strings.xml | 9 +++++---- res/values-fr-rCA/strings.xml | 9 +++++---- res/values-fr/strings.xml | 9 +++++---- res/values-gl/strings.xml | 9 +++++---- res/values-gu/strings.xml | 12 ++++++------ res/values-hi/strings.xml | 9 +++++---- res/values-hr/strings.xml | 9 +++++---- res/values-hu/strings.xml | 9 +++++---- res/values-hy/strings.xml | 9 +++++---- res/values-in/strings.xml | 9 +++++---- res/values-is/strings.xml | 9 +++++---- res/values-it/strings.xml | 9 +++++---- res/values-iw/strings.xml | 9 +++++---- res/values-ja/strings.xml | 9 +++++---- res/values-ka/strings.xml | 7 +++---- res/values-kk/strings.xml | 9 +++++---- res/values-km/strings.xml | 9 +++++---- res/values-kn/strings.xml | 15 +++++++-------- res/values-ko/strings.xml | 9 +++++---- res/values-ky/strings.xml | 9 +++++---- res/values-lo/strings.xml | 9 +++++---- res/values-lt/strings.xml | 9 +++++---- res/values-lv/strings.xml | 9 +++++---- res/values-mk/strings.xml | 9 +++++---- res/values-ml/strings.xml | 9 +++++---- res/values-mn/strings.xml | 9 +++++---- res/values-mr/strings.xml | 30 ++++++++++++------------------ res/values-ms/strings.xml | 9 +++++---- res/values-my/strings.xml | 9 +++++---- res/values-nb/strings.xml | 9 +++++---- res/values-ne/strings.xml | 15 +++++++-------- res/values-nl/strings.xml | 7 +++---- res/values-or/strings.xml | 9 +++++---- res/values-pa/strings.xml | 15 +++++++-------- res/values-pl/strings.xml | 9 +++++---- res/values-pt-rPT/strings.xml | 7 +++---- res/values-pt/strings.xml | 7 +++---- res/values-ro/strings.xml | 9 +++++---- res/values-ru/strings.xml | 9 +++++---- res/values-si/strings.xml | 9 +++++---- res/values-sk/strings.xml | 9 +++++---- res/values-sl/strings.xml | 9 +++++---- res/values-sq/strings.xml | 9 +++++---- res/values-sr/strings.xml | 9 +++++---- res/values-sv/strings.xml | 9 +++++---- res/values-sw/strings.xml | 9 +++++---- res/values-ta/strings.xml | 9 +++++---- res/values-te/strings.xml | 12 ++++++------ res/values-th/strings.xml | 9 +++++---- res/values-tl/strings.xml | 9 +++++---- res/values-tr/strings.xml | 9 +++++---- res/values-uk/strings.xml | 7 +++---- res/values-ur/strings.xml | 15 +++++++-------- res/values-uz/strings.xml | 9 +++++---- res/values-vi/strings.xml | 9 +++++---- res/values-zh-rCN/strings.xml | 9 +++++---- res/values-zh-rHK/strings.xml | 9 +++++---- res/values-zh-rTW/strings.xml | 9 +++++---- res/values-zu/strings.xml | 9 +++++---- 84 files changed, 412 insertions(+), 372 deletions(-) diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 2703eb5e98..571ad51536 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -82,8 +82,8 @@ "skryf Tuis-instellings en -kortpaaie" "Laat die program toe om die instellings en kortpaaie in Tuis te verander." "%1$s word nie toegelaat om foonoproepe te maak nie" - "Kon nie legstuk laai nie" - "Stel op" + "Kan nie legstuk laai nie" + "Tik om opstelling te voltooi" "Dit is \'n stelselprogram en kan nie gedeïnstalleer word nie." "Wysig naam" "Het %1$s gedeaktiveer" @@ -156,8 +156,7 @@ "Persoonlik" "Werk" "Werkprofiel" - - + "Werkprogramme het \'n kenteken en is sigbaar vir jou IT-administrateur" "Het dit" "Werkprogramme is af" "Jou werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 846de43d4a..fe9716358a 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -82,8 +82,10 @@ "የመነሻ ቅንብሮችን እና አቋራጮችን ይጽፋል" "መተግብሪያው ቅንብሮችን እና አቋራጮችን በመነሻ ውስጥ እንዲቀይራቸው ያስችለዋል።" "%1$s የስልክ ጥሪዎችን ለማድረግ አልተፈቀደለትም" - "ፍርግም የመጫን ችግር" - "ማዋቀሪያ" + + + + "ይህ የስርዓት መተግበሪያ ነው እና ማራገፍ አይቻልም።" "ስም ያርትዑ" "%1$s ተሰናክሏል" @@ -156,8 +158,7 @@ "የግል" "ሥራ" "የሥራ መገለጫ" - - + "የሥራ መተግበሪያዎች ባጅ የተደረገባቸው እና ለእርስዎ የአይቲ አስተዳዳሪ የሚታዩ ናቸው" "ገባኝ" "የሥራ መተግበሪያዎች ጠፍተዋል" "የስራ መተግበሪያዎችዎ ማሳወቂያዎችን ሊልክልዎ፣ ባትሪዎን መጠቀም ወይም አካባቢዎን መድረስ አይችሉም" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 18ce18c23b..ff2f51db3b 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -90,8 +90,10 @@ "كتابة إعدادات واختصارات الشاشة الرئيسية" "للسماح للتطبيق بتغيير الإعدادات والاختصارات في الشاشة الرئيسية." "%1$s غير مسموح به لإجراء مكالمات هاتفية" - "حدثت مشكلة أثناء تحميل الأداة" - "الإعداد" + + + + "هذا تطبيق نظام وتتعذر إزالته." "تعديل الاسم" "تم إيقاف %1$s" @@ -168,8 +170,7 @@ "شخصية" "للعمل" "الملف الشخصي للعمل" - - + "تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات." "حسنًا" "تطبيقات العمل غير مفعّلة" "لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index 1f217cf7b6..43927f53e2 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -82,8 +82,10 @@ "গৃহ ছেটিং আৰু শ্বৰ্টকাটবোৰ লিখিব পাৰে" "এপটোক গৃহ পৃষ্ঠাত ছেটিং আৰু শ্বৰ্টকাটসমূহ সলনি কৰাৰ অনুমতি দিয়ে।" "%1$sক ফ\'ন কলবোৰ কৰাৰ অনুমতি দিয়া হোৱা নাই" - "ৱিজেট ল\'ড কৰাত সমস্য়া" - "ছেটআপ কৰক" + + + + "এইটো এটা ছিষ্টেম এপ আৰু ইয়াক আনইনষ্টল কৰিব নোৱৰি" "নাম সম্পাদনা কৰক" "%1$s অক্ষম কৰা হ’ল" @@ -156,8 +158,7 @@ "ব্যক্তিগত" "কৰ্মস্থান" "কৰ্মস্থানৰ প্ৰ\'ফাইল" - - + "কৰ্মস্থানৰ এপ্‌সমূহ প্ৰতীকেৰে চিহ্নিত কৰা হয় আৰু সেইবোৰ আপোনাৰ আইটি প্ৰশাসকৰ বাবে দৃশ্যমান হয়" "বুজি পালোঁ" "কৰ্মস্থানৰ এপ্‌সমূহ অফ হৈ আছে" "আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index f73e500c4f..7685330860 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -82,8 +82,10 @@ "Əsas Səhifə ayarlarını və qısayolları yazın" "Tətbiqə Əsas Səhifədə ayarları və qısayolları dəyişməyə icazə verir." "%1$s tətbiqinə telefon zəngləri etmək üçün icazə verilmir" - "Vidcet yükləmə problemi" - "Quraşdırma" + + + + "Bu sistem tətbiqi olduğu üçün sistemdən silinə bilməz." "Adı redaktə edin" "%1$s deaktiv edildi" @@ -156,8 +158,7 @@ "Şəxsi" "İş" "İş profili" - - + "İş tətbiqləri nişanlanıb və İT administratorunuza görünür" "Anladım" "İş tətbiqləri deaktivdir" "İş tətbiqləriniz sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index a5000765fb..3e43c50b93 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -84,8 +84,10 @@ "upisivanje podešavanja i prečica na početnom ekranu" "Dozvoljava aplikaciji da menja podešavanja i prečice na početnom ekranu." "%1$s nema dozvolu za upućivanje telefonskih poziva" - "Problem pri učitavanju vidžeta" - "Podešavanje" + + + + "Ovo je sistemska aplikacija i ne može da se deinstalira." "Izmenite naziv" "Aplikacija %1$s je onemogućena" @@ -159,8 +161,7 @@ "Lične" "Poslovne" "Poslovni profil" - - + "Poslovne aplikacije su označene značkom i IT administrator može da ih vidi" "Važi" "Poslovne aplikacije su isključene" "Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index aa8acd65d0..d99972996d 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -86,8 +86,10 @@ "запісваць налады і ярлыкі на галоўнай старонцы" "Дазваляе праграме змяняць налады і ярлыкі на Галоўнай старонцы." "%1$s не мае дазволу на здзяйсненне тэлефонных званкоў" - "Праблема загрузкі віджэта" - "Наладжванне" + + + + "Гэта сістэмная праграма, яе нельга выдаліць." "Змяніць назву" "%1$s адключана" @@ -162,8 +164,7 @@ "Асабістыя" "Працоўныя" "Працоўны профіль" - - + "Працоўныя праграмы маюць значкі і бачныя IT-адміністратару" "Зразумела" "Працоўныя праграмы выключаны" "Працоўныя праграмы не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да даных пра ваша месцазнаходжанне" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 117ee45e7b..a104988e2d 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -82,8 +82,10 @@ "запис на настройките и преките пътища в Начало" "Разрешава на приложението да променя настройките и преките пътища в Начало." "%1$s няма разрешение да извършва телефонни обаждания" - "Проблем при зареждане на приспособлението" - "Настройване" + + + + "Това е системно приложение и не може да се деинсталира." "Редактиране на името" "Деактивирахте %1$s" @@ -156,8 +158,7 @@ "Лични" "Служебни" "Служебен потребителски профил" - - + "Служебните приложения са означени със значка и са видими за системния администратор" "Разбрах" "Служебните ви приложения са изключени" "Служебните ви приложения не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index e88e4b923d..f89aecbadd 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -53,11 +53,9 @@ "কথোপকথন" "সহজেই দরকারি তথ্য পান" "অ্যাপ না খুলে তথ্য পাওয়ার জন্য, আপনার হোম স্ক্রিনে উইজেট যোগ করতে পারেন" - - + "উইজেট সেটিংস পরিবর্তন করতে ট্যাপ করুন" "বুঝেছি" - - + "উইজেট সেটিংস পরিবর্তন করুন" "অ্যাপ খুঁজুন" "অ্যাপ লোড হচ্ছে…" "\"%1$s\" এর সাথে মেলে এমন কোনো অ্যাপ পাওয়া যায়নি" @@ -84,8 +82,10 @@ "হোম সেটিংস এবং শর্টকাটগুলি লেখে" "হোমে অ্যাপ্লিকেশানটিকে সেটিংস এবং শর্টকাটগুলি পরিবর্তন করতে দেয়৷" "ফোন কলগুলি করার জন্য %1$s এর অনুমতি নেই" - "উইজেট লোড হতে সমস্যা হয়েছে" - "সেটআপ" + + + + "এটি একটি সিস্টেম অ্যাপ্লিকেশান এবং আনইনস্টল করা যাবে না৷" "নাম এডিট করুন" "%1$s অক্ষম করা হয়েছে" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index ed7050fa30..b265d841e4 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -84,8 +84,10 @@ "zapisuj postavke na početnom ekranu i prečice" "Dopušta aplikaciji promjenu postavki i prečica na početnom ekranu." "%1$s nema odobrenje da uspostavlja telefonske pozive" - "Problem pri učitavanju dodatka" - "Postavljanje" + + + + "Ovo je sistemska aplikacija i ne može se deinstalirati." "Uređivanje naziva" "Aplikacija %1$s je onemogućena" @@ -159,8 +161,7 @@ "Lične" "Poslovne" "Radni profil" - - + "Poslovne aplikacije su označene i vaš IT administrator ih može vidjeti" "Razumijem" "Poslovne aplikacije su isključene" "Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju niti pristupiti vašoj lokaciji" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index 306e0c220f..9cd23ba2cb 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -82,8 +82,10 @@ "escriu la configuració i les dreceres de la pantalla d\'inici" "Permet que l\'aplicació canviï la configuració i les dreceres de la pantalla d\'inici." "%1$s no té permís per fer trucades telefòniques" - "S\'ha produït un problema en carregar el widget" - "Configuració" + + + + "Aquesta aplicació és una aplicació del sistema i no es pot desinstal·lar." "Edita el nom" "S\'ha desactivat %1$s" @@ -156,8 +158,7 @@ "Personal" "Treball" "Perfil de treball" - - + "Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI" "Entesos" "Les aplicacions de treball estan desactivades" "Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 70c511fd95..9785754d58 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -86,8 +86,10 @@ "zápis nastavení a odkazů plochy" "Umožňuje aplikaci změnit nastavení a odkazy na ploše." "Aplikace %1$s nemá oprávnění telefonovat" - "Problém s načtením widgetu" - "Nastavení" + + + + "Toto je systémová aplikace a nelze ji odinstalovat." "Upravit název" "Aplikace %1$s je zakázána" @@ -162,8 +164,7 @@ "Osobní" "Pracovní" "Pracovní profil" - - + "Pracovní aplikace jsou označené a viditelné vašemu administrátorovi IT" "Rozumím" "Pracovní aplikace jsou vypnuté" "Pracovní aplikace vám nemohou zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 5087ac4fb0..d757b0ecd2 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -82,8 +82,10 @@ "skrive indstillinger og genveje for startskærmen" "Tillader, at appen ændrer indstillingerne og genvejene på startskærmen." "%1$s har ikke tilladelse til at foretage telefonopkald" - "Der er problemer med indlæsning af widgetten" - "Konfigurer" + + + + "Dette er en systemapp, som ikke kan afinstalleres." "Rediger navn" "%1$s er deaktiveret" @@ -156,8 +158,7 @@ "Personlige" "Arbejde" "Arbejdsprofil" - - + "Arbejdsapps har badges og kan ses af din it-administrator" "OK" "Arbejdsapps er deaktiveret" "Arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din lokation" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 6ff90222ae..8ae811fcad 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -82,8 +82,10 @@ "Einstellungen und Verknüpfungen für den Startbildschirm schreiben" "Ermöglicht der App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu ändern" "%1$s darf keine Telefonanrufe tätigen." - "Problem beim Laden des Widgets" - "Einrichten" + + + + "Dies ist eine Systemanwendung, die nicht deinstalliert werden kann." "Name bearbeiten" "%1$s deaktiviert" @@ -156,8 +158,7 @@ "Privat" "Geschäftlich" "Arbeitsprofil" - - + "Geschäftliche Apps sind gekennzeichnet und für deinen IT-Administrator sichtbar" "OK" "Geschäftliche Apps sind deaktiviert" "Deine geschäftlichen Apps können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index b6b44f03e1..fc7d691c03 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -82,8 +82,8 @@ "εγγραφή ρυθμίσεων και συντομεύσεων αρχικής οθόνης" "Επιτρέπει στην εφαρμογή την αλλαγή των ρυθμίσεων και των συντομεύσεων στην Αρχική οθόνη." "Η εφαρμογή %1$s δεν επιτρέπεται να πραγματοποιεί τηλεφωνικές κλήσεις" - "Παρουσιάστηκε πρόβλημα στη φόρτωση του γραφικού στοιχείου" - "Ρύθμιση" + "Δεν είναι δυνατή η φόρτωση του γραφικού στοιχείου" + "Πατήστε για να ολοκληρώσετε τη ρύθμιση" "Αυτή είναι μια εφαρμογή συστήματος και δεν είναι δυνατή η κατάργηση της εγκατάστασής της." "Επεξεργασία ονόματος" "Η εφαρμογή %1$s είναι απενεργοποιημένη" @@ -156,8 +156,7 @@ "Προσωπικές" "Εργασίας" "Προφίλ εργασίας" - - + "Οι εφαρμογές εργασιών φέρουν σήμα και είναι ορατές στον διαχειριστή IT σας" "Το κατάλαβα" "Οι εφαρμογές εργασιών είναι απενεργοποιημένες" "Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 0e585f1032..08d032bf96 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -82,8 +82,8 @@ "write Home settings and shortcuts" "Allows the app to change the settings and shortcuts in Home." "%1$s is not allowed to make phone calls" - "Problem loading widget" - "Setup" + "Can\'t load widget" + "Tap to finish setup" "This is a system app and can\'t be uninstalled." "Edit Name" "Disabled %1$s" @@ -156,8 +156,7 @@ "Personal" "Work" "Work profile" - - + "Work apps are badged and visible to your IT admin" "OK" "Work apps are off" "Your work apps can’t send you notifications, use your battery or access your location" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index 0e585f1032..08d032bf96 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -82,8 +82,8 @@ "write Home settings and shortcuts" "Allows the app to change the settings and shortcuts in Home." "%1$s is not allowed to make phone calls" - "Problem loading widget" - "Setup" + "Can\'t load widget" + "Tap to finish setup" "This is a system app and can\'t be uninstalled." "Edit Name" "Disabled %1$s" @@ -156,8 +156,7 @@ "Personal" "Work" "Work profile" - - + "Work apps are badged and visible to your IT admin" "OK" "Work apps are off" "Your work apps can’t send you notifications, use your battery or access your location" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 0e585f1032..08d032bf96 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -82,8 +82,8 @@ "write Home settings and shortcuts" "Allows the app to change the settings and shortcuts in Home." "%1$s is not allowed to make phone calls" - "Problem loading widget" - "Setup" + "Can\'t load widget" + "Tap to finish setup" "This is a system app and can\'t be uninstalled." "Edit Name" "Disabled %1$s" @@ -156,8 +156,7 @@ "Personal" "Work" "Work profile" - - + "Work apps are badged and visible to your IT admin" "OK" "Work apps are off" "Your work apps can’t send you notifications, use your battery or access your location" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 0e585f1032..08d032bf96 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -82,8 +82,8 @@ "write Home settings and shortcuts" "Allows the app to change the settings and shortcuts in Home." "%1$s is not allowed to make phone calls" - "Problem loading widget" - "Setup" + "Can\'t load widget" + "Tap to finish setup" "This is a system app and can\'t be uninstalled." "Edit Name" "Disabled %1$s" @@ -156,8 +156,7 @@ "Personal" "Work" "Work profile" - - + "Work apps are badged and visible to your IT admin" "OK" "Work apps are off" "Your work apps can’t send you notifications, use your battery or access your location" diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml index 9add9f4820..7ada105cbc 100644 --- a/res/values-en-rXC/strings.xml +++ b/res/values-en-rXC/strings.xml @@ -82,8 +82,8 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎write Home settings and shortcuts‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎Allows the app to change the settings and shortcuts in Home.‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎%1$s‎‏‎‎‏‏‏‎ is not allowed to make phone calls‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‎Problem loading widget‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎Setup‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‎Can\'t load widget‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎Tap to finish setup‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‎This is a system app and can\'t be uninstalled.‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎Edit Name‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎Disabled ‎‏‎‎‏‏‎%1$s‎‏‎‎‏‏‏‎‎‏‎‎‏‎" @@ -156,8 +156,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‎‎Personal‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‎‎Work‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎Work profile‎‏‎‎‏‎" - - + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎Work apps are badged and visible to your IT admin‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎Got it‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎Work apps are off‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎Your work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 53e7637707..607d831110 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -82,8 +82,8 @@ "escribir configuración y accesos directos de la pantalla principal" "Permite que la aplicación cambie la configuración y los accesos directos de la pantalla principal." "%1$s no puede realizar llamadas telefónicas" - "Problema al cargar el widget" - "Configuración" + "No se puede cargar el widget" + "Presiona para finalizar la configuración" "Esta es una aplicación del sistema y no se puede desinstalar." "Editar nombre" "Se inhabilitó %1$s" @@ -156,8 +156,7 @@ "Personales" "De trabajo" "Perfil de trabajo" - - + "Las apps de trabajo tienen una insignia y el administrador de IT las puede ver" "Entendido" "Las apps de trabajo están desactivadas" "Las apps de trabajo no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 61bd39d38c..03ac6d12e5 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -82,8 +82,10 @@ "escribir información de accesos directos y de ajustes de la pantalla de inicio" "Permite que las aplicaciones cambien los ajustes y los accesos directos de la pantalla de inicio." "%1$s no puede hacer llamadas" - "Problema al cargar el widget" - "Configuración" + + + + "Esta aplicación es del sistema y no se puede desinstalar." "Editar nombre" "Se ha inhabilitado %1$s" @@ -156,8 +158,7 @@ "Personal" "Trabajo" "Perfil de trabajo" - - + "Las aplicaciones de trabajo tienen una insignia, y tu administrador de TI las puede ver" "Entendido" "Las aplicaciones de trabajo están desactivadas" "Tus aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index e0c8733820..9ec12fce6a 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -82,8 +82,10 @@ "avakuva seadete ja otseteede kirjutamine" "Võimaldab rakendusel muuta avaekraanil seadeid ja otseteid." "Rakendusel %1$s pole lubatud helistada" - "Probleem vidina laadimisel" - "Seadistamine" + + + + "See on süsteemirakendus ja seda ei saa desinstallida." "Muuda nime" "Rakendus %1$s on keelatud" @@ -156,8 +158,7 @@ "Isiklik" "Töö" "Tööprofiil" - - + "Töörakendustel on märk ja need on teie IT-administraatorile nähtavad" "Selge" "Töörakendused on välja lülitatud" "Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index eb038bae2b..0df92adf24 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -82,8 +82,10 @@ "Idatzi hasierako ezarpenak eta lasterbideak" "Hasierako pantailako ezarpenak eta lasterbideak aldatzeko baimena ematen die aplikazioei." "%1$s aplikazioak ez du telefono-deiak egiteko baimenik" - "Arazo bat izan da widgeta kargatzean" - "Konfigurazioa" + + + + "Sistema-aplikazioa da hau eta ezin da desinstalatu." "Editatu izena" "%1$s desgaituta dago" @@ -156,8 +158,7 @@ "Pertsonalak" "Lanekoak" "Laneko profila" - - + "Laneko aplikazioek bereizgarriak dituzte, eta IKT saileko administratzaileak ikus ditzake" "Ados" "Laneko aplikazioak desaktibatuta daude" "Laneko aplikazioek ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 0926e48f81..9da53ca986 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -82,8 +82,10 @@ "نوشتن تنظیمات و میان‌برهای صفحه اصلی" "به برنامه اجازه می‌دهد تنظیمات و میان‌برها را در صفحه اصلی تغییر دهد." "%1$s مجاز نیست تماس تلفنی برقرار کند" - "مشکل در بارگیری ابزارک" - "تنظیم" + + + + "این برنامه سیستمی است و حذف نصب نمی‌شود." "ویرایش نام" "%1$s غیرفعال شد" @@ -156,8 +158,7 @@ "شخصی" "کاری" "نمایه کاری" - - + "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند" "متوجه‌ام" "برنامه‌های کاری خاموش است" "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index 4ebc8d279b..fd8b67168f 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -82,8 +82,10 @@ "kirjoita aloitusruudun asetuksia ja pikakuvakkeita" "Antaa sovelluksen muuttaa aloitusruudun asetuksia ja pikakuvakkeita." "%1$s ei saa soittaa puheluita." - "Ongelma ladattaessa widgetiä" - "Asetus" + + + + "Tämä on järjestelmäsovellus, eikä sitä voi poistaa." "Muokkaa nimeä" "%1$s poistettiin käytöstä" @@ -156,8 +158,7 @@ "Henkilökohtaiset" "Työsovellukset" "Työprofiili" - - + "Työsovellukset on merkitty ja ne näkyvät IT-järjestelmänvalvojalle" "Selvä" "Työsovellukset ovat pois päältä" "Työsovellukset eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai paikantaa sijaintiasi" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 0a66787554..fb358eaf58 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -82,8 +82,10 @@ "enregistrer les paramètres de la page d\'accueil et des raccourcis" "Permet à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil." "L\'application %1$s n\'est pas autorisée à faire des appels téléphoniques" - "Problème lors du chargement du widget" - "Configuration" + + + + "Impossible de désinstaller cette application, car il s\'agit d\'une application système." "Modifier le nom" "L\'application %1$s est désactivée" @@ -156,8 +158,7 @@ "Personnel" "Travail" "Profil professionnel" - - + "Les applications professionnelles sont indiquées par un badge et elles sont visibles pour votre administrateur informatique" "OK" "Les applications professionnelles sont désactivées" "Les applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index f08f7eb0ba..098ce6f3e0 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -82,8 +82,10 @@ "modifier les paramètres et les raccourcis de l\'écran d\'accueil" "Permettre à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil" "L\'application %1$s n\'est pas autorisée à passer des appels téléphoniques." - "Problème lors du chargement du widget." - "Configuration" + + + + "Impossible de désinstaller cette application, car il s\'agit d\'une application système." "Modifier le nom" "%1$s est désactivé." @@ -156,8 +158,7 @@ "Personnelles" "Professionnelles" "Profil professionnel" - - + "Les applis professionnelles sont identifiées par un badge et votre administrateur informatique peut les voir" "OK" "Les applis professionnelles sont désactivées" "Vos applis professionnelles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 6a7a6ef10e..8cc93612a2 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -82,8 +82,10 @@ "modificar a configuración e os atallos da pantalla de inicio" "Permite a unha aplicación cambiar a configuración e os atallos da pantalla de inicio." "%1$s non ten permiso para facer chamadas telefónicas" - "Produciuse un problema ao cargar o widget" - "Configuración" + + + + "Esta aplicación é do sistema e non se pode desinstalar." "Edita o nome" "Desactivouse %1$s" @@ -156,8 +158,7 @@ "Persoal" "Traballo" "Perfil de traballo" - - + "O administrador de TI pode ver as aplicacións do traballo e engadirlles indicadores" "Entendido" "As aplicacións do traballo están desactivadas" "As aplicacións do traballo non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 4b3821ce03..2e0171dad6 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -53,11 +53,9 @@ "વાતચીતો" "ઉપયોગી માહિતી તમારી આંગળીના ટેરવે" "ઍપને ખોલ્યા વિના માહિતી મેળવવા માટે, તમે તમારી હોમ સ્ક્રીન પર વિજેટ ઉમેરી શકો છો" - - + "વિજેટના સેટિંગ બદલવા માટે ટૅપ કરો" "સમજાઈ ગયું" - - + "વિજેટના સેટિંગ બદલો" "શોધ ઍપ્લિકેશનો" "ઍપ્લિકેશનો લોડ કરી રહ્યું છે…" "\"%1$s\"થી મેળ ખાતી કોઈ ઍપ્લિકેશનો મળી નથી" @@ -84,8 +82,10 @@ "હોમ સેટિંગ્સ અને શોર્ટકટ્સ લખો" "એપ્લિકેશનને હોમમાં સેટિંગ્સ અને શોર્ટકટ્સ બદલવાની મંજૂરી આપે છે." "%1$s ને ફોન કૉલ્સ કરવાની મંજૂરી નથી" - "વિજેટ લોડ કરવામાં સમસ્યા" - "સેટઅપ" + + + + "આ એક સિસ્ટમ ઍપ્લિકેશન છે અને અનઇન્સ્ટોલ કરી શકાતી નથી." "નામમાં ફેરફાર કરો" "%1$s અક્ષમ કરી" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 8af8f066ad..fbadca6ba7 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -82,8 +82,10 @@ "होम पेज की सेटिंग और शॉर्टकट लिखें" "ऐप्लिकेशन को होम पेज में सेटिंग और शॉर्टकट बदलने देती है." "%1$s को फ़ोन कॉल करने की अनुमति नहीं है" - "विजेट लोड करने में समस्‍या" - "सेटअप" + + + + "यह एक सिस्टम ऐप्लिकेशन है और इसे अनइंस्टॉल नहीं किया जा सकता." "नाम में बदलाव करें" "%1$s अक्षम है" @@ -156,8 +158,7 @@ "निजी ऐप" "काम से जुड़े ऐप" "वर्क प्रोफ़ाइल" - - + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन, बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" "ठीक है" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद हैं" "ऑफ़िस के काम से जुड़े आपके ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 3f1e1b0762..09d315f928 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -84,8 +84,10 @@ "pisanje postavki početnog zaslona i prečaca" "Aplikaciji omogućuje promjenu postavki i prečaca na početnom zaslonu." "%1$s nema dopuštenje za telefonske pozive" - "Problem pri učitavanju widgeta" - "Postavljanje" + + + + "Ovo je aplikacija sustava i ne može se ukloniti." "Uređivanje naziva" "Aplikacija %1$s onemogućena" @@ -159,8 +161,7 @@ "Osobno" "Posao" "Poslovni profil" - - + "Poslovne su aplikacije označene i vidljive vašem IT administratoru" "Shvaćam" "Poslovne aplikacije su isključene" "Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju niti pristupiti vašoj lokaciji" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 09c4d5093a..2167540d38 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -82,8 +82,10 @@ "Főoldal beállításainak és parancsikonjainak írása" "Lehetővé teszi az alkalmazás számára, hogy módosítsa a kezdőképernyő beállításait és parancsikonjait." "A(z) %1$s nem kezdeményezhet telefonhívásokat" - "Probléma történt a modul betöltésekor" - "Beállítás" + + + + "Ez egy rendszeralkalmazás, és nem lehet eltávolítani." "Név módosítása" "A(z) %1$s letiltva" @@ -156,8 +158,7 @@ "Személyes" "Munkahelyi" "Munkaprofil" - - + "A munkahelyi alkalmazások jelvénnyel vannak megjelölve, és láthatók a rendszergazda számára" "Értem" "A munkahelyi alkalmazások ki vannak kapcsolva" "A munkahelyi alkalmazások nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez." diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index ef87d0619c..b261b02e7a 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -82,8 +82,10 @@ "ստեղծել հիմնաէջի կարգավորումներ ու դյուրանցումներ" "Ծրագրին թույլ է տալիս փոփոխել հիմնաէջի կարգավորումներն ու դյուրանցումները:" "%1$s հավելվածին չի թույլատրվում հեռախոսազանգեր կատարել" - "Վիջեթի բեռնման խնդիր կա" - "Կարգավորում" + + + + "Սա համակարգային ծրագիր է և չի կարող ապատեղադրվել:" "Փոխել անունը" "%1$s հավելվածն անջատված է" @@ -156,8 +158,7 @@ "Անձնական" "Աշխատանքային" "Աշխատանքային պրոֆիլ" - - + "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" "Եղավ" "Աշխատանքային հավելվածներն անջատված են" "Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index c3cdcfcf6a..8b45632d4c 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -82,8 +82,10 @@ "menulis setelan dan pintasan layar Utama" "Mengizinkan aplikasi mengubah setelan dan pintasan di layar Utama." "%1$s tidak diizinkan untuk melakukan panggilan telepon" - "Masalah memuat widget" - "Siapkan" + + + + "Ini adalah aplikasi sistem dan tidak dapat dicopot pemasangannya." "Sunting Nama" "%1$s dinonaktifkan" @@ -156,8 +158,7 @@ "Pribadi" "Kerja" "Profil kerja" - - + "Aplikasi kerja diberi badge dan terlihat oleh admin IT" "Oke" "Aplikasi kerja dinonaktifkan" "Aplikasi kerja tidak dapat mengirimkan notifikasi, menggunakan baterai, atau mengakses lokasi Anda" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index d3774ed827..baa4a87933 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -82,8 +82,10 @@ "skrifa stillingar og flýtileiðir heimaskjás" "Leyfir forriti að breyta stillingum og flýtileiðum heimaskjás." "%1$s hefur ekki leyfi til að hringja símtöl" - "Vandamál við að hlaða græju" - "Uppsetning" + + + + "Þetta er kerfisforrit sem ekki er hægt að fjarlægja." "Breyta nafni" "Óvirkt %1$s" @@ -156,8 +158,7 @@ "Persónulegt" "Vinna" "Vinnusnið" - - + "Vinnuforrit eru merkt og kerfisstjórinn getur séð þau" "Ég skil" "Slökkt er á vinnuforritum" "Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 58135218c0..54a6560d04 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -82,8 +82,10 @@ "creazione di impostazioni e scorciatoie in Home" "Consente all\'app di modificare le impostazioni e le scorciatoie in Home." "L\'app %1$s non è autorizzata a effettuare telefonate" - "Errore durante il caricamento del widget" - "Configurazione" + + + + "Questa è un\'app di sistema e non può essere disinstallata." "Modifica nome" "App %1$s disattivata" @@ -156,8 +158,7 @@ "Personali" "Lavoro" "Profilo di lavoro" - - + "Le app di lavoro sono contrassegnate con un badge e visibili all\'amministratore IT" "OK" "Le app di lavoro non sono attive" "Le app di lavoro non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index f07b4e554d..6291e308f4 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -86,8 +86,10 @@ "כתיבת הגדרות וקיצורי דרך של דף הבית" "מאפשר לאפליקציה לשנות את ההגדרות וקיצורי הדרך בדף הבית." "%1$s אינו רשאי להתקשר" - "בעיה בטעינת ווידג\'ט" - "הגדרה" + + + + "זוהי אפליקציית מערכת ולא ניתן להסיר את התקנתה." "עריכת השם" "%1$s מושבתת" @@ -162,8 +164,7 @@ "אישיות" "עבודה" "פרופיל עבודה" - - + "‏האפליקציות לעבודה מתויגות ומוצגות למנהל ה-IT" "הבנתי" "האפליקציות לעבודה מושבתות" "האפליקציות לעבודה לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 0d60f6d656..3586843a2f 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -82,8 +82,10 @@ "ホームの設定とショートカットの書き込み" "ホームの設定とショートカットの変更をアプリに許可します。" "「%1$s」から電話をかけることはできません" - "ウィジェットを表示できません" - "セットアップ" + + + + "このシステムアプリはアンインストールできません。" "名前の編集" "「%1$s」は無効です" @@ -156,8 +158,7 @@ "個人用" "仕事用" "仕事用プロファイル" - - + "仕事用アプリはバッジが付き、IT 管理者に公開されます" "OK" "仕事用アプリは OFF になっています" "仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 51246be30b..a03a45852d 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -82,8 +82,8 @@ "მთავარი ეკრანის პარამეტრებისა და მალსახმობების ჩაწერა" "აპისთვის მთავარი ეკრანის პარამეტრებისა და მალსახმობების შეცვლის უფლების მიცემა." "%1$s-ს არ აქვს სატელეფონო ზარების განხორციელების უფლება" - "პრობლემა ვიჯეტის ჩატვირთვისას" - "დაყენება" + "ვიჯეტის ჩატვირთვა ვერ ხერხდება" + "შეეხეთ დაყენების დასასრულებლად" "ეს სისტემური აპია და მისი წაშლა შეუძლებელია." "სახელის რედაქტირება" "%1$s გაითიშა" @@ -156,8 +156,7 @@ "პირადი" "სამსახური" "სამსახურის პროფილი" - - + "სამსახურის აპები ბეჯით არის მონიშნული და ხილულია IT ადმინისტრატორისთვის" "გასაგებია" "სამსახურის აპები გამორთულია" "თქვენს სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index b2753a2e88..057ca353cb 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -82,8 +82,10 @@ "Негізгі экран параметрлері мен төте пернелерін жазу" "Қолданбаға Негізгі экрандағы параметрлер мен төте пернелерді өзгерту мүмкіндігін береді." "%1$s арқылы телефон қоңырауларын соғуға рұқсат етілмеген" - "Виджетті жүктеу барысында мәселе орын алды" - "Орнату" + + + + "Бұл жүйе қолданбасы, сондықтан оны алу мүмкін емес." "Атын өңдеу" "%1$s өшірілді" @@ -156,8 +158,7 @@ "Жеке" "Жұмыс" "Жұмыс профилі" - - + "Жұмыс қолданбаларының танымбелгілері бар және олар әкімшіңізге көрінеді." "Түсінікті" "Жұмыс қолданбалары өшірулі" "Жұмыс қолданбалары сізге хабарландырулар жібере, батареяңызды немесе локацияңызды пайдалана алмайды." diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 82c9a36123..08f9d0a5e9 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -82,8 +82,10 @@ "សរសេរ​ការ​កំណត់ ​និង​ផ្លូវកាត់​​លើ​អេក្រង់​ដើម" "អនុញ្ញាត​ឲ្យ​កម្មវិធី​ប្ដូរ​ការ​កំណត់ និង​ផ្លូវ​កាត់​ក្នុង​អេក្រង់​ដើម។" "%1$s មិនត្រូវបានអនុញ្ញាតឲ្យធ្វើការហៅទូរស័ព្ទទេ" - "បញ្ហា​ក្នុង​ការ​ផ្ទុក​ធាតុ​​ក្រាហ្វិក" - "រៀបចំ" + + + + "នេះ​​​ជា​កម្មវិធី​ប្រព័ន្ធ មិន​អាច​លុប​បាន​ទេ។" "កែ​ឈ្មោះ" "បានបិទដំណើរការ %1$s" @@ -156,8 +158,7 @@ "ផ្ទាល់ខ្លួន" "ការងារ" "កម្រងព័ត៌មានការងារ" - - + "កម្មវិធីការងារ​ត្រូវបានដាក់​គ្រឿងសម្គាល់ ហើយ​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក​អាចមើលឃើញ" "យល់ហើយ" "កម្មវិធីការងារ​ត្រូវបានបិទ" "កម្មវិធី​ការងារ​របស់អ្នក​មិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 07a0cc9238..01dda6d286 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -53,11 +53,9 @@ "ಸಂವಾದಗಳು" "ನಿಮ್ಮ ಬೆರಳ ತುದಿಯಲ್ಲಿ ಉಪಯುಕ್ತ ಮಾಹಿತಿ" "ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯದೆಯೇ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ನಿಮ್ಮ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ನೀವು ವಿಜೆಟ್‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು" - - + "ವಿಜೆಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ" "ಅರ್ಥವಾಯಿತು" - - + "ವಿಜೆಟ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಹುಡುಕಿ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." "\"%1$s\" ಹೊಂದಿಕೆಯ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ" @@ -84,8 +82,10 @@ "ಮುಖಪುಟದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ಬರೆಯಿರಿ" "ಮುಖಪುಟದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿ ನೀಡುತ್ತದೆ." "ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು %1$s ಅಪ್ಲಿಕೇಶನ್‌‌ಗೆ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ" - "ವಿಜೆಟ್ ಲೋಡ್‌ ಮಾಡುವಲ್ಲಿ ಸಮಸ್ಯೆ" - "ಸೆಟಪ್" + + + + "ಇದೊಂದು ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ ಮತ್ತು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." "ಹೆಸರನ್ನು ಎಡಿಟ್ ಮಾಡಿ" "%1$s ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" @@ -158,8 +158,7 @@ "ವೈಯಕ್ತಿಕ" "ಕೆಲಸ" "ಕೆಲಸದ ಪ್ರೊಫೈಲ್" - - + "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತವೆ" "ಸರಿ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ" "ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 68589d8ea9..c06d33753e 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -82,8 +82,10 @@ "홈 설정 및 바로가기 쓰기" "앱이 홈에 있는 설정 및 바로가기를 변경할 수 있도록 합니다." "%1$s에서 전화를 걸 수 없습니다." - "위젯을 로드하는 중 문제가 발생했습니다." - "설정" + + + + "시스템 앱은 제거할 수 없습니다." "이름 수정" "%1$s 사용 안함" @@ -156,8 +158,7 @@ "개인" "직장" "직장 프로필" - - + "직장 앱에는 배지가 있으며, IT 관리자는 직장 앱을 확인할 수 있습니다" "확인" "직장 앱이 꺼져 있음" "직장 앱에서 알림을 보내거나 배터리를 사용하거나 위치 정보에 액세스할 수 없습니다." diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 919fe45bba..122beaca13 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -82,8 +82,10 @@ "Үйдүн тууралоолорун жана тез чакырмаларын жазуу" "Колдонмого Үйдүн тууралоолорун жана тез чакырмаларын өзгөртүүгө уруксат берет." "%1$s телефон чалууларды аткарууга уруксаты жок" - "Виджетти жүктөөдө маселе бар" - "Орнотуу" + + + + "Бул системдик колдонмо жана аны чечкенге болбойт." "Аталышын түзөтүү" "%1$s өчүрүлгөн" @@ -156,8 +158,7 @@ "Жеке колдонмолор" "Жумуш колдонмолору" "Жумуш профили" - - + "Жумуш колдонмолору белгиленип, аларды IT администраторлору көрөт" "Түшүндүм" "Жумуш колдонмолору өчүк" "Жумуш колдонмолору билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index b91da7d67e..73d9fc4802 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -82,8 +82,10 @@ "ຂຽນການຕັ້ງຄ່າໜ້າຫຼັກ ແລະທາງລັດ" "ອະນຸຍາດໃຫ້ແອັບຯດັ່ງກ່າວ ປ່ຽນການຕັ້ງຄ່າ ແລະທາງລັດໃນໜ້າຫຼັກ." "%1$s ບໍ່​ໄດ້​ຮັບ​ອະ​ນຸ​ຍາດ​ໃຫ້​ໂທ" - "ມີບັນຫາໃນການໂຫລດວິດເຈັດ" - "ຕິດຕັ້ງ" + + + + "ນີ້ແມ່ນແອັບຯຂອງລະບົບ ແລະບໍ່ສາມາດຖອນການຕິດຕັ້ງອອກໄດ້." "ແກ້ໄຂຊື່" "ປິດການນຳໃຊ້ %1$s ແລ້ວ" @@ -156,8 +158,7 @@ "ສ່ວນຕົວ" "ວຽກ" "ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ" - - + "ແອັບບ່ອນເຮັດວຽກແມ່ນຖືກຕິດປ້າຍ ແລະ ສະແດງໃຫ້ຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານເຫັນ" "ເຂົ້າໃຈແລ້ວ" "ແອັບບ່ອນເຮັດວຽກຖືກປິດໄວ້ຢູ່" "ແອັບບ່ອນເຮັດວຽກຂອງທ່ານຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນຫາທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 84414ca486..6843530cfb 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -86,8 +86,10 @@ "rašyti pagrindinio puslapio nustatymus ir sparčiuosius klavišus" "Programai leidžiama keisti pagrindinio puslapio nustatymus ir sparčiuosius klavišus." "„%1$s“ neleidžiama skambinti" - "Problema įkeliant valdiklį" - "Sąranka" + + + + "Tai sistemos programa ir jos negalima pašalinti." "Pavadinimo redagavimas" "„%1$s“ išjungta" @@ -162,8 +164,7 @@ "Asmeninės" "Darbo" "Darbo profilis" - - + "Darbo programos yra pažymėtos ženkleliu ir matomos IT administratoriui" "Supratau" "Darbo programos išjungtos" "Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 0b283d9b48..ed6ebf610a 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -84,8 +84,10 @@ "rakstīt sākuma ekrāna iestatījumus un saīsnes" "Ļauj lietotnei mainīt iestatījumus un saīsnes sākuma ekrānā." "Lietotnei %1$s nav atļauts veikt tālruņa zvanus." - "Ielādējot logrīku, radās problēma." - "Notiek iestatīšana" + + + + "Šī ir sistēmas lietotne, un to nevar atinstalēt." "Nosaukuma rediģēšana" "Lietotne %1$s ir atspējota" @@ -159,8 +161,7 @@ "Personīgās lietotnes" "Darba lietotnes" "Darba profils" - - + "Darba lietotnēm ir pievienota emblēma, un tās ir redzamas jūsu IT administratoram" "Labi" "Darba lietotnes ir izslēgtas" "Jūsu darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 29acbb87b6..2d5381171a 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -82,8 +82,10 @@ "пишува поставки и кратенки на почетна страница" "Овозможува апликацијата да ги менува подесувањата и кратенките на почетната страница." "%1$s нема дозвола за телефонски повици" - "Проблем при вчитувањето на виџетот" - "Поставување" + + + + "Ова е системска апликација и не може да се деинсталира." "Изменете го името" "%1$s е оневозможена" @@ -156,8 +158,7 @@ "Лично" "За работа" "Работен профил" - - + "Работните апликации имаат значка и се видливи за IT-администраторот" "Сфатив" "Работните апликации се исклучени" "Работните апликации не може да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index 53679f15c4..f323d8fcfd 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -82,8 +82,10 @@ "ഹോം ക്രമീകരണങ്ങളും കുറുക്കുവഴികളും റൈറ്റുചെയ്യുക" "ഹോമിലെ ക്രമീകരണങ്ങളും കുറുക്കുവഴികളും മാറ്റാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു." "ഫോൺ കോൾ ചെയ്യാൻ %1$s എന്നതിനെ അനുവദിച്ചിട്ടില്ല" - "വിജറ്റ് ലോഡുചെയ്യുന്നതിൽ പ്രശ്നമുണ്ട്" - "സജ്ജീകരിക്കുക" + + + + "ഇതൊരു സിസ്‌റ്റം അപ്ലിക്കേഷനായതിനാൽ അൺഇൻസ്‌റ്റാളുചെയ്യാനാവില്ല." "പേര് എഡിറ്റ് ചെയ്യുക" "%1$s പ്രവർത്തനരഹിതമാക്കി" @@ -156,8 +158,7 @@ "വ്യക്തിപരം" "ഔദ്യോഗികം" "ഔദ്യോഗിക പ്രൊഫൈൽ" - - + "ഔദ്യോഗിക ആപ്പുകൾക്ക് ബാഡ്‌ജ് നൽകിയിരിക്കുന്നു, അവ നിങ്ങളുടെ ഐടി അഡ്‌മിന് കാണാനുമാകും" "മനസ്സിലായി" "ഔദ്യോഗിക ആപ്പുകൾ ഓഫാണ്" "നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index dc30f552a2..fc9f772bbe 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -82,8 +82,10 @@ "Нүүрний тохиргоо болон товчлолыг бичих" "Апп нь Нүүрэндэх товчлол болон тохиргоог өөрчилж чадна." "%1$s утасны дуудлага хийх боломжгүй" - "Виджет ачаалахад асуудал гарав" - "Тохируулга" + + + + "Энэ апп нь системийн апп ба устгах боломжгүй." "Нэр засах" "%1$s-г идэвхгүй болгосон" @@ -156,8 +158,7 @@ "Хувийн" "Ажил" "Ажлын профайл" - - + "Ажлын аппуудыг тэмдэглэсэн бөгөөд танай IT админд харагдана" "Ойлголоо" "Ажлын аппууд унтраалттай байна" "Таны ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index 38acebffad..6a333f7045 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -53,11 +53,9 @@ "संभाषणे" "तुमच्यासाठी सहज उपलब्ध असलेली माहिती" "ॲप्स न उघडता माहिती मिळवण्यासाठी, तुम्ही तुमच्या होम स्क्रीनवर विजेट जोडू शकता" - - + "विजेट सेटिंग्ज बदलण्यासाठी टॅप करा" "समजले" - - + "विजेट सेटिंग्ज बदला" "अ‍ॅप्स शोधा" "अ‍ॅप्स लोड करत आहे…" "\"%1$s\" शी जुळणारे कोणतेही अ‍ॅप्स आढळले नाहीत" @@ -84,8 +82,10 @@ "होम सेटिंग्ज आणि शॉर्टकट लिहा" "मुख्यपृष्ठातील सेटिंग्ज आणि शॉर्टकट बदलण्यास अ‍ॅप ला अनुमती देते." "%1$s ला फोन कॉल करण्याची अनुमती नाही" - "विजेट लोड करण्यात समस्या" - "सेटअप" + + + + "हा सिस्टम अ‍ॅप आहे आणि अनइंस्टॉल केला जाऊ शकत नाही." "नाव संपादित करा" "%1$s अक्षम केला आहे" @@ -158,21 +158,15 @@ "वैयक्तिक" "कार्यालय" "कार्य प्रोफाइल" - - + "कामाशी संबंधित ॲप्स ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" - - - - - - + "कामाशी संबंधित ॲप्स बंद आहेत" + "तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" + "कामाशी संबंधित ॲप्स बंद आहेत. तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "Work apps ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" - - - - + "कामाशी संबंधित ॲप्स बंद करा" + "कामाशी संबंधित ॲप्स सुरू करा" "फिल्टर" "हे करता आले नाही: %1$s" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index be9496203f..07b414a1d1 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -82,8 +82,10 @@ "tulis tetapan dan pintasan Laman Utama" "Membenarkan apl menukar tetapan dan pintasan di Laman Utama." "%1$s tidak dibenarkan membuat panggilan telefon" - "Masalah memuatkan widget" - "Persediaan" + + + + "Ini ialah apl sistem dan tidak boleh dinyahpasang." "Edit Nama" "%1$s dilumpuhkan" @@ -156,8 +158,7 @@ "Peribadi" "Kerja" "Profil kerja" - - + "Apl kerja mempunyai lencana dan kelihatan kepada pentadbir IT anda" "OK" "Apl kerja dimatikan" "Apl kerja anda tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 480310064f..e9f42e4014 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -82,8 +82,10 @@ "ပင်မမျက်နှာစာ အပြင်အဆင် နှင့် အတိုကောက်မှတ်သားမှုများအား ရေးသားခြင်း" "ပင်မမျက်နှာစာတွင် ရှိသော အပြင်အဆင် နှင့် အတိုကောက်မှတ်သားမှုများ ကို အပ်ပလီကေးရှင်းအား ပြောင်းခွင့်ပြုခြင်း" "%1$sသည် ဖုန်းခေါ်ဆိုခွင့် မရှိပါ" - "ဝဒ်ဂျက် တင်ရာတွင် ပြသနာ ရှိပါသည်" - "စဖွင့်သတ်မှတ်ရန်" + + + + "ဤအပ်ပလီကေးရှင်းမှာ စစ်စတန်ပိုင်းဆိုင်ရာ အပ်ပလီကေးရှင်းဖြစ်ပါသည်။ ထုတ်ပစ်၍ မရပါ" "အမည်ကို တည်းဖြတ်ပါ" "%1$s ကို ပိတ်ထားသည်" @@ -156,8 +158,7 @@ "ကိုယ်ပိုင်" "အလုပ်" "အလုပ်ပရိုဖိုင်" - - + "အလုပ်သုံးအက်ပ်များကို တံဆိပ်တပ်ထားပြီး သင်၏ IT စီမံခန့်ခွဲသူက မြင်နိုင်ပါသည်" "ရပါပြီ" "အလုပ်သုံးအက်ပ်များ ပိတ်ထားသည်" "သင်၏ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 55ef7a4cd1..046f4adbbd 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -82,8 +82,10 @@ "angi startsideinnstillinger og -snarveier" "Lar appen endre innstillingene og snarveiene på startsiden." "%1$s har ikke tillatelse til å ringe" - "Problem ved innlasting av modul" - "Konfigurering" + + + + "Dette er en systemapp som ikke kan avinstalleres." "Rediger navn" "Slo av %1$s" @@ -156,8 +158,7 @@ "Personlig" "Jobb" "Jobbprofil" - - + "Jobbapper er merket og synlige for IT-administratoren din" "Greit" "Jobbapper er av" "Jobbapper kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 14dcec8aa2..f7dcd964d7 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -53,11 +53,9 @@ "वार्तालापहरू" "उपयोगी जानकारी सजिलै प्राप्त गर्नुहोस्" "एपहरू नखोलिकनै तिनका बारेमा जानकारी प्राप्त गर्न तपाईं आफ्नो होम स्क्रिनमा विजेटहरू हाल्न सक्नुहुन्छ" - - + "विजेटका सेटिङ बदल्न ट्याप गर्नुहोस्" "बुझेँ" - - + "विजेटका सेटिङ बदल्नुहोस्" "खोजसम्बन्धी एपहरू" "एपहरू लोड गर्दै…" "\"%1$s\" सँग मिल्दो कुनै एप भेटिएन" @@ -84,8 +82,10 @@ "गृह सेटिङहरू र सर्टकटहरू लेख्नुहोस्" "गृहमा एउटा एपलाई सेटिङ र सर्टकट बदल्न अनुमति दिनुहोस्।" "%1$s ले फोन कलहरू गर्न अनुमति छैन" - "समस्या लोडिङ गर्ने विजेट" - "सेटअप" + + + + "यो प्रणाली एप हो र यसलाई स्थापना रद्द गर्न सकिँदैन।" "नाम सम्पादन गर्नुहोस्" "असक्षम पारिएको %1$s" @@ -158,8 +158,7 @@ "व्यक्तिगत" "कार्यसम्बन्धी" "कार्य प्रोफाइल" - - + "कामसम्बन्धी एपहरूमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्छन्" "बुझेँ" "कामसम्बन्धी एपहरू अफ गरिएका छन्" "तपाईंका कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index c9f204bc2b..a48214788b 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -82,8 +82,8 @@ "instellingen en snelkoppelingen op startscherm zetten" "De app toestaan de instellingen en snelkoppelingen op de homepage te wijzigen." "%1$s mag niet bellen" - "Probleem bij het laden van widget" - "Configuratie" + "Kan widget niet laden" + "Tik om het instellen af te ronden" "Dit is een systeemapp die niet kan worden verwijderd." "Naam bewerken" "%1$s staat uit" @@ -156,8 +156,7 @@ "Privé" "Werk" "Werkprofiel" - - + "Werk-apps hebben badges en zijn zichtbaar voor je IT-beheerder" "OK" "Werk-apps staan uit" "Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 81b66c6ba1..461c082e83 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -82,8 +82,10 @@ "ହୋମ୍‌ ସେଟିଙ୍ଗ ଏବଂ ଶର୍ଟକଟ୍‌ ଲେଖନ୍ତୁ" "ହୋମରେ ସେଟିଙ୍ଗ ଏବଂ ଶର୍ଟକଟ୍‌ ପରିବର୍ତ୍ତନ କରିବାକୁ ଆପକୁ ଅନୁମତି ଦିଏ।" "ଫୋନ୍‌ କଲ୍‌ କରିବାକୁ %1$sକୁ ଅନୁମତି ଦିଆଯାଇ ନାହିଁ" - "ୱିଜେଟ୍‌ ଲୋଡ୍‌ ହେବାରେ ସମସ୍ୟା ଅଛି" - "ସେଟ୍ ଅପ୍ କରନ୍ତୁ" + + + + "ଏହା ଏକ ସିଷ୍ଟମ୍‌ ଆପ୍‌ ଅଟେ ଏବଂ ଏହା ଅନଇନଷ୍ଟଲ୍‌ କରାଯାଇ ପାରିବ ନାହିଁ।" "ନାମ ସମ୍ପାଦନ କରନ୍ତୁ" "%1$s ଅକ୍ଷମ କରାଗଲା" @@ -156,8 +158,7 @@ "ବ୍ୟକ୍ତିଗତ" "ୱାର୍କ" "ୱର୍କ ପ୍ରୋଫାଇଲ୍‌" - - + "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ବ୍ୟାଜ୍ କରାଯାଇଛି ଏବଂ ସେଗୁଡ଼ିକ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦୃଶ୍ୟମାନ ହେଉଛି" "ବୁଝିଗଲି" "ୱାର୍କ ଆପଗୁଡ଼ିକ ବନ୍ଦ ଅଛି" "ଆପଣଙ୍କ ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 993b16a11b..63ec08593f 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -53,11 +53,9 @@ "ਗੱਲਾਂਬਾਤਾਂ" "ਤੁਹਾਡੀਆਂ ਉਂਗਲਾਂ \'ਤੇ ਲਾਹੇਵੰਦ ਜਾਣਕਾਰੀ" "ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹੇ ਬਿਨਾਂ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਤੁਸੀਂ ਆਪਣੀ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਵਿਜੇਟ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ" - - + "ਵਿਜੇਟ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਣ ਲਈ ਟੈਪ ਕਰੋ" "ਸਮਝ ਲਿਆ" - - + "ਵਿਜੇਟ ਸੈਟਿੰਗਾਂ ਬਦਲੋ" "ਐਪਾਂ ਖੋਜੋ" "ਐਪਾਂ ਨੂੰ ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." "\"%1$s\" ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਕੋਈ ਐਪਾਂ ਨਹੀਂ ਮਿਲੀਆਂ" @@ -84,8 +82,10 @@ "ਹੋਮ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਲਿਖੋ" "ਐਪ ਨੂੰ ਹੋਮ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।" "%1$s ਨੂੰ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ" - "ਵਿਜੇਟ ਲੋਡ ਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ" - "ਸਥਾਪਤ ਕਰੋ" + + + + "ਇਹ ਇੱਕ ਸਿਸਟਮ ਐਪ ਹੈ ਅਤੇ ਇਸਨੂੰ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।" "ਨਾਮ ਦਾ ਸੰਪਾਦਨ ਕਰੋ" "%1$s ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ" @@ -158,8 +158,7 @@ "ਨਿੱਜੀ" "ਕੰਮ ਸੰਬੰਧੀ" "ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ" - - + "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ" "ਸਮਝ ਲਿਆ" "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਬੰਦ ਹਨ" "ਤੁਹਾਡੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index d55f6f5173..bb54c2f8e7 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -86,8 +86,10 @@ "zapisywanie ustawień i skrótów na ekranie głównym" "Umożliwia aplikacji zmianę ustawień i skrótów na ekranie głównym." "%1$s nie może wykonywać połączeń telefonicznych" - "Problem podczas ładowania widżetu" - "Konfiguracja" + + + + "To aplikacja systemowa i nie można jej odinstalować." "Edytuj nazwę" "Aplikacja %1$s jest wyłączona" @@ -162,8 +164,7 @@ "Osobiste" "Służbowe" "Profil służbowy" - - + "Aplikacje służbowe mają plakietki i są widoczne dla administratora IT" "OK" "Aplikacje służbowe są wyłączone" "Aplikacje służbowe nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index d844da3c22..11f1f8370d 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -82,8 +82,8 @@ "escrever definições e atalhos do Ecrã principal" "Permite à app alterar as definições e os atalhos no Ecrã Principal." "O %1$s não tem autorização para efetuar chamadas telefónicas" - "Problema ao carregar o widget" - "Configuração" + "Não é possível carregar o widget" + "Toque para concluir a configuração" "É uma app de sistema e não pode ser desinstalada." "Edite o nome" "%1$s desativado" @@ -156,8 +156,7 @@ "Pessoal" "Trabalho" "Perfil de trabalho" - - + "As apps de trabalho têm um emblema e estão visíveis para o seu administrador de TI" "OK" "As apps de trabalho estão desativadas" "As apps de trabalho não podem enviar-lhe notificações, utilizar a bateria ou aceder à sua localização" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index a29cc4968f..11779edb97 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -82,8 +82,8 @@ "gravar configurações e atalhos da tela inicial" "Permite que o app altere as configurações e os atalhos na tela inicial." "%1$s não tem permissão para fazer chamadas" - "Problema ao carregar o widget" - "Configuração" + "Não é possível carregar o widget" + "Toque para concluir a configuração" "Este é um app do sistema e não pode ser desinstalado." "Editar nome" "%1$s desativado" @@ -156,8 +156,7 @@ "Pessoais" "Trabalho" "Perfil de trabalho" - - + "Os apps de trabalho têm um ícone e ficam visíveis para o administrador de TI" "Ok" "Os apps de trabalho estão desativados" "Os apps de trabalho não podem enviar notificações, usar a bateria nem acessar o local" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 6fb48aa000..49c787cfc9 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -84,8 +84,10 @@ "scrie setări și comenzi rapide pentru ecranul de pornire" "Permite aplicației să modifice setările și comenzile rapide din ecranul de pornire." "%1$s nu are permisiunea de a apela" - "Problemă la încărcarea widgetului" - "Configurați" + + + + "Aceasta este o aplicație de sistem și nu poate fi dezinstalată." "Modificați numele" "S-a dezactivat %1$s" @@ -159,8 +161,7 @@ "Personale" "Profesionale" "Profil de serviciu" - - + "Aplicațiile pentru lucru sunt marcate și vizibile pentru administratorul IT" "OK" "Aplicațiile pentru lucru sunt dezactivate" "Aplicațiile pentru lucru nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 5adf04b3b1..12db0e2543 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -86,8 +86,10 @@ "Изменение настроек и ярлыков главного экрана" "Приложение сможет изменять настройки и ярлыки на главном экране." "Приложение %1$s не может делать телефонные звонки" - "Не удалось загрузить виджет" - "Настройка" + + + + "Это системное приложение, его нельзя удалить." "Измените название" "Приложение %1$s отключено" @@ -162,8 +164,7 @@ "Личные" "Рабочие" "Рабочий профиль" - - + "У рабочих приложений есть специальная пометка. Они видны системному администратору." "ОК" "Рабочие приложения отключены" "Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index e9e1062b73..946e12c319 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -82,8 +82,10 @@ "මුල් පිටු සැකසීම් සහ කෙටිමං ලියන්න" "මුල් පිටුවේ සැකසීම් සහ කෙටිමං ඉවත් කිරීමට යෙදුමට අවසර දෙයි." "%1$s හට දුරකථන ඇමතුම් සිදු කිරීමට ඉඩ නොදේ" - "ගැටලු පූරණ විජට් එක" - "ස්ථාපනය කරන්න" + + + + "මෙය පද්ධති යෙදුමක් වන අතර අස්ථාපනය කළ නොහැක." "නම සංස්කරණය කරන්න" "%1$s අබල කෙරිණි" @@ -156,8 +158,7 @@ "පුද්ගලික" "කාර්යාලය" "කාර්යාල පැතිකඩ" - - + "කාර්යාල යෙදුම්වලට ලාංඡන යොදා ඇති අතර ඔබගේ IT පරිපාලකට දෘශ්‍යමාන වේ" "තේරුණා" "කාර්යාල යෙදුම් ක්‍රියාවිරහිතයි" "ඔබගේ කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 56637aed78..d4f2e00ba0 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -86,8 +86,10 @@ "zápis nastavení a odkazov plochy" "Povoľuje aplikácii zmeniť nastavenia a odkazy na ploche." "Aplikácia %1$s nemá povolenie uskutočňovať telefonické hovory" - "Problém s načítaním miniaplikácií" - "Nastavenie" + + + + "Toto je systémová aplikácia a nedá sa odinštalovať." "Úprava názvu" "Aplikácia %1$s je deaktivovaná" @@ -162,8 +164,7 @@ "Osobné" "Pracovné" "Pracovný profil" - - + "Pracovné aplikácie majú odznak a zobrazujú sa správcovi IT" "Dobre" "Pracovné aplikácie sú vypnuté" "Pracovné aplikácie nemôžu posielať upozornenia ani používať batériu či polohu." diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 3cf34d4a7a..d5d9f028fb 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -86,8 +86,10 @@ "zapis nastavitev in bližnjic na začetnem zaslonu" "Aplikaciji dovoli spreminjanje nastavitev in bližnjic na začetnem zaslonu." "Aplikaciji %1$s ni dovoljeno opravljanje klicev" - "Težava pri nalaganju pripomočka" - "Nastavitev" + + + + "To je sistemska aplikacija in je ni mogoče odstraniti." "Urejanje imena" "Aplikacija %1$s je onemogočena" @@ -162,8 +164,7 @@ "Osebno" "Delo" "Delovni profil" - - + "Delovne aplikacije so označene z značko in vidne skrbniku za IT." "Razumem" "Delovne aplikacije so izklopljene." "Delovne aplikacije ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 62537f2312..f3a4649c28 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -82,8 +82,10 @@ "shkruaj cilësimet dhe shkurtoret e ekranit bazë" "Lejon aplikacionin të ndryshojë cilësimet dhe shkurtoret në ekranin bazë." "%1$s nuk lejohet të kryejë telefonata" - "Problem në ngarkimin e miniaplikacionit" - "Konfiguro" + + + + "Ky është aplikacion sistemi dhe nuk mund të çinstalohet." "Redakto emrin" "%1$s u çaktivizua" @@ -156,8 +158,7 @@ "Personale" "Punë" "Profili i punës" - - + "Aplikacionet e punës janë të shënuara dhe të dukshme për administratorin e teknologjisë së informacionit" "E kuptova" "Aplikacionet e punës janë joaktive" "Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index d5f8598b1a..b47a148072 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -84,8 +84,10 @@ "уписивање подешавања и пречица на почетном екрану" "Дозвољава апликацији да мења подешавања и пречице на почетном екрану." "%1$s нема дозволу за упућивање телефонских позива" - "Проблем при учитавању виџета" - "Подешавање" + + + + "Ово је системска апликација и не може да се деинсталира." "Измените назив" "Апликација %1$s је онемогућена" @@ -159,8 +161,7 @@ "Личне" "Пословне" "Пословни профил" - - + "Пословне апликације су означене значком и ИТ администратор може да их види" "Важи" "Пословне апликације су искључене" "Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 03872280ba..415e7bea76 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -82,8 +82,10 @@ "skriva inställningar och genvägar för startsidan" "Tillåter att appen ändrar inställningar och genvägar på startsidan." "%1$s har inte behörighet att ringa samtal" - "Det gick inte att läsa in widgeten" - "Konfiguration" + + + + "Det här är en systemapp som inte kan avinstalleras." "Redigera namn" "%1$s har inaktiverats" @@ -156,8 +158,7 @@ "Privat" "Arbete" "Jobbprofil" - - + "Jobbappar är märkta och synliga för IT-administratören" "OK" "Jobbappar är inaktiverade" "Dina jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index c8463499db..7e1c724562 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -82,8 +82,10 @@ "andika mipangilio ya skrini ya Mwanzo na njia za mkato" "Huruhusu programu kubadilisha mipangilio na njia za mkato katika skrini ya Mwanzo." "%1$s hairuhusiwi kupiga simu" - "Tatizo la kupakia wijeti" - "Sanidi" + + + + "Hii ni programu ya mfumo na haiwezi kuondolewa." "Badilisha Jina" "%1$s imezimwa" @@ -156,8 +158,7 @@ "Binafsi" "Kazini" "Wasifu wa kazini" - - + "Programu za kazini zina beji na zinaonekana kwa msimamizi wako wa TEHAMA" "Nimeelewa" "Programu za kazini zimezimwa" "Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index cfd4b3660a..877d92d09e 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -82,8 +82,10 @@ "முகப்பின் அமைப்பு மற்றும் குறுக்குவழிகளை எழுதுதல்" "முகப்பில் உள்ள அமைப்பு மற்றும் குறுக்குவழிகளை மாற்ற ஆப்ஸை அனுமதிக்கிறது." "ஃபோன் அழைப்புகள் செய்ய, %1$s அனுமதிக்கப்படவில்லை" - "விட்ஜெட்டை ஏற்றுவதில் சிக்கல்" - "அமைவு" + + + + "இது அமைப்பு ஆப்ஸ் என்பதால் நிறுவல் நீக்கம் செய்ய முடியாது." "பெயரைத் திருத்துதல்" "%1$s முடக்கப்பட்டது" @@ -156,8 +158,7 @@ "தனிப்பட்டவை" "பணி" "பணிக் கணக்கு" - - + "பணி ஆப்ஸில் பேட்ஜ் இடப்பட்டுள்ளன. உங்கள் IT நிர்வாகியால் அவற்றைப் பார்க்க முடியும்" "முடிந்தது" "பணி ஆப்ஸ் முடக்கப்பட்டுள்ளன" "பணி ஆப்ஸால் உங்களுக்கு அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ உங்கள் இருப்பிடத்தை அணுகவோ முடியாது" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index b42b242169..e5bd96ee79 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -53,11 +53,9 @@ "సంభాషణలు" "మీ చేతివేళ్ల మీద ఉపయోగకరమైన సమాచారం" "యాప్‌లను తెరవకుండా సమాచారం పొందడానికి, మీరు మీ మొదటి స్క్రీన్‌కు విడ్జెట్‌లను జోడించవచ్చు" - - + "విడ్జెట్ సెట్టింగ్‌లను మార్చడానికి ట్యాప్ చేయండి" "అర్థమైంది" - - + "విడ్జెట్ సెట్టింగ్‌లను మార్చండి" "అప్లికేషన్‌లను శోధించండి" "అప్లికేషన్‌లను లోడ్ చేస్తోంది…" "\"%1$s\"కి సరిపోలే అప్లికేషన్‌లేవీ కనుగొనబడలేదు" @@ -84,8 +82,10 @@ "హోమ్ సెట్టింగ్‌లు మరియు సత్వరమార్గాలను వ్రాయడం" "హోమ్‌లో సెట్టింగ్‌లు మరియు సత్వరమార్గాలను మార్చడానికి యాప్‌ను అనుమతిస్తుంది." "ఫోన్ కాల్‌లను చేసేందుకు %1$sకి అనుమతి లేదు" - "విడ్జెట్‌ను లోడ్ చేయడంలో సమస్య" - "సెటప్ చేయి" + + + + "ఇది సిస్టమ్ యాప్ మరియు దీన్ని అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడదు." "పేరును ఎడిట్ చేయండి" "%1$s నిలిపివేయబడింది" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index cbb7d2a953..795bc7d929 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -82,8 +82,10 @@ "เขียนการตั้งค่าและทางลัดหน้าแรกแล้ว" "อนุญาตให้แอปเปลี่ยนการตั้งค่าและทางลัดในหน้าแรก" "%1$s ไม่ได้รับอนุญาตให้โทรออก" - "มีปัญหาขณะโหลดวิดเจ็ต" - "ตั้งค่า" + + + + "นี่เป็นแอประบบและไม่สามารถถอนการติดตั้งได้" "แก้ไขชื่อ" "ปิดใช้ %1$s" @@ -156,8 +158,7 @@ "ส่วนตัว" "งาน" "โปรไฟล์งาน" - - + "แอปงานจะติดป้ายไว้และผู้ดูแลระบบไอทีจะมองเห็น" "รับทราบ" "แอปงานปิดอยู่" "แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index aefb1204ed..558b96bc06 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -82,8 +82,10 @@ "magsulat ng mga setting at shortcut ng Home" "Pinapayagan ang app na baguhin ang mga setting at shortcut sa Home." "Hindi pinahihintulutang tumawag ang %1$s" - "Problema sa pag-load ng widget" - "I-setup" + + + + "Isa itong app ng system at hindi maaaring i-uninstall." "I-edit ang Pangalan" "Naka-disable ang %1$s" @@ -156,8 +158,7 @@ "Personal" "Trabaho" "Profile sa trabaho" - - + "May badge at nakikita ng iyong IT admin ang mga app para sa trabaho" "OK" "Naka-off ang mga app para sa trabaho" "Ang mga app mo para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng baterya mo, o makaka-access ng iyong lokasyon" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 6c4e541f68..c5980a9c87 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -82,8 +82,10 @@ "Ana ekran ayarlarını ve kısayollarını yaz" "Uygulamaya, Ana ekrandaki ayarları ve kısayolları değiştirme izni verir." "%1$s uygulamasının telefon etmesine izin verilmiyor" - "Widget yüklenirken sorun oluştu" - "Kurulum" + + + + "Bu bir sistem uygulamasıdır ve yüklemesi kaldırılamaz." "Adı Düzenle" "%1$s devre dışı" @@ -156,8 +158,7 @@ "Kişisel" "İş" "İş profili" - - + "İş uygulamaları rozetle işaretlenmiş olup BT yöneticisi tarafından görülebilir" "Anladım" "İş uygulamaları kapalı" "İş uygulamaları size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index 1677c9e67d..d7612dfc3c 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -86,8 +86,8 @@ "записувати налаштування та ярлики головного екрана" "Дозволяє програмі змінювати налаштування та ярлики на головному екрані." "Додаток %1$s не має дозволу телефонувати" - "Проблема із завантаженням віджета" - "Налаштування" + "Не вдається завантажити віджет" + "Торкніться, щоб завершити налаштування" "Це системна програма, її неможливо видалити." "Редагувати назву" "%1$s вимкнено" @@ -162,8 +162,7 @@ "Особисті додатки" "Робочі додатки" "Робочий профіль" - - + "Робочі додатки відповідно позначені й видимі системному адміністратору" "OK" "Робочі додатки вимкнено" "Ваші робочі додатки не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 8545f8a9b1..aba11d318a 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -53,11 +53,9 @@ "گفتگوئیں" "مفید معلومات کو آسانی سے حاصل کریں" "ایپس کو کھولے بغیر معلومات حاصل کرنے کے لیے آپ اپنی ہوم اسکرین پر ویجیٹس شامل کر سکتے ہیں" - - + "ویجیٹ ترتیبات تبدیل کرنے کے لیے تھپتھپائیں" "سمجھ آ گئی" - - + "ویجیٹ ترتیبات تبدیل کریں" "ایپس تلاش کریں" "ایپس لوڈ کی جا رہی ہیں…" "\"%1$s\" سے مماثل کوئی ایپس نہیں ملیں" @@ -84,8 +82,10 @@ "ہوم ترتیبات اور شارٹ کٹس کو لکھیں" "ایپ کو ہوم میں ترتیبات اور شارٹ کٹس کو تبدیل کرنے کی اجازت دیتا ہے۔" "%1$s کو فون کالیں کرنے کی اجازت نہیں ہے" - "ویجیٹ کو لوڈ کرنے میں مسئلہ" - "ترتیب دیں" + + + + "یہ ایک سسٹم ایپ ہے اور اسے اَن انسٹال نہیں کیا جا سکتا ہے۔" "نام میں ترمیم کریں" "%1$s غیر فعال ہے" @@ -158,8 +158,7 @@ "ذاتی" "دفتری" "دفتری پروفائل" - - + "‏ورک ایپس پر بَیج لگایا گیا ہے اور آپ کا IT منتظم اسے دیکھ سکتا ہے" "سمجھ آ گئی" "ورک ایپس آف ہیں" "آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری کا استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index d9f492339a..022e7487a0 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -82,8 +82,10 @@ "Uy sozlamalari va yorliqlarini yozish" "Ilovaga \"Uy\" ekranidagi yorliqlar va sozlamalrni o‘zgartirish uchun ruxsat beradi." "%1$s ilovasiga qo‘ng‘iroqlarni amalga oshirishga ruxsat berilmagan" - "Vidjetni yuklashda muammo" - "Sozlash" + + + + "Bu tizim ilovasi, shuning uchun o‘chirib bo‘lmaydi." "Nomini tahrirlash" "%1$s ilovasi o‘chirib qo‘yildi" @@ -156,8 +158,7 @@ "Shaxsiy" "Ish" "Ish profili" - - + "Ishga oid ilovalar qadalgan va IT administratoringizga koʻrinadi" "OK" "Ishga oid ilovalar faolsizlantirilgan" "Ishga oid ilovalar batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index e15b3235ff..c3e2363b5c 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -82,8 +82,10 @@ "ghi cài đặt và lối tắt trên Màn hình chính" "Cho phép ứng dụng thay đổi cài đặt và lối tắt trên Màn hình chính." "%1$s không được phép thực hiện cuộc gọi điện thoại" - "Sự cố khi tải tiện ích" - "Thiết lập" + + + + "Đây là ứng dụng hệ thống và không thể gỡ cài đặt." "Chỉnh sửa tên" "Đã vô hiệu hóa %1$s" @@ -156,8 +158,7 @@ "Cá nhân" "Công việc" "Hồ sơ công việc" - - + "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT sẽ nhìn thấy các ứng dụng này" "OK" "Ứng dụng công việc đang tắt" "Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 2d8162a92f..b5f8e335b3 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -82,8 +82,10 @@ "写入主屏幕设置和快捷方式" "允许应用更改主屏幕中的设置和快捷方式。" "不允许使用“%1$s”拨打电话" - "加载微件时出现问题" - "设置" + + + + "这是系统应用,无法卸载。" "修改名称" "已停用%1$s" @@ -156,8 +158,7 @@ "个人" "工作" "工作资料" - - + "工作应用带有标志,您的 IT 管理员可以看到此类应用" "知道了" "工作应用已关闭" "工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 80f9ee9315..0379e5b57b 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -82,8 +82,10 @@ "寫入主畫面的設定和捷徑" "允許應用程式更改主畫面中的設定和捷徑。" "不允許 %1$s 撥打電話" - "載入小工具時發生問題" - "設定" + + + + "這是系統應用程式,無法將其解除安裝。" "編輯名稱" "「%1$s」已停用" @@ -156,8 +158,7 @@ "個人" "工作" "工作設定檔" - - + "工作應用程式會加上標誌,且你的 IT 管理員可以看到這類應用程式" "知道了" "工作應用程式已關閉" "工作應用程式無法向您傳送通知、使用電池或存取位置" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index c868137354..0f6ccd8a91 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -82,8 +82,10 @@ "寫入主畫面設定和捷徑" "允許應用程式變更主畫面中的設定和捷徑。" "%1$s 無法撥打電話" - "載入小工具時發生問題" - "設定" + + + + "這是系統應用程式,不可解除安裝。" "編輯名稱" "已停用 %1$s" @@ -156,8 +158,7 @@ "個人" "工作" "工作資料夾" - - + "工作應用程式會加上標記,而且你的 IT 管理員可以看到這類應用程式" "我知道了" "工作應用程式已關閉" "工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index 03a451c5c8..5bf5104117 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -82,8 +82,10 @@ "bhala izilungiselelo zokuthi Ikhaya nezinqamuleli" "Ivumela uhlelo lokusebenza ukuthi lushintshe izilungiselelo nezinqamuleli Ekhaya." "%1$s ayivunyelwe ukwenza amakholi wefoni" - "Inkinga yokulayisha iwijethi" - "Ukumisa" + + + + "Lolu uhlelo lokusebenza lwesistimu futhi alikwazi ukukhishwa." "Hlela igama" "Kukhutshaziwe %1$s" @@ -156,8 +158,7 @@ "Okomuntu siqu" "Umsebenzi" "Iphrofayela yomsebenzi" - - + "Ama-app omsebenzi anebheji futhi ayabonakala kumphathi wakho we-IT" "Ngiyezwa" "Ama-app omsebenzi avaliwe" "Ama-app akho omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" From 4a76315805812fe4c74e64c900c4d4458935904e Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Mon, 21 Jun 2021 16:07:09 -0400 Subject: [PATCH 060/905] Use wallpaper colors for widgets in wallpaper change preview Test: Widgets should adapt to new wallpaper colors in launcher preview. Bug: 191499358 Change-Id: I3fb76b6036cb909771b789eac15742df78c2c742 --- lint-baseline-launcher3.xml | 11 ++++++++ .../graphics/LauncherPreviewRenderer.java | 28 +++++++++++++++---- .../graphics/PreviewSurfaceRenderer.java | 2 +- .../launcher3/widget/LocalColorExtractor.java | 8 ++++++ 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/lint-baseline-launcher3.xml b/lint-baseline-launcher3.xml index 469ad942d9..e77c88926d 100644 --- a/lint-baseline-launcher3.xml +++ b/lint-baseline-launcher3.xml @@ -573,4 +573,15 @@ column="42"/> + + + + diff --git a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java index a27d5c8e06..cfb38e5d6e 100644 --- a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java +++ b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java @@ -26,6 +26,7 @@ import static com.android.launcher3.model.ModelUtils.sortWorkspaceItemsSpatially import android.annotation.TargetApi; import android.app.Fragment; +import android.app.WallpaperColors; import android.appwidget.AppWidgetHost; import android.appwidget.AppWidgetHostView; import android.appwidget.AppWidgetProviderInfo; @@ -42,6 +43,7 @@ import android.os.Handler; import android.os.Looper; import android.os.Process; import android.util.AttributeSet; +import android.util.SparseIntArray; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; import android.view.View; @@ -87,6 +89,7 @@ import com.android.launcher3.views.BaseDragLayer; import com.android.launcher3.widget.BaseLauncherAppWidgetHostView; import com.android.launcher3.widget.LauncherAppWidgetHost; import com.android.launcher3.widget.LauncherAppWidgetProviderInfo; +import com.android.launcher3.widget.LocalColorExtractor; import com.android.launcher3.widget.NavigableAppWidgetHostView; import com.android.launcher3.widget.custom.CustomWidgetManager; @@ -206,8 +209,12 @@ public class LauncherPreviewRenderer extends ContextWrapper private final Hotseat mHotseat; private final CellLayout mWorkspace; private final AppWidgetHost mAppWidgetHost; + private final SparseIntArray mWallpaperColorResources; + + public LauncherPreviewRenderer(Context context, + InvariantDeviceProfile idp, + WallpaperColors wallpaperColors) { - public LauncherPreviewRenderer(Context context, InvariantDeviceProfile idp) { super(context); mUiHandler = new Handler(Looper.getMainLooper()); mContext = context; @@ -260,9 +267,16 @@ public class LauncherPreviewRenderer extends ContextWrapper mDp.workspacePadding.right + mDp.cellLayoutPaddingLeftRightPx, mDp.workspacePadding.bottom); - mAppWidgetHost = FeatureFlags.WIDGETS_IN_LAUNCHER_PREVIEW.get() - ? new LauncherPreviewAppWidgetHost(context) - : null; + if (FeatureFlags.WIDGETS_IN_LAUNCHER_PREVIEW.get()) { + mAppWidgetHost = new LauncherPreviewAppWidgetHost(context); + mWallpaperColorResources = wallpaperColors != null + ? LocalColorExtractor.newInstance(context) + .generateColorsOverride(wallpaperColors) + : null; + } else { + mAppWidgetHost = null; + mWallpaperColorResources = null; + } } /** Populate preview and render it. */ @@ -507,10 +521,12 @@ public class LauncherPreviewRenderer extends ContextWrapper } } - private static class LauncherPreviewAppWidgetHostView extends BaseLauncherAppWidgetHostView { - + private class LauncherPreviewAppWidgetHostView extends BaseLauncherAppWidgetHostView { private LauncherPreviewAppWidgetHostView(Context context) { super(context); + if (Utilities.ATLEAST_S && mWallpaperColorResources != null) { + setColorResources(mWallpaperColorResources); + } } @Override diff --git a/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java b/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java index a8c3d15bde..df493599ed 100644 --- a/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java +++ b/src/com/android/launcher3/graphics/PreviewSurfaceRenderer.java @@ -209,7 +209,7 @@ public class PreviewSurfaceRenderer { if (mDestroyed) { return; } - View view = new LauncherPreviewRenderer(inflationContext, mIdp) + View view = new LauncherPreviewRenderer(inflationContext, mIdp, mWallpaperColors) .getRenderedView(dataModel, widgetProviderInfoMap); // This aspect scales the view to fit in the surface and centers it final float scale = Math.min(mWidth / (float) view.getMeasuredWidth(), diff --git a/src/com/android/launcher3/widget/LocalColorExtractor.java b/src/com/android/launcher3/widget/LocalColorExtractor.java index 8ae6b2e435..23d9e151f7 100644 --- a/src/com/android/launcher3/widget/LocalColorExtractor.java +++ b/src/com/android/launcher3/widget/LocalColorExtractor.java @@ -75,6 +75,14 @@ public class LocalColorExtractor implements ResourceBasedOverride { */ public void applyColorsOverride(Context base, WallpaperColors colors) { } + /** + * Generates color resource overrides from {@link WallpaperColors}. + */ + @Nullable + public SparseIntArray generateColorsOverride(WallpaperColors colors) { + return null; + } + /** * Takes a view and returns its rect that can be used by the wallpaper local color extractor. * From 1ce43533592265b222918ff50f67632841efd8a9 Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Mon, 21 Jun 2021 16:14:52 -0400 Subject: [PATCH 061/905] Enable widgets in launcher preview flag Test: Widgets fully load in launcher preview with correct size and color Fix: 185306338, 191499358 Change-Id: I2d02d7a1328ed9ef5d3dfbec090dc1f9908dd527 --- src/com/android/launcher3/config/FeatureFlags.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java index 1c16b1c4d8..5087c2caab 100644 --- a/src/com/android/launcher3/config/FeatureFlags.java +++ b/src/com/android/launcher3/config/FeatureFlags.java @@ -248,7 +248,7 @@ public final class FeatureFlags { "Enables scrim over wallpaper for text protection."); public static final BooleanFlag WIDGETS_IN_LAUNCHER_PREVIEW = getDebugFlag( - "WIDGETS_IN_LAUNCHER_PREVIEW", false, + "WIDGETS_IN_LAUNCHER_PREVIEW", true, "Enables widgets in Launcher preview for the Wallpaper app."); public static void initialize(Context context) { From 2591768d543f0b1f98a23c509456349f70e07247 Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Tue, 22 Jun 2021 21:09:05 -0700 Subject: [PATCH 062/905] Finish recents animation on task dismissal only if the task is a live tile task Fixes: 191831190 Test: manual Change-Id: Ie1dd02a2e8cc401a613a0ed2199400712c6d5291 --- .../android/quickstep/views/RecentsView.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 7adac22f0e..b87e369632 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -2421,12 +2421,12 @@ public abstract class RecentsView { - UI_HELPER_EXECUTOR.getHandler().postDelayed(() -> - ActivityManagerWrapper.getInstance().removeTask( - dismissedTaskId), REMOVE_TASK_WAIT_FOR_APP_STOP_MS); - }); + if (LIVE_TILE.get() && dismissedTaskView.isRunningTask()) { + finishRecentsAnimation(true /* toRecents */, false /* shouldPip */, + () -> removeTaskInternal(dismissedTaskId)); + } else { + removeTaskInternal(dismissedTaskId); + } mActivity.getStatsLogManager().logger() .withItemInfo(dismissedTaskView.getItemInfo()) .log(LAUNCHER_TASK_DISMISS_SWIPE_UP); @@ -2472,6 +2472,12 @@ public abstract class RecentsView ActivityManagerWrapper.getInstance().removeTask(dismissedTaskId), + REMOVE_TASK_WAIT_FOR_APP_STOP_MS); + } + /** * @return {@code true} if one of the task thumbnails would intersect/overlap with the * {@link #mSplitPlaceholderView} From 4637260ab93ab0f12415460485ddc166cef572f1 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Wed, 23 Jun 2021 19:06:20 +0100 Subject: [PATCH 063/905] Fix Tapl Background.switchToOverview for tablets - The test failed because of unexpected touch event recoreded - This is because it does not expect the gesture to start from launcher. But with taskbar present, the touch will be recorded from taskbar Bug: 191344757 Test: TaplTestsQuickStep Change-Id: I09b5a3029eef5cdc874bbbe8653976f12136144c --- tests/tapl/com/android/launcher3/tapl/Background.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java index 55be593fb4..809e3edd91 100644 --- a/tests/tapl/com/android/launcher3/tapl/Background.java +++ b/tests/tapl/com/android/launcher3/tapl/Background.java @@ -68,7 +68,7 @@ public class Background extends LauncherInstrumentation.VisibleContainer { } protected boolean zeroButtonToOverviewGestureStartsInLauncher() { - return false; + return mLauncher.isTablet(); } protected void goToOverviewUnchecked() { From 99191fdf3f3e0b860038add583f6a2cfd96f7d53 Mon Sep 17 00:00:00 2001 From: Pat Manning Date: Thu, 24 Jun 2021 11:13:57 +0000 Subject: [PATCH 064/905] Hide overview on fold/unfold when live tile is active. Test: manual Fix: 184846394 Change-Id: I97ae328234bf0932712c7cf3ca97813cae7c46a7 --- .../android/launcher3/BaseQuickstepLauncher.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index ef96c963bd..052e66267e 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -21,6 +21,7 @@ import static com.android.launcher3.LauncherState.FLAG_HIDE_BACK_BUTTON; import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.LauncherState.NO_OFFSET; import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID; +import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; @@ -30,6 +31,7 @@ import android.animation.AnimatorSet; import android.animation.ValueAnimator; import android.app.ActivityOptions; import android.content.ComponentName; +import android.content.Context; import android.content.Intent; import android.content.IntentSender; import android.content.ServiceConnection; @@ -56,6 +58,7 @@ import com.android.launcher3.taskbar.TaskbarManager; import com.android.launcher3.taskbar.TaskbarStateHandler; import com.android.launcher3.uioverrides.RecentsViewStateController; import com.android.launcher3.util.ActivityOptionsWrapper; +import com.android.launcher3.util.DisplayController; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.ObjectWrapper; import com.android.launcher3.util.UiThreadHelper; @@ -474,4 +477,15 @@ public abstract class BaseQuickstepLauncher extends Launcher public void setHintUserWillBeActive() { addActivityFlags(ACTIVITY_STATE_USER_WILL_BE_ACTIVE); } + + @Override + public void onDisplayInfoChanged(Context context, DisplayController.Info info, int flags) { + super.onDisplayInfoChanged(context, info, flags); + // When changing screens with live tile active, finish the recents animation to close + // overview as it should be an interim state + if ((flags & CHANGE_ACTIVE_SCREEN) != 0 && LIVE_TILE.get()) { + RecentsView recentsView = getOverviewPanel(); + recentsView.finishRecentsAnimation(/* toRecents= */ true, null); + } + } } From 7a9972289f04f85d44bcf76e9a06dc09c86c8841 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Thu, 24 Jun 2021 16:23:11 +0100 Subject: [PATCH 065/905] Add touch event of on taskbar for various cases - Temporarily disable leak detection on tablets until b/191449914 is resolved - Add touch event on taskbar when interacting with navigation buttons - Added TaplTestsLauncher3.initialize to StartLauncherViaGestureTests which is present in TaplTestQuickstep to solve LauncherInstrumentation being null problem on tablets Bug: 191344757, 191449914 Test: TaplTestQuickstep and StartLauncherViaGestureTests Change-Id: I49accc458d133717f290140abe80aae8a683f6c0 --- .../StartLauncherViaGestureTests.java | 2 ++ .../launcher3/ui/AbstractLauncherUiTest.java | 3 +++ .../com/android/launcher3/tapl/Background.java | 18 ++++++++++++++++++ .../tapl/LauncherInstrumentation.java | 8 ++++++-- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java b/quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java index 6e19436c90..f44a81275f 100644 --- a/quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java +++ b/quickstep/tests/src/com/android/quickstep/StartLauncherViaGestureTests.java @@ -25,6 +25,7 @@ import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; import com.android.launcher3.Launcher; +import com.android.launcher3.ui.TaplTestsLauncher3; import com.android.launcher3.util.RaceConditionReproducer; import com.android.quickstep.NavigationModeSwitchRule.Mode; import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch; @@ -45,6 +46,7 @@ public class StartLauncherViaGestureTests extends AbstractQuickStepTest { @Before public void setUp() throws Exception { super.setUp(); + TaplTestsLauncher3.initialize(this); // b/143488140 mLauncher.pressHome(); // Start an activity where the gestures start. diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java index 2712bc02ce..731de256f9 100644 --- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java +++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java @@ -127,6 +127,9 @@ public abstract class AbstractLauncherUiTest { } public static void checkDetectedLeaks(LauncherInstrumentation launcher) { + // TODO(b/191449914): Temporarily disable leak detection on tablets until bug is resolved. + if (launcher.isTablet()) return; + if (sActivityLeakReported) return; if (sStrictmodeDetectedActivityLeak != null) { diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java index 809e3edd91..e6c10c323f 100644 --- a/tests/tapl/com/android/launcher3/tapl/Background.java +++ b/tests/tapl/com/android/launcher3/tapl/Background.java @@ -134,6 +134,12 @@ public class Background extends LauncherInstrumentation.VisibleContainer { } case THREE_BUTTON: + if (mLauncher.isTablet()) { + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, + LauncherInstrumentation.EVENT_TOUCH_DOWN); + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, + LauncherInstrumentation.EVENT_TOUCH_UP); + } mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); mLauncher.runToState( () -> mLauncher.waitForNavigationUiObject("recent_apps").click(), @@ -225,9 +231,21 @@ public class Background extends LauncherInstrumentation.VisibleContainer { case THREE_BUTTON: // Double press the recents button. UiObject2 recentsButton = mLauncher.waitForNavigationUiObject("recent_apps"); + if (mLauncher.isTablet()) { + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, + LauncherInstrumentation.EVENT_TOUCH_DOWN); + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, + LauncherInstrumentation.EVENT_TOUCH_UP); + } mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); mLauncher.runToState(() -> recentsButton.click(), OVERVIEW_STATE_ORDINAL); mLauncher.getOverview(); + if (mLauncher.isTablet()) { + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, + LauncherInstrumentation.EVENT_TOUCH_DOWN); + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, + LauncherInstrumentation.EVENT_TOUCH_UP); + } mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); mLauncher.executeAndWaitForEvent( () -> recentsButton.click(), diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index a145fad893..31ec22415f 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -97,8 +97,8 @@ public final class LauncherInstrumentation { private static final int ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME = 20; private static final int GESTURE_STEP_MS = 16; - private static final Pattern EVENT_TOUCH_DOWN = getTouchEventPattern("ACTION_DOWN"); - private static final Pattern EVENT_TOUCH_UP = getTouchEventPattern("ACTION_UP"); + static final Pattern EVENT_TOUCH_DOWN = getTouchEventPattern("ACTION_DOWN"); + static final Pattern EVENT_TOUCH_UP = getTouchEventPattern("ACTION_UP"); private static final Pattern EVENT_TOUCH_CANCEL = getTouchEventPattern("ACTION_CANCEL"); private static final Pattern EVENT_PILFER_POINTERS = Pattern.compile("pilferPointers"); static final Pattern EVENT_START = Pattern.compile("start:"); @@ -750,6 +750,10 @@ public final class LauncherInstrumentation { expectEvent(TestProtocol.SEQUENCE_TIS, EVENT_TOUCH_DOWN_TIS); expectEvent(TestProtocol.SEQUENCE_TIS, EVENT_TOUCH_UP_TIS); } + if (isTablet()) { + expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_TOUCH_DOWN); + expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_TOUCH_UP); + } runToState( waitForNavigationUiObject("home")::click, From df620a32cd44463adbe33f7303f06da5f3d5065a Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 24 Jun 2021 19:49:18 +0000 Subject: [PATCH 066/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ie4bdc25f85dcf0e3981113e1636ada6787f78611 --- quickstep/res/values-az/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml index dceab09b1d..3c5587c07f 100644 --- a/quickstep/res/values-az/strings.xml +++ b/quickstep/res/values-az/strings.xml @@ -83,7 +83,7 @@ "Telefondan istifadəyə başlamağa hazırsınız" "Əlçatımlıq üzrə naviqasiya ayarları" "Paylaşın" - "Ekran şəkli" + "Skrinşot" "Bu əməliyyata tətbiq və ya təşkilatınız tərəfindən icazə verilmir" "Naviqasiya dərsliyi ötürülsün?" "Bunu sonra %1$s tətbiqində tapa bilərsiniz" From cf23447c4bbdab01648d7c1f3759c8cbe7fcbfcb Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 24 Jun 2021 19:50:29 +0000 Subject: [PATCH 067/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I43e629bb30b7e66f0e956d88fbb7d157730176e6 --- go/quickstep/res/values-gu/strings.xml | 2 +- go/quickstep/res/values-hi/strings.xml | 2 +- go/quickstep/res/values-kn/strings.xml | 2 +- go/quickstep/res/values-mr/strings.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go/quickstep/res/values-gu/strings.xml b/go/quickstep/res/values-gu/strings.xml index e9fbdc268d..b0244751bb 100644 --- a/go/quickstep/res/values-gu/strings.xml +++ b/go/quickstep/res/values-gu/strings.xml @@ -3,6 +3,6 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> "ઍપ શેર કરો" "સાંભળો" - "Translate" + "અનુવાદ કરો" "Lens" diff --git a/go/quickstep/res/values-hi/strings.xml b/go/quickstep/res/values-hi/strings.xml index cdf83db358..5238d406ee 100644 --- a/go/quickstep/res/values-hi/strings.xml +++ b/go/quickstep/res/values-hi/strings.xml @@ -3,6 +3,6 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> "ऐप्लिकेशन शेयर करें" "सुनें" - "Translate" + "अनुवाद करें" "Google Lens" diff --git a/go/quickstep/res/values-kn/strings.xml b/go/quickstep/res/values-kn/strings.xml index 1083e84525..77668d62e3 100644 --- a/go/quickstep/res/values-kn/strings.xml +++ b/go/quickstep/res/values-kn/strings.xml @@ -3,6 +3,6 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> "ಆ್ಯಪ್ ಹಂಚಿಕೊಳ್ಳಿ" "ಆಲಿಸಿ" - "Translate" + "ಅನುವಾದಿಸಿ" "Lens" diff --git a/go/quickstep/res/values-mr/strings.xml b/go/quickstep/res/values-mr/strings.xml index f1fb72a36a..e7d26521d7 100644 --- a/go/quickstep/res/values-mr/strings.xml +++ b/go/quickstep/res/values-mr/strings.xml @@ -3,6 +3,6 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> "अ‍ॅप शेअर करा" "ऐका" - "Translate" + "भाषांतर करा" "Lens" From d81d27a08fa5fb3914c29845a7c281e5fa04ea31 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 24 Jun 2021 19:51:47 +0000 Subject: [PATCH 068/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I299d142391fb418d082010406c088a176d6ea044 --- res/values-af/strings.xml | 9 +++++---- res/values-am/strings.xml | 15 +++++++-------- res/values-ar/strings.xml | 15 +++++++-------- res/values-as/strings.xml | 15 +++++++-------- res/values-az/strings.xml | 17 ++++++++--------- res/values-b+sr+Latn/strings.xml | 15 +++++++-------- res/values-be/strings.xml | 15 +++++++-------- res/values-bg/strings.xml | 15 +++++++-------- res/values-bn/strings.xml | 20 ++++++++++---------- res/values-bs/strings.xml | 15 +++++++-------- res/values-ca/strings.xml | 15 +++++++-------- res/values-cs/strings.xml | 15 +++++++-------- res/values-da/strings.xml | 15 +++++++-------- res/values-de/strings.xml | 17 +++++++++-------- res/values-el/strings.xml | 9 +++++---- res/values-en-rAU/strings.xml | 8 ++++---- res/values-en-rCA/strings.xml | 8 ++++---- res/values-en-rGB/strings.xml | 8 ++++---- res/values-en-rIN/strings.xml | 8 ++++---- res/values-en-rXC/strings.xml | 8 ++++---- res/values-es-rUS/strings.xml | 9 +++++---- res/values-es/strings.xml | 15 +++++++-------- res/values-et/strings.xml | 15 +++++++-------- res/values-eu/strings.xml | 15 +++++++-------- res/values-fa/strings.xml | 15 +++++++-------- res/values-fi/strings.xml | 15 +++++++-------- res/values-fr-rCA/strings.xml | 15 +++++++-------- res/values-fr/strings.xml | 15 +++++++-------- res/values-gl/strings.xml | 15 +++++++-------- res/values-gu/strings.xml | 22 +++++++++++----------- res/values-hi/strings.xml | 15 +++++++-------- res/values-hr/strings.xml | 15 +++++++-------- res/values-hu/strings.xml | 15 +++++++-------- res/values-hy/strings.xml | 15 +++++++-------- res/values-in/strings.xml | 15 +++++++-------- res/values-is/strings.xml | 15 +++++++-------- res/values-it/strings.xml | 15 +++++++-------- res/values-iw/strings.xml | 15 +++++++-------- res/values-ja/strings.xml | 15 +++++++-------- res/values-ka/strings.xml | 9 +++++---- res/values-kk/strings.xml | 15 +++++++-------- res/values-km/strings.xml | 15 +++++++-------- res/values-kn/strings.xml | 15 +++++++-------- res/values-ko/strings.xml | 15 +++++++-------- res/values-ky/strings.xml | 15 +++++++-------- res/values-lo/strings.xml | 15 +++++++-------- res/values-lt/strings.xml | 15 +++++++-------- res/values-lv/strings.xml | 15 +++++++-------- res/values-mk/strings.xml | 15 +++++++-------- res/values-ml/strings.xml | 15 +++++++-------- res/values-mn/strings.xml | 15 +++++++-------- res/values-mr/strings.xml | 17 ++++++++--------- res/values-ms/strings.xml | 15 +++++++-------- res/values-my/strings.xml | 17 ++++++++--------- res/values-nb/strings.xml | 17 ++++++++--------- res/values-ne/strings.xml | 15 +++++++-------- res/values-nl/strings.xml | 9 +++++---- res/values-or/strings.xml | 17 +++++++++-------- res/values-pa/strings.xml | 17 +++++++++-------- res/values-pl/strings.xml | 15 +++++++-------- res/values-pt-rPT/strings.xml | 9 +++++---- res/values-pt/strings.xml | 9 +++++---- res/values-ro/strings.xml | 15 +++++++-------- res/values-ru/strings.xml | 15 +++++++-------- res/values-si/strings.xml | 15 +++++++-------- res/values-sk/strings.xml | 15 +++++++-------- res/values-sl/strings.xml | 15 +++++++-------- res/values-sq/strings.xml | 19 ++++++++++--------- res/values-sr/strings.xml | 15 +++++++-------- res/values-sv/strings.xml | 15 +++++++-------- res/values-sw/strings.xml | 15 +++++++-------- res/values-ta/strings.xml | 15 +++++++-------- res/values-te/strings.xml | 20 ++++++++++---------- res/values-th/strings.xml | 15 +++++++-------- res/values-tl/strings.xml | 15 +++++++-------- res/values-tr/strings.xml | 15 +++++++-------- res/values-uk/strings.xml | 9 +++++---- res/values-ur/strings.xml | 17 +++++++++-------- res/values-uz/strings.xml | 15 +++++++-------- res/values-vi/strings.xml | 15 +++++++-------- res/values-zh-rCN/strings.xml | 15 +++++++-------- res/values-zh-rHK/strings.xml | 15 +++++++-------- res/values-zh-rTW/strings.xml | 15 +++++++-------- res/values-zu/strings.xml | 15 +++++++-------- 84 files changed, 582 insertions(+), 632 deletions(-) diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 571ad51536..d1e1253b3a 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -46,8 +46,8 @@ "Legstukke" "Soek" "Vee teks in hierdie soekkasie uit" - "Geen legstukke beskikbaar nie" - "Geen soekresultate nie" + "Legstukke en kortpaaie is nie beskikbaar nie" + "Geen legstukke of kortpaaie gekry nie" "Persoonlik" "Werk" "Gesprekke" @@ -64,7 +64,8 @@ "Kennisgewings" "Raak en hou om \'n kortpad te skuif." "Dubbeltik en hou om \'n kortpad te skuif of gebruik gepasmaakte handelinge." - "Niks meer spasie op die tuisskerm nie." + + "Geen plek meer in die Gunstelinge-laai nie" "Programmelys" "Lys persoonlike programme" @@ -158,7 +159,7 @@ "Werkprofiel" "Werkprogramme het \'n kenteken en is sigbaar vir jou IT-administrateur" "Het dit" - "Werkprogramme is af" + "Werkprogramme is onderbreek" "Jou werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" "Werkprogramme is af. Jou werkprogramme kan nie vir jou kennisgewings stuur, jou battery gebruik of toegang tot jou ligging kry nie" "Werkprogramme het \'n kenteken en is sigbaar vir jou IT-administrateur" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index fe9716358a..2f56a882c7 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -46,8 +46,8 @@ "ፍርግሞች" "ፍለጋ" "ጽሁፍን ከፍለጋ ሳጥን አጽዳ" - "ምግብሮች አይገኙም" - "ምንም የፍለጋ ውጤቶች የሉም" + "መግብሮች እና አቋራጮች አይገኙም" + "ምንም መግብሮች ወይም አቋራጮች አልተገኙም" "የግል" "ስራ" "ውይይቶች" @@ -64,7 +64,8 @@ "ማሳወቂያዎች" "አቋራጭን ለማንቀሳቀስ ይንኩ እና ይያዙ" "አቋራጭን ለማንቀሳቀስ ወይም ብጁ እርምጃዎችን ለመጠቀም ሁለቴ መታ ያድርጉ እና ይያዙ።" - "በዚህ መነሻ ማያ ገጽ ላይ ምንም ቦታ የለም።" + + "በተወዳጆች መሣቢያ ውስጥ ተጨማሪ ቦታ የለም" "የመተግበሪያዎች ዝርዝር" "የግል መተግበሪያዎች ዝርዝር" @@ -82,10 +83,8 @@ "የመነሻ ቅንብሮችን እና አቋራጮችን ይጽፋል" "መተግብሪያው ቅንብሮችን እና አቋራጮችን በመነሻ ውስጥ እንዲቀይራቸው ያስችለዋል።" "%1$s የስልክ ጥሪዎችን ለማድረግ አልተፈቀደለትም" - - - - + "ምግብርን መጫን አልተቻለም" + "ማዋቀርን ለመጨረስ መታ ያድርጉ" "ይህ የስርዓት መተግበሪያ ነው እና ማራገፍ አይቻልም።" "ስም ያርትዑ" "%1$s ተሰናክሏል" @@ -160,7 +159,7 @@ "የሥራ መገለጫ" "የሥራ መተግበሪያዎች ባጅ የተደረገባቸው እና ለእርስዎ የአይቲ አስተዳዳሪ የሚታዩ ናቸው" "ገባኝ" - "የሥራ መተግበሪያዎች ጠፍተዋል" + "የስራ መተግበሪያዎች ባሉበት ቆመዋል" "የስራ መተግበሪያዎችዎ ማሳወቂያዎችን ሊልክልዎ፣ ባትሪዎን መጠቀም ወይም አካባቢዎን መድረስ አይችሉም" "የሥራ መተግበሪያዎች ጠፍተዋል። የስራ መተግበሪያዎችዎ ማሳወቂያዎችን ሊልክልዎ፣ ባትሪዎን መጠቀም ወይም አካባቢዎን መድረስ አይችሉም" "የሥራ መተግበሪያዎች ባጅ የተደረገባቸው ሲሆን ለእርስዎ IT ቡድን ታይ ናቸው" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index ff2f51db3b..63c1e30d7b 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -54,8 +54,8 @@ "الأدوات" "بحث" "محو النص من مربّع البحث" - "ما مِن أدوات متاحة." - "ما مِن نتائج بحث." + "الأدوات والاختصارات غير متاحة." + "لم يتم العثور على أدوات أو اختصارات." "الأدوات الشخصية" "أدوات العمل" "المحادثات" @@ -72,7 +72,8 @@ "الإشعارات" "انقر مرتين مع تثبيت إصبعك لنقل اختصار." "انقر مرتين مع تثبيت إصبعك لنقل اختصار أو استخدام الإجراءات المخصّصة." - "لا يتبقى مساحة على هذه الشاشة الرئيسية." + + "لا يوجد المزيد من الحقول في علبة المفضلة" "قائمة التطبيقات" "قائمة التطبيقات الشخصية" @@ -90,10 +91,8 @@ "كتابة إعدادات واختصارات الشاشة الرئيسية" "للسماح للتطبيق بتغيير الإعدادات والاختصارات في الشاشة الرئيسية." "%1$s غير مسموح به لإجراء مكالمات هاتفية" - - - - + "يتعذّر تحميل الأداة." + "انقر لإكمال الإعداد." "هذا تطبيق نظام وتتعذر إزالته." "تعديل الاسم" "تم إيقاف %1$s" @@ -172,7 +171,7 @@ "الملف الشخصي للعمل" "تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات." "حسنًا" - "تطبيقات العمل غير مفعّلة" + "تم إيقاف تطبيقات العمل مؤقتًا." "لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." "تطبيقات العمل غير مفعّلة، وبالتالي لا يمكنها إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." "تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات." diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index 43927f53e2..7ecc9da037 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -46,8 +46,8 @@ "ৱিজেটসমূহ" "সন্ধান" "সন্ধান বাকচত থকা পাঠ মচক" - "কোনো ৱিজেট নাই" - "সন্ধানৰ কোনো ফলাফল নাই" + "ৱিজেট আৰু শ্বৰ্টকাট উপলব্ধ নহয়" + "কোনো ৱিজেট আৰু শ্বৰ্টকাট পোৱা নগ’ল" "ব্যক্তিগত" "কৰ্মস্থান" "বাৰ্তালাপ" @@ -64,7 +64,8 @@ "জাননীসমূহ" "শ্বৰ্টকাট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক।" "কোনো শ্বৰ্টকাট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।" - "এই গৃহ স্ক্ৰীণত আৰু বেছি ঠাই নাই।" + + "পছন্দৰ ট্ৰে\'ত আৰু বেছি ঠাই নাই" "এপৰ সূচী" "ব্যক্তিগত এপৰ তালিকা" @@ -82,10 +83,8 @@ "গৃহ ছেটিং আৰু শ্বৰ্টকাটবোৰ লিখিব পাৰে" "এপটোক গৃহ পৃষ্ঠাত ছেটিং আৰু শ্বৰ্টকাটসমূহ সলনি কৰাৰ অনুমতি দিয়ে।" "%1$sক ফ\'ন কলবোৰ কৰাৰ অনুমতি দিয়া হোৱা নাই" - - - - + "ৱিজেট ল’ড কৰিব নোৱাৰি" + "ছেটআপ সমাপ্ত কৰিবলৈ টিপক" "এইটো এটা ছিষ্টেম এপ আৰু ইয়াক আনইনষ্টল কৰিব নোৱৰি" "নাম সম্পাদনা কৰক" "%1$s অক্ষম কৰা হ’ল" @@ -160,7 +159,7 @@ "কৰ্মস্থানৰ প্ৰ\'ফাইল" "কৰ্মস্থানৰ এপ্‌সমূহ প্ৰতীকেৰে চিহ্নিত কৰা হয় আৰু সেইবোৰ আপোনাৰ আইটি প্ৰশাসকৰ বাবে দৃশ্যমান হয়" "বুজি পালোঁ" - "কৰ্মস্থানৰ এপ্‌সমূহ অফ হৈ আছে" + "কাম সম্পর্কীয় এপ্‌সমূহ পজ হৈ আছে" "আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" "কৰ্মস্থানৰ এপ্‌সমূহ অফ হৈ আছে। আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" "কর্মস্থানৰ এপ্‌সমূহ প্ৰতীকেৰে চিহ্নিত কৰা হয় আৰু সেইবোৰ আপোনাৰ আইটি প্ৰশাসকৰ বাবে দৃশ্যমান হয়" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 7685330860..3670b01348 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -27,7 +27,7 @@ "Vidcetlər Güvənli rejimdə deaktiv edilib" "Qısayol əlçatan deyil" "Əsas səhifə" - "Bölünmüş ekran" + "Ekran bölünməsi" "Vidceti daşımaq üçün toxunub saxlayın." "Vidceti daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin." "%1$d × %2$d" @@ -46,8 +46,8 @@ "Vidcet" "Axtarış" "Axtarış qutusundan mətni silin" - "Əlçatan vidcet yoxdur" - "Axtarış nəticəsi yoxdur" + "Vidcet və qısayollar əlçatan deyil" + "Vidcet və ya qısayol tapılmayıb" "Şəxsi" "İş" "Söhbətlər" @@ -64,7 +64,8 @@ "Bildirişlər" "Qısayolu daşımaq üçün toxunub saxlayın." "Qısayolu daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin." - "Bu Əsas ekranda boş yer yoxdur." + + "Favoritlər-də yer yoxdur" "Tətbiq siyahısı" "Şəxsi tətbiqlərin siyahısı" @@ -82,10 +83,8 @@ "Əsas Səhifə ayarlarını və qısayolları yazın" "Tətbiqə Əsas Səhifədə ayarları və qısayolları dəyişməyə icazə verir." "%1$s tətbiqinə telefon zəngləri etmək üçün icazə verilmir" - - - - + "Vidceti yükləmək olmur" + "Ayarlamanı tamamlamaq üçün toxunun" "Bu sistem tətbiqi olduğu üçün sistemdən silinə bilməz." "Adı redaktə edin" "%1$s deaktiv edildi" @@ -160,7 +159,7 @@ "İş profili" "İş tətbiqləri nişanlanıb və İT administratorunuza görünür" "Anladım" - "İş tətbiqləri deaktivdir" + "İş tətbiqlərinə pauza verilib" "İş tətbiqləriniz sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" "İş tətbiqləri deaktivdir. İş tətbiqləriniz sizə bildirişlər göndərə, batareyanızdan istifadə edə və ya məkanınıza daxil ola bilməz" "İş tətbiqləri nişanlanıb və İT administratorunuza görünür" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 3e43c50b93..50d052ab30 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -48,8 +48,8 @@ "Vidžeti" "Pretražite" "Obrišite tekst iz okvira za pretragu" - "Nije dostupan nijedan vidžet" - "Nema rezultata pretrage" + "Vidžeti i prečice nisu dostupni" + "Nije pronađen nijedan vidžet ili prečica" "Lično" "Posao" "Konverzacije" @@ -66,7 +66,8 @@ "Obaveštenja" "Dvaput dodirnite i zadržite radi pomeranja prečice." "Dvaput dodirnite i zadržite da biste pomerali prečicu ili koristite prilagođene radnje." - "Nema više prostora na ovom početnom ekranu." + + "Nema više prostora na traci Omiljeno" "Lista aplikacija" "Lista ličnih aplikacija" @@ -84,10 +85,8 @@ "upisivanje podešavanja i prečica na početnom ekranu" "Dozvoljava aplikaciji da menja podešavanja i prečice na početnom ekranu." "%1$s nema dozvolu za upućivanje telefonskih poziva" - - - - + "Učitavanje vidžeta nije uspelo" + "Dodirnite da biste dovršili podešavanje" "Ovo je sistemska aplikacija i ne može da se deinstalira." "Izmenite naziv" "Aplikacija %1$s je onemogućena" @@ -163,7 +162,7 @@ "Poslovni profil" "Poslovne aplikacije su označene značkom i IT administrator može da ih vidi" "Važi" - "Poslovne aplikacije su isključene" + "Poslovne aplikacije su pauzirane" "Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" "Poslovne aplikacije su isključene. Poslovne aplikacije ne mogu da vam šalju obaveštenja, koriste bateriju niti pristupaju lokaciji" "Poslovne aplikacije su označene značkom i IT administrator može da ih vidi" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index d99972996d..bdc2f196ba 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -50,8 +50,8 @@ "Віджэты" "Пошук" "Ачысціць тэкст у полі пошуку" - "Віджэты недаступныя" - "Няма вынікаў пошуку" + "Віджэты і ярлыкі недаступныя" + "Віджэтаў і ярлыкоў не знойдзена" "Асабістыя" "Працоўныя" "Размовы" @@ -68,7 +68,8 @@ "Апавяшчэнні" "Націсніце і ўтрымлівайце ярлык для перамяшчэння." "Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць ярлык або выкарыстоўваць спецыяльныя дзеянні." - "На гэтым Галоўным экране больш няма месца." + + "У латку \"Абранае\" больш няма месца" "Спіс праграм" "Спіс персанальных праграм" @@ -86,10 +87,8 @@ "запісваць налады і ярлыкі на галоўнай старонцы" "Дазваляе праграме змяняць налады і ярлыкі на Галоўнай старонцы." "%1$s не мае дазволу на здзяйсненне тэлефонных званкоў" - - - - + "Не ўдаецца загрузіць віджэт" + "Націсніце, каб завяршыць наладжванне" "Гэта сістэмная праграма, яе нельга выдаліць." "Змяніць назву" "%1$s адключана" @@ -166,7 +165,7 @@ "Працоўны профіль" "Працоўныя праграмы маюць значкі і бачныя IT-адміністратару" "Зразумела" - "Працоўныя праграмы выключаны" + "Працоўныя праграмы прыпынены" "Працоўныя праграмы не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да даных пра ваша месцазнаходжанне" "Працоўныя праграмы выключаны. Яны не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да вашага месцазнаходжання" "Працоўныя праграмы маюць значкі і бачныя IT-адміністратару" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index a104988e2d..f0c86c679d 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -46,8 +46,8 @@ "Приспособления" "Търсене" "Изчистване на текста от полето за търсене" - "Няма налични приспособления" - "Няма резултати от търсенето" + "Няма налице преки пътища и приспособления" + "Няма открити преки пътища или приспособления" "Лични" "Служебни" "Разговори" @@ -64,7 +64,8 @@ "Известия" "Докоснете и задръжте за преместване на пряк път." "Докоснете двукратно и задръжте за преместване на пряк път или използвайте персонализирани действия." - "На този начален екран няма повече място." + + "Няма повече място в областта с любимите" "Списък с приложения" "Списък с лични приложения" @@ -82,10 +83,8 @@ "запис на настройките и преките пътища в Начало" "Разрешава на приложението да променя настройките и преките пътища в Начало." "%1$s няма разрешение да извършва телефонни обаждания" - - - - + "Приспособлението не може да се зареди" + "Докоснете, за да завършите настройването" "Това е системно приложение и не може да се деинсталира." "Редактиране на името" "Деактивирахте %1$s" @@ -160,7 +159,7 @@ "Служебен потребителски профил" "Служебните приложения са означени със значка и са видими за системния администратор" "Разбрах" - "Служебните ви приложения са изключени" + "Служебните приложения са поставени на пауза" "Служебните ви приложения не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" "Служебните ви приложения са изключени. Те не могат да ви изпращат известия, да използват батерията или да осъществяват достъп до местоположението ви" "Служебните приложения са означени със значка и са видими за системния администратор" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index f89aecbadd..62b5c5d944 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -46,8 +46,10 @@ "উইজেট" "সার্চ করুন" "সার্চ বক্স থেকে টেক্সট মুছুন" - "কোনও উইজেট ফলাফল নেই" - "কোনও সার্চ ফলাফল নেই" + + + + "ব্যক্তিগত" "অফিস" "কথোপকথন" @@ -64,7 +66,8 @@ "বিজ্ঞপ্তি" "একটি শর্টকাট সরাতে টাচ করে ধরে রাখুন।" "একটি শর্টকাট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।" - "এই হোম স্ক্রীনে আর কোনো জায়গা নেই৷" + + "পছন্দসই ট্রে-তে আর কোনো জায়গা নেই" "অ্যাপ্লিকেশানগুলির তালিকা" "ব্যক্তিগত অ্যাপের তালিকা" @@ -82,10 +85,8 @@ "হোম সেটিংস এবং শর্টকাটগুলি লেখে" "হোমে অ্যাপ্লিকেশানটিকে সেটিংস এবং শর্টকাটগুলি পরিবর্তন করতে দেয়৷" "ফোন কলগুলি করার জন্য %1$s এর অনুমতি নেই" - - - - + "উইজেট লোড করা যাচ্ছে না" + "সেটআপ সম্পূর্ণ করতে ট্যাপ করুন" "এটি একটি সিস্টেম অ্যাপ্লিকেশান এবং আনইনস্টল করা যাবে না৷" "নাম এডিট করুন" "%1$s অক্ষম করা হয়েছে" @@ -158,10 +159,9 @@ "ব্যক্তিগত" "অফিস" "অফিসের প্রোফাইল" - - + "অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন" "বুঝেছি" - "অফিসের অ্যাপ বন্ধ আছে" + "অফিসের অ্যাপ বন্ধ করা আছে" "অফিসের অ্যাপ আপনাকে নোটিফিকেশন পাঠাতে পারবে না। এছাড়া, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" "অফিসের অ্যাপ বন্ধ আছে। আপনার অফিসের অ্যাপ আপনাকে বিজ্ঞপ্তি পাঠাতে, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" "অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index b265d841e4..dc43c40cdf 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -48,8 +48,8 @@ "Vidžeti" "Pretražite" "Brisanje teksta iz okvira za pretraživanje" - "Nijedan vidžet nije dostupan" - "Nema rezultata pretraživanja" + "Vidžeti i prečice nisu dostupni" + "Nije pronađen nijedan vidžet niti prečica" "Lično" "Posao" "Razgovori" @@ -66,7 +66,8 @@ "Obavještenja" "Dodirnite i zadržite da pomjerite prečicu." "Dvaput dodirnite i zadržite da pomjerite prečicu ili da koristite prilagođene radnje." - "Nema više prostora na ovom početnom ekranu." + + "Nema više prostora u ladici Omiljeno" "Lista aplikacija" "Lista ličnih aplikacija" @@ -84,10 +85,8 @@ "zapisuj postavke na početnom ekranu i prečice" "Dopušta aplikaciji promjenu postavki i prečica na početnom ekranu." "%1$s nema odobrenje da uspostavlja telefonske pozive" - - - - + "Nije moguće učitati vidžet" + "Dodirnite da završite postavljanje" "Ovo je sistemska aplikacija i ne može se deinstalirati." "Uređivanje naziva" "Aplikacija %1$s je onemogućena" @@ -163,7 +162,7 @@ "Radni profil" "Poslovne aplikacije su označene i vaš IT administrator ih može vidjeti" "Razumijem" - "Poslovne aplikacije su isključene" + "Poslovne aplikacije su pauzirane" "Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju niti pristupiti vašoj lokaciji" "Poslovne aplikacije su isključene. Poslovne aplikacije vam ne mogu slati obavještenja, koristiti bateriju ili pristupiti vašoj lokaciji" "Poslovne aplikacije su označene i vaš IT administrator ih može vidjeti" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index 9cd23ba2cb..a84293541f 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Cerca" "Esborra el text del quadre de cerca" - "No hi ha widgets disponibles" - "No hi ha cap resultat de la cerca" + "No hi ha widgets ni dreceres disponibles" + "No s\'ha trobat cap widget ni drecera" "Personal" "Treball" "Converses" @@ -64,7 +64,8 @@ "Notificacions" "Fes doble toc i mantén premut per moure una drecera." "Fes doble toc i mantén premut per moure una drecera o per utilitzar accions personalitzades." - "Ja no queda espai en aquesta pantalla d\'inici." + + "No hi ha més espai a la safata Preferits." "Llista d\'aplicacions" "Llista d\'aplicacions personals" @@ -82,10 +83,8 @@ "escriu la configuració i les dreceres de la pantalla d\'inici" "Permet que l\'aplicació canviï la configuració i les dreceres de la pantalla d\'inici." "%1$s no té permís per fer trucades telefòniques" - - - - + "No es pot carregar el widget" + "Toca per finalitzar la configuració" "Aquesta aplicació és una aplicació del sistema i no es pot desinstal·lar." "Edita el nom" "S\'ha desactivat %1$s" @@ -160,7 +159,7 @@ "Perfil de treball" "Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI" "Entesos" - "Les aplicacions de treball estan desactivades" + "Les aplicacions de treball s\'han posat en pausa" "Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" "Les aplicacions de treball estan desactivades: no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" "Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 9785754d58..9b60c192f7 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -50,8 +50,8 @@ "Widgety" "Vyhledávání" "Vymazat text z vyhledávacího pole" - "Nejsou k dispozici žádné widgety" - "Žádné výsledky hledání" + "Widgety ani zkratky nejsou k dispozici" + "Nebyly nalezeny žádné widgety ani zkratky" "Osobní" "Práce" "Konverzace" @@ -68,7 +68,8 @@ "Oznámení" "Klepnutím a podržením přesunete zkratku." "Dvojitým klepnutím a podržením přesunete zkratku, případně použijte vlastní akce." - "Na této ploše již není místo." + + "Na panelu Oblíbené položky již není místo." "Seznam aplikací" "Seznam osobních aplikací" @@ -86,10 +87,8 @@ "zápis nastavení a odkazů plochy" "Umožňuje aplikaci změnit nastavení a odkazy na ploše." "Aplikace %1$s nemá oprávnění telefonovat" - - - - + "Widget se nepodařilo načíst" + "Klepnutím dokončíte konfiguraci" "Toto je systémová aplikace a nelze ji odinstalovat." "Upravit název" "Aplikace %1$s je zakázána" @@ -166,7 +165,7 @@ "Pracovní profil" "Pracovní aplikace jsou označené a viditelné vašemu administrátorovi IT" "Rozumím" - "Pracovní aplikace jsou vypnuté" + "Pracovní aplikace jsou pozastaveny" "Pracovní aplikace vám nemohou zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" "Pracovní aplikace jsou vypnuté. Nemohou vám zasílat oznámení, používat vaši baterii ani získat přístup k vaší poloze" "Pracovní aplikace jsou označené a viditelné vašemu administrátorovi IT" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index d757b0ecd2..96ac1d14e5 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Søg" "Ryd teksten i søgefeltet" - "Der er ingen tilgængelig widget" - "Der er ingen søgeresultater" + "Der er ingen tilgængelige widgets eller genveje" + "Der blev ikke fundet nogen widgets eller genveje" "Personlige" "Arbejde" "Samtaler" @@ -64,7 +64,8 @@ "Notifikationer" "Hold en genvej nede for at flytte den." "Tryk to gange, og hold en genvej nede for at flytte den eller bruge tilpassede handlinger." - "Der er ikke mere plads på denne startskærm." + + "Der er ikke mere plads i bakken Favoritter" "Liste med apps" "Liste over personlige apps" @@ -82,10 +83,8 @@ "skrive indstillinger og genveje for startskærmen" "Tillader, at appen ændrer indstillingerne og genvejene på startskærmen." "%1$s har ikke tilladelse til at foretage telefonopkald" - - - - + "Widgetten kan ikke indlæses" + "Tryk for at fuldføre konfigurationen" "Dette er en systemapp, som ikke kan afinstalleres." "Rediger navn" "%1$s er deaktiveret" @@ -160,7 +159,7 @@ "Arbejdsprofil" "Arbejdsapps har badges og kan ses af din it-administrator" "OK" - "Arbejdsapps er deaktiveret" + "Dine arbejdsapps er sat på pause" "Arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din lokation" "Arbejdsapps er deaktiveret. Dine arbejdsapps kan ikke sende dig notifikationer, bruge dit batteri eller få adgang til din lokation" "Arbejdsapps har badges og kan ses af din it-administrator" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 8ae811fcad..dfa6337a4b 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -46,8 +46,10 @@ "Widgets" "Suche" "Text aus dem Suchfeld löschen" - "Keine Widgets verfügbar" - "Keine Suchergebnisse" + + + + "Privat" "Geschäftlich" "Unterhaltungen" @@ -64,7 +66,8 @@ "Benachrichtigungen" "Tippen und halten, um eine Verknüpfung zu bewegen." "Doppeltippen und halten, um eine Verknüpfung zu bewegen oder benutzerdefinierte Aktionen zu nutzen." - "Auf diesem Startbildschirm ist kein Platz mehr vorhanden." + + "Ablage \"Favoriten\" ist voll." "Liste der Apps" "Liste der privaten Apps" @@ -82,10 +85,8 @@ "Einstellungen und Verknüpfungen für den Startbildschirm schreiben" "Ermöglicht der App, die Einstellungen und Verknüpfungen auf dem Startbildschirm zu ändern" "%1$s darf keine Telefonanrufe tätigen." - - - - + "Widget kann nicht geladen werden" + "Tippen, um Einrichtung abzuschließen" "Dies ist eine Systemanwendung, die nicht deinstalliert werden kann." "Name bearbeiten" "%1$s deaktiviert" @@ -160,7 +161,7 @@ "Arbeitsprofil" "Geschäftliche Apps sind gekennzeichnet und für deinen IT-Administrator sichtbar" "OK" - "Geschäftliche Apps sind deaktiviert" + "Geschäftliche Apps sind pausiert" "Deine geschäftlichen Apps können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen" "Geschäftliche Apps sind deaktiviert. Sie können dir keine Benachrichtigungen senden, deinen Akku nicht nutzen und nicht auf deinen Standort zugreifen." "Geschäftliche Apps sind gekennzeichnet und für deinen IT-Administrator sichtbar" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index fc7d691c03..14ff86040d 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -46,8 +46,8 @@ "Γραφικά στοιχεία" "Αναζήτηση" "Διαγραφή κειμένου από το πλαίσιο αναζήτησης" - "Δεν υπάρχουν διαθέσιμα γραφικά στοιχεία" - "Κανένα αποτέλεσμα αναζήτησης" + "Δεν υπάρχουν διαθέσιμα γραφικά στοιχεία και συντομεύσεις." + "Δεν βρέθηκαν γραφικά στοιχεία ή συντομεύσεις." "Προσωπικά" "Εργασίας" "Συζητήσεις" @@ -64,7 +64,8 @@ "Ειδοποιήσεις" "Πατήστε παρατεταμένα για μετακίνηση συντόμευσης." "Πατήστε δύο φορές παρατεταμένα για μετακίνηση συντόμευσης ή χρήση προσαρμοσμένων ενεργειών." - "Δεν υπάρχει χώρος σε αυτήν την αρχική οθόνη." + + "Δεν υπάρχει επιπλέον χώρος στην περιοχή Αγαπημένα" "Λίστα εφαρμογών" "Λίστα προσωπικών εφαρμογών" @@ -158,7 +159,7 @@ "Προφίλ εργασίας" "Οι εφαρμογές εργασιών φέρουν σήμα και είναι ορατές στον διαχειριστή IT σας" "Το κατάλαβα" - "Οι εφαρμογές εργασιών είναι απενεργοποιημένες" + "Οι εφαρμογές εργασίας τέθηκαν σε παύση." "Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" "Οι εφαρμογές εργασιών είναι απενεργοποιημένες. Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" "Οι εφαρμογές εργασιών φέρουν σήμα και είναι ορατές στον διαχειριστή IT σας" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 08d032bf96..279f22ed37 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Search" "Clear text from search box" - "No widgets available" - "No search results" + "Widgets and shortcuts aren\'t available" + "No widgets or shortcuts found" "Personal" "Work" "Conversations" @@ -64,7 +64,7 @@ "Notifications" "Touch & hold to move a shortcut." "Double-tap & hold to move a shortcut or use custom actions." - "No more room on this Home screen." + "No room on this home screen" "No more room in the Favourites tray" "Apps list" "Personal apps list" @@ -158,7 +158,7 @@ "Work profile" "Work apps are badged and visible to your IT admin" "OK" - "Work apps are off" + "Work apps are paused" "Your work apps can’t send you notifications, use your battery or access your location" "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index 08d032bf96..279f22ed37 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Search" "Clear text from search box" - "No widgets available" - "No search results" + "Widgets and shortcuts aren\'t available" + "No widgets or shortcuts found" "Personal" "Work" "Conversations" @@ -64,7 +64,7 @@ "Notifications" "Touch & hold to move a shortcut." "Double-tap & hold to move a shortcut or use custom actions." - "No more room on this Home screen." + "No room on this home screen" "No more room in the Favourites tray" "Apps list" "Personal apps list" @@ -158,7 +158,7 @@ "Work profile" "Work apps are badged and visible to your IT admin" "OK" - "Work apps are off" + "Work apps are paused" "Your work apps can’t send you notifications, use your battery or access your location" "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 08d032bf96..279f22ed37 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Search" "Clear text from search box" - "No widgets available" - "No search results" + "Widgets and shortcuts aren\'t available" + "No widgets or shortcuts found" "Personal" "Work" "Conversations" @@ -64,7 +64,7 @@ "Notifications" "Touch & hold to move a shortcut." "Double-tap & hold to move a shortcut or use custom actions." - "No more room on this Home screen." + "No room on this home screen" "No more room in the Favourites tray" "Apps list" "Personal apps list" @@ -158,7 +158,7 @@ "Work profile" "Work apps are badged and visible to your IT admin" "OK" - "Work apps are off" + "Work apps are paused" "Your work apps can’t send you notifications, use your battery or access your location" "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 08d032bf96..279f22ed37 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Search" "Clear text from search box" - "No widgets available" - "No search results" + "Widgets and shortcuts aren\'t available" + "No widgets or shortcuts found" "Personal" "Work" "Conversations" @@ -64,7 +64,7 @@ "Notifications" "Touch & hold to move a shortcut." "Double-tap & hold to move a shortcut or use custom actions." - "No more room on this Home screen." + "No room on this home screen" "No more room in the Favourites tray" "Apps list" "Personal apps list" @@ -158,7 +158,7 @@ "Work profile" "Work apps are badged and visible to your IT admin" "OK" - "Work apps are off" + "Work apps are paused" "Your work apps can’t send you notifications, use your battery or access your location" "Work apps are off. Your work apps can’t send you notifications, use your battery or access your location" "Work apps are badged and visible to your IT admin" diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml index 7ada105cbc..a1a4ba911d 100644 --- a/res/values-en-rXC/strings.xml +++ b/res/values-en-rXC/strings.xml @@ -46,8 +46,8 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎Widgets‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎Search‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎Clear text from search box‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎No widgets available‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎No search results‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎Widgets and shortcuts aren\'t available‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎No widgets or shortcuts found‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎Personal‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‏‎Work‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎Conversations‎‏‎‎‏‎" @@ -64,7 +64,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎Notifications‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎Touch & hold to move a shortcut.‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎Double-tap & hold to move a shortcut or use custom actions.‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎No more room on this Home screen.‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎No room on this Home screen‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎No more room in the Favorites tray‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎Apps list‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎‎Personal apps list‎‏‎‎‏‎" @@ -158,7 +158,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎Work profile‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎Work apps are badged and visible to your IT admin‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎Got it‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎Work apps are off‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎Work apps are paused‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎Your work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎Work apps are off. Your work apps can’t send you notifications, use your battery, or access your location‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‎Work apps are badged and visible to your IT admin‎‏‎‎‏‎" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 607d831110..b8567155cb 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Buscar" "Borra el texto del cuadro de búsqueda" - "No hay widgets disponibles" - "La búsqueda no arrojó resultados" + "Los widgets y accesos directos no están disponibles" + "No se encontraron widgets ni accesos directos" "Personales" "Trabajo" "Conversaciones" @@ -64,7 +64,8 @@ "Notificaciones" "Mantén presionado para mover un acceso directo." "Presiona dos veces y mantén presionado para mover un acceso directo o usar acciones personalizadas." - "No hay más espacio en esta pantalla principal." + + "La bandeja de favoritos está llena." "Lista de apps" "Lista de apps personales" @@ -158,7 +159,7 @@ "Perfil de trabajo" "Las apps de trabajo tienen una insignia y el administrador de IT las puede ver" "Entendido" - "Las apps de trabajo están desactivadas" + "Las apps de trabajo están detenidas" "Las apps de trabajo no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" "Las apps de trabajo están desactivadas y, por ende, no pueden enviarte notificaciones, usar la batería ni acceder a tu ubicación" "Las apps de trabajo tienen una insignia y el administrador de IT las puede ver" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 03ac6d12e5..83e49848ed 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Buscar" "Borrar texto del cuadro de búsqueda" - "No hay widgets disponibles" - "No hay resultados de búsqueda" + "Los widgets y los accesos directos no están disponibles" + "No se han encontrado widgets ni accesos directos" "Personales" "Trabajo" "Conversaciones" @@ -64,7 +64,8 @@ "Notificaciones" "Mantén pulsado un acceso directo para moverlo." "Toca dos veces y mantén pulsado un acceso directo para moverlo o usar acciones personalizadas." - "No queda espacio en la pantalla de inicio." + + "La bandeja de favoritos está completa" "Lista de aplicaciones" "Lista de aplicaciones personales" @@ -82,10 +83,8 @@ "escribir información de accesos directos y de ajustes de la pantalla de inicio" "Permite que las aplicaciones cambien los ajustes y los accesos directos de la pantalla de inicio." "%1$s no puede hacer llamadas" - - - - + "No se puede cargar el widget" + "Toca para finalizar la configuración" "Esta aplicación es del sistema y no se puede desinstalar." "Editar nombre" "Se ha inhabilitado %1$s" @@ -160,7 +159,7 @@ "Perfil de trabajo" "Las aplicaciones de trabajo tienen una insignia, y tu administrador de TI las puede ver" "Entendido" - "Las aplicaciones de trabajo están desactivadas" + "Se han pausado las aplicaciones de trabajo" "Tus aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" "Las aplicaciones de trabajo están desactivadas, por lo que no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" "Las aplicaciones de trabajo tienen una insignia y tu administrador de TI las puede ver" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 9ec12fce6a..84100d4bde 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -46,8 +46,8 @@ "Vidinad" "Otsing" "Kustuta otsingukastis olev tekst" - "Ühtki vidinat pole saadaval" - "Otsingutulemused puuduvad" + "Vidinad ja otseteed pole saadaval" + "Ei leitud ühtegi vidinat ega otseteed" "Isiklikud" "Töö" "Vestlused" @@ -64,7 +64,8 @@ "Märguanded" "Otsetee teisaldamiseks puudutage ja hoidke all." "Otsetee teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all." - "Sellel avakuval pole enam ruumi." + + "Salves Lemmikud pole rohkem ruumi" "Rakenduste loend" "Isiklike rakenduste loend" @@ -82,10 +83,8 @@ "avakuva seadete ja otseteede kirjutamine" "Võimaldab rakendusel muuta avaekraanil seadeid ja otseteid." "Rakendusel %1$s pole lubatud helistada" - - - - + "Vidinat ei saa laadida" + "Puudutage seadistuse lõpuleviimiseks" "See on süsteemirakendus ja seda ei saa desinstallida." "Muuda nime" "Rakendus %1$s on keelatud" @@ -160,7 +159,7 @@ "Tööprofiil" "Töörakendustel on märk ja need on teie IT-administraatorile nähtavad" "Selge" - "Töörakendused on välja lülitatud" + "Töörakendused on peatatud" "Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda" "Töörakendused on välja lülitatud. Töörakendused ei saa teile märguandeid saata, akut kasutada ega teie asukohale juurde pääseda." "Töörakendustel on märk ja need on teie IT-administraatorile nähtavad" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 0df92adf24..f8b3997993 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -46,8 +46,8 @@ "Widgetak" "Bilatu" "Garbitu bilaketa-koadroko testua" - "Ez dago widget erabilgarririk" - "Ez dago bilaketa-emaitzarik" + "Widgetak eta lasterbideak erabilgarri daude" + "Ez da aurkitu widgetik edo lasterbiderik" "Pertsonalak" "Lanekoak" "Elkarrizketak" @@ -64,7 +64,8 @@ "Jakinarazpenak" "Eduki sakatuta lasterbide bat mugitzeko." "Sakatu birritan eta eduki sakatuta lasterbide bat mugitzeko edo ekintza pertsonalizatuak erabiltzeko." - "Hasierako pantaila honetan ez dago toki gehiago." + + "Ez dago toki gehiago Gogokoak erretiluan" "Aplikazioen zerrenda" "Aplikazio pertsonalen zerrenda" @@ -82,10 +83,8 @@ "Idatzi hasierako ezarpenak eta lasterbideak" "Hasierako pantailako ezarpenak eta lasterbideak aldatzeko baimena ematen die aplikazioei." "%1$s aplikazioak ez du telefono-deiak egiteko baimenik" - - - - + "Ezin da kargatu widgeta" + "Konfiguratzen amaitzeko, sakatu hau" "Sistema-aplikazioa da hau eta ezin da desinstalatu." "Editatu izena" "%1$s desgaituta dago" @@ -160,7 +159,7 @@ "Laneko profila" "Laneko aplikazioek bereizgarriak dituzte, eta IKT saileko administratzaileak ikus ditzake" "Ados" - "Laneko aplikazioak desaktibatuta daude" + "Pausatu egin dira laneko aplikazioak" "Laneko aplikazioek ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu" "Laneko aplikazioak desaktibatuta daude. Hori dela eta, ezin dute jakinarazpenik bidali, bateria erabili edo kokapena atzitu." "Laneko aplikazioek bereizgarriak dituzte, eta IKT saileko administratzaileak ikus ditzake" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 9da53ca986..c4fda9b10a 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -46,8 +46,8 @@ "ابزارک‌ها" "جستجو" "پاک کردن نوشتار از چارگوش جستجو" - "ابزارکی دردسترس نیست" - "بدون نتیجه جستجو" + "ابزارک و میان‌بری دردسترس نیست" + "هیچ ابزارک یا میان‌بری پیدا نشد" "ابزارک‌های شخصی" "کار" "مکالمه‌ها" @@ -64,7 +64,8 @@ "اعلان‌ها" "برای جابه‌جا کردن میان‌بر، لمس کنید و نگه دارید." "برای جابه‌جا کردن میان‌بر یا استفاده از کنش‌های سفارشی، دوضربه بزنید و نگه دارید." - "فضای بیشتری در این صفحه اصلی موجود نیست." + + "فضای بیشتری در سینی موارد دلخواه وجود ندارد" "فهرست برنامه‌ها" "فهرست برنامه‌های شخصی" @@ -82,10 +83,8 @@ "نوشتن تنظیمات و میان‌برهای صفحه اصلی" "به برنامه اجازه می‌دهد تنظیمات و میان‌برها را در صفحه اصلی تغییر دهد." "%1$s مجاز نیست تماس تلفنی برقرار کند" - - - - + "ابزارک را نمی‌توان بار کرد" + "برای تکمیل راه‌اندازی ضربه بزنید" "این برنامه سیستمی است و حذف نصب نمی‌شود." "ویرایش نام" "%1$s غیرفعال شد" @@ -160,7 +159,7 @@ "نمایه کاری" "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند" "متوجه‌ام" - "برنامه‌های کاری خاموش است" + "برنامه‌های کاری موقتاً متوقف می‌شوند" "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری خاموش است. برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند." diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index fd8b67168f..7d6e7a40fd 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -46,8 +46,8 @@ "Widgetit" "Haku" "Tyhjennä teksti hakukentästä" - "Ei widgetejä käytettävissä" - "Ei hakutuloksia" + "Widgetit ja pikanäppäimet eivät ole saatavilla" + "Widgetejä tai pikanäppäimiä ei löytynyt" "Henkilökohtaiset" "Työ" "Keskustelut" @@ -64,7 +64,8 @@ "Ilmoitukset" "Kosketa pitkään, niin voit siirtää pikakuvaketta." "Kaksoisnapauta ja paina pitkään, niin voit siirtää pikakuvaketta tai käyttää muokattuja toimintoja." - "Tässä aloitusruudussa ei ole enää tilaa." + + "Suosikit-valikossa ei ole enää tilaa" "Sovellusluettelo" "Omat sovellukset ‑luettelo" @@ -82,10 +83,8 @@ "kirjoita aloitusruudun asetuksia ja pikakuvakkeita" "Antaa sovelluksen muuttaa aloitusruudun asetuksia ja pikakuvakkeita." "%1$s ei saa soittaa puheluita." - - - - + "Widgetiä ei voi ladata" + "Viimeistele asennus napauttamalla" "Tämä on järjestelmäsovellus, eikä sitä voi poistaa." "Muokkaa nimeä" "%1$s poistettiin käytöstä" @@ -160,7 +159,7 @@ "Työprofiili" "Työsovellukset on merkitty ja ne näkyvät IT-järjestelmänvalvojalle" "Selvä" - "Työsovellukset ovat pois päältä" + "Työsovellukset on keskeytetty" "Työsovellukset eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai paikantaa sijaintiasi" "Työsovellukset ovat pois päältä. Ne eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai sijaintiasi" "Työsovellukset on merkitty ja ne näkyvät IT-järjestelmänvalvojalle" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index fb358eaf58..df3fc3f9f7 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Rechercher" "Effacer le texte dans le champ de recherche" - "Aucun widget n\'est installé" - "Aucun résultat de recherche" + "Aucun widget ou raccourci proposé" + "Aucun widget ni raccourci trouvé" "Personnels" "Professionnels" "Conversations" @@ -64,7 +64,8 @@ "Notifications" "Maintenez le doigt sur un raccourci pour le déplacer." "Touchez deux fois un raccourci et maintenez le doigt dessus pour le déplacer ou utiliser des actions personnalisées." - "Pas d\'espace libre sur l\'écran d\'accueil." + + "Il n\'y a plus d\'espace dans la zone des favoris" "Liste des applications" "Liste des applications personnelles" @@ -82,10 +83,8 @@ "enregistrer les paramètres de la page d\'accueil et des raccourcis" "Permet à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil." "L\'application %1$s n\'est pas autorisée à faire des appels téléphoniques" - - - - + "Impossible de charger le widget" + "Touchez pour terminer la configuration" "Impossible de désinstaller cette application, car il s\'agit d\'une application système." "Modifier le nom" "L\'application %1$s est désactivée" @@ -160,7 +159,7 @@ "Profil professionnel" "Les applications professionnelles sont indiquées par un badge et elles sont visibles pour votre administrateur informatique" "OK" - "Les applications professionnelles sont désactivées" + "Les applications professionnelles sont interrompues" "Les applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" "Les applications professionnelles sont désactivées. Vos applications professionnelles ne peuvent ni vous envoyer de notifications, ni utiliser la pile, ni accéder à votre position" "Les applications professionnelles sont indiquées par un badge et sont visibles pour votre administrateur informatique" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 098ce6f3e0..d21389a97d 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Rechercher" "Effacer le texte du champ de recherche" - "Aucun widget disponible" - "Aucun résultat de recherche" + "Les widgets et les raccourcis ne sont pas disponibles" + "Aucun widget ni raccourci trouvés" "Personnels" "Professionnels" "Conversations" @@ -64,7 +64,8 @@ "Notifications" "Appuyez de manière prolongée pour déplacer raccourci." "Appuyez deux fois et maintenez la pression pour déplacer un raccourci ou utiliser les actions personnalisées." - "Pas d\'espace libre sur cet écran d\'accueil." + + "Plus d\'espace disponible dans la zone de favoris." "Liste d\'applications" "Liste des applications personnelles" @@ -82,10 +83,8 @@ "modifier les paramètres et les raccourcis de l\'écran d\'accueil" "Permettre à l\'application de modifier les paramètres et les raccourcis de l\'écran d\'accueil" "L\'application %1$s n\'est pas autorisée à passer des appels téléphoniques." - - - - + "Impossible de charger le widget" + "Appuyez pour terminer la configuration" "Impossible de désinstaller cette application, car il s\'agit d\'une application système." "Modifier le nom" "%1$s est désactivé." @@ -160,7 +159,7 @@ "Profil professionnel" "Les applis professionnelles sont identifiées par un badge et votre administrateur informatique peut les voir" "OK" - "Les applis professionnelles sont désactivées" + "Applications professionnelles en veille" "Vos applis professionnelles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position" "Vos applis professionnelles sont désactivées. Elles ne peuvent pas vous envoyer de notifications, utiliser votre batterie ni accéder à votre position." "Les applis professionnelles sont identifiées par un badge et votre administrateur informatique peut les voir" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 8cc93612a2..6608c2492d 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Busca Widgets" "Borrar texto da caixa de busca" - "Non hai widgets dispoñibles" - "Non hai resultados da busca" + "Non hai widgets nin atallos dispoñibles" + "Non se atoparon widgets nin atallos" "Widgets persoais" "Widgets do traballo" "Conversas" @@ -64,7 +64,8 @@ "Notificacións" "Mantén premido un atallo para movelo." "Toca dúas veces un atallo e manteno premido para movelo ou utiliza accións personalizadas." - "Non hai máis espazo nesta pantalla de inicio." + + "Non hai máis espazo na bandexa de favoritos" "Lista de aplicacións" "Lista de aplicacións persoais" @@ -82,10 +83,8 @@ "modificar a configuración e os atallos da pantalla de inicio" "Permite a unha aplicación cambiar a configuración e os atallos da pantalla de inicio." "%1$s non ten permiso para facer chamadas telefónicas" - - - - + "Non se puido cargar o widget" + "Toca para rematar a configuración" "Esta aplicación é do sistema e non se pode desinstalar." "Edita o nome" "Desactivouse %1$s" @@ -160,7 +159,7 @@ "Perfil de traballo" "O administrador de TI pode ver as aplicacións do traballo e engadirlles indicadores" "Entendido" - "As aplicacións do traballo están desactivadas" + "Puxéronse en pausa as aplicacións do traballo" "As aplicacións do traballo non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" "As aplicacións do traballo están desactivadas e non poden enviarche notificacións, utilizar a batería nin acceder á túa localización" "O administrador de TI pode ver as aplicacións do traballo e engadirlles indicadores" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 2e0171dad6..33070a7061 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -46,8 +46,10 @@ "વિજેટ્સ" "શોધ" "શોધ બૉક્સમાંથી ટેક્સ્ટ સાફ કરો" - "કોઈ વિજેટ ઉપલબ્ધ નથી" - "કોઈ શોધ પરિણામો નથી" + + + + "વ્યક્તિગત" "ઑફિસ" "વાતચીતો" @@ -64,7 +66,8 @@ "નોટિફિકેશન" "શૉર્ટકટ ખસેડવા ટચ કરીને થોડી વાર દબાવી રાખો." "શૉર્ટકટ ખસેડવા બે વાર ટૅપ કરીને દબાવી રાખો અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરો." - "આ હોમ સ્ક્રીન પર વધુ જગ્યા નથી." + + "મનપસંદ ટ્રે પર વધુ જગ્યા નથી" "ઍપ્લિકેશનોની સૂચિ" "વ્યક્તિગત ઍપની સૂચિ" @@ -75,17 +78,15 @@ "ઇન્સ્ટૉલ કરો" "ઍપ સૂચવશો નહીં" "પૂર્વાનુમાનને પિન કરો" - "શોર્ટકટ્સ ઇન્સ્ટોલ કરો" + "શૉર્ટકટ ઇન્સ્ટૉલ કરો" "એપ્લિકેશનને વપરાશકર્તા હસ્તક્ષેપ વગર શોર્ટકટ્સ ઉમેરવાની મંજૂરી આપે છે." "હોમ સેટિંગ્સ અને શોર્ટકટ્સ વાંચો" "એપ્લિકેશનને હોમમાં સેટિંગ્સ અને શોર્ટકટ્સ વાંચવાની મંજૂરી આપે છે." "હોમ સેટિંગ્સ અને શોર્ટકટ્સ લખો" "એપ્લિકેશનને હોમમાં સેટિંગ્સ અને શોર્ટકટ્સ બદલવાની મંજૂરી આપે છે." "%1$s ને ફોન કૉલ્સ કરવાની મંજૂરી નથી" - - - - + "વિજેટ લોડ કરી શકાતું નથી" + "સેટઅપ પૂર્ણ કરવા માટે ટૅપ કરો" "આ એક સિસ્ટમ ઍપ્લિકેશન છે અને અનઇન્સ્ટોલ કરી શકાતી નથી." "નામમાં ફેરફાર કરો" "%1$s અક્ષમ કરી" @@ -158,10 +159,9 @@ "મનગમતી ઍપ" "ઑફિસની ઍપ" "ઑફિસની પ્રોફાઇલ" - - + "ઑફિસની ઍપને બૅજ આપેલા હોય છે અને તમારા IT વ્યવસ્થાપક તેમને જોઈ શકે છે" "સમજાઈ ગયું" - "ઑફિસ માટેની ઍપ બંધ છે" + "ઑફિસ માટેની ઍપ થોભાવવામાં આવેલ છે" "ઑફિસ માટેની તમારી ઍપ તમને નોટિફિકેશન મોકલી શકતી નથી, તમારી બૅટરી વાપરી શકતી નથી કે તમારું સ્થાન ઍક્સેસ કરી શકતી નથી" "ઑફિસ માટેની ઍપ બંધ છે. ઑફિસ માટેની તમારી ઍપ તમને નોટિફિકેશન મોકલી શકતી નથી, તમારી બૅટરી વાપરી શકતી નથી કે તમારું સ્થાન ઍક્સેસ કરી શકતી નથી" "ઑફિસની ઍપને બૅજ આપેલા હોય છે અને તમારા IT વ્યવસ્થાપક તેમને જોઈ શકે છે" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index fbadca6ba7..1c7bbd816f 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -46,8 +46,8 @@ "विजेट" "खोजें" "खोज बॉक्स से टेक्स्ट हटाएं" - "कोई विजेट उपलब्ध नहीं है" - "खोज का कोई नतीजा नहीं मिला" + "विजेट और शॉर्टकट उपलब्ध नहीं हैं" + "कोई विजेट या शॉर्टकट नहीं मिला" "निजी विजेट" "ऑफ़िस" "बातचीत" @@ -64,7 +64,8 @@ "सूचनाएं" "किसी शॉर्टकट को एक से दूसरी जगह ले जाने के लिए, उसे दबाकर रखें." "किसी शॉर्टकट को एक से दूसरी जगह ले जाने के लिए, उस पर दो बार टैप करके दबाकर रखें या पसंद के मुताबिक कार्रवाइयां इस्तेमाल करें." - "इस होम स्‍क्रीन पर जगह नहीं बची है" + + "पसंदीदा ट्रे में और जगह नहीं है" "ऐप्लिकेशन सूची" "निजी ऐप्लिकेशन की सूची" @@ -82,10 +83,8 @@ "होम पेज की सेटिंग और शॉर्टकट लिखें" "ऐप्लिकेशन को होम पेज में सेटिंग और शॉर्टकट बदलने देती है." "%1$s को फ़ोन कॉल करने की अनुमति नहीं है" - - - - + "विजेट को लोड नहीं किया जा सका" + "सेट अप पूरा करने के लिए टैप करें" "यह एक सिस्टम ऐप्लिकेशन है और इसे अनइंस्टॉल नहीं किया जा सकता." "नाम में बदलाव करें" "%1$s अक्षम है" @@ -160,7 +159,7 @@ "वर्क प्रोफ़ाइल" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन, बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" "ठीक है" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद हैं" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन रोके गए" "ऑफ़िस के काम से जुड़े आपके ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद हैं. ये ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन, बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 09d315f928..7f2732481a 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -48,8 +48,8 @@ "Widgeti" "Pretražite" "Izbrišite tekst iz okvira za pretraživanje" - "Nije dostupan nijedan widget" - "Nema rezultata pretraživanja" + "Widgeti i prečaci nisu dostupni" + "Nema widgeta ili prečaca" "Osobni" "Posao" "Razgovori" @@ -66,7 +66,8 @@ "Obavijesti" "Dodirnite i zadržite da biste premjestili prečac." "Dvaput dodirnite i zadržite pritisak da biste premjestili prečac ili upotrijebite prilagođene radnje." - "Na ovom početnom zaslonu više nema mjesta." + + "Nema više prostora na traci Favoriti" "Popis aplikacija" "Popis osobnih aplikacija" @@ -84,10 +85,8 @@ "pisanje postavki početnog zaslona i prečaca" "Aplikaciji omogućuje promjenu postavki i prečaca na početnom zaslonu." "%1$s nema dopuštenje za telefonske pozive" - - - - + "Widget se ne može učitati" + "Dodirnite da biste dovršili postavljanje" "Ovo je aplikacija sustava i ne može se ukloniti." "Uređivanje naziva" "Aplikacija %1$s onemogućena" @@ -163,7 +162,7 @@ "Poslovni profil" "Poslovne su aplikacije označene i vidljive vašem IT administratoru" "Shvaćam" - "Poslovne aplikacije su isključene" + "Pauzirane su poslovne lokacije" "Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju niti pristupiti vašoj lokaciji" "Poslovne aplikacije su isključene. Ne mogu vam slati obavijesti, trošiti bateriju ili pristupiti vašoj lokaciji" "Poslovne su aplikacije označene i vidljive vašem IT administratoru" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 2167540d38..6f9b8c4edc 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -46,8 +46,8 @@ "Modulok" "Keresés" "Keresőmezőben lévő szöveg törlése" - "Nincs rendelkezésre álló modul" - "Nincsenek keresési találatok" + "A modulok és parancsikonok nem állnak rendelkezésre" + "Nem található modul vagy parancsikon" "Személyes" "Munka" "Beszélgetések" @@ -64,7 +64,8 @@ "Értesítések" "Tartsa lenyomva a parancsikont az áthelyezéshez." "Parancsikon áthelyezéséhez koppintson duplán, és tartsa nyomva az ujját, vagy használjon egyéni műveleteket." - "Nincs több hely ezen a kezdőképernyőn." + + "Nincs több hely a Kedvencek tálcán" "Alkalmazások listája" "Személyes alkalmazások listája" @@ -82,10 +83,8 @@ "Főoldal beállításainak és parancsikonjainak írása" "Lehetővé teszi az alkalmazás számára, hogy módosítsa a kezdőképernyő beállításait és parancsikonjait." "A(z) %1$s nem kezdeményezhet telefonhívásokat" - - - - + "Nem tölthető le a modul" + "Koppintson a beállítás befejezéséhez" "Ez egy rendszeralkalmazás, és nem lehet eltávolítani." "Név módosítása" "A(z) %1$s letiltva" @@ -160,7 +159,7 @@ "Munkaprofil" "A munkahelyi alkalmazások jelvénnyel vannak megjelölve, és láthatók a rendszergazda számára" "Értem" - "A munkahelyi alkalmazások ki vannak kapcsolva" + "A munkahelyi alkalmazások szüneteltetve vannak" "A munkahelyi alkalmazások nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez." "A munkahelyi alkalmazások ki vannak kapcsolva, nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez" "A munkahelyi alkalmazások jelvénnyel vannak megjelölve, és láthatók a rendszergazda számára" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index b261b02e7a..5bccfa4da1 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -46,8 +46,8 @@ "Վիջեթներ" "Որոնեք" "Մաքրել որոնման դաշտի տեքստը" - "Վիջեթներ չկան" - "Որոնման արդյունքներ չկան" + "Հասանելի վիջեթներ և դյուրանցումներ չկան" + "Ոչ մի վիջեթ կամ դյուրանցում չի գտնվել" "Անձնական" "Աշխատանքային" "Զրույցներ" @@ -64,7 +64,8 @@ "Ծանուցումներ" "Հպեք և պահեք՝ դյուրանցում տեղափոխելու համար։" "Կրկնակի հպեք և պահեք՝ դյուրանցում տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։" - "Այլևս տեղ չկա այս հիմնական էկրանին:" + + "Ընտրյալների ցուցակում այլևս ազատ տեղ չկա" "Հավելվածների ցանկ" "Անձնական հավելվածների ցանկ" @@ -82,10 +83,8 @@ "ստեղծել հիմնաէջի կարգավորումներ ու դյուրանցումներ" "Ծրագրին թույլ է տալիս փոփոխել հիմնաէջի կարգավորումներն ու դյուրանցումները:" "%1$s հավելվածին չի թույլատրվում հեռախոսազանգեր կատարել" - - - - + "Չհաջողվեց բեռնել վիջեթը" + "Հպեք՝ կարգավորումն ավարտելու համար" "Սա համակարգային ծրագիր է և չի կարող ապատեղադրվել:" "Փոխել անունը" "%1$s հավելվածն անջատված է" @@ -160,7 +159,7 @@ "Աշխատանքային պրոֆիլ" "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" "Եղավ" - "Աշխատանքային հավելվածներն անջատված են" + "Աշխատանքային հավելվածները դադարեցված են" "Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" "Աշխատանքային հավելվածներն անջատված են։ Դրանք չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 8b45632d4c..a87e68a5f5 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -46,8 +46,8 @@ "Widget" "Telusuri" "Hapus teks dari kotak penelusuran" - "Widget tidak tersedia" - "Tidak ada hasil penelusuran" + "Widget dan pintasan tidak tersedia" + "Tidak ada widget atau pintasan yang ditemukan" "Pribadi" "Kantor" "Percakapan" @@ -64,7 +64,8 @@ "Notifikasi" "Sentuh lama untuk memindahkan pintasan." "Ketuk dua kali & tahan untuk memindahkan pintasan atau gunakan tindakan khusus." - "Tidak ada ruang lagi di Layar Utama ini." + + "Tidak ada ruang tersisa di baki Favorit" "Daftar aplikasi" "Daftar aplikasi pribadi" @@ -82,10 +83,8 @@ "menulis setelan dan pintasan layar Utama" "Mengizinkan aplikasi mengubah setelan dan pintasan di layar Utama." "%1$s tidak diizinkan untuk melakukan panggilan telepon" - - - - + "Tidak dapat memuat widget" + "Ketuk untuk menyelesaikan penyiapan" "Ini adalah aplikasi sistem dan tidak dapat dicopot pemasangannya." "Sunting Nama" "%1$s dinonaktifkan" @@ -160,7 +159,7 @@ "Profil kerja" "Aplikasi kerja diberi badge dan terlihat oleh admin IT" "Oke" - "Aplikasi kerja dinonaktifkan" + "Aplikasi kerja dijeda" "Aplikasi kerja tidak dapat mengirimkan notifikasi, menggunakan baterai, atau mengakses lokasi Anda" "Aplikasi kerja dinonaktifkan. Aplikasi kerja tidak dapat mengirimkan notifikasi, menggunakan baterai, atau mengakses lokasi Anda" "Aplikasi kerja diberi badge dan terlihat oleh admin IT" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index baa4a87933..96a0f550cc 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -46,8 +46,8 @@ "Græjur" "Leit" "Hreinsa texta úr leitarreit" - "Engar græjur í boði" - "Engar leitarniðurstöður" + "Græjur og flýtileiðir eru ekki í boði" + "Engar græjur eða flýtileiðir fundust" "Persónulegt" "Vinna" "Samtöl" @@ -64,7 +64,8 @@ "Tilkynningar" "Haltu fingri á flýtileið til að færa hana." "Ýttu tvisvar og haltu fingri á flýtileið til að færa hana eða notaðu sérsniðnar aðgerðir." - "Ekki meira pláss á þessum heimaskjá." + + "Ekki meira pláss í bakka fyrir uppáhald" "Forritalisti" "Listi yfir eigin forrit" @@ -82,10 +83,8 @@ "skrifa stillingar og flýtileiðir heimaskjás" "Leyfir forriti að breyta stillingum og flýtileiðum heimaskjás." "%1$s hefur ekki leyfi til að hringja símtöl" - - - - + "Ekki hægt að hlaða græju" + "Ýttu til að ljúka við uppsetningu" "Þetta er kerfisforrit sem ekki er hægt að fjarlægja." "Breyta nafni" "Óvirkt %1$s" @@ -160,7 +159,7 @@ "Vinnusnið" "Vinnuforrit eru merkt og kerfisstjórinn getur séð þau" "Ég skil" - "Slökkt er á vinnuforritum" + "Hlé gert á vinnuforritum" "Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" "Slökkt er á vinnuforritum. Vinnuforrit geta ekki sent þér tilkynningar, notað rafhlöðuorku eða fengið aðgang að staðsetningu þinni" "Vinnuforrit eru merkt og kerfisstjórinn getur séð þau" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 54a6560d04..4ae23d870c 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -46,8 +46,8 @@ "Widget" "Cerca" "Cancella il testo nella casella di ricerca" - "Nessun widget disponibile" - "Nessun risultato di ricerca" + "Widget e scorciatoie non disponibili" + "Impossibile trovare widget o scorciatoie" "Personali" "Lavoro" "Conversazioni" @@ -64,7 +64,8 @@ "Notifiche" "Tocca e tieni premuto per spostare una scorciatoia." "Tocca due volte e tieni premuto per spostare una scorciatoia o per usare le azioni personalizzate." - "Spazio nella schermata Home esaurito." + + "Spazio esaurito nella barra dei Preferiti" "Elenco di app" "Elenco di app personali" @@ -82,10 +83,8 @@ "creazione di impostazioni e scorciatoie in Home" "Consente all\'app di modificare le impostazioni e le scorciatoie in Home." "L\'app %1$s non è autorizzata a effettuare telefonate" - - - - + "Impossibile caricare il widget" + "Tocca per completare la configurazione" "Questa è un\'app di sistema e non può essere disinstallata." "Modifica nome" "App %1$s disattivata" @@ -160,7 +159,7 @@ "Profilo di lavoro" "Le app di lavoro sono contrassegnate con un badge e visibili all\'amministratore IT" "OK" - "Le app di lavoro non sono attive" + "Le app di lavoro sono in pausa" "Le app di lavoro non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" "Le app di lavoro non sono attive e non possono inviarti notifiche, usare la batteria o accedere alla tua posizione" "Le app di lavoro sono contrassegnate con un badge e sono visibili dal tuo amministratore IT" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index 6291e308f4..4ba2599847 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -50,8 +50,8 @@ "ווידג\'טים" "חיפוש" "מחיקת טקסט מתיבת החיפוש" - "אין ווידג\'טים זמינים" - "אין תוצאות חיפוש" + "אין ווידג\'טים או קיצורי דרך" + "לא נמצאו ווידג\'טים או קיצורי דרך" "ווידג\'טים אישיים" "עבודה" "שיחות" @@ -68,7 +68,8 @@ "התראות" "כדי להעביר קיצור דרך למקום אחר יש לגעת ולא להרפות." "כדי להעביר קיצור דרך למקום אחר או להשתמש בפעולות מותאמות אישית\' יש ללחוץ פעמיים ולא להרפות." - "אין עוד מקום במסך הבית הזה." + + "אין עוד מקום במגש המועדפים" "רשימת אפליקציות" "רשימת אפליקציות אישיות" @@ -86,10 +87,8 @@ "כתיבת הגדרות וקיצורי דרך של דף הבית" "מאפשר לאפליקציה לשנות את ההגדרות וקיצורי הדרך בדף הבית." "%1$s אינו רשאי להתקשר" - - - - + "לא ניתן לטעון את הווידג\'ט" + "צריך להקיש כדי לסיים את תהליך ההגדרה" "זוהי אפליקציית מערכת ולא ניתן להסיר את התקנתה." "עריכת השם" "%1$s מושבתת" @@ -166,7 +165,7 @@ "פרופיל עבודה" "‏האפליקציות לעבודה מתויגות ומוצגות למנהל ה-IT" "הבנתי" - "האפליקציות לעבודה מושבתות" + "האפליקציות לעבודה מושהות" "האפליקציות לעבודה לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" "האפליקציות לעבודה מושבתות. האפליקציות לא יכולות לשלוח לך התראות, להשתמש בסוללה או לגשת למיקום שלך" "‏האפליקציות לעבודה מתויגות ומוצגות למנהל ה-IT" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 3586843a2f..700fc44377 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -46,8 +46,8 @@ "ウィジェット" "検索" "検索ボックスからテキストを消去します" - "利用できるウィジェットはありません" - "検索結果がありません" + "ウィジェットもショートカットも利用できません" + "ウィジェットもショートカットも見つかりませんでした" "個人用" "仕事用" "会話" @@ -64,7 +64,8 @@ "通知" "長押ししてショートカットを移動してください。" "ショートカットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。" - "このホーム画面には空きスペースがありません。" + + "お気に入りトレイに空きスペースがありません" "アプリのリスト" "個人用アプリのリスト" @@ -82,10 +83,8 @@ "ホームの設定とショートカットの書き込み" "ホームの設定とショートカットの変更をアプリに許可します。" "「%1$s」から電話をかけることはできません" - - - - + "ウィジェットを読み込めません" + "タップして設定を完了してください" "このシステムアプリはアンインストールできません。" "名前の編集" "「%1$s」は無効です" @@ -160,7 +159,7 @@ "仕事用プロファイル" "仕事用アプリはバッジが付き、IT 管理者に公開されます" "OK" - "仕事用アプリは OFF になっています" + "仕事用アプリの一時停止" "仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" "仕事用アプリは OFF になっています。仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" "仕事用アプリはバッジが付き、IT 管理者に公開されます" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index a03a45852d..579ff60e52 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -46,8 +46,8 @@ "ვიჯეტები" "ძიება" "ტექსტის გასუფთავება საძიებო ველიდან" - "ვიჯეტები მიუწვდომელია" - "ძიების შედეგები ვერ მოიძებნა" + "ვიჯეტები და მალსახმობები ხელმისაწვდომი არ არის" + "ვიჯეტები ან მალსახმობები ვერ მოიძებნა" "პირადი" "სამსახური" "მიმოწერები" @@ -64,7 +64,8 @@ "შეტყობინებები" "შეხებით აირჩიეთ და გეჭიროთ მალსახმობის გადასაადგილებლად." "ორმაგი შეხებით აირჩიეთ და გეჭიროთ მალსახმობის გადასაადგილებლად ან მორგებული მოქმედებების გამოსაყენებლად." - "ამ მთავარ ეკრანზე ადგილი აღარ არის." + + "რჩეულების თაროზე ადგილი არ არის" "აპების სია" "პერსონალური აპების სია" @@ -158,7 +159,7 @@ "სამსახურის პროფილი" "სამსახურის აპები ბეჯით არის მონიშნული და ხილულია IT ადმინისტრატორისთვის" "გასაგებია" - "სამსახურის აპები გამორთულია" + "სამსახურის აპები დაპაუზებულია" "თქვენს სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" "სამსახურის აპები გამორთულია. თქვენს სამსახურის აპებს არ შეუძლია თქვენთვის შეტყობინებების გამოგზავნა, თქვენი ბატარეის გამოყენება, ან თქვენს მდებარეობაზე წვდომა" "სამსახურის აპები ბეჯით არის მონიშნული და ხილულია IT ადმინისტრატორისთვის" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 057ca353cb..5783873eed 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -46,8 +46,8 @@ "Виджеттер" "Іздеу" "Мәтінді іздеу өрісінен өшіру" - "Қолжетімді виджет жоқ." - "Іздеу нәтижелері жоқ." + "Виджеттер мен таңбашалар қолжетімді емес." + "Ешқандай виджет немесе таңбаша табылмады." "Жеке виджеттер" "Жұмыс виджеттері" "Әңгімелер" @@ -64,7 +64,8 @@ "Хабарландырулар" "Таңбашаны жылжыту үшін басып тұрыңыз." "Таңбашаны жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." - "Бұл Негізгі экранда орын қалмады." + + "Қалаулылар науасында орын қалмады" "Қолданбалар тізімі" "Жеке қолданбалар тізімі" @@ -82,10 +83,8 @@ "Негізгі экран параметрлері мен төте пернелерін жазу" "Қолданбаға Негізгі экрандағы параметрлер мен төте пернелерді өзгерту мүмкіндігін береді." "%1$s арқылы телефон қоңырауларын соғуға рұқсат етілмеген" - - - - + "Виджетті жүктеу мүмкін емес." + "Реттеуді аяқтау үшін түртіңіз." "Бұл жүйе қолданбасы, сондықтан оны алу мүмкін емес." "Атын өңдеу" "%1$s өшірілді" @@ -160,7 +159,7 @@ "Жұмыс профилі" "Жұмыс қолданбаларының танымбелгілері бар және олар әкімшіңізге көрінеді." "Түсінікті" - "Жұмыс қолданбалары өшірулі" + "Жұмыс қолданбалары кідіртілді" "Жұмыс қолданбалары сізге хабарландырулар жібере, батареяңызды немесе локацияңызды пайдалана алмайды." "Жұмыс қолданбалары өшірулі. Олар сізге хабарландырулар жібере, батареяңызды немесе локацияңызды пайдалана алмайды." "Жұмыс қолданбаларының танымбелгілері бар және олар әкімшіңізге көрінеді." diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 08f9d0a5e9..48f968b8e7 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -46,8 +46,8 @@ "ធាតុ​ក្រាហ្វិក" "ស្វែងរក" "សម្អាត​ពាក្យឬឃ្លា​ចេញពី​ប្រអប់ស្វែងរក" - "គ្មាន​ធាតុក្រាហ្វិក​ទេ" - "គ្មាន​លទ្ធផល​ស្វែងរក​ទេ" + "មិនមាន​ធាតុក្រាហ្វិក និងផ្លូវកាត់​បានទេ" + "រកមិនឃើញ​ធាតុក្រាហ្វិក ឬផ្លូវកាត់​ទេ" "ផ្ទាល់ខ្លួន" "ការងារ" "ការសន្ទនា" @@ -64,7 +64,8 @@ "ការ​ជូនដំណឹង" "ចុចឱ្យជាប់​ដើម្បីផ្លាស់ទី​ផ្លូវកាត់​។" "ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ផ្លូវកាត់ ឬប្រើ​សកម្មភាព​តាមបំណង​។" - "គ្មាន​កន្លែង​នៅ​លើ​អេក្រង់​ដើម​នេះ​ទៀត​ទេ។" + + "គ្មាន​បន្ទប់​​ក្នុង​ថាស​និយម​ប្រើ" "បញ្ជីកម្មវិធី" "បញ្ជី​កម្មវិធី​ផ្ទាល់ខ្លួន" @@ -82,10 +83,8 @@ "សរសេរ​ការ​កំណត់ ​និង​ផ្លូវកាត់​​លើ​អេក្រង់​ដើម" "អនុញ្ញាត​ឲ្យ​កម្មវិធី​ប្ដូរ​ការ​កំណត់ និង​ផ្លូវ​កាត់​ក្នុង​អេក្រង់​ដើម។" "%1$s មិនត្រូវបានអនុញ្ញាតឲ្យធ្វើការហៅទូរស័ព្ទទេ" - - - - + "មិនអាចផ្ទុក​ធាតុក្រាហ្វិក​បានទេ" + "ចុច​ដើម្បី​បញ្ចប់​ការរៀបចំ" "នេះ​​​ជា​កម្មវិធី​ប្រព័ន្ធ មិន​អាច​លុប​បាន​ទេ។" "កែ​ឈ្មោះ" "បានបិទដំណើរការ %1$s" @@ -160,7 +159,7 @@ "កម្រងព័ត៌មានការងារ" "កម្មវិធីការងារ​ត្រូវបានដាក់​គ្រឿងសម្គាល់ ហើយ​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក​អាចមើលឃើញ" "យល់ហើយ" - "កម្មវិធីការងារ​ត្រូវបានបិទ" + "កម្មវិធី​ការងារ​ត្រូវបានផ្អាក" "កម្មវិធី​ការងារ​របស់អ្នក​មិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" "កម្មវិធីការងារ​ត្រូវបានបិទ។ កម្មវិធីការងារ​របស់អ្នកមិនអាចផ្ញើ​ការជូនដំណឹង​ទៅអ្នក ប្រើប្រាស់ថ្ម​របស់អ្នក ឬ​ចូលប្រើ​ទីតាំង​របស់អ្នក​បានទេ" "កម្មវិធីការងារ​ត្រូវបានដាក់​គ្រឿងសម្គាល់ ហើយ​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក​អាចមើលឃើញ" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 01dda6d286..a40b5685b4 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -46,8 +46,8 @@ "ವಿಜೆಟ್‌ಗಳು" "ಹುಡುಕಿ" "ಹುಡುಕಾಟ ಪೆಟ್ಟಿಗೆಯಿಂದ ಪಠ್ಯವನ್ನು ತೆರವುಗೊಳಿಸಿ" - "ಯಾವುದೇ ವಿಜೆಟ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ" - "ಯಾವುದೇ ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳಿಲ್ಲ" + "ವಿಜೆಟ್‌ಗಳು ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ" + "ಯಾವುದೇ ವಿಜೆಟ್‌ಗಳು ಅಥವಾ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ" "ವೈಯಕ್ತಿಕ" "ಕೆಲಸ" "ಸಂವಾದಗಳು" @@ -64,7 +64,8 @@ "ಅಧಿಸೂಚನೆಗಳು" "ಶಾರ್ಟ್‌ಕಟ್ ಸರಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." "ಶಾರ್ಟ್‌ಕಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." - "ಈ ಮುಖಪುಟದ ಪರದೆಯಲ್ಲಿ ಹೆಚ್ಚು ಸ್ಥಳಾವಕಾಶವಿಲ್ಲ." + + "ಮೆಚ್ಚಿನವುಗಳ ಟ್ರೇನಲ್ಲಿ ಹೆಚ್ಚಿನ ಸ್ಥಳಾವಕಾಶವಿಲ್ಲ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ" "ವೈಯಕ್ತಿಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ" @@ -82,10 +83,8 @@ "ಮುಖಪುಟದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ಬರೆಯಿರಿ" "ಮುಖಪುಟದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿ ನೀಡುತ್ತದೆ." "ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು %1$s ಅಪ್ಲಿಕೇಶನ್‌‌ಗೆ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ" - - - - + "ವಿಜೆಟ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ" + "ಸೆಟಪ್ ಪೂರ್ಣಗೊಳಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ" "ಇದೊಂದು ಅಪ್ಲಿಕೇಶನ್ ಆಗಿದೆ ಮತ್ತು ಅಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ." "ಹೆಸರನ್ನು ಎಡಿಟ್ ಮಾಡಿ" "%1$s ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" @@ -160,7 +159,7 @@ "ಕೆಲಸದ ಪ್ರೊಫೈಲ್" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತವೆ" "ಸರಿ" - "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ" + "ಉದ್ಯೋಗದ ಆ್ಯಪ್‌ಗಳನ್ನು ವಿರಾಮಗೊಲಿಸಲಾಗಿದೆ" "ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ. ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತದೆ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index c06d33753e..aba3f3dc54 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -46,8 +46,8 @@ "위젯" "검색" "검색창에서 텍스트 지우기" - "사용 가능한 위젯 없음" - "검색결과 없음" + "위젯이나 바로가기를 사용할 수 없습니다." + "위젯이나 바로가기가 없습니다." "개인 위젯" "직장 위젯" "대화" @@ -64,7 +64,8 @@ "알림" "길게 터치하여 바로가기를 이동하세요." "두 번 탭한 다음 길게 터치하여 바로가기를 이동하거나 맞춤 작업을 사용하세요." - "홈 화면에 더 이상 공간이 없습니다." + + "즐겨찾기 트레이에 더 이상 공간이 없습니다." "앱 목록" "개인 앱 목록" @@ -82,10 +83,8 @@ "홈 설정 및 바로가기 쓰기" "앱이 홈에 있는 설정 및 바로가기를 변경할 수 있도록 합니다." "%1$s에서 전화를 걸 수 없습니다." - - - - + "위젯을 로드할 수 없습니다." + "탭하여 설정을 완료하세요." "시스템 앱은 제거할 수 없습니다." "이름 수정" "%1$s 사용 안함" @@ -160,7 +159,7 @@ "직장 프로필" "직장 앱에는 배지가 있으며, IT 관리자는 직장 앱을 확인할 수 있습니다" "확인" - "직장 앱이 꺼져 있음" + "직장 앱이 일시중지됨" "직장 앱에서 알림을 보내거나 배터리를 사용하거나 위치 정보에 액세스할 수 없습니다." "직장 앱이 꺼져 있습니다. 직장 앱에서 알림을 보내거나 배터리를 사용하거나 위치 정보에 액세스할 수 없습니다." "직장 앱에는 배지가 있으며, IT 관리자는 직장 앱을 확인할 수 있습니다." diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 122beaca13..605ebe1d2a 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -46,8 +46,8 @@ "Виджеттер" "Издөө" "Текстти издөө кутучасынан тазалоо" - "Виджет жок" - "Издөө жыйынтыктары жок" + "Виджеттер менен ыкчам баскычтар жеткиликсиз" + "Виджеттер менен ыкчам баскычтар табылган жок" "Жеке виджеттер" "Жумуш" "Сүйлөшүүлөр" @@ -64,7 +64,8 @@ "Билдирмелер" "Ыкчам баскычты жылдыруу үчүн коё бербей басып туруңуз." "Ыкчам баскычты жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз." - "Бул экранда бош орун жок." + + "Тандамалдар тайпасында орун калган жок" "Колдонмолор тизмеси" "Жеке колдономолордун тизмеси" @@ -82,10 +83,8 @@ "Үйдүн тууралоолорун жана тез чакырмаларын жазуу" "Колдонмого Үйдүн тууралоолорун жана тез чакырмаларын өзгөртүүгө уруксат берет." "%1$s телефон чалууларды аткарууга уруксаты жок" - - - - + "Виджет жүктөлбөй жатат" + "Жөндөп бүтүрүү үчүн таптап коюңуз" "Бул системдик колдонмо жана аны чечкенге болбойт." "Аталышын түзөтүү" "%1$s өчүрүлгөн" @@ -160,7 +159,7 @@ "Жумуш профили" "Жумуш колдонмолору белгиленип, аларды IT администраторлору көрөт" "Түшүндүм" - "Жумуш колдонмолору өчүк" + "Жумуш колдонмолору тындырылды" "Жумуш колдонмолору билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" "Жумуш колдонмолору өчүк жана билдирмелерди жөнөтүп, түзмөгүңүздүн батареясын керектеп же кайда жүргөнүңүздү көрө албайт" "Жумуш колдонмолору белгиленип, аларды IT администраторлору көрөт" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index 73d9fc4802..9973fa513d 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -46,8 +46,8 @@ "ວິດເຈັດ" "ຊອກຫາ" "ລຶບລ້າງຂໍ້ຄວາມຈາກກ່ອງຊອກຫາ" - "ບໍ່ມີວິດເຈັດທີ່ສາມາດໃຊ້ໄດ້" - "ບໍ່​ມີ​ຜົນ​​ການ​ຊອກຫາ​" + "ບໍ່ສາມາດໃຊ້ວິດເຈັດ ຫຼື ທາງລັດໄດ້" + "ບໍ່ພົບວິດເຈັດ ຫຼື ທາງລັດ" "ສ່ວນຕົວ" "ວຽກ" "ການສົນທະນາ" @@ -64,7 +64,8 @@ "ການແຈ້ງເຕືອນ" "ແຕະຄ້າງໄວ້ເພື່ອຍ້າຍທາງລັດ." "ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍທາງລັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ." - "ບໍ່ມີບ່ອນຫວ່າງໃນໜ້ານີ້." + + "ບໍ່ມີບ່ອນຫວ່າງໃນຖາດສຳລັບເກັບສິ່ງທີ່ໃຊ້ເປັນປະຈຳ" "ລາຍຊື່ແອັບ" "ລາຍຊື່ແອັບສ່ວນຕົວ" @@ -82,10 +83,8 @@ "ຂຽນການຕັ້ງຄ່າໜ້າຫຼັກ ແລະທາງລັດ" "ອະນຸຍາດໃຫ້ແອັບຯດັ່ງກ່າວ ປ່ຽນການຕັ້ງຄ່າ ແລະທາງລັດໃນໜ້າຫຼັກ." "%1$s ບໍ່​ໄດ້​ຮັບ​ອະ​ນຸ​ຍາດ​ໃຫ້​ໂທ" - - - - + "ບໍ່ສາມາດໂຫຼດວິດເຈັດໄດ້" + "ແຕະເພື່ອຕັ້ງຄ່າໃຫ້ແລ້ວ" "ນີ້ແມ່ນແອັບຯຂອງລະບົບ ແລະບໍ່ສາມາດຖອນການຕິດຕັ້ງອອກໄດ້." "ແກ້ໄຂຊື່" "ປິດການນຳໃຊ້ %1$s ແລ້ວ" @@ -160,7 +159,7 @@ "ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ" "ແອັບບ່ອນເຮັດວຽກແມ່ນຖືກຕິດປ້າຍ ແລະ ສະແດງໃຫ້ຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານເຫັນ" "ເຂົ້າໃຈແລ້ວ" - "ແອັບບ່ອນເຮັດວຽກຖືກປິດໄວ້ຢູ່" + "ຢຸດແອັບວຽກໄວ້ຊົ່ວຄາວແລ້ວ" "ແອັບບ່ອນເຮັດວຽກຂອງທ່ານຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນຫາທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" "ແອັບບ່ອນເຮັດວຽກຖືກປິດໄວ້ຢູ່. ແອັບບ່ອນເຮັດວຽກຂອງທ່ານຈະບໍ່ສາມາດສົ່ງການແຈ້ງເຕືອນໃຫ້ທ່ານ, ໃຊ້ແບັດເຕີຣີຂອງທ່ານ ຫຼື ເຂົ້າເຖິງສະຖານທີ່ຂອງທ່ານໄດ້" "ແອັບບ່ອນເຮັດວຽກແມ່ນຖືກຕິດປ້າຍ ແລະ ສະແດງໃຫ້ຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານເຫັນ" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 6843530cfb..314fcf4492 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -50,8 +50,8 @@ "Valdikliai" "Paieška" "Išvalyti tekstą iš paieškos laukelio" - "Nėra jokių pasiekiamų valdiklių" - "Nėra jokių paieškos rezultatų" + "Valdikliai ir spartieji klavišai nepasiekiami" + "Neaptikta jokių valdiklių ar sparčiųjų klavišų" "Asmeniniai" "Darbas" "Pokalbiai" @@ -68,7 +68,8 @@ "Pranešimai" "Dukart pal. ir palaik., kad perk. spart. klavišą." "Dukart palieskite ir palaikykite, kad perkeltumėte spartųjį klavišą ar naudotumėte tinkintus veiksmus." - "Šiame pagrindiniame ekrane vietos nebėra." + + "Mėgstamiausių dėkle nebėra vietos" "Programų sąrašas" "Asmeninių programų sąrašas" @@ -86,10 +87,8 @@ "rašyti pagrindinio puslapio nustatymus ir sparčiuosius klavišus" "Programai leidžiama keisti pagrindinio puslapio nustatymus ir sparčiuosius klavišus." "„%1$s“ neleidžiama skambinti" - - - - + "Nepavyko įkelti valdiklio" + "Palieskite, kad užbaigtumėte sąranką" "Tai sistemos programa ir jos negalima pašalinti." "Pavadinimo redagavimas" "„%1$s“ išjungta" @@ -166,7 +165,7 @@ "Darbo profilis" "Darbo programos yra pažymėtos ženkleliu ir matomos IT administratoriui" "Supratau" - "Darbo programos išjungtos" + "Darbo programos pristabdytos" "Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" "Darbo programos išjungtos. Darbo programos negali siųsti jums pranešimų, naudoti jūsų akumuliatoriaus ar pasiekti jūsų vietovės" "Darbo programos yra pažymėtos ženkleliu ir matomos IT administratoriui" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index ed6ebf610a..916893f579 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -48,8 +48,8 @@ "Logrīki" "Meklēt" "Notīrīt tekstu no meklēšanas lodziņa" - "Nav pieejams neviens logrīks" - "Nav meklēšanas rezultātu" + "Logrīki un saīsnes nav pieejamas." + "Netika atrasts neviens logrīks vai saīsne." "Personīgs" "Darba" "Sarunas" @@ -66,7 +66,8 @@ "Paziņojumi" "Lai pārvietotu saīsni, pieskarieties un turiet." "Lai pārvietotu saīsni, uz tās veiciet dubultskārienu un turiet. Varat arī veikt pielāgotas darbības." - "Šajā sākuma ekrānā vairs nav vietas." + + "Izlases joslā vairs nav vietas." "Lietotņu saraksts" "Personīgo lietotņu saraksts" @@ -84,10 +85,8 @@ "rakstīt sākuma ekrāna iestatījumus un saīsnes" "Ļauj lietotnei mainīt iestatījumus un saīsnes sākuma ekrānā." "Lietotnei %1$s nav atļauts veikt tālruņa zvanus." - - - - + "Nevar ielādēt logrīku." + "Pieskarieties, lai pabeigtu iestatīšanu." "Šī ir sistēmas lietotne, un to nevar atinstalēt." "Nosaukuma rediģēšana" "Lietotne %1$s ir atspējota" @@ -163,7 +162,7 @@ "Darba profils" "Darba lietotnēm ir pievienota emblēma, un tās ir redzamas jūsu IT administratoram" "Labi" - "Darba lietotnes ir izslēgtas" + "Darba lietotnes ir apturētas" "Jūsu darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." "Darba lietotnes ir izslēgtas. Jūsu darba lietotnes nevar sūtīt jums paziņojumus, izmantot akumulatoru un piekļūt jūsu atrašanās vietai." "Darba lietotnēm ir pievienota emblēma, un tās ir redzamas jūsu IT administratoram" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 2d5381171a..7ce9796205 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -46,8 +46,8 @@ "Виџети" "Пребарувајте" "Избриши го текстот од полето за пребарување" - "Нема достапни виџети" - "Нема резултати од пребарувањето" + "Виџетите и кратенките не се достапни" + "Не се најдени виџети или кратенки" "Лични" "Работни" "Разговори" @@ -64,7 +64,8 @@ "Известувања" "Допрете и задржете за да преместите кратенка." "Допрете двапати и задржете за да преместите кратенка или користете приспособени дејства." - "Нема повеќе простор на овој екран на почетната страница." + + "Нема повеќе простор на лентата „Омилени“" "Список со апликации" "Список со лични апликации" @@ -82,10 +83,8 @@ "пишува поставки и кратенки на почетна страница" "Овозможува апликацијата да ги менува подесувањата и кратенките на почетната страница." "%1$s нема дозвола за телефонски повици" - - - - + "Не може да се вчита виџетот" + "Допрете за да го завршите поставувањето" "Ова е системска апликација и не може да се деинсталира." "Изменете го името" "%1$s е оневозможена" @@ -160,7 +159,7 @@ "Работен профил" "Работните апликации имаат значка и се видливи за IT-администраторот" "Сфатив" - "Работните апликации се исклучени" + "Работните апликации се паузирани" "Работните апликации не може да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" "Работните апликации се исклучени. Не може да ви испраќаат известувања, да ја користат батеријата или да пристапуваат до вашата локација" "Работните апликации имаат значка и се видливи за IT-администраторот" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index f323d8fcfd..faffb00022 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -46,8 +46,8 @@ "വിജറ്റുകൾ" "തിരയൽ" "സെർച്ച് ബോക്‌സിൽ നിന്ന് ടെക്‌സ്‌റ്റ് മായ്‌ക്കുക" - "ഒരു വിജറ്റുകളും ലഭ്യമല്ല" - "തിരയൽ ഫലങ്ങളൊന്നുമില്ല" + "വിജറ്റുകളും കുറുക്കുവഴികളും ലഭ്യമല്ല" + "വിജറ്റുകളോ കുറുക്കുവഴികളോ കണ്ടെത്തിയില്ല" "വ്യക്തിപരം" "ജോലി" "സംഭാഷണങ്ങൾ" @@ -64,7 +64,8 @@ "അറിയിപ്പുകൾ" "കുറുക്കുവഴി നീക്കാൻ സ്‌പർശിച്ച് പിടിക്കുക." "കുറുക്കുവഴി നീക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യൂ, ഹോൾഡ് ചെയ്യൂ അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കൂ." - "ഈ ഹോം സ്‌ക്രീനിൽ ഒഴിവൊന്നുമില്ല." + + "പ്രിയപ്പെട്ടവയുടെ ട്രേയിൽ ഒഴിവൊന്നുമില്ല" "അപ്ലിക്കേഷനുകളുടെ ലിസ്‌റ്റ്" "വ്യക്തിഗത ആപ്പുകളുടെ ലിസ്റ്റ്" @@ -82,10 +83,8 @@ "ഹോം ക്രമീകരണങ്ങളും കുറുക്കുവഴികളും റൈറ്റുചെയ്യുക" "ഹോമിലെ ക്രമീകരണങ്ങളും കുറുക്കുവഴികളും മാറ്റാൻ അപ്ലിക്കേഷനെ അനുവദിക്കുന്നു." "ഫോൺ കോൾ ചെയ്യാൻ %1$s എന്നതിനെ അനുവദിച്ചിട്ടില്ല" - - - - + "വിജറ്റ് ലോഡ് ചെയ്യാനാകുന്നില്ല" + "സജ്ജീകരണം പൂർത്തിയാക്കാൻ ടാപ്പ് ചെയ്യുക" "ഇതൊരു സിസ്‌റ്റം അപ്ലിക്കേഷനായതിനാൽ അൺഇൻസ്‌റ്റാളുചെയ്യാനാവില്ല." "പേര് എഡിറ്റ് ചെയ്യുക" "%1$s പ്രവർത്തനരഹിതമാക്കി" @@ -160,7 +159,7 @@ "ഔദ്യോഗിക പ്രൊഫൈൽ" "ഔദ്യോഗിക ആപ്പുകൾക്ക് ബാഡ്‌ജ് നൽകിയിരിക്കുന്നു, അവ നിങ്ങളുടെ ഐടി അഡ്‌മിന് കാണാനുമാകും" "മനസ്സിലായി" - "ഔദ്യോഗിക ആപ്പുകൾ ഓഫാണ്" + "ഔദ്യോഗിക ആപ്പുകൾ തൽക്കാലം നിർത്തിയിരിക്കുന്നു" "നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" "ഔദ്യോഗിക ആപ്പുകൾ ഓഫാണ്. നിങ്ങൾക്ക് അറിയിപ്പുകൾ അയയ്ക്കാനോ ബാറ്ററി ഉപയോഗിക്കാനോ ലൊക്കേഷൻ ആക്‌സസ് ചെയ്യാനോ നിങ്ങളുടെ ഔദ്യോഗിക ആപ്പുകൾക്ക് കഴിയില്ല" "ഔദ്യോഗിക ആപ്പുകൾക്ക് ബാഡ്‌ജ് നൽകിയിരിക്കുന്നു, അവ നിങ്ങളുടെ ഐടി അഡ്‌മിന് കാണാനും കഴിയും" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index fc9f772bbe..0216ae574d 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -46,8 +46,8 @@ "Виджет" "Хайх" "Хайх хэсгээс текстийг арилгах" - "Боломжтой жижиг хэрэгсэл байхгүй" - "Хайлтын илэрц байхгүй" + "Жижиг хэрэгсэл болон товчлол боломжгүй байна" + "Жижиг хэрэгсэл эсвэл товчлол олдсонгүй" "Хувийн виджетүүд" "Ажил" "Харилцан яриа" @@ -64,7 +64,8 @@ "Мэдэгдэл" "Товчлолыг зөөхийн тулд хүрээд, удаан дарна уу." "Товчлолыг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу." - "Энэ Нүүр дэлгэц зайгүй." + + "\"Дуртай\" трей дээр өөр зай байхгүй байна" "Апп-н жагсаалт" "Хувийн аппын жагсаалт" @@ -82,10 +83,8 @@ "Нүүрний тохиргоо болон товчлолыг бичих" "Апп нь Нүүрэндэх товчлол болон тохиргоог өөрчилж чадна." "%1$s утасны дуудлага хийх боломжгүй" - - - - + "Жижиг хэрэгслийг ачаалах боломжгүй" + "Тохируулгыг дуусгахын тулд товшино уу" "Энэ апп нь системийн апп ба устгах боломжгүй." "Нэр засах" "%1$s-г идэвхгүй болгосон" @@ -160,7 +159,7 @@ "Ажлын профайл" "Ажлын аппуудыг тэмдэглэсэн бөгөөд танай IT админд харагдана" "Ойлголоо" - "Ажлын аппууд унтраалттай байна" + "Ажлын аппуудыг түр зогсоосон" "Таны ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" "Ажлын аппууд унтраалттай байна. Таны ажлын аппууд танд мэдэгдэл илгээх, таны батарейг ашиглах эсвэл байршилд тань хандах боломжгүй" "Ажлын аппуудыг тэмдэглэсэн бөгөөд танай IT админд харагдана" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index 6a333f7045..e7269caeee 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -46,8 +46,8 @@ "विजेट" "शोधा" "सर्च बॉक्समधून मजकूर साफ करा" - "कोणतीही विजेट उपलब्ध नाहीत" - "कोणतेही शोध परिणाम नाहीत" + "विजेट आणि शॉर्टकट उपलब्ध नाहीत" + "कोणतीही विजेट किंवा शॉर्टकट आढळले नाहीत" "वैयक्तिक" "ऑफिस" "संभाषणे" @@ -64,7 +64,8 @@ "सूचना" "शॉर्टकट हलवण्यासाठी स्पर्श करा आणि धरून ठेवा." "शॉर्टकट हलवण्यासाठी किंवा कस्टम कृती वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा." - "या मुख्य स्क्रीनवर आणखी जागा नाही." + + "आवडीच्या ट्रे मध्ये आणखी जागा नाही" "अ‍ॅप्स सूची" "वैयक्तिक अ‍ॅप्स सूची" @@ -75,17 +76,15 @@ "इंस्टॉल करा" "ॲप सुचवू नका" "पूर्वानुमान पिन करा" - "शॉर्टकट स्‍थापित करा" + "शॉर्टकट इंस्टॉल करा" "वापरकर्ता हस्तक्षेपाशिवाय शॉर्टकट जोडण्यास अ‍ॅप ला अनुमती देते." "होम सेटिंग्ज आणि शॉर्टकट वाचा" "मुख्यपृष्ठातील सेटिंग्ज आणि शॉर्टकट वाचण्यास अ‍ॅप ला अनुमती देते." "होम सेटिंग्ज आणि शॉर्टकट लिहा" "मुख्यपृष्ठातील सेटिंग्ज आणि शॉर्टकट बदलण्यास अ‍ॅप ला अनुमती देते." "%1$s ला फोन कॉल करण्याची अनुमती नाही" - - - - + "विजेट लोड करू शकत नाही" + "सेटअप पूर्ण करण्यासाठी टॅप करा" "हा सिस्टम अ‍ॅप आहे आणि अनइंस्टॉल केला जाऊ शकत नाही." "नाव संपादित करा" "%1$s अक्षम केला आहे" @@ -160,7 +159,7 @@ "कार्य प्रोफाइल" "कामाशी संबंधित ॲप्स ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" - "कामाशी संबंधित ॲप्स बंद आहेत" + "कार्य ॲप्स थांबवली आहेत" "तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "कामाशी संबंधित ॲप्स बंद आहेत. तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "Work apps ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 07b414a1d1..3b200fda73 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -46,8 +46,8 @@ "Widget" "Cari" "Kosongkan teks daripada kotak carian" - "Widget tidak tersedia" - "Tiada hasil carian" + "Widget dan pintasan tidak tersedia" + "Tiada widget atau pintasan yang dijumpai" "Peribadi" "Tempat kerja" "Perbualan" @@ -64,7 +64,8 @@ "Pemberitahuan" "Sentuh & tahan untuk menggerakkan pintasan." "Ketik dua kali & tahan untuk menggerakkan pintasan atau menggunakan tindakan tersuai." - "Tiada lagi ruang pada skrin Laman Utama ini." + + "Tiada ruang dalam dulang Kegemaran lagi" "Senarai apl" "Senarai apl peribadi" @@ -82,10 +83,8 @@ "tulis tetapan dan pintasan Laman Utama" "Membenarkan apl menukar tetapan dan pintasan di Laman Utama." "%1$s tidak dibenarkan membuat panggilan telefon" - - - - + "Tidak dapat memuatkan widget" + "Ketik untuk menyelesaikan persediaan" "Ini ialah apl sistem dan tidak boleh dinyahpasang." "Edit Nama" "%1$s dilumpuhkan" @@ -160,7 +159,7 @@ "Profil kerja" "Apl kerja mempunyai lencana dan kelihatan kepada pentadbir IT anda" "OK" - "Apl kerja dimatikan" + "Apl kerja dijeda" "Apl kerja anda tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" "Apl kerja dimatikan. Apl kerja anda tidak boleh menghantar pemberitahuan kepada anda, menggunakan bateri anda atau mengakses lokasi anda" "Apl kerja mempunyai lencana dan kelihatan kepada pentadbir IT anda" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index e9f42e4014..4077871d53 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -46,8 +46,8 @@ "ဝိဂျက်များ" "ရှာရန်" "ရှာဖွေစာလုံးဖြည့်ကွက်လပ်မှ စာသားကို ရှင်းလင်းပါ" - "ဝိဂျက်များ မရနိုင်ပါ" - "ရှာဖွေမှု ရလဒ်များ မရှိပါ" + "ဝိဂျက်နှင့် ဖြတ်လမ်းလင့်ခ်များ မရနိုင်ပါ" + "ဝိဂျက် (သို့) ဖြတ်လမ်းလင့်ခ်များ ရှာမတွေ့ပါ" "ကိုယ်ပိုင်" "အလုပ်" "စကားဝိုင်းများ" @@ -64,7 +64,8 @@ "အကြောင်းကြားချက်များ" "ဖြတ်လမ်းလင့်ခ်ကို ရွှေ့ရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" "ဖြတ်လမ်းလင့်ခ်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" - "ဤပင်မမျက်နှာစာတွင် နေရာလွတ် မကျန်တော့ပါ" + + "အနှစ်သက်ဆုံးများ ထားရာတွင် နေရာလွတ် မကျန်တော့ပါ" "အက်ပ်စာရင်း" "တစ်ကိုယ်ရေသုံး အက်ပ်စာရင်း" @@ -75,17 +76,15 @@ "ထည့်သွင်းရန်" "အက်ပ်ကို အကြံမပြုပါနှင့်" "ခန့်မှန်းချက်ကို ပင်ထိုးရန်" - "အတိုကောက်မှတ်သားမှုများအား ထည့်သွင်းခြင်း" + "ဖြတ်လမ်းလင့်ခ်များ ထည့်သွင်းခြင်း" "အသုံးပြုသူ လုပ်ဆောင်မှုမရှိပဲ အပ်ပလီကေးရှင်းကို အတိုကောက်မှတ်သားမှုများ ပြုလုပ်ခွင့် ပေးခြင်း" "ပင်မမျက်နှာစာ အပြင်အဆင် နှင့် အတိုကောက်မှတ်သားမှုများအား ဖတ်ခြင်း" "ပင်မမျက်နှာစာတွင်ရှိသော အပြင်အဆင်နှင့် အတိုကောက်မှတ်သားမှုများကို အပ်ပလီကေးရှင်းအား ဖတ်ခွင့်ပြုခြင်း" "ပင်မမျက်နှာစာ အပြင်အဆင် နှင့် အတိုကောက်မှတ်သားမှုများအား ရေးသားခြင်း" "ပင်မမျက်နှာစာတွင် ရှိသော အပြင်အဆင် နှင့် အတိုကောက်မှတ်သားမှုများ ကို အပ်ပလီကေးရှင်းအား ပြောင်းခွင့်ပြုခြင်း" "%1$sသည် ဖုန်းခေါ်ဆိုခွင့် မရှိပါ" - - - - + "ဝိဂျက်ကို ဖွင့်၍မရပါ" + "စနစ်ထည့်သွင်းခြင်း အပြီးသတ်ရန် တို့ပါ" "ဤအပ်ပလီကေးရှင်းမှာ စစ်စတန်ပိုင်းဆိုင်ရာ အပ်ပလီကေးရှင်းဖြစ်ပါသည်။ ထုတ်ပစ်၍ မရပါ" "အမည်ကို တည်းဖြတ်ပါ" "%1$s ကို ပိတ်ထားသည်" @@ -160,7 +159,7 @@ "အလုပ်ပရိုဖိုင်" "အလုပ်သုံးအက်ပ်များကို တံဆိပ်တပ်ထားပြီး သင်၏ IT စီမံခန့်ခွဲသူက မြင်နိုင်ပါသည်" "ရပါပြီ" - "အလုပ်သုံးအက်ပ်များ ပိတ်ထားသည်" + "အလုပ်သုံးအက်ပ်များကို ခေတ္တရပ်ထားသည်" "သင်၏ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" "အလုပ်သုံးအက်ပ်များ ပိတ်ထားသည်။ သင်၏ အလုပ်သုံးအက်ပ်များက အကြောင်းကြားချက်များ ပို့ခြင်း၊ သင့်ဘက်ထရီ သုံးခြင်း (သို့) သင့်တည်နေရာ သုံးခြင်းတို့ မပြုလုပ်နိုင်ပါ" "အလုပ်သုံးအက်ပ်များကို တံဆိပ်တပ်ထားပြီး သင်၏ IT စီမံခန့်ခွဲသူက မြင်နိုင်ပါသည်" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 046f4adbbd..4be9caa2a8 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -46,9 +46,9 @@ "Moduler" "Søk" "Tøm tekst fra søkefeltet" - "Ingen moduler er tilgjengelige" - "Ingen søkeresultater" - "Personlig" + "Moduler og snarveier er ikke tilgjengelige" + "Fant ingen moduler eller snarveier" + "Personlige" "Jobb" "Samtaler" "Lett tilgjengelig nyttig informasjon" @@ -64,7 +64,8 @@ "Varsler" "Trykk og hold for å flytte en snarvei." "Dobbelttrykk og hold for å flytte en snarvei eller bruke tilpassede handlinger." - "Denne startsiden er full." + + "Favoritter-skuffen er full" "App-liste" "Personlige apper-liste" @@ -82,10 +83,8 @@ "angi startsideinnstillinger og -snarveier" "Lar appen endre innstillingene og snarveiene på startsiden." "%1$s har ikke tillatelse til å ringe" - - - - + "Kan ikke laste inn modulen" + "Trykk for å fullføre konfigureringen" "Dette er en systemapp som ikke kan avinstalleres." "Rediger navn" "Slo av %1$s" @@ -160,7 +159,7 @@ "Jobbprofil" "Jobbapper er merket og synlige for IT-administratoren din" "Greit" - "Jobbapper er av" + "Jobbapper er satt på pause" "Jobbapper kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" "Jobbapper er av. De kan ikke sende deg varsler, bruke batteriet eller få tilgang til posisjonen din" "Jobbapper er merket og synlige for IT-administratoren din" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index f7dcd964d7..3c21701b08 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -46,8 +46,8 @@ "विजेटहरू" "खोज्नुहोस्" "खोज बाकसमा भएको पाठ हटाउनुहोस्" - "कुनै पनि विजेट उपलब्ध छैन" - "कुनै पनि खोज परिणाम भेटिएन" + "विजेट र सर्टकटहरू उपलब्ध छन्" + "कुनै पनि विजेट वा सर्टकट फेला परेन" "व्यक्तिगत" "कामसम्बन्धी" "वार्तालापहरू" @@ -64,7 +64,8 @@ "सूचनाहरू" "कुनै सर्टकट सार्न डबल ट्याप गरेर छोइराख्नुहोस्।" "कुनै सर्टकट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।" - "यो होम स्क्रिनमा थप ठाउँ छैन।" + + "मन पर्ने ट्रे अब कुनै ठाँउ छैन" "एपको सूची" "व्यक्तिगत अनुप्रयोगहरूको सूची" @@ -82,10 +83,8 @@ "गृह सेटिङहरू र सर्टकटहरू लेख्नुहोस्" "गृहमा एउटा एपलाई सेटिङ र सर्टकट बदल्न अनुमति दिनुहोस्।" "%1$s ले फोन कलहरू गर्न अनुमति छैन" - - - - + "विजेट लोड गर्न सकिएन" + "सेटअप गर्ने प्रक्रिया पूरा गर्न ट्याप गर्नुहोस्" "यो प्रणाली एप हो र यसलाई स्थापना रद्द गर्न सकिँदैन।" "नाम सम्पादन गर्नुहोस्" "असक्षम पारिएको %1$s" @@ -160,7 +159,7 @@ "कार्य प्रोफाइल" "कामसम्बन्धी एपहरूमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्छन्" "बुझेँ" - "कामसम्बन्धी एपहरू अफ गरिएका छन्" + "कार्यसम्बन्धी एपहरू पज गरिएका छन्" "तपाईंका कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" "कामसम्बन्धी एपहरू अफ गरिएका छन्। तपाईंका कामसम्बन्धी एपहरूले तपाईंलाई सूचना पठाउन, तपाईंको डिभाइसको ब्याट्री प्रयोग गर्न वा तपाईंको लोकेसन हेर्न सक्दैनन्" "कामसम्बन्धी एपमा ब्याज अङ्कित हुन्छ र तपाईंका IT एड्मिन ती एप हेर्न सक्नुहुन्छ" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index a48214788b..5f8878b730 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Zoeken" "Tekst in zoekvak wissen" - "Geen widgets beschikbaar" - "Geen zoekresultaten" + "Widgets en snelkoppelingen zijn niet beschikbaar" + "Geen widgets of snelkoppelingen gevonden" "Persoonlijk" "Werk" "Gesprekken" @@ -64,7 +64,8 @@ "Meldingen" "Tik en houd vast om een snelkoppeling te verplaatsen." "Dubbeltik en houd vast om een snelkoppeling te verplaatsen of aangepaste acties te gebruiken." - "Er is geen ruimte meer op dit startscherm." + + "Geen ruimte meer in het vak \'Favorieten\'" "Lijst met apps" "Lijst met persoonlijke apps" @@ -158,7 +159,7 @@ "Werkprofiel" "Werk-apps hebben badges en zijn zichtbaar voor je IT-beheerder" "OK" - "Werk-apps staan uit" + "Werk-apps zijn onderbroken" "Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie" "Werk-apps staan uit. Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie." "Werk-apps hebben badges en zijn zichtbaar voor je IT-beheerder" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 461c082e83..3289e1ad25 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -46,8 +46,10 @@ "ୱିଜେଟ୍‌" "ସନ୍ଧାନ କରନ୍ତୁ" "ସନ୍ଧାନ ବାକ୍ସରୁ ଟେକ୍ସଟ୍ ଖାଲି କରନ୍ତୁ" - "କୌଣସି ୱିଜେଟ୍ ଉପଲବ୍ଧ ନାହିଁ" - "କୌଣସି ସନ୍ଧାନ ଫଳାଫଳ ନାହିଁ" + + + + "ବ୍ୟକ୍ତିଗତ" "ୱାର୍କ" "ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ" @@ -64,7 +66,8 @@ "ବିଜ୍ଞପ୍ତି" "ଏକ ସର୍ଟକଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।" "ଏକ ସର୍ଟକଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।" - "ଏହି ମୂଳସ୍କ୍ରୀନରେ ଆଉ ଜାଗା ନାହିଁ" + + "ମନପସନ୍ଦ ଟ୍ରେରେ ଆଉ କୋଠରୀ ନାହିଁ" "ଆପ୍‌ ତାଲିକା" "ବ୍ୟକ୍ତିଗତ ଆପ୍ ତାଲିକା" @@ -82,10 +85,8 @@ "ହୋମ୍‌ ସେଟିଙ୍ଗ ଏବଂ ଶର୍ଟକଟ୍‌ ଲେଖନ୍ତୁ" "ହୋମରେ ସେଟିଙ୍ଗ ଏବଂ ଶର୍ଟକଟ୍‌ ପରିବର୍ତ୍ତନ କରିବାକୁ ଆପକୁ ଅନୁମତି ଦିଏ।" "ଫୋନ୍‌ କଲ୍‌ କରିବାକୁ %1$sକୁ ଅନୁମତି ଦିଆଯାଇ ନାହିଁ" - - - - + "ୱିଜେଟ୍ ଲୋଡ୍ କରାଯାଇପାରିବ ନାହିଁ" + "ସେଟ୍ ଅପ୍ ସମ୍ପୂର୍ଣ୍ଣ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ" "ଏହା ଏକ ସିଷ୍ଟମ୍‌ ଆପ୍‌ ଅଟେ ଏବଂ ଏହା ଅନଇନଷ୍ଟଲ୍‌ କରାଯାଇ ପାରିବ ନାହିଁ।" "ନାମ ସମ୍ପାଦନ କରନ୍ତୁ" "%1$s ଅକ୍ଷମ କରାଗଲା" @@ -160,7 +161,7 @@ "ୱର୍କ ପ୍ରୋଫାଇଲ୍‌" "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ବ୍ୟାଜ୍ କରାଯାଇଛି ଏବଂ ସେଗୁଡ଼ିକ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦୃଶ୍ୟମାନ ହେଉଛି" "ବୁଝିଗଲି" - "ୱାର୍କ ଆପଗୁଡ଼ିକ ବନ୍ଦ ଅଛି" + "ୱାର୍କ ଆପ୍ସ ବିରତ କରାଯାଇଛି" "ଆପଣଙ୍କ ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" "ୱାର୍କ ଆପଗୁଡ଼ିକ ବନ୍ଦ ଅଛି। ଆପଣଙ୍କ ୱାର୍କ ଆପଗୁଡ଼ିକ ଆପଣଙ୍କୁ ବିଜ୍ଞପ୍ତି ପଠାଇପାରିବ ନାହିଁ, ଆପଣଙ୍କ ବ୍ୟାଟେରୀକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ କିମ୍ବା ଆପଣଙ୍କର ଲୋକେସନକୁ ଆକ୍ସେସ୍ କରିପାରିବ ନାହିଁ" "ୱାର୍କ ଆପଗୁଡ଼ିକୁ ବ୍ୟାଜ୍ କରାଯାଇଛି ଏବଂ ଆପଣଙ୍କ IT ଆଡମିନଙ୍କୁ ଦେଖାଯାଉଛି" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 63ec08593f..ed0879fb3b 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -46,8 +46,10 @@ "ਵਿਜੇਟ" "ਖੋਜੋ" "ਖੋਜ ਬਾਕਸ ਤੋਂ ਸਪੱਸ਼ਟ ਲਿਖਤ" - "ਕੋਈ ਵਿਜੇਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ" - "ਕੋਈ ਖੋਜ ਨਤੀਜਾ ਨਹੀਂ" + + + + "ਨਿੱਜੀ" "ਕਾਰਜ-ਸਥਾਨ" "ਗੱਲਾਂਬਾਤਾਂ" @@ -64,7 +66,8 @@ "ਸੂਚਨਾਵਾਂ" "ਕਿਸੇ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਸਪੱਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।" "ਕਿਸੇ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਡਬਲ ਟੈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ ਜਾਂ ਵਿਉਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤੋ।" - "ਇਸ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਹੋਰ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੈ।" + + "ਮਨਪਸੰਦ ਟ੍ਰੇ ਵਿੱਚ ਹੋਰ ਖਾਲੀ ਸਥਾਨ ਨਹੀਂ।" "ਐਪ ਸੂਚੀ" "ਨਿੱਜੀ ਐਪਾਂ ਦੀ ਸੂਚੀ" @@ -82,10 +85,8 @@ "ਹੋਮ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਲਿਖੋ" "ਐਪ ਨੂੰ ਹੋਮ ਵਿੱਚ ਸੈਟਿੰਗਾਂ ਅਤੇ ਸ਼ਾਰਟਕੱਟ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ।" "%1$s ਨੂੰ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਹੈ" - - - - + "ਵਿਜੇਟ ਨੂੰ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" + "ਸੈੱਟਅੱਪ ਪੂਰਾ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ" "ਇਹ ਇੱਕ ਸਿਸਟਮ ਐਪ ਹੈ ਅਤੇ ਇਸਨੂੰ ਅਣਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।" "ਨਾਮ ਦਾ ਸੰਪਾਦਨ ਕਰੋ" "%1$s ਨੂੰ ਅਯੋਗ ਬਣਾਇਆ ਗਿਆ" @@ -160,7 +161,7 @@ "ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ" "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ" "ਸਮਝ ਲਿਆ" - "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਬੰਦ ਹਨ" + "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਰੋਕਿਆ ਗਿਆ ਹੈ" "ਤੁਹਾਡੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਬੰਦ ਹਨ। ਤੁਹਾਡੀਆਂ ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਤੁਹਾਨੂੰ ਸੂਚਨਾਵਾਂ ਨਹੀਂ ਭੇਜ ਸਕਦੀਆਂ, ਤੁਹਾਡੀ ਬੈਟਰੀ ਨਹੀਂ ਵਰਤ ਸਕਦੀਆਂ ਜਾਂ ਤੁਹਾਡੇ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਨਹੀਂ ਕਰ ਸਕਦੀਆਂ" "ਕੰਮ ਸੰਬੰਧੀ ਐਪਾਂ ਨੂੰ ਬੈਜ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ ਇਹ ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦਿਸਣਗੀਆਂ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index bb54c2f8e7..3cfb569fe3 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -50,8 +50,8 @@ "Widżety" "Szukaj" "Wyczyść tekst w polu wyszukiwania" - "Brak dostępnych widżetów" - "Brak wyników wyszukiwania" + "Widżety i skróty nie są dostępne" + "Nie znaleziono widżetów ani skrótów" "Osobiste" "Służbowe" "Rozmowy" @@ -68,7 +68,8 @@ "Powiadomienia" "Naciśnij i przytrzymaj, aby wybrać skrót." "Naciśnij dwukrotnie i przytrzymaj, aby przenieść skrót lub użyć działań niestandardowych." - "Brak miejsca na tym ekranie głównym." + + "Brak miejsca w Ulubionych" "Lista aplikacji" "Lista aplikacji osobistych" @@ -86,10 +87,8 @@ "zapisywanie ustawień i skrótów na ekranie głównym" "Umożliwia aplikacji zmianę ustawień i skrótów na ekranie głównym." "%1$s nie może wykonywać połączeń telefonicznych" - - - - + "Nie udało się załadować widżetu" + "Kliknij, aby dokończyć konfigurację" "To aplikacja systemowa i nie można jej odinstalować." "Edytuj nazwę" "Aplikacja %1$s jest wyłączona" @@ -166,7 +165,7 @@ "Profil służbowy" "Aplikacje służbowe mają plakietki i są widoczne dla administratora IT" "OK" - "Aplikacje służbowe są wyłączone" + "Aplikacje do pracy zostały wstrzymane" "Aplikacje służbowe nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" "Aplikacje służbowe są wyłączone i nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" "Aplikacje służbowe mają plakietki i są widoczne dla administratora IT" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 11f1f8370d..9aeecdc383 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Pesquisar" "Limpe o texto da caixa de pesquisa" - "Nenhum widget disponível" - "Nenhum resultado da pesquisa" + "Os widgets e os atalhos não estão disponíveis" + "Nenhum widget ou atalho encontrado" "Pessoais" "Trabalho" "Conversas" @@ -64,7 +64,8 @@ "Notificações" "Toque sem soltar para mover um atalho." "Toque duas vezes sem soltar para mover um atalho ou utilizar ações personalizadas." - "Sem espaço suficiente neste Ecrã principal." + + "Não existe mais espaço no tabuleiro de Favoritos" "Lista de aplicações" "Lista de aplicações pessoais" @@ -158,7 +159,7 @@ "Perfil de trabalho" "As apps de trabalho têm um emblema e estão visíveis para o seu administrador de TI" "OK" - "As apps de trabalho estão desativadas" + "As apps de trabalho estão em pausa" "As apps de trabalho não podem enviar-lhe notificações, utilizar a bateria ou aceder à sua localização" "As apps de trabalho estão desativadas. As apps de trabalho não podem enviar-lhe notificações, utilizar a bateria ou aceder à sua localização" "As apps de trabalho têm um emblema e estão visíveis para o seu administrador de TI" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 11779edb97..3dbf460762 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -46,8 +46,8 @@ "Widgets" "Pesquisa" "Limpar texto da caixa de pesquisa" - "Nenhum widget disponível" - "Nenhum resultado de pesquisa" + "Nenhum widget ou atalho disponível" + "Nenhum widget ou atalho encontrado" "Pessoais" "Trabalho" "Conversas" @@ -64,7 +64,8 @@ "Notificações" "Toque e mantenha a tela pressionada para mover um atalho." "Toque duas vezes e mantenha a tela pressionada para mover um atalho ou usar ações personalizadas." - "Não há mais espaço na tela inicial." + + "Sem espaço na bandeja de favoritos" "Lista de apps" "Lista de apps pessoais" @@ -158,7 +159,7 @@ "Perfil de trabalho" "Os apps de trabalho têm um ícone e ficam visíveis para o administrador de TI" "Ok" - "Os apps de trabalho estão desativados" + "Os apps de trabalho foram pausados" "Os apps de trabalho não podem enviar notificações, usar a bateria nem acessar o local" "Os apps de trabalho estão desativados. Eles não podem enviar notificações, usar a bateria nem acessar o local" "Os apps de trabalho têm um ícone e ficam visíveis para o administrador de TI" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 49c787cfc9..b9b3726644 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -48,8 +48,8 @@ "Widgeturi" "Căutare" "Ștergeți textul din caseta de căutare" - "Niciun widget disponibil" - "Niciun rezultat al căutării" + "Widgeturile și comenzile rapide nu sunt disponibile" + "Nu au fost găsite widgeturi sau comenzi rapide" "Personale" "Serviciu" "Conversații" @@ -66,7 +66,8 @@ "Notificări" "Atingeți și țineți apăsat pentru a muta comanda rapidă." "Atingeți de două ori și țineți apăsat pentru a muta o comandă rapidă sau folosiți acțiuni personalizate." - "Nu mai este loc pe acest Ecran de pornire." + + "Spațiu epuizat în bara Preferate" "Lista de aplicații" "Lista de aplicații personale" @@ -84,10 +85,8 @@ "scrie setări și comenzi rapide pentru ecranul de pornire" "Permite aplicației să modifice setările și comenzile rapide din ecranul de pornire." "%1$s nu are permisiunea de a apela" - - - - + "Widgetul nu poate fi încărcat" + "Atingeți pentru a finaliza configurarea" "Aceasta este o aplicație de sistem și nu poate fi dezinstalată." "Modificați numele" "S-a dezactivat %1$s" @@ -163,7 +162,7 @@ "Profil de serviciu" "Aplicațiile pentru lucru sunt marcate și vizibile pentru administratorul IT" "OK" - "Aplicațiile pentru lucru sunt dezactivate" + "Aplicațiile pentru lucru sunt întrerupte" "Aplicațiile pentru lucru nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația" "Aplicațiile pentru lucru sunt dezactivate. Acestea nu pot să vă trimită notificări, să folosească bateria sau să vă acceseze locația." "Aplicațiile pentru lucru sunt marcate și vizibile pentru administratorul IT" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 12db0e2543..d5c0159762 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -50,8 +50,8 @@ "Виджеты" "Поиск" "Удалить текст из окна поиска" - "Нет доступных виджетов." - "Ничего не найдено." + "Виджеты и ярлыки недоступны." + "Виджеты и ярлыки не найдены." "Личные виджеты" "Рабочие виджеты" "Разговоры" @@ -68,7 +68,8 @@ "Уведомления" "Нажмите и удерживайте для переноса ярлыка." "Чтобы использовать специальные действия или перенести ярлык, нажмите на него дважды и удерживайте." - "На этом экране нет свободного места." + + "В разделе \"Избранное\" больше нет места" "Список приложений" "Открыть список личных приложений" @@ -86,10 +87,8 @@ "Изменение настроек и ярлыков главного экрана" "Приложение сможет изменять настройки и ярлыки на главном экране." "Приложение %1$s не может делать телефонные звонки" - - - - + "Не удается загрузить виджет." + "Нажмите, чтобы завершить настройку." "Это системное приложение, его нельзя удалить." "Измените название" "Приложение %1$s отключено" @@ -166,7 +165,7 @@ "Рабочий профиль" "У рабочих приложений есть специальная пометка. Они видны системному администратору." "ОК" - "Рабочие приложения отключены" + "Рабочие приложения приостановлены" "Рабочие приложения не могут отправлять уведомления, расходовать заряд батареи и получать доступ к данным о вашем местоположении." "Рабочие приложения отключены. Они не могут отправлять уведомления, расходовать заряд батареи и получать доступ к вашему местоположению." "У рабочих приложений есть специальная пометка. Они видны системному администратору." diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 946e12c319..e32f16848a 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -46,8 +46,8 @@ "විජට්" "සෙවීම" "සෙවීම් කොටුවෙන් පෙළ හිස් කරන්න" - "ලබා ගත හැකි විජට් නැත" - "සෙවීම් ප්‍රතිඵල නැත" + "විජට් සහ කෙටි මං ලබා ගත නොහැකිය" + "විජට් හෝ කෙටි මං හමු නොවීය" "පුද්ගලික" "කාර්යාලය" "සංවාද" @@ -64,7 +64,8 @@ "දැනුම්දීම්" "කෙටි මගක් ගෙන යාමට ස්පර්ශ කර අල්ලාගෙන සිටින්න." "කෙටි මගක් ගෙන යාමට හෝ අභිරුචි ක්‍රියා භාවිත කිරීමට දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න." - "මෙම මුල් පිටු තිරය මත තවත් අවසර නැත." + + "ප්‍රියතම දෑ ඇති තැටියේ තවත් ඉඩ නොමැත" "යෙදුම් ලැයිස්තුව" "පෞද්ගලික යෙදුම් ලැයිස්තුව" @@ -82,10 +83,8 @@ "මුල් පිටු සැකසීම් සහ කෙටිමං ලියන්න" "මුල් පිටුවේ සැකසීම් සහ කෙටිමං ඉවත් කිරීමට යෙදුමට අවසර දෙයි." "%1$s හට දුරකථන ඇමතුම් සිදු කිරීමට ඉඩ නොදේ" - - - - + "විජට් පූරණය කළ නොහැකිය" + "පිහිටුවීම අවසන් කිරීමට තට්ටු කරන්න" "මෙය පද්ධති යෙදුමක් වන අතර අස්ථාපනය කළ නොහැක." "නම සංස්කරණය කරන්න" "%1$s අබල කෙරිණි" @@ -160,7 +159,7 @@ "කාර්යාල පැතිකඩ" "කාර්යාල යෙදුම්වලට ලාංඡන යොදා ඇති අතර ඔබගේ IT පරිපාලකට දෘශ්‍යමාන වේ" "තේරුණා" - "කාර්යාල යෙදුම් ක්‍රියාවිරහිතයි" + "කාර්යාල යෙදුම් විරාම කර ඇත" "ඔබගේ කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" "කාර්යාල යෙදුම් ක්‍රියාවිරහිතයි. ඔබගේ කාර්යාල යෙදුම්වලට ඔබට දැනුම්දීම් එවීමට, ඔබගේ බැටරිය භාවිත කිරීමට හෝ ඔබගේ ස්ථානයට ප්‍රවේශ වීමට නොහැකිය" "කාර්යාල යෙදුම්වලට ලාංඡන යොදා ඇති අතර ඔබගේ IT පරිපාලකට දෘශ්‍යමාන වේ" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index d4f2e00ba0..eb8ad30ff2 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -50,8 +50,8 @@ "Miniaplikácie" "Vyhľadajte" "Vymazať text z vyhľadávacieho poľa" - "Nie sú k dispozícii žiadne miniaplikácie" - "Žiadne výsledky vyhľadávania" + "Miniaplikácie a odkazy nie sú k dispozícii" + "Nenašli sa žiadne miniaplikácie ani odkazy" "Osobné" "Práca" "Konverzácie" @@ -68,7 +68,8 @@ "Upozornenia" "Pridržaním presuňte skratku." "Dvojitým klepnutím a pridržaním presuňte odkaz alebo použite vlastné akcie." - "Na tejto ploche už nie je miesto" + + "Na paneli Obľúbené položky už nie je miesto" "Zoznam aplikácií" "Zoznam osobných aplikácií" @@ -86,10 +87,8 @@ "zápis nastavení a odkazov plochy" "Povoľuje aplikácii zmeniť nastavenia a odkazy na ploche." "Aplikácia %1$s nemá povolenie uskutočňovať telefonické hovory" - - - - + "Miniaplikáciu sa nepodarilo načítať" + "Nastavenie dokončíte klepnutím" "Toto je systémová aplikácia a nedá sa odinštalovať." "Úprava názvu" "Aplikácia %1$s je deaktivovaná" @@ -166,7 +165,7 @@ "Pracovný profil" "Pracovné aplikácie majú odznak a zobrazujú sa správcovi IT" "Dobre" - "Pracovné aplikácie sú vypnuté" + "Pracovné aplikácie sú pozastavené" "Pracovné aplikácie nemôžu posielať upozornenia ani používať batériu či polohu." "Pracovné aplikácie sú vypnuté. Nemôžu posielať upozornenia ani používať batériu či polohu." "Pracovné aplikácie majú odznak a zobrazujú sa správcovi IT" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index d5d9f028fb..7f440f81af 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -50,8 +50,8 @@ "Pripomočki" "Iskanje" "Brisanje besedila v iskalnem polju" - "Ni pripomočkov" - "Ni rezultatov iskanja" + "Pripomočki in bližnjice niso na voljo." + "Najden ni noben pripomoček ali bližnjica." "Osebni" "Služba" "Pogovori" @@ -68,7 +68,8 @@ "Obvestila" "Pridržite bližnjico, da jo premaknete." "Dvakrat se dotaknite bližnjice in jo pridržite, da jo premaknete, ali pa uporabite dejanja po meri." - "Na tem začetnem zaslonu ni več prostora." + + "V vrstici za priljubljene ni več prostora" "Seznam aplikacij" "Seznam osebnih aplikacij" @@ -86,10 +87,8 @@ "zapis nastavitev in bližnjic na začetnem zaslonu" "Aplikaciji dovoli spreminjanje nastavitev in bližnjic na začetnem zaslonu." "Aplikaciji %1$s ni dovoljeno opravljanje klicev" - - - - + "Pripomočka ni mogoče naložiti." + "Dotaknite se, da dokončate postopek nastavitve." "To je sistemska aplikacija in je ni mogoče odstraniti." "Urejanje imena" "Aplikacija %1$s je onemogočena" @@ -166,7 +165,7 @@ "Delovni profil" "Delovne aplikacije so označene z značko in vidne skrbniku za IT." "Razumem" - "Delovne aplikacije so izklopljene." + "Delovne aplikacije so začasno zaustavljene" "Delovne aplikacije ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." "Delovne aplikacije so izklopljene in ne smejo pošiljati obvestil, porabljati energije baterije ali dostopati do lokacije." "Delovne aplikacije so označene z značko in vidne skrbniku za IT." diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index f3a4649c28..e39e3e7893 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -46,8 +46,10 @@ "Miniaplikacionet" "Kërko" "Pastro tekstin nga kutia e kërkimit" - "Nuk ka asnjë miniaplikacion" - "Asnjë rezultat kërkimi" + + + + "Personale" "Puna" "Bisedat" @@ -64,7 +66,8 @@ "Njoftimet" "Prek dhe mbaj shtypur një shkurtore për ta zhvendosur." "Trokit dy herë dhe mbaje shtypur një shkurtore për ta zhvendosur atë ose për të përdorur veprimet e personalizuara." - "Nuk ka më hapësirë në këtë ekran bazë." + + "Nuk ka më hapësirë në tabakanë \"Të preferuarat\"" "Lista e aplikacioneve" "Lista e aplikacioneve personale" @@ -75,17 +78,15 @@ "Instalo" "Mos sugjero aplikacion" "Gozhdo parashikimin" - "instalo shkurtore" + "instalimi i shkurtoreve" "Lejon një aplikacion të shtojë shkurtore pa ndërhyrjen e përdoruesit." "lexo cilësimet dhe shkurtoret e ekranit bazë" "Lejon aplikacionin të lexojë cilësimet dhe shkurtoret në ekranin bazë." "shkruaj cilësimet dhe shkurtoret e ekranit bazë" "Lejon aplikacionin të ndryshojë cilësimet dhe shkurtoret në ekranin bazë." "%1$s nuk lejohet të kryejë telefonata" - - - - + "S\'mund të ngarkohet miniaplikacioni" + "Trokit për të përfunduar konfigurimin" "Ky është aplikacion sistemi dhe nuk mund të çinstalohet." "Redakto emrin" "%1$s u çaktivizua" @@ -160,7 +161,7 @@ "Profili i punës" "Aplikacionet e punës janë të shënuara dhe të dukshme për administratorin e teknologjisë së informacionit" "E kuptova" - "Aplikacionet e punës janë joaktive" + "Aplikacionet e punës janë në pauzë" "Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" "Aplikacionet e punës janë joaktive. Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" "Aplikacionet e punës janë të shënuara dhe të dukshme për administratorin e teknologjisë së informacionit" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index b47a148072..797a2a0167 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -48,8 +48,8 @@ "Виџети" "Претражите" "Обришите текст из оквира за претрагу" - "Није доступан ниједан виџет" - "Нема резултата претраге" + "Виџети и пречице нису доступни" + "Није пронађен ниједан виџет или пречица" "Лично" "Посао" "Конверзације" @@ -66,7 +66,8 @@ "Обавештења" "Двапут додирните и задржите ради померања пречице." "Двапут додирните и задржите да бисте померали пречицу или користите прилагођене радње." - "Нема више простора на овом почетном екрану." + + "Нема више простора на траци Омиљено" "Листа апликација" "Листа личних апликација" @@ -84,10 +85,8 @@ "уписивање подешавања и пречица на почетном екрану" "Дозвољава апликацији да мења подешавања и пречице на почетном екрану." "%1$s нема дозволу за упућивање телефонских позива" - - - - + "Учитавање виџета није успело" + "Додирните да бисте довршили подешавање" "Ово је системска апликација и не може да се деинсталира." "Измените назив" "Апликација %1$s је онемогућена" @@ -163,7 +162,7 @@ "Пословни профил" "Пословне апликације су означене значком и ИТ администратор може да их види" "Важи" - "Пословне апликације су искључене" + "Пословне апликације су паузиране" "Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" "Пословне апликације су искључене. Пословне апликације не могу да вам шаљу обавештења, користе батерију нити приступају локацији" "Пословне апликације су означене значком и ИТ администратор може да их види" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 415e7bea76..8fa1e0e287 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -46,8 +46,8 @@ "Widgetar" "Sök" "Rensa texten från sökrutan" - "Det finns inga tillgängliga widgetar" - "Inga sökresultat" + "Widgetar och genvägar är inte tillgängliga" + "Inga widgetar eller genvägar hittades" "Privata" "Arbete" "Konversationer" @@ -64,7 +64,8 @@ "Aviseringar" "Tryck länge för att flytta en genväg." "Tryck snabbt två gånger och håll kvar för att flytta en genväg eller använda anpassade åtgärder." - "Det finns inte plats för mer på den här startskärmen." + + "Favoritfältet är fullt" "Applista" "Listan Personliga appar" @@ -82,10 +83,8 @@ "skriva inställningar och genvägar för startsidan" "Tillåter att appen ändrar inställningar och genvägar på startsidan." "%1$s har inte behörighet att ringa samtal" - - - - + "Det gick inte att läsa in widgeten" + "Tryck för att slutföra konfigureringen" "Det här är en systemapp som inte kan avinstalleras." "Redigera namn" "%1$s har inaktiverats" @@ -160,7 +159,7 @@ "Jobbprofil" "Jobbappar är märkta och synliga för IT-administratören" "OK" - "Jobbappar är inaktiverade" + "Jobbappar har pausats" "Dina jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" "Jobbappar är inaktiverade. Dina jobbappar kan inte skicka aviseringar, använda batteriet eller komma åt din plats" "Jobbappar är märkta och synliga för IT-administratören" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 7e1c724562..1e7bf0747f 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -46,8 +46,8 @@ "Wijeti" "Tafuta" "Futa maandishi kwenye kisanduku cha kutafutia" - "Hamna wijeti zinazopatikana" - "Hamna matokeo ya utafutaji" + "Wijeti na njia za mkato hazipatikani" + "Hakuna wijeti wala njia za mkato zilizopatikana" "Binafsi" "Kazini" "Mazungumzo" @@ -64,7 +64,8 @@ "Arifa" "Gusa na ushikilie ili usogeze njia ya mkato." "Gusa mara mbili na ushikilie ili usogeze njia ya mkato au utumie vitendo maalum." - "Hakuna nafasi katika skrini hii ya Mwanzo." + + "Hakuna nafasi zaidi katika treya ya Vipendeleo" "Orodha ya programu" "Orodha ya programu za binafsi" @@ -82,10 +83,8 @@ "andika mipangilio ya skrini ya Mwanzo na njia za mkato" "Huruhusu programu kubadilisha mipangilio na njia za mkato katika skrini ya Mwanzo." "%1$s hairuhusiwi kupiga simu" - - - - + "Imeshindwa kupakia wijeti" + "Gusa ili umalize kuweka mipangilio" "Hii ni programu ya mfumo na haiwezi kuondolewa." "Badilisha Jina" "%1$s imezimwa" @@ -160,7 +159,7 @@ "Wasifu wa kazini" "Programu za kazini zina beji na zinaonekana kwa msimamizi wako wa TEHAMA" "Nimeelewa" - "Programu za kazini zimezimwa" + "Programu za kazini zimesimamishwa" "Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" "Programu za kazini zimezimwa. Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" "Programu za kazini zina beji na zinaonekana kwa msimamizi wako wa TEHAMA" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 877d92d09e..b68ee1e6ee 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -46,8 +46,8 @@ "விட்ஜெட்கள்" "தேடுக" "தேடல் பெட்டியிலுள்ள உரையை அழிக்கும்" - "விட்ஜெட்டுகள் எதுவுமில்லை" - "தேடல் முடிவுகள் இல்லை" + "விட்ஜெட்டுகளும் ஷார்ட்கட்களும் கிடைக்கவில்லை" + "விட்ஜெட்டுகள்/ஷார்ட்கட்டுகள் எதுவும் இல்லை" "தனிப்பட்டவை" "பணி" "உரையாடல்கள்" @@ -64,7 +64,8 @@ "அறிவிப்புகள்" "ஷார்ட்கட்டை நகர்த்தத் தொட்டுப் பிடிக்கவும்." "ஷார்ட்கட்டை நகர்த்த இருமுறை தட்டிப் பிடிக்கவும் அல்லது பிரத்தியேகச் செயல்களைப் பயன்படுத்தவும்." - "முகப்புத் திரையில் இடமில்லை." + + "பிடித்தவை ட்ரேயில் இடமில்லை" "ஆப்ஸின் பட்டியல்" "தனிப்பட்ட ஆப்ஸ் பட்டியல்" @@ -82,10 +83,8 @@ "முகப்பின் அமைப்பு மற்றும் குறுக்குவழிகளை எழுதுதல்" "முகப்பில் உள்ள அமைப்பு மற்றும் குறுக்குவழிகளை மாற்ற ஆப்ஸை அனுமதிக்கிறது." "ஃபோன் அழைப்புகள் செய்ய, %1$s அனுமதிக்கப்படவில்லை" - - - - + "விட்ஜெட்டை ஏற்ற முடியவில்லை" + "அமைவை நிறைவுசெய்யத் தட்டவும்" "இது அமைப்பு ஆப்ஸ் என்பதால் நிறுவல் நீக்கம் செய்ய முடியாது." "பெயரைத் திருத்துதல்" "%1$s முடக்கப்பட்டது" @@ -160,7 +159,7 @@ "பணிக் கணக்கு" "பணி ஆப்ஸில் பேட்ஜ் இடப்பட்டுள்ளன. உங்கள் IT நிர்வாகியால் அவற்றைப் பார்க்க முடியும்" "முடிந்தது" - "பணி ஆப்ஸ் முடக்கப்பட்டுள்ளன" + "பணி ஆப்ஸ் இடைநிறுத்தப்பட்டுள்ளன" "பணி ஆப்ஸால் உங்களுக்கு அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ உங்கள் இருப்பிடத்தை அணுகவோ முடியாது" "பணி ஆப்ஸ் முடக்கப்பட்டுள்ளன. அவற்றால் உங்களுக்கு அறிவிப்புகளை அனுப்பவோ பேட்டரியைப் பயன்படுத்தவோ உங்கள் இருப்பிடத்தை அணுகவோ முடியாது" "பணி ஆப்ஸ் பேட்ஜ் குறியிடப்பட்டுள்ளன. மேலும் உங்கள் IT நிர்வாகியால் அவற்றைப் பார்க்க முடியும்" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index e5bd96ee79..7191c6c704 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -46,8 +46,10 @@ "విడ్జెట్‌లు" "సెర్చ్ చేయండి" "సెర్చ్ బాక్స్ నుండి టెక్స్ట్‌ను క్లియర్ చేయి" - "విడ్జెట్‌లు అందుబాటులో లేవు" - "సెర్చ్ ఫలితాలు లేవు" + + + + "వ్యక్తిగత గ్యాడ్జెట్స్" "ఆఫీస్" "సంభాషణలు" @@ -64,7 +66,8 @@ "నోటిఫికేషన్‌లు" "షార్ట్‌కట్‌ను తరలించడానికి తాకి & నొక్కి ఉంచు." "షార్ట్‌కట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి & హోల్డ్ చేయండి." - "ఈ హోమ్ స్క్రీన్‌లో ఖాళీ లేదు." + + "ఇష్టమైనవి ట్రేలో ఖాళీ లేదు" "అనువర్తనాల జాబితా" "వ్యక్తిగత యాప్‌ల జాబితా" @@ -82,10 +85,8 @@ "హోమ్ సెట్టింగ్‌లు మరియు సత్వరమార్గాలను వ్రాయడం" "హోమ్‌లో సెట్టింగ్‌లు మరియు సత్వరమార్గాలను మార్చడానికి యాప్‌ను అనుమతిస్తుంది." "ఫోన్ కాల్‌లను చేసేందుకు %1$sకి అనుమతి లేదు" - - - - + "విడ్జెట్‌ను లోడ్ చేయడం సాధ్యం కాలేదు" + "సెటప్‌ను పూర్తి చేయడానికి ట్యాప్ చేయండి" "ఇది సిస్టమ్ యాప్ మరియు దీన్ని అన్‌ఇన్‌స్టాల్ చేయడం సాధ్యపడదు." "పేరును ఎడిట్ చేయండి" "%1$s నిలిపివేయబడింది" @@ -158,10 +159,9 @@ "వ్యక్తిగతం" "కార్యాలయం" "కార్యాలయ ప్రొఫైల్" - - + "వర్క్ యాప్‌లు బ్యాడ్జ్ చేయబడ్డాయి, మీ IT అడ్మిన్‌కు కనిపిస్తాయి" "అర్థమైంది" - "వర్క్ యాప్‌లు ఆఫ్‌లో ఉన్నాయి" + "వర్క్ యాప్‌లు పాజ్ చేయబడ్డాయి" "మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం మీ వర్క్ యాప్‌లకు సాధ్యపడదు" "వర్క్ యాప్‌లు ఆఫ్‌లో ఉన్నాయి. మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం మీ వర్క్ యాప్‌లకు సాధ్యపడదు" "వర్క్ యాప్‌లు బ్యాడ్జ్ చేయబడ్డాయి, మీ IT అడ్మిన్‌కి కనిపిస్తాయి" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 795bc7d929..f42766cb68 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -46,8 +46,8 @@ "วิดเจ็ต" "ค้นหา" "ล้างข้อความออกจากช่องค้นหา" - "ไม่มีวิดเจ็ตพร้อมใช้งาน" - "ไม่พบผลการค้นหา" + "วิดเจ็ตและทางลัดไม่พร้อมให้บริการ" + "ไม่พบวิดเจ็ตหรือทางลัด" "ส่วนตัว" "งาน" "การสนทนา" @@ -64,7 +64,8 @@ "การแจ้งเตือน" "แตะค้างไว้เพื่อย้ายทางลัด" "แตะสองครั้งค้างไว้เพื่อย้ายทางลัดหรือใช้การดำเนินการที่กำหนดเอง" - "ไม่มีที่ว่างในหน้าจอหลักนี้" + + "ไม่มีพื้นที่เหลือในถาดรายการโปรด" "รายชื่อแอป" "รายการแอปส่วนตัว" @@ -82,10 +83,8 @@ "เขียนการตั้งค่าและทางลัดหน้าแรกแล้ว" "อนุญาตให้แอปเปลี่ยนการตั้งค่าและทางลัดในหน้าแรก" "%1$s ไม่ได้รับอนุญาตให้โทรออก" - - - - + "โหลดวิดเจ็ตไม่ได้" + "แตะเพื่อสิ้นสุดการตั้งค่า" "นี่เป็นแอประบบและไม่สามารถถอนการติดตั้งได้" "แก้ไขชื่อ" "ปิดใช้ %1$s" @@ -160,7 +159,7 @@ "โปรไฟล์งาน" "แอปงานจะติดป้ายไว้และผู้ดูแลระบบไอทีจะมองเห็น" "รับทราบ" - "แอปงานปิดอยู่" + "หยุดแอปงานไว้ชั่วคราว" "แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" "แอปงานปิดอยู่ แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" "แอปงานจะติดป้ายไว้และผู้ดูแลระบบไอทีจะมองเห็น" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 558b96bc06..99b554c496 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -46,8 +46,8 @@ "Mga Widget" "Maghanap" "I-clear ang text sa box para sa paghahanap" - "Walang available na widget" - "Walang resulta ng paghahanap" + "Hindi available ang mga widget at shortcut" + "Walang nakitang widget o shortcut" "Personal" "Trabaho" "Mga Pag-uusap" @@ -64,7 +64,8 @@ "Mga Notification" "Pindutin nang matagal para ilipat ang shortcut." "I-double tap at pindutin nang matagal para ilipat ang shortcut o gumamit ng mga custom na pagkilos." - "Wala nang lugar sa Home screen na ito." + + "Wala nang lugar sa tray ng Mga Paborito" "Listahan ng mga app" "Listahan ng mga personal na app" @@ -82,10 +83,8 @@ "magsulat ng mga setting at shortcut ng Home" "Pinapayagan ang app na baguhin ang mga setting at shortcut sa Home." "Hindi pinahihintulutang tumawag ang %1$s" - - - - + "Hindi ma-load ang widget" + "I-tap para tapusin ang pag-set up" "Isa itong app ng system at hindi maaaring i-uninstall." "I-edit ang Pangalan" "Naka-disable ang %1$s" @@ -160,7 +159,7 @@ "Profile sa trabaho" "May badge at nakikita ng iyong IT admin ang mga app para sa trabaho" "OK" - "Naka-off ang mga app para sa trabaho" + "Naka-pause ang mga app para sa trabaho" "Ang mga app mo para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng baterya mo, o makaka-access ng iyong lokasyon" "Naka-off ang mga app para sa trabaho. Ang mga app mo para sa trabaho ay hindi makakapagpadala sa iyo ng mga notification, makakagamit ng baterya mo, o makaka-access ng iyong lokasyon" "May badge at nakikita ng iyong IT admin ang mga app para sa trabaho" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index c5980a9c87..a81a9cbc0a 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -46,8 +46,8 @@ "Widget\'lar" "Ara" "Arama kutusundaki metni temizle" - "Kullanılabilir widget yok" - "Arama sonucu yok" + "Widget\'lar ve kısayollar kullanılamıyor" + "Widget veya kısayol bulunamadı" "Kişisel" "İş" "Görüşmeler" @@ -64,7 +64,8 @@ "Bildirimler" "Kısayolu taşımak için dokunup basılı tutun." "Kısayolu taşımak veya özel işlemleri kullanmak için iki kez dokunup basılı tutun." - "Bu Ana ekranda yer kalmadı." + + "Favoriler tepsisinde başka yer kalmadı" "Uygulamalar listesi" "Kişisel uygulamalar listesi" @@ -82,10 +83,8 @@ "Ana ekran ayarlarını ve kısayollarını yaz" "Uygulamaya, Ana ekrandaki ayarları ve kısayolları değiştirme izni verir." "%1$s uygulamasının telefon etmesine izin verilmiyor" - - - - + "Widget yüklenemiyor" + "Kurulumu tamamlamak için dokunun" "Bu bir sistem uygulamasıdır ve yüklemesi kaldırılamaz." "Adı Düzenle" "%1$s devre dışı" @@ -160,7 +159,7 @@ "İş profili" "İş uygulamaları rozetle işaretlenmiş olup BT yöneticisi tarafından görülebilir" "Anladım" - "İş uygulamaları kapalı" + "İş uygulamaları duraklatıldı" "İş uygulamaları size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" "İş uygulamaları kapalı. İş uygulamalarınız size bildirim gönderemez, pilinizi kullanamaz veya konum bilginize erişemez" "İş uygulamaları rozetle işaretlenmiş olup BT yöneticisi tarafından görülebilir" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index d7612dfc3c..b60b50fb9f 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -50,8 +50,8 @@ "Віджети" "Пошук" "Очистити текст у полі пошуку" - "Немає доступних віджетів" - "Нічого не знайдено" + "Віджети та ярлики недоступні" + "Не знайдено віджетів чи ярликів" "Особисті" "Робочі" "Розмови" @@ -68,7 +68,8 @@ "Сповіщення" "Натисніть і втримуйте, щоб перемістити ярлик." "Двічі натисніть і втримуйте ярлик, щоб перемістити його або виконати інші дії." - "На цьому головному екрані більше немає місця." + + "В області \"Вибране\" немає місця" "Список додатків" "Список особистих додатків" @@ -164,7 +165,7 @@ "Робочий профіль" "Робочі додатки відповідно позначені й видимі системному адміністратору" "OK" - "Робочі додатки вимкнено" + "Робочі додатки призупинено" "Ваші робочі додатки не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих" "Робочі додатки вимкнено. Вони не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих." "Робочі додатки відповідно позначені й видимі системному адміністратору" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index aba11d318a..7fe31a6663 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -46,8 +46,10 @@ "ویجیٹس" "تلاش کریں" "تلاش کے خانے سے ٹیکسٹ صاف کریں" - "کوئی ویجیٹ دستیاب نہیں ہے" - "تلاش کا کوئی نتیجہ نہیں ہے" + + + + "ذاتی" "دفتری ویجیٹس" "گفتگوئیں" @@ -64,7 +66,8 @@ "اطلاعات" "شارٹ کٹ منتقل کرنے کیلیے ٹچ کریں اور پکڑ کر رکھیں۔" "شارٹ کٹ کو منتقل کرنے یا حسب ضرورت کارروائیاں استعمال کرنے کے لیے دوبار تھپتھپائیں اور پکڑ کر رکھیں۔" - "اس ہوم اسکرین پر مزید کوئی گنجائش نہیں ہے۔" + + "پسندیدہ ٹرے میں مزید کوئی گنجائش نہیں ہے" "ایپس کی فہرست" "ذاتی ایپس کی فہرست" @@ -82,10 +85,8 @@ "ہوم ترتیبات اور شارٹ کٹس کو لکھیں" "ایپ کو ہوم میں ترتیبات اور شارٹ کٹس کو تبدیل کرنے کی اجازت دیتا ہے۔" "%1$s کو فون کالیں کرنے کی اجازت نہیں ہے" - - - - + "ویجیٹ لوڈ نہیں کیا جا سکتا" + "سیٹ اپ مکمل کرنے کے لیے تھپتھپائیں" "یہ ایک سسٹم ایپ ہے اور اسے اَن انسٹال نہیں کیا جا سکتا ہے۔" "نام میں ترمیم کریں" "%1$s غیر فعال ہے" @@ -160,7 +161,7 @@ "دفتری پروفائل" "‏ورک ایپس پر بَیج لگایا گیا ہے اور آپ کا IT منتظم اسے دیکھ سکتا ہے" "سمجھ آ گئی" - "ورک ایپس آف ہیں" + "ورک ایپس موقوف ہیں" "آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری کا استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" "ورک ایپس آف ہیں۔ آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" "‏ورک ایپس پر بَیج لگایا ہے اور آپ کا IT منتظم انہیں دیکھ سکتا ہے" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 022e7487a0..635c83d243 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -46,8 +46,8 @@ "Vidjetlar" "Qidiruv" "Qidiruv maydoni matnini tozalash" - "Hech qanday vidjet mavjud emas" - "Hech narsa topilmadi" + "Vidjet va yorliqlar mavjud emas" + "Hech qanday vidjet yoki yorliq topilmadi" "Shaxsiy" "Ish" "Suhbatlar" @@ -64,7 +64,8 @@ "Bildirishnomalar" "Yorliqni bosib turgan holatda suring." "Ikki marta bosing va yorliqni bosib turgan holatda suring yoki maxsus amaldan foydalaning." - "Bosh ekranda joy qolmadi." + + "Ajratilganlarda birorta ham xona yo‘q" "Ilovalar ro‘yxati" "Shaxsiy ilovalar ro‘yxati" @@ -82,10 +83,8 @@ "Uy sozlamalari va yorliqlarini yozish" "Ilovaga \"Uy\" ekranidagi yorliqlar va sozlamalrni o‘zgartirish uchun ruxsat beradi." "%1$s ilovasiga qo‘ng‘iroqlarni amalga oshirishga ruxsat berilmagan" - - - - + "Vidjet yuklanmadi" + "Sozlashni yakunlash uchun bosing" "Bu tizim ilovasi, shuning uchun o‘chirib bo‘lmaydi." "Nomini tahrirlash" "%1$s ilovasi o‘chirib qo‘yildi" @@ -160,7 +159,7 @@ "Ish profili" "Ishga oid ilovalar qadalgan va IT administratoringizga koʻrinadi" "OK" - "Ishga oid ilovalar faolsizlantirilgan" + "Ishga oid ilovalar pauza qilingan" "Ishga oid ilovalar batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" "Ishga oid ilovalar faolsizlantirilgan. Ular batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" "Ishga oid ilovalar qadalgan va IT administratoringizga koʻrinadi" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index c3e2363b5c..c3e6ffd5e4 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -46,8 +46,8 @@ "Tiện ích" "Tìm kiếm" "Xóa văn bản khỏi hộp tìm kiếm" - "Không có tiện ích nào" - "Không có kết quả tìm kiếm nào" + "Không có tiện ích và lối tắt nào" + "Không tìm thấy tiện ích hoặc lối tắt nào" "Cá nhân" "Công việc" "Cuộc trò chuyện" @@ -64,7 +64,8 @@ "Thông báo" "Chạm và giữ để di chuyển một lối tắt." "Nhấn đúp và giữ để di chuyển một lối tắt hoặc sử dụng các thao tác tùy chỉnh." - "Không còn chỗ trên Màn hình chính này." + + "Không còn chỗ trong khay Mục yêu thích" "Danh sách ứng dụng" "Danh sách ứng dụng cá nhân" @@ -82,10 +83,8 @@ "ghi cài đặt và lối tắt trên Màn hình chính" "Cho phép ứng dụng thay đổi cài đặt và lối tắt trên Màn hình chính." "%1$s không được phép thực hiện cuộc gọi điện thoại" - - - - + "Không thể tải tiện ích" + "Nhấn để hoàn tất quá trình thiết lập" "Đây là ứng dụng hệ thống và không thể gỡ cài đặt." "Chỉnh sửa tên" "Đã vô hiệu hóa %1$s" @@ -160,7 +159,7 @@ "Hồ sơ công việc" "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT sẽ nhìn thấy các ứng dụng này" "OK" - "Ứng dụng công việc đang tắt" + "Đã tạm dừng ứng dụng công việc" "Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" "Ứng dụng công việc đang tắt. Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT sẽ nhìn thấy các ứng dụng này" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index b5f8e335b3..ac1955721b 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -46,8 +46,8 @@ "微件" "搜索" "清除搜索框中的文字" - "没有可用的微件" - "无搜索结果" + "无法使用微件和快捷方式" + "未找到任何微件或快捷方式" "个人" "工作" "对话" @@ -64,7 +64,8 @@ "通知" "轻触并按住快捷方式即可移动该快捷方式。" "点按两次并按住快捷方式即可移动该快捷方式或使用自定义操作。" - "此主屏幕上已没有空间。" + + "收藏栏已满" "应用列表" "个人应用列表" @@ -82,10 +83,8 @@ "写入主屏幕设置和快捷方式" "允许应用更改主屏幕中的设置和快捷方式。" "不允许使用“%1$s”拨打电话" - - - - + "无法加载微件" + "点按即可完成设置" "这是系统应用,无法卸载。" "修改名称" "已停用%1$s" @@ -160,7 +159,7 @@ "工作资料" "工作应用带有标志,您的 IT 管理员可以看到此类应用" "知道了" - "工作应用已关闭" + "工作应用已暂停" "工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" "工作应用已关闭。工作应用无法向您发送通知、不能耗用电池电量,也无法获取您的位置信息" "工作应用带有标志,您的 IT 管理员可以看到工作应用" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 0379e5b57b..b4287bb795 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -46,8 +46,8 @@ "小工具" "搜尋" "清除搜尋框中的文字" - "沒有可用的小工具" - "沒有相符的搜尋結果" + "無法使用小工具和捷徑" + "找不到小工具或捷徑" "個人" "工作" "對話" @@ -64,7 +64,8 @@ "通知" "輕觸並按住即可移動捷徑。" "㩒兩下之後㩒住,就可以郁捷徑或者用自訂操作。" - "主畫面已無空間。" + + "我的收藏寄存區沒有足夠空間" "應用程式清單" "個人應用程式清單" @@ -82,10 +83,8 @@ "寫入主畫面的設定和捷徑" "允許應用程式更改主畫面中的設定和捷徑。" "不允許 %1$s 撥打電話" - - - - + "無法載入小工具" + "輕按即可完成設定" "這是系統應用程式,無法將其解除安裝。" "編輯名稱" "「%1$s」已停用" @@ -160,7 +159,7 @@ "工作設定檔" "工作應用程式會加上標誌,且你的 IT 管理員可以看到這類應用程式" "知道了" - "工作應用程式已關閉" + "已暫停工作應用程式" "工作應用程式無法向您傳送通知、使用電池或存取位置" "工作應用程式已關閉。工作應用程式無法向您傳送通知、使用電池或存取位置" "IT 管理員可看到工作應用程式和相關標誌" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 0f6ccd8a91..248a20c272 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -46,8 +46,8 @@ "小工具" "搜尋" "清除搜尋框中的文字" - "沒有可用的小工具" - "找不到相符的搜尋結果" + "無法使用小工具和捷徑" + "找不到小工具或捷徑" "個人" "工作" "對話" @@ -64,7 +64,8 @@ "通知" "按住即可移動捷徑。" "輕觸兩下並按住即可移動捷徑或使用自訂操作。" - "這個主畫面已無空間。" + + "「我的最愛」匣已無可用空間" "應用程式清單" "個人應用程式清單" @@ -82,10 +83,8 @@ "寫入主畫面設定和捷徑" "允許應用程式變更主畫面中的設定和捷徑。" "%1$s 無法撥打電話" - - - - + "無法載入小工具" + "輕觸即可完成設定" "這是系統應用程式,不可解除安裝。" "編輯名稱" "已停用 %1$s" @@ -160,7 +159,7 @@ "工作資料夾" "工作應用程式會加上標記,而且你的 IT 管理員可以看到這類應用程式" "我知道了" - "工作應用程式已關閉" + "系統已暫停工作應用程式" "工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" "工作應用程式已關閉。工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" "你的 IT 管理員可以看見工作應用程式和相關標記" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index 5bf5104117..eccd5564ad 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -46,8 +46,8 @@ "Amawijethi" "Sesha" "Sula umbhalo ovela ebhokisini lokusesha" - "Awekho amawijethi atholakalayo" - "Ayikho imiphumela yosesho" + "Amawijethi nezinqamuleli akutholakali" + "Awekho amajiwethi noma izinqamuleli ezitholakele" "Okwabantu siqu" "Umsebenzi" "Izingxoxo" @@ -64,7 +64,8 @@ "Izaziso" "Thinta uphinde ubambe ukuze uhambise isinqamuleli." "Thepha kabili uphinde ubambe ukuze uhambise isinqamuleli noma usebenzise izenzo ezingokwezifiso." - "Asisekho isikhala kulesi sikrini Sasekhaya." + + "Asisekho isikhala kwitreyi lezintandokazi" "Uhlu lwezinhlelo zokusebenza" "Uhlu lwezinhlelo zokusebenza zomuntu siqu" @@ -82,10 +83,8 @@ "bhala izilungiselelo zokuthi Ikhaya nezinqamuleli" "Ivumela uhlelo lokusebenza ukuthi lushintshe izilungiselelo nezinqamuleli Ekhaya." "%1$s ayivunyelwe ukwenza amakholi wefoni" - - - - + "Ayikwazi ukulayisha iwijethi" + "Thepha ukuze uqede ukusetha" "Lolu uhlelo lokusebenza lwesistimu futhi alikwazi ukukhishwa." "Hlela igama" "Kukhutshaziwe %1$s" @@ -160,7 +159,7 @@ "Iphrofayela yomsebenzi" "Ama-app omsebenzi anebheji futhi ayabonakala kumphathi wakho we-IT" "Ngiyezwa" - "Ama-app omsebenzi avaliwe" + "Izinhlelo zokusebenza zomsebenzi ziphunyuziwe" "Ama-app akho omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" "Ama-app omsebenzi avaliwe. Ama-app akho omsebenzi awakwazi ukukuthumela izaziso, ukusebenzisa ibhethri lakho, noma ukufinyelela indawo yakho" "Ama-app omsebenzi anebheji futhi ayabonakala kumphathi wakho we-IT" From ef360b72b80cbd8f3dc18bcac69ec7bbf52202b7 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Tue, 22 Jun 2021 15:27:05 -0700 Subject: [PATCH 069/905] Show back and IME switcher for gesture nav (1/2) This shows back and IME switcher when in app taskbar and IME is visible. This doesn't remove the system bar just yet (will show overlap). Next CL will remove the system IME buttons so only launcher IME buttons show. Bug: 191612881 Test: Used IME in gesture + 3 button with taskbar. Change-Id: If39382c4d01f26a9350f7460d9e769ca9b57828c --- .../taskbar/NavbarButtonsViewController.java | 50 +++++++++++-------- .../taskbar/TaskbarActivityContext.java | 3 -- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java index 4e85eb4ced..1edeba0a9d 100644 --- a/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java +++ b/quickstep/src/com/android/launcher3/taskbar/NavbarButtonsViewController.java @@ -86,6 +86,7 @@ public class NavbarButtonsViewController { private TaskbarControllers mControllers; private View mA11yButton; private int mSysuiStateFlags; + private View mBackButton; public NavbarButtonsViewController(TaskbarActivityContext context, FrameLayout navButtonsView) { mContext = context; @@ -106,6 +107,26 @@ public class NavbarButtonsViewController { return true; }; + mPropertyHolders.add(new StatePropertyHolder( + mControllers.taskbarViewController.getTaskbarIconAlpha() + .getProperty(ALPHA_INDEX_IME), + flags -> (flags & FLAG_IME_VISIBLE) == 0, MultiValueAlpha.VALUE, 1, 0)); + + // IME switcher + View imeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH, + mEndContainer, mControllers.navButtonController, R.id.ime_switcher); + mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton, + flags -> ((flags & MASK_IME_SWITCHER_VISIBLE) == MASK_IME_SWITCHER_VISIBLE) + && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0) + && ((flags & FLAG_A11Y_VISIBLE) == 0))); + + mBackButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, + mStartContainer, mControllers.navButtonController, R.id.back); + // Rotate when Ime visible + mPropertyHolders.add(new StatePropertyHolder(mBackButton, + flags -> (flags & FLAG_IME_VISIBLE) == 0, View.ROTATION, 0, + Utilities.isRtl(mContext.getResources()) ? 90 : -90)); + if (mContext.isThreeButtonNav()) { initButtons(mStartContainer, mEndContainer, mControllers.navButtonController); @@ -114,10 +135,6 @@ public class NavbarButtonsViewController { mControllers.taskbarDragLayerController.getNavbarBackgroundAlpha(), flags -> (flags & FLAG_IME_VISIBLE) == 0, AnimatedFloat.VALUE, 0, 1)); - mPropertyHolders.add(new StatePropertyHolder( - mControllers.taskbarViewController.getTaskbarIconAlpha() - .getProperty(ALPHA_INDEX_IME), - flags -> (flags & FLAG_IME_VISIBLE) == 0, MultiValueAlpha.VALUE, 1, 0)); mPropertyHolders.add(new StatePropertyHolder( mControllers.taskbarViewController.getTaskbarIconAlpha() .getProperty(ALPHA_INDEX_KEYGUARD), @@ -130,6 +147,9 @@ public class NavbarButtonsViewController { mControllers.rotationButtonController.setRotationButton(rotationButton); } else { mControllers.rotationButtonController.setRotationButton(new RotationButton() {}); + // Show when IME is visible + mPropertyHolders.add(new StatePropertyHolder(mBackButton, + flags -> (flags & FLAG_IME_VISIBLE) != 0)); } applyState(); @@ -139,13 +159,8 @@ public class NavbarButtonsViewController { private void initButtons(ViewGroup startContainer, ViewGroup endContainer, TaskbarNavButtonController navButtonController) { - View backButton = addButton(R.drawable.ic_sysbar_back, BUTTON_BACK, - startContainer, navButtonController, R.id.back); - // Rotate when Ime visible - mPropertyHolders.add(new StatePropertyHolder(backButton, - flags -> (flags & FLAG_IME_VISIBLE) == 0, View.ROTATION, 0, - Utilities.isRtl(mContext.getResources()) ? 90 : -90)); - mPropertyHolders.add(new StatePropertyHolder(backButton, + // Hide when keyguard is showing, show when bouncer is showing + mPropertyHolders.add(new StatePropertyHolder(mBackButton, flags -> (flags & FLAG_KEYGUARD_VISIBLE) == 0 || (flags & FLAG_ONLY_BACK_FOR_BOUNCER_VISIBLE) != 0)); @@ -161,14 +176,6 @@ public class NavbarButtonsViewController { flags -> (flags & FLAG_IME_VISIBLE) == 0 && (flags & FLAG_KEYGUARD_VISIBLE) == 0)); - // IME switcher - View imeSwitcherButton = addButton(R.drawable.ic_ime_switcher, BUTTON_IME_SWITCH, - endContainer, navButtonController, R.id.ime_switcher); - mPropertyHolders.add(new StatePropertyHolder(imeSwitcherButton, - flags -> ((flags & MASK_IME_SWITCHER_VISIBLE) == MASK_IME_SWITCHER_VISIBLE) - && ((flags & FLAG_ROTATION_BUTTON_VISIBLE) == 0) - && ((flags & FLAG_A11Y_VISIBLE) == 0))); - // A11y button mA11yButton = addButton(R.drawable.ic_sysbar_accessibility_button, BUTTON_A11Y, endContainer, navButtonController, R.id.accessibility_button); @@ -193,7 +200,10 @@ public class NavbarButtonsViewController { updateStateForFlag(FLAG_IME_VISIBLE, isImeVisible); updateStateForFlag(FLAG_SWITCHER_SUPPORTED, isImeSwitcherShowing); updateStateForFlag(FLAG_A11Y_VISIBLE, a11yVisible); - mA11yButton.setLongClickable(a11yLongClickable); + if (mA11yButton != null) { + // Only used in 3 button + mA11yButton.setLongClickable(a11yLongClickable); + } applyState(); } diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index f4703d3a99..e11f4c17f1 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -218,9 +218,6 @@ public class TaskbarActivityContext extends ContextThemeWrapper implements Activ } public void updateSysuiStateFlags(int systemUiStateFlags, boolean forceUpdate) { - if (!isThreeButtonNav()) { - return; - } mControllers.navbarButtonsViewController.updateStateForSysuiFlags( systemUiStateFlags, forceUpdate); mControllers.taskbarViewController.setImeIsVisible( From 31ad1450c6e88e1d6c0b3397b35d46710d41f866 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Fri, 25 Jun 2021 14:46:32 +0000 Subject: [PATCH 070/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ife559d5bd10b6749922ef3f6fb43ddff2d03a879 --- res/values-af/strings.xml | 3 +-- res/values-az/strings.xml | 3 +-- res/values-bn/strings.xml | 6 ++---- res/values-ca/strings.xml | 2 +- res/values-de/strings.xml | 6 ++---- res/values-eu/strings.xml | 3 +-- res/values-ka/strings.xml | 3 +-- res/values-kk/strings.xml | 2 +- res/values-ky/strings.xml | 3 +-- res/values-mr/strings.xml | 3 +-- res/values-pa/strings.xml | 6 ++---- res/values-sq/strings.xml | 6 ++---- res/values-ur/strings.xml | 6 ++---- 13 files changed, 18 insertions(+), 34 deletions(-) diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index d1e1253b3a..6e811807aa 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -64,8 +64,7 @@ "Kennisgewings" "Raak en hou om \'n kortpad te skuif." "Dubbeltik en hou om \'n kortpad te skuif of gebruik gepasmaakte handelinge." - - + "Geen plek op hierdie tuisskerm nie" "Geen plek meer in die Gunstelinge-laai nie" "Programmelys" "Lys persoonlike programme" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 3670b01348..1bbc006a71 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -64,8 +64,7 @@ "Bildirişlər" "Qısayolu daşımaq üçün toxunub saxlayın." "Qısayolu daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin." - - + "Bu Əsas ekranda yer qalmayıb" "Favoritlər-də yer yoxdur" "Tətbiq siyahısı" "Şəxsi tətbiqlərin siyahısı" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index 62b5c5d944..aa32151974 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -46,10 +46,8 @@ "উইজেট" "সার্চ করুন" "সার্চ বক্স থেকে টেক্সট মুছুন" - - - - + "উইজেট এবং শর্টকার্ট উপলভ্য নেই" + "কোনও উইজেট বা শর্টকার্ট খুঁজে পাওয়া যায়নি" "ব্যক্তিগত" "অফিস" "কথোপকথন" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index a84293541f..f1860d40f3 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -103,7 +103,7 @@ "Carpeta: %1$s, %2$d elements" "Carpeta: %1$s, %2$d o més elements" "Fons de pantalla" - "Fons de pantalla i estil" + "Estil i fons de pantalla" "Config. pantalla d\'inici" "Desactivada per l\'administrador" "Permet la rotació de la pantalla d\'inici" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index dfa6337a4b..aebf5e06f8 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -46,10 +46,8 @@ "Widgets" "Suche" "Text aus dem Suchfeld löschen" - - - - + "Widgets und Shortcuts nicht verfügbar" + "Keine Widgets oder Shortcuts gefunden" "Privat" "Geschäftlich" "Unterhaltungen" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index f8b3997993..78ecc7014a 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -64,8 +64,7 @@ "Jakinarazpenak" "Eduki sakatuta lasterbide bat mugitzeko." "Sakatu birritan eta eduki sakatuta lasterbide bat mugitzeko edo ekintza pertsonalizatuak erabiltzeko." - - + "Ez dago tokirik hasierako pantailan" "Ez dago toki gehiago Gogokoak erretiluan" "Aplikazioen zerrenda" "Aplikazio pertsonalen zerrenda" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 579ff60e52..fd6730678e 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -64,8 +64,7 @@ "შეტყობინებები" "შეხებით აირჩიეთ და გეჭიროთ მალსახმობის გადასაადგილებლად." "ორმაგი შეხებით აირჩიეთ და გეჭიროთ მალსახმობის გადასაადგილებლად ან მორგებული მოქმედებების გამოსაყენებლად." - - + "ამ მთავარ ეკრანზე ადგილი არ არის" "რჩეულების თაროზე ადგილი არ არის" "აპების სია" "პერსონალური აპების სია" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 5783873eed..64771de1b8 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -76,7 +76,7 @@ "Орнату" "Қолданбаны ұсынбау" "Болжанған қолданбаны бекіту" - "төте пернелерді орнату" + "таңбаша орнату" "Қолданбаға пайдаланушының қатысуынсыз төте пернелерді қосу мүмкіндігін береді." "Негізгі экрандағы параметрлер мен төте пернелерді оқу" "Қолданбаға Негізгі экрандағы параметрлер мен төте пернелерді оқу мүмкіндігін береді." diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 605ebe1d2a..2ead1ea7a8 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -64,8 +64,7 @@ "Билдирмелер" "Ыкчам баскычты жылдыруу үчүн коё бербей басып туруңуз." "Ыкчам баскычты жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз." - - + "Башкы экранда бош орун жок" "Тандамалдар тайпасында орун калган жок" "Колдонмолор тизмеси" "Жеке колдономолордун тизмеси" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index e7269caeee..e4634dd801 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -64,8 +64,7 @@ "सूचना" "शॉर्टकट हलवण्यासाठी स्पर्श करा आणि धरून ठेवा." "शॉर्टकट हलवण्यासाठी किंवा कस्टम कृती वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा." - - + "या होम स्क्रीनवर कोणतीही रूम नाही" "आवडीच्या ट्रे मध्ये आणखी जागा नाही" "अ‍ॅप्स सूची" "वैयक्तिक अ‍ॅप्स सूची" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index ed0879fb3b..ff9ed62082 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -46,10 +46,8 @@ "ਵਿਜੇਟ" "ਖੋਜੋ" "ਖੋਜ ਬਾਕਸ ਤੋਂ ਸਪੱਸ਼ਟ ਲਿਖਤ" - - - - + "ਵਿਜੇਟ ਜਾਂ ਸ਼ਾਰਟਕੱਟ ਉਪਲਬਧ ਨਹੀਂ ਹਨ" + "ਕੋਈ ਵੀ ਵਿਜੇਟ ਜਾਂ ਸ਼ਾਰਟਕੱਟ ਨਹੀਂ ਮਿਲਿਆ" "ਨਿੱਜੀ" "ਕਾਰਜ-ਸਥਾਨ" "ਗੱਲਾਂਬਾਤਾਂ" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index e39e3e7893..833745f1d9 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -46,10 +46,8 @@ "Miniaplikacionet" "Kërko" "Pastro tekstin nga kutia e kërkimit" - - - - + "Miniaplikacionet dhe shkurtoret nuk ofrohen" + "Nuk u gjet asnjë miniaplikacion ose shkurtore" "Personale" "Puna" "Bisedat" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 7fe31a6663..3353539b7d 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -46,10 +46,8 @@ "ویجیٹس" "تلاش کریں" "تلاش کے خانے سے ٹیکسٹ صاف کریں" - - - - + "ویجیٹس اور شارٹ کٹس دستیاب نہیں ہیں" + "کوئی ویجیٹ یا شارٹ کٹ نہیں ملا" "ذاتی" "دفتری ویجیٹس" "گفتگوئیں" From 720ae4ea5ca4dd87513ce12bc7f626b000d73824 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Tue, 29 Jun 2021 00:23:23 +0000 Subject: [PATCH 071/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I6f7595546854a4f61c7f30a35eead5afbb4d04df --- res/values-am/strings.xml | 3 +-- res/values-ar/strings.xml | 3 +-- res/values-as/strings.xml | 3 +-- res/values-b+sr+Latn/strings.xml | 3 +-- res/values-be/strings.xml | 5 ++--- res/values-bg/strings.xml | 3 +-- res/values-bs/strings.xml | 3 +-- res/values-ca/strings.xml | 3 +-- res/values-cs/strings.xml | 3 +-- res/values-da/strings.xml | 3 +-- res/values-el/strings.xml | 3 +-- res/values-es-rUS/strings.xml | 3 +-- res/values-es/strings.xml | 3 +-- res/values-et/strings.xml | 3 +-- res/values-fa/strings.xml | 3 +-- res/values-fi/strings.xml | 3 +-- res/values-fr/strings.xml | 3 +-- res/values-gl/strings.xml | 3 +-- res/values-gu/strings.xml | 9 +++------ res/values-hi/strings.xml | 3 +-- res/values-hr/strings.xml | 3 +-- res/values-hu/strings.xml | 3 +-- res/values-hy/strings.xml | 5 ++--- res/values-in/strings.xml | 3 +-- res/values-is/strings.xml | 3 +-- res/values-it/strings.xml | 3 +-- res/values-iw/strings.xml | 3 +-- res/values-ja/strings.xml | 3 +-- res/values-kk/strings.xml | 3 +-- res/values-km/strings.xml | 3 +-- res/values-kn/strings.xml | 3 +-- res/values-ko/strings.xml | 3 +-- res/values-lo/strings.xml | 3 +-- res/values-lt/strings.xml | 3 +-- res/values-lv/strings.xml | 3 +-- res/values-mk/strings.xml | 3 +-- res/values-ml/strings.xml | 3 +-- res/values-mn/strings.xml | 3 +-- res/values-mr/strings.xml | 2 +- res/values-ms/strings.xml | 3 +-- res/values-my/strings.xml | 3 +-- res/values-nb/strings.xml | 3 +-- res/values-ne/strings.xml | 3 +-- res/values-nl/strings.xml | 3 +-- res/values-or/strings.xml | 11 ++++------- res/values-pl/strings.xml | 5 ++--- res/values-pt-rPT/strings.xml | 3 +-- res/values-pt/strings.xml | 3 +-- res/values-ro/strings.xml | 3 +-- res/values-ru/strings.xml | 3 +-- res/values-si/strings.xml | 3 +-- res/values-sk/strings.xml | 5 ++--- res/values-sl/strings.xml | 3 +-- res/values-sr/strings.xml | 3 +-- res/values-sv/strings.xml | 3 +-- res/values-sw/strings.xml | 3 +-- res/values-ta/strings.xml | 3 +-- res/values-te/strings.xml | 9 +++------ res/values-th/strings.xml | 5 ++--- res/values-tl/strings.xml | 3 +-- res/values-tr/strings.xml | 3 +-- res/values-uk/strings.xml | 3 +-- res/values-ur/strings.xml | 3 +-- res/values-uz/strings.xml | 3 +-- res/values-vi/strings.xml | 3 +-- res/values-zh-rCN/strings.xml | 3 +-- res/values-zh-rHK/strings.xml | 3 +-- res/values-zh-rTW/strings.xml | 3 +-- res/values-zu/strings.xml | 3 +-- 69 files changed, 81 insertions(+), 155 deletions(-) diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 2f56a882c7..2eb69fb257 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -64,8 +64,7 @@ "ማሳወቂያዎች" "አቋራጭን ለማንቀሳቀስ ይንኩ እና ይያዙ" "አቋራጭን ለማንቀሳቀስ ወይም ብጁ እርምጃዎችን ለመጠቀም ሁለቴ መታ ያድርጉ እና ይያዙ።" - - + "በዚህ የመነሻ ማያ ገጽ ላይ ምንም ክፍል የለም" "በተወዳጆች መሣቢያ ውስጥ ተጨማሪ ቦታ የለም" "የመተግበሪያዎች ዝርዝር" "የግል መተግበሪያዎች ዝርዝር" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index 63c1e30d7b..efe361ef84 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -72,8 +72,7 @@ "الإشعارات" "انقر مرتين مع تثبيت إصبعك لنقل اختصار." "انقر مرتين مع تثبيت إصبعك لنقل اختصار أو استخدام الإجراءات المخصّصة." - - + "ما مِن مساحة على هذه الشاشة الرئيسية." "لا يوجد المزيد من الحقول في علبة المفضلة" "قائمة التطبيقات" "قائمة التطبيقات الشخصية" diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index 7ecc9da037..f615a246a4 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -64,8 +64,7 @@ "জাননীসমূহ" "শ্বৰ্টকাট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক।" "কোনো শ্বৰ্টকাট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।" - - + "এই গৃহ স্ক্ৰীনত খালী ঠাই নাই" "পছন্দৰ ট্ৰে\'ত আৰু বেছি ঠাই নাই" "এপৰ সূচী" "ব্যক্তিগত এপৰ তালিকা" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 50d052ab30..6ee49d9cd9 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -66,8 +66,7 @@ "Obaveštenja" "Dvaput dodirnite i zadržite radi pomeranja prečice." "Dvaput dodirnite i zadržite da biste pomerali prečicu ili koristite prilagođene radnje." - - + "Nema prostora na ovom početnom ekranu" "Nema više prostora na traci Omiljeno" "Lista aplikacija" "Lista ličnih aplikacija" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index bdc2f196ba..93bdfa043a 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -68,8 +68,7 @@ "Апавяшчэнні" "Націсніце і ўтрымлівайце ярлык для перамяшчэння." "Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць ярлык або выкарыстоўваць спецыяльныя дзеянні." - - + "На гэтым Галоўным экране няма месца" "У латку \"Абранае\" больш няма месца" "Спіс праграм" "Спіс персанальных праграм" @@ -80,7 +79,7 @@ "Усталяваць" "Не прапаноўваць праграму" "Замацаваць прапанаваную праграму" - "усталёўваць ярлыкі" + "Стварэнне ярлыкоў" "Дазваляе праграмам дадаваць ярлыкі без умяшання карыстальніка." "счытваць налады і ярлыкі на Галоўнай старонцы" "Дазваляе праграме счытваць налады і ярлыкі на Галоўнай старонцы." diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index f0c86c679d..575ec221f2 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -64,8 +64,7 @@ "Известия" "Докоснете и задръжте за преместване на пряк път." "Докоснете двукратно и задръжте за преместване на пряк път или използвайте персонализирани действия." - - + "Няма място на този начален екран" "Няма повече място в областта с любимите" "Списък с приложения" "Списък с лични приложения" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index dc43c40cdf..3541cebc90 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -66,8 +66,7 @@ "Obavještenja" "Dodirnite i zadržite da pomjerite prečicu." "Dvaput dodirnite i zadržite da pomjerite prečicu ili da koristite prilagođene radnje." - - + "Nema prostora na početnom ekranu" "Nema više prostora u ladici Omiljeno" "Lista aplikacija" "Lista ličnih aplikacija" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index f1860d40f3..b1f8843281 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -64,8 +64,7 @@ "Notificacions" "Fes doble toc i mantén premut per moure una drecera." "Fes doble toc i mantén premut per moure una drecera o per utilitzar accions personalitzades." - - + "No queda espai en aquesta pantalla d\'inici" "No hi ha més espai a la safata Preferits." "Llista d\'aplicacions" "Llista d\'aplicacions personals" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 9b60c192f7..6b8f4f53f4 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -68,8 +68,7 @@ "Oznámení" "Klepnutím a podržením přesunete zkratku." "Dvojitým klepnutím a podržením přesunete zkratku, případně použijte vlastní akce." - - + "Na této ploše není místo" "Na panelu Oblíbené položky již není místo." "Seznam aplikací" "Seznam osobních aplikací" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 96ac1d14e5..7b34c032fb 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -64,8 +64,7 @@ "Notifikationer" "Hold en genvej nede for at flytte den." "Tryk to gange, og hold en genvej nede for at flytte den eller bruge tilpassede handlinger." - - + "Der er ikke ledig plads på startskærmen" "Der er ikke mere plads i bakken Favoritter" "Liste med apps" "Liste over personlige apps" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 14ff86040d..ffdc63c64c 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -64,8 +64,7 @@ "Ειδοποιήσεις" "Πατήστε παρατεταμένα για μετακίνηση συντόμευσης." "Πατήστε δύο φορές παρατεταμένα για μετακίνηση συντόμευσης ή χρήση προσαρμοσμένων ενεργειών." - - + "Δεν υπάρχει χώρος σε αυτήν την αρχική οθόνη" "Δεν υπάρχει επιπλέον χώρος στην περιοχή Αγαπημένα" "Λίστα εφαρμογών" "Λίστα προσωπικών εφαρμογών" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index b8567155cb..15ab568eaf 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -64,8 +64,7 @@ "Notificaciones" "Mantén presionado para mover un acceso directo." "Presiona dos veces y mantén presionado para mover un acceso directo o usar acciones personalizadas." - - + "No hay más espacio en esta pantalla principal" "La bandeja de favoritos está llena." "Lista de apps" "Lista de apps personales" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 83e49848ed..0619b39fb4 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -64,8 +64,7 @@ "Notificaciones" "Mantén pulsado un acceso directo para moverlo." "Toca dos veces y mantén pulsado un acceso directo para moverlo o usar acciones personalizadas." - - + "No queda espacio en la pantalla de inicio" "La bandeja de favoritos está completa" "Lista de aplicaciones" "Lista de aplicaciones personales" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 84100d4bde..7a91de258b 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -64,8 +64,7 @@ "Märguanded" "Otsetee teisaldamiseks puudutage ja hoidke all." "Otsetee teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all." - - + "Sellel avakuval pole ruumi" "Salves Lemmikud pole rohkem ruumi" "Rakenduste loend" "Isiklike rakenduste loend" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index c4fda9b10a..48e3c2c41a 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -64,8 +64,7 @@ "اعلان‌ها" "برای جابه‌جا کردن میان‌بر، لمس کنید و نگه دارید." "برای جابه‌جا کردن میان‌بر یا استفاده از کنش‌های سفارشی، دوضربه بزنید و نگه دارید." - - + "فضای خالی در این صفحه اصلی وجود ندارد" "فضای بیشتری در سینی موارد دلخواه وجود ندارد" "فهرست برنامه‌ها" "فهرست برنامه‌های شخصی" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index 7d6e7a40fd..0e42836393 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -64,8 +64,7 @@ "Ilmoitukset" "Kosketa pitkään, niin voit siirtää pikakuvaketta." "Kaksoisnapauta ja paina pitkään, niin voit siirtää pikakuvaketta tai käyttää muokattuja toimintoja." - - + "Tällä aloitusnäytöllä ei ole tilaa" "Suosikit-valikossa ei ole enää tilaa" "Sovellusluettelo" "Omat sovellukset ‑luettelo" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index d21389a97d..1391b43a9f 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -64,8 +64,7 @@ "Notifications" "Appuyez de manière prolongée pour déplacer raccourci." "Appuyez deux fois et maintenez la pression pour déplacer un raccourci ou utiliser les actions personnalisées." - - + "Pas d\'espace libre sur cet écran d\'accueil" "Plus d\'espace disponible dans la zone de favoris." "Liste d\'applications" "Liste des applications personnelles" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 6608c2492d..4605e2f96a 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -64,8 +64,7 @@ "Notificacións" "Mantén premido un atallo para movelo." "Toca dúas veces un atallo e manteno premido para movelo ou utiliza accións personalizadas." - - + "Non queda espazo nesta pantalla de inicio" "Non hai máis espazo na bandexa de favoritos" "Lista de aplicacións" "Lista de aplicacións persoais" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 33070a7061..1eca0c89a5 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -46,10 +46,8 @@ "વિજેટ્સ" "શોધ" "શોધ બૉક્સમાંથી ટેક્સ્ટ સાફ કરો" - - - - + "વિજેટ અને શૉર્ટકટ ઉપલબ્ધ નથી" + "કોઈ વિજેટ અથવા શૉર્ટકટ મળ્યા નથી" "વ્યક્તિગત" "ઑફિસ" "વાતચીતો" @@ -66,8 +64,7 @@ "નોટિફિકેશન" "શૉર્ટકટ ખસેડવા ટચ કરીને થોડી વાર દબાવી રાખો." "શૉર્ટકટ ખસેડવા બે વાર ટૅપ કરીને દબાવી રાખો અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરો." - - + "આ હોમ સ્ક્રીન પર વધુ જગ્યા નથી" "મનપસંદ ટ્રે પર વધુ જગ્યા નથી" "ઍપ્લિકેશનોની સૂચિ" "વ્યક્તિગત ઍપની સૂચિ" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 1c7bbd816f..c5a62f0e58 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -64,8 +64,7 @@ "सूचनाएं" "किसी शॉर्टकट को एक से दूसरी जगह ले जाने के लिए, उसे दबाकर रखें." "किसी शॉर्टकट को एक से दूसरी जगह ले जाने के लिए, उस पर दो बार टैप करके दबाकर रखें या पसंद के मुताबिक कार्रवाइयां इस्तेमाल करें." - - + "इस होम स्क्रीन पर जगह खाली नहीं है" "पसंदीदा ट्रे में और जगह नहीं है" "ऐप्लिकेशन सूची" "निजी ऐप्लिकेशन की सूची" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 7f2732481a..1d0566f13a 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -66,8 +66,7 @@ "Obavijesti" "Dodirnite i zadržite da biste premjestili prečac." "Dvaput dodirnite i zadržite pritisak da biste premjestili prečac ili upotrijebite prilagođene radnje." - - + "Na ovom početnom zaslonu više nema mjesta" "Nema više prostora na traci Favoriti" "Popis aplikacija" "Popis osobnih aplikacija" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 6f9b8c4edc..0042ab93ae 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -64,8 +64,7 @@ "Értesítések" "Tartsa lenyomva a parancsikont az áthelyezéshez." "Parancsikon áthelyezéséhez koppintson duplán, és tartsa nyomva az ujját, vagy használjon egyéni műveleteket." - - + "Nincs több hely ezen a kezdőképernyőn" "Nincs több hely a Kedvencek tálcán" "Alkalmazások listája" "Személyes alkalmazások listája" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 5bccfa4da1..239e186e01 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -64,8 +64,7 @@ "Ծանուցումներ" "Հպեք և պահեք՝ դյուրանցում տեղափոխելու համար։" "Կրկնակի հպեք և պահեք՝ դյուրանցում տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։" - - + "Հիմնական էկրանին ազատ տեղ չկա" "Ընտրյալների ցուցակում այլևս ազատ տեղ չկա" "Հավելվածների ցանկ" "Անձնական հավելվածների ցանկ" @@ -76,7 +75,7 @@ "Տեղադրել" "Թաքցնել առաջարկը" "Ամրացնել առաջարկվող հավելվածը" - "տեղադրել դյուրանցումներ" + "Դյուրանցումների տեղադրում" "Ծրագրին թույլ է տալիս ավելացնել դյուրանցումներ՝ առանց օգտագործողի միջամտության:" "կարդալ հիմնաէջի կարգավորումներն ու դյուրանցումները" "Ծրագրին թույլ է տալիս կարդալ հիմնաէջի կարգավորումներն ու դյուրանցումները:" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index a87e68a5f5..8125112434 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -64,8 +64,7 @@ "Notifikasi" "Sentuh lama untuk memindahkan pintasan." "Ketuk dua kali & tahan untuk memindahkan pintasan atau gunakan tindakan khusus." - - + "Tidak ada ruang di Layar utama ini" "Tidak ada ruang tersisa di baki Favorit" "Daftar aplikasi" "Daftar aplikasi pribadi" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index 96a0f550cc..ac0184616b 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -64,8 +64,7 @@ "Tilkynningar" "Haltu fingri á flýtileið til að færa hana." "Ýttu tvisvar og haltu fingri á flýtileið til að færa hana eða notaðu sérsniðnar aðgerðir." - - + "Ekkert pláss á þessum heimaskjá" "Ekki meira pláss í bakka fyrir uppáhald" "Forritalisti" "Listi yfir eigin forrit" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 4ae23d870c..7bdaff0a37 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -64,8 +64,7 @@ "Notifiche" "Tocca e tieni premuto per spostare una scorciatoia." "Tocca due volte e tieni premuto per spostare una scorciatoia o per usare le azioni personalizzate." - - + "Non c\'è più spazio nella schermata Home" "Spazio esaurito nella barra dei Preferiti" "Elenco di app" "Elenco di app personali" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index 4ba2599847..bc8656ab84 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -68,8 +68,7 @@ "התראות" "כדי להעביר קיצור דרך למקום אחר יש לגעת ולא להרפות." "כדי להעביר קיצור דרך למקום אחר או להשתמש בפעולות מותאמות אישית\' יש ללחוץ פעמיים ולא להרפות." - - + "אין מקום במסך הבית הזה" "אין עוד מקום במגש המועדפים" "רשימת אפליקציות" "רשימת אפליקציות אישיות" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 700fc44377..cac513a473 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -64,8 +64,7 @@ "通知" "長押ししてショートカットを移動してください。" "ショートカットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。" - - + "このホーム画面には空きスペースがありません" "お気に入りトレイに空きスペースがありません" "アプリのリスト" "個人用アプリのリスト" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 64771de1b8..543f241f30 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -64,8 +64,7 @@ "Хабарландырулар" "Таңбашаны жылжыту үшін басып тұрыңыз." "Таңбашаны жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." - - + "Негізгі экранда бос орын қалмады." "Қалаулылар науасында орын қалмады" "Қолданбалар тізімі" "Жеке қолданбалар тізімі" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 48f968b8e7..cb886c1ee2 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -64,8 +64,7 @@ "ការ​ជូនដំណឹង" "ចុចឱ្យជាប់​ដើម្បីផ្លាស់ទី​ផ្លូវកាត់​។" "ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ផ្លូវកាត់ ឬប្រើ​សកម្មភាព​តាមបំណង​។" - - + "គ្មានកន្លែង​នៅលើ​អេក្រង់ដើមនេះទេ" "គ្មាន​បន្ទប់​​ក្នុង​ថាស​និយម​ប្រើ" "បញ្ជីកម្មវិធី" "បញ្ជី​កម្មវិធី​ផ្ទាល់ខ្លួន" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index a40b5685b4..40aa013024 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -64,8 +64,7 @@ "ಅಧಿಸೂಚನೆಗಳು" "ಶಾರ್ಟ್‌ಕಟ್ ಸರಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." "ಶಾರ್ಟ್‌ಕಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." - - + "ಈ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಸ್ಥಳಾವಾಕಾಶವಿಲ್ಲ" "ಮೆಚ್ಚಿನವುಗಳ ಟ್ರೇನಲ್ಲಿ ಹೆಚ್ಚಿನ ಸ್ಥಳಾವಕಾಶವಿಲ್ಲ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ" "ವೈಯಕ್ತಿಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index aba3f3dc54..4de5c2c74a 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -64,8 +64,7 @@ "알림" "길게 터치하여 바로가기를 이동하세요." "두 번 탭한 다음 길게 터치하여 바로가기를 이동하거나 맞춤 작업을 사용하세요." - - + "홈 화면에 더 이상 공간이 없습니다." "즐겨찾기 트레이에 더 이상 공간이 없습니다." "앱 목록" "개인 앱 목록" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index 9973fa513d..a38a07bbf9 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -64,8 +64,7 @@ "ການແຈ້ງເຕືອນ" "ແຕະຄ້າງໄວ້ເພື່ອຍ້າຍທາງລັດ." "ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍທາງລັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ." - - + "ບໍ່ມີບ່ອນຫວ່າງໃນໜ້າໂຮມສະກຣີນນີ້" "ບໍ່ມີບ່ອນຫວ່າງໃນຖາດສຳລັບເກັບສິ່ງທີ່ໃຊ້ເປັນປະຈຳ" "ລາຍຊື່ແອັບ" "ລາຍຊື່ແອັບສ່ວນຕົວ" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 314fcf4492..0984056807 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -68,8 +68,7 @@ "Pranešimai" "Dukart pal. ir palaik., kad perk. spart. klavišą." "Dukart palieskite ir palaikykite, kad perkeltumėte spartųjį klavišą ar naudotumėte tinkintus veiksmus." - - + "Šiame pagrindiniame ekrane nebėra vietos" "Mėgstamiausių dėkle nebėra vietos" "Programų sąrašas" "Asmeninių programų sąrašas" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 916893f579..eb1eba053d 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -66,8 +66,7 @@ "Paziņojumi" "Lai pārvietotu saīsni, pieskarieties un turiet." "Lai pārvietotu saīsni, uz tās veiciet dubultskārienu un turiet. Varat arī veikt pielāgotas darbības." - - + "Šajā sākuma ekrānā nav vietas" "Izlases joslā vairs nav vietas." "Lietotņu saraksts" "Personīgo lietotņu saraksts" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 7ce9796205..4987cd5df9 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -64,8 +64,7 @@ "Известувања" "Допрете и задржете за да преместите кратенка." "Допрете двапати и задржете за да преместите кратенка или користете приспособени дејства." - - + "Нема простор на почетниов екран" "Нема повеќе простор на лентата „Омилени“" "Список со апликации" "Список со лични апликации" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index faffb00022..c41d02e5f0 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -64,8 +64,7 @@ "അറിയിപ്പുകൾ" "കുറുക്കുവഴി നീക്കാൻ സ്‌പർശിച്ച് പിടിക്കുക." "കുറുക്കുവഴി നീക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യൂ, ഹോൾഡ് ചെയ്യൂ അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കൂ." - - + "ഈ ഹോം സ്ക്രീനിലിൽ ഇടമില്ല" "പ്രിയപ്പെട്ടവയുടെ ട്രേയിൽ ഒഴിവൊന്നുമില്ല" "അപ്ലിക്കേഷനുകളുടെ ലിസ്‌റ്റ്" "വ്യക്തിഗത ആപ്പുകളുടെ ലിസ്റ്റ്" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 0216ae574d..35675d1d9c 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -64,8 +64,7 @@ "Мэдэгдэл" "Товчлолыг зөөхийн тулд хүрээд, удаан дарна уу." "Товчлолыг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу." - - + "Энэ үндсэн нүүрэнд зай байхгүй байна" "\"Дуртай\" трей дээр өөр зай байхгүй байна" "Апп-н жагсаалт" "Хувийн аппын жагсаалт" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index e4634dd801..b973547dd9 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -159,7 +159,7 @@ "कामाशी संबंधित ॲप्स ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" "कार्य ॲप्स थांबवली आहेत" - "तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" + "तुमची कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "कामाशी संबंधित ॲप्स बंद आहेत. तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "Work apps ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index 3b200fda73..b1e0244f87 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -64,8 +64,7 @@ "Pemberitahuan" "Sentuh & tahan untuk menggerakkan pintasan." "Ketik dua kali & tahan untuk menggerakkan pintasan atau menggunakan tindakan tersuai." - - + "Tiada ruang di skrin Utama ini" "Tiada ruang dalam dulang Kegemaran lagi" "Senarai apl" "Senarai apl peribadi" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 4077871d53..11e4fead98 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -64,8 +64,7 @@ "အကြောင်းကြားချက်များ" "ဖြတ်လမ်းလင့်ခ်ကို ရွှေ့ရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" "ဖြတ်လမ်းလင့်ခ်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" - - + "ဤပင်မစာမျက်နှာတွင် နေရာလွတ် မရှိတော့ပါ" "အနှစ်သက်ဆုံးများ ထားရာတွင် နေရာလွတ် မကျန်တော့ပါ" "အက်ပ်စာရင်း" "တစ်ကိုယ်ရေသုံး အက်ပ်စာရင်း" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 4be9caa2a8..a7931d0338 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -64,8 +64,7 @@ "Varsler" "Trykk og hold for å flytte en snarvei." "Dobbelttrykk og hold for å flytte en snarvei eller bruke tilpassede handlinger." - - + "Ingen ledig plass på denne startskjermen" "Favoritter-skuffen er full" "App-liste" "Personlige apper-liste" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index 3c21701b08..b36d400f1c 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -64,8 +64,7 @@ "सूचनाहरू" "कुनै सर्टकट सार्न डबल ट्याप गरेर छोइराख्नुहोस्।" "कुनै सर्टकट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।" - - + "यो होम स्क्रिनमा ठाउँ छैन" "मन पर्ने ट्रे अब कुनै ठाँउ छैन" "एपको सूची" "व्यक्तिगत अनुप्रयोगहरूको सूची" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 5f8878b730..7b3d5953c6 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -64,8 +64,7 @@ "Meldingen" "Tik en houd vast om een snelkoppeling te verplaatsen." "Dubbeltik en houd vast om een snelkoppeling te verplaatsen of aangepaste acties te gebruiken." - - + "Er is geen ruimte op dit startscherm" "Geen ruimte meer in het vak \'Favorieten\'" "Lijst met apps" "Lijst met persoonlijke apps" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 3289e1ad25..73848e0906 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -46,10 +46,8 @@ "ୱିଜେଟ୍‌" "ସନ୍ଧାନ କରନ୍ତୁ" "ସନ୍ଧାନ ବାକ୍ସରୁ ଟେକ୍ସଟ୍ ଖାଲି କରନ୍ତୁ" - - - - + "ୱିଜେଟ୍ ଏବଂ ସର୍ଟକଟଗୁଡ଼ିକ ଉପଲବ୍ଧ ନାହିଁ" + "କୌଣସି ୱିଜେଟ୍ କିମ୍ବା ସର୍ଟକଟ୍ ମିଳିଲା ନାହିଁ" "ବ୍ୟକ୍ତିଗତ" "ୱାର୍କ" "ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ" @@ -66,8 +64,7 @@ "ବିଜ୍ଞପ୍ତି" "ଏକ ସର୍ଟକଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।" "ଏକ ସର୍ଟକଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।" - - + "ଏହି ମୂଳସ୍କ୍ରିନରେ ଆଉ ଜାଗା ନାହିଁ" "ମନପସନ୍ଦ ଟ୍ରେରେ ଆଉ କୋଠରୀ ନାହିଁ" "ଆପ୍‌ ତାଲିକା" "ବ୍ୟକ୍ତିଗତ ଆପ୍ ତାଲିକା" @@ -78,7 +75,7 @@ "ଇନଷ୍ଟଲ୍‌ କରନ୍ତୁ" "ଆପ୍ ପରାମର୍ଶ ଦିଅନ୍ତୁ ନାହିଁ" "ପୂର୍ବାନୁମାନକୁ ପିନ୍ କରନ୍ତୁ" - "ଶର୍ଟକଟ୍‍ ଇନଷ୍ଟଲ୍‌ କରନ୍ତୁ" + "ସର୍ଟକଟ୍‍ ଇନଷ୍ଟଲ୍‌ କରନ୍ତୁ" "ୟୁଜରଙ୍କ ବିନା ହସ୍ତକ୍ଷେପରେ ଶର୍ଟକଟ୍‌ ଯୋଡ଼ିବାକୁ ଆପକୁ ଅନୁମତି ଦିଏ।" "ହୋମ୍‌ ସେଟିଙ୍ଗ ଏବଂ ଶର୍ଟକଟ୍‌ ପଢ଼ନ୍ତୁ" "ହୋମରେ ସେଟିଙ୍ଗ ପଢ଼ିବାକୁ ଆପ ଏବଂ ଶର୍ଟକଟକୁ ଅନୁମତି ଦିଏ।" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 3cfb569fe3..5ec64900ff 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -68,8 +68,7 @@ "Powiadomienia" "Naciśnij i przytrzymaj, aby wybrać skrót." "Naciśnij dwukrotnie i przytrzymaj, aby przenieść skrót lub użyć działań niestandardowych." - - + "Brak miejsca na tym ekranie głównym" "Brak miejsca w Ulubionych" "Lista aplikacji" "Lista aplikacji osobistych" @@ -80,7 +79,7 @@ "Zainstaluj" "Nie proponuj aplikacji" "Przypnij podpowiedź" - "instalowanie skrótów" + "Instalowanie skrótów" "Pozwala aplikacji dodawać skróty bez interwencji użytkownika." "odczytywanie ustawień i skrótów na ekranie głównym" "Pozwala aplikacji na odczytywanie ustawień i skrótów na ekranie głównym." diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 9aeecdc383..3141df6d95 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -64,8 +64,7 @@ "Notificações" "Toque sem soltar para mover um atalho." "Toque duas vezes sem soltar para mover um atalho ou utilizar ações personalizadas." - - + "Sem espaço neste ecrã principal." "Não existe mais espaço no tabuleiro de Favoritos" "Lista de aplicações" "Lista de aplicações pessoais" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 3dbf460762..c1c0e17d8e 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -64,8 +64,7 @@ "Notificações" "Toque e mantenha a tela pressionada para mover um atalho." "Toque duas vezes e mantenha a tela pressionada para mover um atalho ou usar ações personalizadas." - - + "Não há espaço nesta tela inicial" "Sem espaço na bandeja de favoritos" "Lista de apps" "Lista de apps pessoais" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index b9b3726644..3d8d46e7f9 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -66,8 +66,7 @@ "Notificări" "Atingeți și țineți apăsat pentru a muta comanda rapidă." "Atingeți de două ori și țineți apăsat pentru a muta o comandă rapidă sau folosiți acțiuni personalizate." - - + "Nu este disponibilă nicio sală pe acest ecran de pornire" "Spațiu epuizat în bara Preferate" "Lista de aplicații" "Lista de aplicații personale" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index d5c0159762..c220cad80c 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -68,8 +68,7 @@ "Уведомления" "Нажмите и удерживайте для переноса ярлыка." "Чтобы использовать специальные действия или перенести ярлык, нажмите на него дважды и удерживайте." - - + "На главном экране нет свободного места." "В разделе \"Избранное\" больше нет места" "Список приложений" "Открыть список личных приложений" diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index e32f16848a..90c9035b0f 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -64,8 +64,7 @@ "දැනුම්දීම්" "කෙටි මගක් ගෙන යාමට ස්පර්ශ කර අල්ලාගෙන සිටින්න." "කෙටි මගක් ගෙන යාමට හෝ අභිරුචි ක්‍රියා භාවිත කිරීමට දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න." - - + "මෙම මුල් තිරයේ ඉඩ නැත" "ප්‍රියතම දෑ ඇති තැටියේ තවත් ඉඩ නොමැත" "යෙදුම් ලැයිස්තුව" "පෞද්ගලික යෙදුම් ලැයිස්තුව" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index eb8ad30ff2..0830065e9a 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -68,8 +68,7 @@ "Upozornenia" "Pridržaním presuňte skratku." "Dvojitým klepnutím a pridržaním presuňte odkaz alebo použite vlastné akcie." - - + "Na tejto ploche nie je miesto" "Na paneli Obľúbené položky už nie je miesto" "Zoznam aplikácií" "Zoznam osobných aplikácií" @@ -80,7 +79,7 @@ "Inštalovať" "Nenavrhovať aplikáciu" "Pripnúť predpoveď" - "inštalovať odkazy" + "inštalácia odkazov" "Povoľuje aplikácii pridať odkazy bez zásahu používateľa." "čítanie nastavení a odkazov plochy" "Povoľuje aplikácii čítať nastavenia a odkazy na ploche." diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 7f440f81af..86a85653fe 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -68,8 +68,7 @@ "Obvestila" "Pridržite bližnjico, da jo premaknete." "Dvakrat se dotaknite bližnjice in jo pridržite, da jo premaknete, ali pa uporabite dejanja po meri." - - + "Na tem začetnem zaslonu ni prostora." "V vrstici za priljubljene ni več prostora" "Seznam aplikacij" "Seznam osebnih aplikacij" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 797a2a0167..d701a114f5 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -66,8 +66,7 @@ "Обавештења" "Двапут додирните и задржите ради померања пречице." "Двапут додирните и задржите да бисте померали пречицу или користите прилагођене радње." - - + "Нема простора на овом почетном екрану" "Нема више простора на траци Омиљено" "Листа апликација" "Листа личних апликација" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 8fa1e0e287..681ddd06ba 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -64,8 +64,7 @@ "Aviseringar" "Tryck länge för att flytta en genväg." "Tryck snabbt två gånger och håll kvar för att flytta en genväg eller använda anpassade åtgärder." - - + "Det finns inte plats på den här startskärmen." "Favoritfältet är fullt" "Applista" "Listan Personliga appar" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 1e7bf0747f..77106eb20d 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -64,8 +64,7 @@ "Arifa" "Gusa na ushikilie ili usogeze njia ya mkato." "Gusa mara mbili na ushikilie ili usogeze njia ya mkato au utumie vitendo maalum." - - + "Hakuna nafasi kwenye Skrini hii ya kwanza" "Hakuna nafasi zaidi katika treya ya Vipendeleo" "Orodha ya programu" "Orodha ya programu za binafsi" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index b68ee1e6ee..168982c79d 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -64,8 +64,7 @@ "அறிவிப்புகள்" "ஷார்ட்கட்டை நகர்த்தத் தொட்டுப் பிடிக்கவும்." "ஷார்ட்கட்டை நகர்த்த இருமுறை தட்டிப் பிடிக்கவும் அல்லது பிரத்தியேகச் செயல்களைப் பயன்படுத்தவும்." - - + "இந்த முகப்புத் திரையில் இடமில்லை" "பிடித்தவை ட்ரேயில் இடமில்லை" "ஆப்ஸின் பட்டியல்" "தனிப்பட்ட ஆப்ஸ் பட்டியல்" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 7191c6c704..7012b3ca6e 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -46,10 +46,8 @@ "విడ్జెట్‌లు" "సెర్చ్ చేయండి" "సెర్చ్ బాక్స్ నుండి టెక్స్ట్‌ను క్లియర్ చేయి" - - - - + "విడ్జెట్‌లు, షార్ట్‌కట్‌లు అందుబాటులో లేవు" + "విడ్జెట్‌లు లేదా షార్ట్‌కట్‌లు కనుగొనబడలేదు" "వ్యక్తిగత గ్యాడ్జెట్స్" "ఆఫీస్" "సంభాషణలు" @@ -66,8 +64,7 @@ "నోటిఫికేషన్‌లు" "షార్ట్‌కట్‌ను తరలించడానికి తాకి & నొక్కి ఉంచు." "షార్ట్‌కట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి & హోల్డ్ చేయండి." - - + "ఈ మొదటి స్క్రీన్‌లో స్థలం లేదు" "ఇష్టమైనవి ట్రేలో ఖాళీ లేదు" "అనువర్తనాల జాబితా" "వ్యక్తిగత యాప్‌ల జాబితా" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index f42766cb68..f5d9fdc055 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -64,8 +64,7 @@ "การแจ้งเตือน" "แตะค้างไว้เพื่อย้ายทางลัด" "แตะสองครั้งค้างไว้เพื่อย้ายทางลัดหรือใช้การดำเนินการที่กำหนดเอง" - - + "ไม่มีที่ว่างในหน้าจอหลักนี้" "ไม่มีพื้นที่เหลือในถาดรายการโปรด" "รายชื่อแอป" "รายการแอปส่วนตัว" @@ -159,7 +158,7 @@ "โปรไฟล์งาน" "แอปงานจะติดป้ายไว้และผู้ดูแลระบบไอทีจะมองเห็น" "รับทราบ" - "หยุดแอปงานไว้ชั่วคราว" + "แอปงานปิดอยู่" "แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" "แอปงานปิดอยู่ แอปงานจะส่งการแจ้งเตือน ใช้แบตเตอรี่ หรือเข้าถึงตำแหน่งของคุณไม่ได้" "แอปงานจะติดป้ายไว้และผู้ดูแลระบบไอทีจะมองเห็น" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 99b554c496..40d2f815e8 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -64,8 +64,7 @@ "Mga Notification" "Pindutin nang matagal para ilipat ang shortcut." "I-double tap at pindutin nang matagal para ilipat ang shortcut o gumamit ng mga custom na pagkilos." - - + "Walang espasyo sa Home screen na ito" "Wala nang lugar sa tray ng Mga Paborito" "Listahan ng mga app" "Listahan ng mga personal na app" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index a81a9cbc0a..6f6c47bad5 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -64,8 +64,7 @@ "Bildirimler" "Kısayolu taşımak için dokunup basılı tutun." "Kısayolu taşımak veya özel işlemleri kullanmak için iki kez dokunup basılı tutun." - - + "Bu Ana ekranda yer yok" "Favoriler tepsisinde başka yer kalmadı" "Uygulamalar listesi" "Kişisel uygulamalar listesi" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index b60b50fb9f..b171a7647e 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -68,8 +68,7 @@ "Сповіщення" "Натисніть і втримуйте, щоб перемістити ярлик." "Двічі натисніть і втримуйте ярлик, щоб перемістити його або виконати інші дії." - - + "На головному екрані немає місця" "В області \"Вибране\" немає місця" "Список додатків" "Список особистих додатків" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 3353539b7d..07086b0aa5 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -64,8 +64,7 @@ "اطلاعات" "شارٹ کٹ منتقل کرنے کیلیے ٹچ کریں اور پکڑ کر رکھیں۔" "شارٹ کٹ کو منتقل کرنے یا حسب ضرورت کارروائیاں استعمال کرنے کے لیے دوبار تھپتھپائیں اور پکڑ کر رکھیں۔" - - + "اس ہوم اسکرین پر کوئی گنجائش نہیں ہے" "پسندیدہ ٹرے میں مزید کوئی گنجائش نہیں ہے" "ایپس کی فہرست" "ذاتی ایپس کی فہرست" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 635c83d243..cbdfae1aa1 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -64,8 +64,7 @@ "Bildirishnomalar" "Yorliqni bosib turgan holatda suring." "Ikki marta bosing va yorliqni bosib turgan holatda suring yoki maxsus amaldan foydalaning." - - + "Bosh ekranda joy qolmadi." "Ajratilganlarda birorta ham xona yo‘q" "Ilovalar ro‘yxati" "Shaxsiy ilovalar ro‘yxati" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index c3e6ffd5e4..1b80cc7afc 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -64,8 +64,7 @@ "Thông báo" "Chạm và giữ để di chuyển một lối tắt." "Nhấn đúp và giữ để di chuyển một lối tắt hoặc sử dụng các thao tác tùy chỉnh." - - + "Không còn khoảng trống trên Màn hình chính này" "Không còn chỗ trong khay Mục yêu thích" "Danh sách ứng dụng" "Danh sách ứng dụng cá nhân" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index ac1955721b..477d1d59a2 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -64,8 +64,7 @@ "通知" "轻触并按住快捷方式即可移动该快捷方式。" "点按两次并按住快捷方式即可移动该快捷方式或使用自定义操作。" - - + "此主屏幕上已没有空间" "收藏栏已满" "应用列表" "个人应用列表" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index b4287bb795..6b77042840 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -64,8 +64,7 @@ "通知" "輕觸並按住即可移動捷徑。" "㩒兩下之後㩒住,就可以郁捷徑或者用自訂操作。" - - + "這個主畫面已無空間" "我的收藏寄存區沒有足夠空間" "應用程式清單" "個人應用程式清單" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 248a20c272..6a85bcc151 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -64,8 +64,7 @@ "通知" "按住即可移動捷徑。" "輕觸兩下並按住即可移動捷徑或使用自訂操作。" - - + "這個主畫面已無空間" "「我的最愛」匣已無可用空間" "應用程式清單" "個人應用程式清單" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index eccd5564ad..ed5ce8bb93 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -64,8 +64,7 @@ "Izaziso" "Thinta uphinde ubambe ukuze uhambise isinqamuleli." "Thepha kabili uphinde ubambe ukuze uhambise isinqamuleli noma usebenzise izenzo ezingokwezifiso." - - + "Asikho isikhala kulesi sikrini sasekhaya" "Asisekho isikhala kwitreyi lezintandokazi" "Uhlu lwezinhlelo zokusebenza" "Uhlu lwezinhlelo zokusebenza zomuntu siqu" From 4edea3a6a6515da6c5809a341a12f6f19300684a Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Tue, 29 Jun 2021 16:14:48 +0100 Subject: [PATCH 072/905] Set the widgets pickers' width to at most 80% of screen width on large screen devices Test: Phone: Open the full widgets picker and observe the width of the widgets picker fills the device screen width. Large screen devices: Open the bottom widgets picker and observe the width of the widgets picker only takes at most 80% of the devices' screen width. Same behavior is observed for bottom widgets picker. Bug: 186425352 Change-Id: I801b73ea031a290fb6a7295dca826ac91841877e --- .../android/launcher3/widget/BaseWidgetSheet.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/com/android/launcher3/widget/BaseWidgetSheet.java b/src/com/android/launcher3/widget/BaseWidgetSheet.java index 9f0b9d9b1f..a5c142db66 100644 --- a/src/com/android/launcher3/widget/BaseWidgetSheet.java +++ b/src/com/android/launcher3/widget/BaseWidgetSheet.java @@ -51,6 +51,11 @@ import com.android.launcher3.views.ArrowTipView; public abstract class BaseWidgetSheet extends AbstractSlideInView implements OnClickListener, OnLongClickListener, DragSource, PopupDataProvider.PopupDataChangeListener, Insettable { + /** + * The maximum scale, [0, 1], of the device screen width that the widgets picker can consume + * on large screen devices. + */ + protected static final float MAX_WIDTH_SCALE_FOR_LARGER_SCREEN = 0.8f; protected static final String KEY_WIDGETS_EDUCATION_TIP_SEEN = "launcher.widgets_education_tip_seen"; @@ -131,6 +136,15 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView 2 * (mInsets.left + mInsets.right)); } + if (deviceProfile.isTablet || deviceProfile.isTwoPanels) { + // In large screen devices, we restrict the width of the widgets picker to show part of + // the home screen. Let's ensure the minimum width used is at least the minimum width + // that isn't taken by the widgets picker. + int minUsedWidth = (int) (deviceProfile.availableWidthPx + * (1 - MAX_WIDTH_SCALE_FOR_LARGER_SCREEN)); + widthUsed = Math.max(widthUsed, minUsedWidth); + } + int heightUsed = mInsets.top + deviceProfile.edgeMarginPx; measureChildWithMargins(mContent, widthMeasureSpec, widthUsed, heightMeasureSpec, heightUsed); From ba61b98fca3a95f02b8802c4508fca5aa6903213 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Tue, 15 Jun 2021 16:29:19 +0100 Subject: [PATCH 073/905] Snap to relative position to snappd task when dismissing - Calculate the diff to snapped page scroll and apply in onLayout, so tasks won't jump after dismiss when not in snapped position - In grid, always keep the relateive snapped page unchanged to avoid jump Bug: 188793333 Test: manual Change-Id: Id11c2d700dc55440de39cc7409d06a712cedc9bc --- .../com/android/quickstep/views/RecentsView.java | 14 ++++++++------ src/com/android/launcher3/PagedView.java | 7 ++++++- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index eec0a718f9..c7924e4da5 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -2438,12 +2438,15 @@ public abstract class RecentsView extends ViewGrou @ViewDebug.ExportedProperty(category = "launcher") protected int mCurrentPage; + // Difference between current scroll position and mCurrentPage's page scroll. Used to maintain + // relative scroll position unchanged in updateCurrentPageScroll. Cleared when snapping to a + // page. + protected int mCurrentPageScrollDiff; @ViewDebug.ExportedProperty(category = "launcher") protected int mNextPage = INVALID_PAGE; @@ -247,7 +251,7 @@ public abstract class PagedView extends ViewGrou // If the current page is invalid, just reset the scroll position to zero int newPosition = 0; if (0 <= mCurrentPage && mCurrentPage < getPageCount()) { - newPosition = getScrollForPage(mCurrentPage); + newPosition = getScrollForPage(mCurrentPage) + mCurrentPageScrollDiff; } mOrientationHandler.set(this, VIEW_SCROLL_TO, newPosition); mScroller.startScroll(mScroller.getCurrX(), 0, newPosition - mScroller.getCurrX(), 0); @@ -452,6 +456,7 @@ public abstract class PagedView extends ViewGrou * to provide custom behavior during animation. */ protected void onPageEndTransition() { + mCurrentPageScrollDiff = 0; AccessibilityManagerCompat.sendScrollFinishedEventToTest(getContext()); AccessibilityManagerCompat.sendCustomAccessibilityEvent(getPageAt(mCurrentPage), AccessibilityEvent.TYPE_VIEW_FOCUSED, null); From 3b39f3164b936527892eb229cedb0b9bdb92aefd Mon Sep 17 00:00:00 2001 From: Brian Isganitis Date: Tue, 29 Jun 2021 16:03:55 -0400 Subject: [PATCH 074/905] Intercept touch events for launcher preview root view This change prevents any accidental touches on any widgets in the preview. Test: Tapping on launcher preview in wallpaper app should never activate a widget. Bug: 191623924 Change-Id: I98d462eca699cf368dcd5894f15584f280932ccc --- res/layout/launcher_preview_layout.xml | 4 ++-- .../launcher3/graphics/LauncherPreviewRenderer.java | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/res/layout/launcher_preview_layout.xml b/res/layout/launcher_preview_layout.xml index 16916800f3..cf2f2c75ee 100644 --- a/res/layout/launcher_preview_layout.xml +++ b/res/layout/launcher_preview_layout.xml @@ -13,7 +13,7 @@ See the License for the specific language governing permissions and limitations under the License. --> - - \ No newline at end of file + \ No newline at end of file diff --git a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java index cfb38e5d6e..1127ff907a 100644 --- a/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java +++ b/src/com/android/launcher3/graphics/LauncherPreviewRenderer.java @@ -46,6 +46,7 @@ import android.util.AttributeSet; import android.util.SparseIntArray; import android.view.ContextThemeWrapper; import android.view.LayoutInflater; +import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; import android.view.WindowInsets; @@ -534,4 +535,16 @@ public class LauncherPreviewRenderer extends ContextWrapper return false; } } + + /** Root layout for launcher preview that intercepts all touch events. */ + public static class LauncherPreviewLayout extends InsettableFrameLayout { + public LauncherPreviewLayout(Context context, AttributeSet attrs) { + super(context, attrs); + } + + @Override + public boolean onInterceptTouchEvent(MotionEvent ev) { + return true; + } + } } From f0353b5a9a4d71cf67f668fe421e05436ab03e79 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Wed, 30 Jun 2021 08:17:46 +0000 Subject: [PATCH 075/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I1fae17d8a50cccf65bb432eef39ac7cbc77f5fd8 --- quickstep/res/values-hy/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/quickstep/res/values-hy/strings.xml b/quickstep/res/values-hy/strings.xml index e4d9991b40..8a5a875b0b 100644 --- a/quickstep/res/values-hy/strings.xml +++ b/quickstep/res/values-hy/strings.xml @@ -46,9 +46,9 @@ "«Առաջարկվող հավելվածներ» գործառույթն անջատված է" "Առաջարկվող հավելված՝ %1$s" "Համոզվեք, որ մատը սահեցնում եք էկրանի ձախ եզրից։" - "Սահեցրեք մատն էկրանի ձախ եզրից դեպի կենտրոն և բաց թողեք։" + "Մատը սահեցրեք էկրանի ձախ եզրից դեպի կենտրոն և բաց թողեք։" "Համոզվեք, որ մատը սահեցնում եք էկրանի աջ եզրից։" - "Սահեցրեք մատն էկրանի աջ եզրից դեպի կենտրոն և բաց թողեք։" + "Մատը սահեցրեք էկրանի աջ եզրից դեպի կենտրոն և բաց թողեք։" "Դուք սովորեցիք՝ ինչպես մատը ձախից սահեցնելով հետ գնալ" "Դուք սովորեցիք՝ ինչպես մատը աջից սահեցնելով հետ գնալ։ Այժմ սովորենք՝ ինչպես անցնել մի հավելվածից մյուսը։" "Դուք սովորեցիք հետ գնալու ժեստը։" From e463d19173b843c8897eb522a117cb9430d51896 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Wed, 30 Jun 2021 08:20:10 +0000 Subject: [PATCH 076/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I282f1e29562ee9f190c054db49af69ad90394b2d --- res/values-af/strings.xml | 2 ++ res/values-am/strings.xml | 2 ++ res/values-ar/strings.xml | 2 ++ res/values-as/strings.xml | 2 ++ res/values-az/strings.xml | 2 ++ res/values-b+sr+Latn/strings.xml | 2 ++ res/values-be/strings.xml | 2 ++ res/values-bg/strings.xml | 2 ++ res/values-bn/strings.xml | 2 ++ res/values-bs/strings.xml | 2 ++ res/values-ca/strings.xml | 2 ++ res/values-cs/strings.xml | 2 ++ res/values-da/strings.xml | 2 ++ res/values-de/strings.xml | 5 +++-- res/values-el/strings.xml | 2 ++ res/values-en-rAU/strings.xml | 2 ++ res/values-en-rCA/strings.xml | 2 ++ res/values-en-rGB/strings.xml | 2 ++ res/values-en-rIN/strings.xml | 2 ++ res/values-en-rXC/strings.xml | 1 + res/values-es-rUS/strings.xml | 2 ++ res/values-es/strings.xml | 2 ++ res/values-et/strings.xml | 2 ++ res/values-eu/strings.xml | 2 ++ res/values-fa/strings.xml | 2 ++ res/values-fi/strings.xml | 2 ++ res/values-fr-rCA/strings.xml | 5 +++-- res/values-fr/strings.xml | 2 ++ res/values-gl/strings.xml | 2 ++ res/values-gu/strings.xml | 2 ++ res/values-hi/strings.xml | 2 ++ res/values-hr/strings.xml | 2 ++ res/values-hu/strings.xml | 2 ++ res/values-hy/strings.xml | 2 ++ res/values-in/strings.xml | 2 ++ res/values-is/strings.xml | 2 ++ res/values-it/strings.xml | 2 ++ res/values-iw/strings.xml | 2 ++ res/values-ja/strings.xml | 6 ++++-- res/values-ka/strings.xml | 2 ++ res/values-kk/strings.xml | 2 ++ res/values-km/strings.xml | 2 ++ res/values-kn/strings.xml | 2 ++ res/values-ko/strings.xml | 2 ++ res/values-ky/strings.xml | 2 ++ res/values-lo/strings.xml | 2 ++ res/values-lt/strings.xml | 2 ++ res/values-lv/strings.xml | 2 ++ res/values-mk/strings.xml | 2 ++ res/values-ml/strings.xml | 2 ++ res/values-mn/strings.xml | 2 ++ res/values-mr/strings.xml | 2 ++ res/values-ms/strings.xml | 2 ++ res/values-my/strings.xml | 2 ++ res/values-nb/strings.xml | 2 ++ res/values-ne/strings.xml | 2 ++ res/values-nl/strings.xml | 4 +++- res/values-or/strings.xml | 2 ++ res/values-pa/strings.xml | 2 ++ res/values-pl/strings.xml | 2 ++ res/values-pt-rPT/strings.xml | 2 ++ res/values-pt/strings.xml | 2 ++ res/values-ro/strings.xml | 2 ++ res/values-ru/strings.xml | 2 ++ res/values-si/strings.xml | 2 ++ res/values-sk/strings.xml | 2 ++ res/values-sl/strings.xml | 2 ++ res/values-sq/strings.xml | 5 +++-- res/values-sr/strings.xml | 2 ++ res/values-sv/strings.xml | 2 ++ res/values-sw/strings.xml | 2 ++ res/values-ta/strings.xml | 2 ++ res/values-te/strings.xml | 2 ++ res/values-th/strings.xml | 2 ++ res/values-tl/strings.xml | 2 ++ res/values-tr/strings.xml | 2 ++ res/values-uk/strings.xml | 2 ++ res/values-ur/strings.xml | 2 ++ res/values-uz/strings.xml | 2 ++ res/values-vi/strings.xml | 2 ++ res/values-zh-rCN/strings.xml | 2 ++ res/values-zh-rHK/strings.xml | 2 ++ res/values-zh-rTW/strings.xml | 2 ++ res/values-zu/strings.xml | 2 ++ 84 files changed, 173 insertions(+), 9 deletions(-) diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 6e811807aa..834e384bb6 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -32,6 +32,8 @@ "Dubbeltik en hou om \'n legstuk te skuif of gebruik gepasmaakte handelinge." "%1$d × %2$d" "%1$d breed by %2$d hoog" + + "Raak en hou die legstuk om dit op die Tuisskerm rond te beweeg" "Voeg by Tuisskerm" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 2eb69fb257..1b9c7ee196 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -32,6 +32,8 @@ "ምግብርን ለማንቀሳቀስ ወይም ብጁ እርምጃዎችን ለመጠቀም ሁለቴ መታ ያድርጉ እና ይያዙ።" "%1$d × %2$d" "%1$d ስፋት በ%2$d ከፍታ" + + "በመነሻ ገጽ አካባቢ ላይ ለማንቀሳቀስ ነክተው ይያዙት" "ወደ መነሻ ገጽ አክል" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index efe361ef84..ac446a2ae8 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -32,6 +32,8 @@ "انقر مرتين مع تثبيت إصبعك لنقل أداة أو استخدام الإجراءات المخصّصة." "%1$d × %2$d" "‏العرض %1$d الطول %2$d" + + "يمكنك النقر على الأداة مع الاستمرار لتحريكها على الشاشة الرئيسية." "إضافة إلى الشاشة الرئيسية" diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index f615a246a4..f61a1527d0 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -32,6 +32,8 @@ "কোনো ৱিজেট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।" "%1$d × %2$d" "%1$d বহল x %2$d ওখ" + + "ৱিজেটটো গৃহ স্ক্ৰীনৰ আশে-পাশে নিবলৈ সেইটোত স্পৰ্শ কৰি ধৰি ৰাখক" "গৃহ স্ক্ৰীনত যোগ কৰক" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 1bbc006a71..36d20519a1 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -32,6 +32,8 @@ "Vidceti daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin." "%1$d × %2$d" "%2$d hündürlük %1$d enində" + + "Əsas ekranda hərəkət etdirmək üçün vidcetə toxunub saxlayın" "Əsas ekrana əlavə edin" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 6ee49d9cd9..62e4c2b215 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -32,6 +32,8 @@ "Dvaput dodirnite i zadržite da biste pomerali vidžet ili koristite prilagođene radnje." "%1$d×%2$d" "širina od %1$d i visina od %2$d" + + "Dodirnite i zadržite vidžet da biste ga pomerali po početnom ekranu" "Dodaj na početni ekran" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index 93bdfa043a..9162de71e4 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -32,6 +32,8 @@ "Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць віджэт або выкарыстоўваць спецыяльныя дзеянні." "%1$d × %2$d" "Шырына: %1$d, вышыня: %2$d" + + "Утрымліваючы віджэт націснутым, перамяшчайце яго па Галоўным экране" "Дадаць на Галоўны экран" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 575ec221f2..f23cef9053 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -32,6 +32,8 @@ "Докоснете двукратно и задръжте за преместване на приспособление или използвайте персонал. действия." "%1$d × %2$d" "Ширина %1$d и височина %2$d" + + "Докоснете приспособлението и го задръжте, за да го местите по началния екран" "Добавяне към началния екран" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index aa32151974..0c4bdea72a 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -32,6 +32,8 @@ "একটি উইজেট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।" "%1$d × %2$d" "%2$d উচ্চতা অনুযায়ী %1$d প্রস্থ" + + "হোম স্ক্রিনের যেকোনও জায়গায় উইজেটটি নিয়ে যেতে, টাচ করে ধরে থাকুন" "হোম স্ক্রিনে যোগ করুন" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 3541cebc90..79d47cb23f 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -32,6 +32,8 @@ "Dvaput dodirnite i zadržite da pomjerite vidžet ili da koristite prilagođene radnje." "%1$d × %2$d" "Širina %1$d, visina %2$d" + + "Dodirnite i držite vidžet da ga pomjerate po Početnom ekranu" "Dodaj na početni ekran" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index b1f8843281..de59cfccf1 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -32,6 +32,8 @@ "Fes doble toc i mantén premut per moure un widget o per utilitzar accions personalitzades." "%1$d × %2$d" "%1$d d\'amplada per %2$d d\'alçada" + + "Mantén premut el widget per moure\'l per la pantalla d\'inici" "Afegeix a la pantalla d\'inici" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 6b8f4f53f4..6a4d753629 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -32,6 +32,8 @@ "Dvojitým klepnutím a podržením přesunete widget, případně použijte vlastní akce." "%1$d × %2$d" "šířka %1$d, výška %2$d" + + "Pokud chcete widgetem pohybovat po ploše, podržte ho" "Přidat na plochu" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 7b34c032fb..388080833f 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -32,6 +32,8 @@ "Tryk to gange, og hold en widget nede for at flytte den eller bruge tilpassede handlinger." "%1$d × %2$d" "%1$d i bredden og %2$d i højden" + + "Hold widgetten nede for at flytte den rundt på startskærmen" "Føj til startskærm" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index aebf5e06f8..e7abca742e 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -32,6 +32,8 @@ "Doppeltippen und halten, um ein Widget zu bewegen oder benutzerdefinierte Aktionen zu nutzen." "%1$d × %2$d" "%1$d breit und %2$d hoch" + + "Wenn du das Widget auf dem Startbildschirm verschieben möchtest, halte es gedrückt" "Zum Startbildschirm hinzufügen" @@ -64,8 +66,7 @@ "Benachrichtigungen" "Tippen und halten, um eine Verknüpfung zu bewegen." "Doppeltippen und halten, um eine Verknüpfung zu bewegen oder benutzerdefinierte Aktionen zu nutzen." - - + "Auf dem Startbildschirm ist kein Platz mehr vorhanden" "Ablage \"Favoriten\" ist voll." "Liste der Apps" "Liste der privaten Apps" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index ffdc63c64c..66c6bd1a31 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -32,6 +32,8 @@ "Πατήστε δύο φορές παρατεταμένα για μετακίνηση γραφικού στοιχείου ή χρήση προσαρμοσμένων ενεργειών." "%1$d × %2$d" "Πλάτος %1$d επί ύψος %2$d" + + "Αγγίξτε παρατεταμένα το γραφικό στοιχείο για να το μετακινήσετε στην Αρχική οθόνη" "Προσθήκη στην Αρχική οθόνη" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index 279f22ed37..f032f8bcdd 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -32,6 +32,8 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" + + "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index 279f22ed37..f032f8bcdd 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -32,6 +32,8 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" + + "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index 279f22ed37..f032f8bcdd 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -32,6 +32,8 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" + + "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index 279f22ed37..f032f8bcdd 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -32,6 +32,8 @@ "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" + + "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml index a1a4ba911d..b6f01cea4d 100644 --- a/res/values-en-rXC/strings.xml +++ b/res/values-en-rXC/strings.xml @@ -32,6 +32,7 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎Double-tap & hold to move a widget or use custom actions.‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎%1$d × %2$d‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‏‎‎%1$d wide by %2$d high‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎%1$s‎‏‎‎‏‏‏‎ widget‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎Touch & hold the widget to move it around the Home screen‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‎Add to Home screen‎‏‎‎‏‎" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 15ab568eaf..18b00c6ea6 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -32,6 +32,8 @@ "Presiona dos veces y mantén presionado para mover un widget o usar acciones personalizadas." "%1$d × %2$d" "%1$d de ancho por %2$d de alto" + + "Mantén presionado el widget para moverlo por la pantalla principal" "Agregar a pantalla principal" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 0619b39fb4..4f4c697158 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -32,6 +32,8 @@ "Toca dos veces y mantén pulsado un widget para moverlo o usar acciones personalizadas." "%1$d × %2$d" "%1$d de ancho por %2$d de alto" + + "Mantén pulsado el widget para moverlo por la pantalla de inicio" "Añadir a la pantalla de inicio" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 7a91de258b..3e3aed7d42 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -32,6 +32,8 @@ "Vidina teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all." "%1$d × %2$d" "%1$d lai ja %2$d kõrge" + + "Vidina teisaldamiseks avakuval puudutage vidinat ja hoidke seda all" "Lisa avakuvale" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 78ecc7014a..1f31a5fef2 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -32,6 +32,8 @@ "Sakatu birritan eta eduki sakatuta widget bat mugitzeko edo ekintza pertsonalizatuak erabiltzeko." "%1$d × %2$d" "%1$d zabal eta %2$d luze" + + "Eduki sakatuta widgeta hasierako pantailan zehar mugitzeko" "Gehitu hasierako pantailan" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 48e3c2c41a..513f76f040 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -32,6 +32,8 @@ "برای جابه‌جا کردن ابزارک یا استفاده از کنش‌های سفارشی، دوضربه بزنید و نگه دارید." "%1$d × %2$d" "‏%1$d عرض در %2$d طول" + + "ابزارک را لمس کنید و نگه دارید تا آن را در صفحه اصلی حرکت دهید" "افزودن به صفحه اصلی" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index 0e42836393..c930be9377 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -32,6 +32,8 @@ "Kaksoisnapauta ja paina pitkään, niin voit siirtää widgetiä tai käyttää muokattuja toimintoja." "%1$d × %2$d" "Leveys: %1$d, korkeus: %2$d" + + "Voit siirtää widgetiä aloitusnäytöllä koskettamalla sitä pitkään" "Lisää aloitusnäytölle" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index df3fc3f9f7..6a48e94707 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -32,6 +32,8 @@ "Touchez 2x un widget et maintenez le doigt dessus pour le déplacer ou utiliser des actions personnalisées." "%1$d × %2$d" "%1$d de largeur sur %2$d de hauteur" + + "Maintenez le doigt sur le widget pour le déplacer sur l\'écran d\'accueil" "Ajouter à l\'écran d\'accueil" @@ -64,8 +66,7 @@ "Notifications" "Maintenez le doigt sur un raccourci pour le déplacer." "Touchez deux fois un raccourci et maintenez le doigt dessus pour le déplacer ou utiliser des actions personnalisées." - - + "Pas d\'espace libre sur cet écran d\'accueil" "Il n\'y a plus d\'espace dans la zone des favoris" "Liste des applications" "Liste des applications personnelles" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 1391b43a9f..556117d8c6 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -32,6 +32,8 @@ "Appuyez deux fois et maintenez la pression pour déplacer widget ou utiliser actions personnalisées." "%1$d x %2$d" "%1$d de largeur et %2$d de hauteur" + + "Appuyez de manière prolongée sur le widget pour le déplacer sur l\'écran d\'accueil" "Ajouter à l\'écran d\'accueil" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 4605e2f96a..6ce88ee51c 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -32,6 +32,8 @@ "Toca dúas veces un widget e manteno premido para movelo ou utiliza accións personalizadas." "%1$d × %2$d" "%1$d de largo por %2$d de alto" + + "Mantén premido o widget para movelo pola pantalla de inicio" "Engadir á pantalla de inicio" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 1eca0c89a5..1db9d7293d 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -32,6 +32,8 @@ "વિજેટ ખસેડવા બે વાર ટૅપ કરીને દબાવી રાખો અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરો." "%1$d × %2$d" "%1$d પહોળાઈ X %2$d ઊંચાઈ" + + "વિજેટને હોમ સ્ક્રીનની આજુબાજુ ખસેડવા માટે, તેને ટચ કરીને થોડીવાર દબાવી રાખો" "હોમ સ્ક્રીન પર ઉમેરો" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index c5a62f0e58..7e9696855f 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -32,6 +32,8 @@ "किसी विजेट को एक से दूसरी जगह ले जाने के लिए, उस पर दो बार टैप करके दबाकर रखें या पसंद के मुताबिक कार्रवाइयां इस्तेमाल करें." "%1$d × %2$d" "%1$d चौड़ाई गुणा %2$d ऊंचाई" + + "होम स्क्रीन पर यहां-वहां ले जाने के लिए विजेट को दबाकर रखें" "होम स्क्रीन पर जोड़ें" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index 1d0566f13a..ac19155f5e 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -32,6 +32,8 @@ "Dvaput dodirnite i zadržite pritisak da biste premjestili widget ili upotrijebite prilagođene radnje" "%1$d × %2$d" "%1$d širine i %2$d visine" + + "Dodirnite i zadržite widget da biste ga pomicali po početnom zaslonu" "Dodaj na početni zaslon" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 0042ab93ae..2b4d9143f7 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -32,6 +32,8 @@ "Modul áthelyezéséhez koppintson duplán, tartsa nyomva az ujját, vagy használjon egyéni műveleteket." "%1$d × %2$d" "%1$d széles és %2$d magas" + + "Tartsa lenyomva a modult a kezdőképernyőn való mozgatáshoz" "Hozzáadás a kezdőképernyőhöz" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index 239e186e01..ea421f7465 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -32,6 +32,8 @@ "Կրկնակի հպեք և պահեք՝ վիջեթ տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։" "%1$d × %2$d" "Լայնությունը՝ %1$d, բարձրությունը՝ %2$d" + + "Հպեք վիջեթին և պահեք տեղափոխելու համար" "Ավելացնել հիմնական էկրանին" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index 8125112434..b7324eef8d 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -32,6 +32,8 @@ "Ketuk dua kali & tahan untuk memindahkan widget atau gunakan tindakan khusus." "%1$d × %2$d" "lebar %1$d x tinggi %2$d" + + "Sentuh lama widget untuk memindahkannya di sekitar Layar utama" "Tambahkan ke Layar utama" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index ac0184616b..d9431ca639 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -32,6 +32,8 @@ "Ýttu tvisvar og haltu fingri á græju til að færa hana eða notaðu sérsniðnar aðgerðir." "%1$d × %2$d" "%1$d á breidd og %2$d á hæð" + + "Haltu fingri á græjunni til að hreyfa hana um heimaskjáinn" "Bæta á heimaskjá" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 7bdaff0a37..71b64983c8 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -32,6 +32,8 @@ "Tocca due volte e tieni premuto per spostare un widget o per usare le azioni personalizzate." "%1$d × %2$d" "%1$d di larghezza per %2$d di altezza" + + "Tocca e tieni premuto il widget per spostarlo nella schermata Home" "Aggiungi a schermata Home" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index bc8656ab84..dc0b261d0a 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -32,6 +32,8 @@ "כדי להעביר ווידג\'ט למקום אחר או להשתמש בפעולות מותאמות אישית, יש ללחוץ פעמיים ולא להרפות." "%1$d × %2$d" "‏רוחב %1$d על גובה %2$d" + + "יש ללחוץ לחיצה ארוכה על הווידג\'ט כדי להזיז אותו ברחבי מסך הבית" "הוספה למסך הבית" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index cac513a473..abf7667297 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -32,6 +32,8 @@ "ウィジェットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。" "%1$dx%2$d" "幅 %1$d、高さ %2$d" + + "ウィジェットを押し続けると、ホーム画面上に移動できます。" "ホーム画面に追加" @@ -159,8 +161,8 @@ "仕事用アプリはバッジが付き、IT 管理者に公開されます" "OK" "仕事用アプリの一時停止" - "仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" - "仕事用アプリは OFF になっています。仕事用アプリは、通知の送信、バッテリーの使用、位置情報の取得を行えません" + "仕事用アプリでは、通知の送信、バッテリーの使用、位置情報の取得が無効になっています" + "仕事用アプリは OFF になっています。仕事用アプリでは、通知の送信、バッテリーの使用、位置情報の取得が無効になっています" "仕事用アプリはバッジが付き、IT 管理者に公開されます" "OK" "仕事用アプリを OFF にする" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index fd6730678e..8b423c00d9 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -32,6 +32,8 @@ "ორმაგი შეხებით აირჩიეთ და გეჭიროთ ვიჯეტის გადასაადგილებლად ან მორგებული მოქმედებების გამოსაყენებლად." "%1$d × %2$d" "სიგრძე: %1$d, სიგანე: %2$d" + + "ხანგრძლივად შეეხეთ ვიჯეტს მთავარ ეკრანზე მის გადასაადგილებლად" "მთავარ ეკრანზე დამატება" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index 543f241f30..a240a5564f 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -32,6 +32,8 @@ "Виджетті жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." "%1$d × %2$d" "Ені: %1$d, биіктігі: %2$d" + + "Негізгі экранда қозғалту үшін виджетті басып тұрыңыз." "Негізгі экранға қосу" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index cb886c1ee2..1b03630f32 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -32,6 +32,8 @@ "ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ធាតុក្រាហ្វិក ឬប្រើ​សកម្មភាព​តាមបំណង​។" "%1$d × %2$d" "ទទឺង %1$d គុណនឹងកម្ពស់ %2$d" + + "ចុចធាតុក្រាហ្វិក​ឱ្យជាប់ ដើម្បីផ្លាស់ទីវា​ជុំវិញអេក្រង់ដើម" "បញ្ចូល​ទៅអេក្រង់ដើម" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 40aa013024..938aa98ede 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -32,6 +32,8 @@ "ವಿಜೆಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." "%1$d × %2$d" "%1$d ಅಗಲ ಮತ್ತು %2$d ಎತ್ತರ" + + "ಮುಖಪುಟದ ಪರದೆ ಸುತ್ತ ವಿಜೆಟ್ ಅನ್ನು ಸರಿಸಲು, ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ" "ಮುಖಪುಟಕ್ಕೆ ಸೇರಿಸಿ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 4de5c2c74a..83e190d1fe 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -32,6 +32,8 @@ "두 번 탭한 다음 길게 터치하여 위젯을 이동하거나 맞춤 작업을 사용하세요." "%1$d×%2$d" "너비 %1$d, 높이 %2$d" + + "홈 화면에서 위젯을 이동하려면 길게 터치하세요." "홈 화면에 추가" diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 2ead1ea7a8..3cf86ff7a4 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -32,6 +32,8 @@ "Виджетти жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз." "%1$d × %2$d" "Туурасы: %1$d, бийиктиги: %2$d" + + "Башкы экранга жылдыруу үчүн виджетти коё бербей басып туруңуз" "Башкы экранга кошуу" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index a38a07bbf9..be361e0ed0 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -32,6 +32,8 @@ "ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍວິດເຈັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ." "%1$d × %2$d" "ກວ້າງ %1$d ຄູນສູງ %2$d" + + "ແຕະວິດເຈັດຄ້າງໄວ້ເພື່ອຍ້າຍມັນໄປມາຢູ່ໂຮມສະກຣີນ" "ເພີ່ມໄປໃສ່ໂຮມສະກຣີນ" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 0984056807..1114f26dd8 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -32,6 +32,8 @@ "Dukart palieskite ir palaikykite, kad perkeltumėte valdiklį ar naudotumėte tinkintus veiksmus." "%1$d × %2$d" "%1$d plotis ir %2$d aukštis" + + "Paliesdami ir palaikydami valdiklį galite judėti pagrindiniame ekrane" "Pridėti prie pagrindinio ekrano" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index eb1eba053d..5735b0606c 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -32,6 +32,8 @@ "Lai pārvietotu logrīku, uz tā veiciet dubultskārienu un turiet. Varat arī veikt pielāgotas darbības." "%1$d × %2$d" "%1$d plats un %2$d augsts" + + "Pieskarieties logrīkam un turiet to, lai to pārvietotu pa sākuma ekrānu." "Pievienot sākuma ekrānam" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 4987cd5df9..3bf2a9784f 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -32,6 +32,8 @@ "Допрете двапати и задржете за да преместите виџет или користете приспособени дејства." "%1$d × %2$d" "%1$d широк на %2$d висок" + + "Допрете го и задржете го виџетот за да го движите наоколу на почетниот екран" "Додај на почетниот екран" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index c41d02e5f0..b46f1d72a2 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -32,6 +32,8 @@ "വിജറ്റ് നീക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യൂ, ഹോൾഡ് ചെയ്യൂ അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കൂ." "%1$d × %2$d" "%1$d വീതിയും %2$d ഉയരവും" + + "ഹോം സ്‌ക്രീനിന് ചുറ്റും വിജറ്റ് നീക്കാൻ അതിൽ സ്‌പർശിച്ച് പിടിക്കുക" "ഹോം സ്‌ക്രീനിലേക്ക് ചേർക്കുക" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 35675d1d9c..1320658f34 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -32,6 +32,8 @@ "Жижиг хэрэгслийг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу." "%1$d × %2$d" "%1$d өргөн %2$d өндөр" + + "Жижиг хэрэгслийг Үндсэн нүүрний эргэн тойронд зөөхийн тулд түүнд хүрээд, удаан дарна уу" "Үндсэн нүүрэнд нэмэх" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index b973547dd9..dab39d9e01 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -32,6 +32,8 @@ "विजेट हलवण्यासाठी किंवा कस्टम कृती वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा." "%1$d × %2$d" "%1$d रूंद बाय %2$d उंच" + + "होम स्क्रीनवर ते हलवण्यासाठी विजेटला स्पर्श करा आणि धरून ठेवा" "होम स्‍क्रीनवर जोडा" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index b1e0244f87..b7469cd719 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -32,6 +32,8 @@ "Ketik dua kali & tahan untuk menggerakkan widget atau menggunakan tindakan tersuai." "%1$d × %2$d" "Lebar %1$d kali tinggi %2$d" + + "Sentuh & tahan widget untuk menggerakkan widget di sekitar Skrin utama" "Tambahkan pada Skrin utama" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index 11e4fead98..ef15561e10 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -32,6 +32,8 @@ "ဝိဂျက်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" "%1$d × %2$d" "အလျား %1$d နှင့် အမြင့် %2$d" + + "ပင်မစာမျက်နှာအနီးတွင် ဝိဂျက်ကိုရွှေ့ရန် ၎င်းကို တို့ထိ၍ဖိထားပါ" "ပင်မစာမျက်နှာသို့ ထည့်ရန်" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index a7931d0338..5e934c0f1c 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -32,6 +32,8 @@ "Dobbelttrykk og hold inne for å flytte en modul eller bruke tilpassede handlinger." "%1$d × %2$d" "%1$d bredde x %2$d høyde" + + "Trykk og hold på modulen for å bevege den rundt på startskjermen" "Legg til på startskjermen" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index b36d400f1c..c17245043c 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -32,6 +32,8 @@ "कुनै विजेट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।" "%1$d × %2$d" "%1$d चौडाइ गुणा %2$d उचाइ" + + "यो विजेट होम स्क्रिनमा यताउता सार्न त्यसमा टच एन्ड होल्ड गर्नुहोस्" "होम स्क्रिनमा हाल्नुहोस्" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index 7b3d5953c6..d7e7a9a8c7 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -32,6 +32,8 @@ "Dubbeltik en houd vast om een widget te verplaatsen of aangepaste acties te gebruiken." "%1$d × %2$d" "%1$d breed en %2$d hoog" + + "Houd de widget ingedrukt om deze te verplaatsen op het startscherm" "Toevoegen aan startscherm" @@ -160,7 +162,7 @@ "OK" "Werk-apps zijn onderbroken" "Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie" - "Werk-apps staan uit. Je werk-apps kunnen je geen meldingen sturen, je batterij niet gebruiken en geen toegang krijgen tot je locatie." + "Werk-apps staan uit. Je werk-apps kunnen geen meldingen sturen, je batterij niet gebruiken en hebben geen toegang tot je locatie." "Werk-apps hebben badges en zijn zichtbaar voor je IT-beheerder" "OK" "Werk-apps uitzetten" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 73848e0906..259b98b5a8 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -32,6 +32,8 @@ "ଏକ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।" "%1$d × %2$d" "%1$d ଓସାର ଓ %2$d ଉଚ୍ଚ" + + "ମୂଳସ୍କ୍ରିନର ଆଖପାଖରେ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଏହାକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ" "ମୂଳସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index ff9ed62082..d0df645126 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -32,6 +32,8 @@ "ਵਿਜੇਟ ਲਿਜਾਉਣ ਲਈ ਜਾਂ ਵਿਉਂਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤਣ ਲਈ ਦੋ ਵਾਰ ਟੈਪ ਕਰਕੇ ਦਬਾ ਕੇ ਰੱਖੋ।" "%1$d × %2$d" "%1$d ਚੌੜਾਈ ਅਤੇ %2$d ਲੰਬਾਈ" + + "ਵਿਜੇਟ ਨੂੰ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾਉਣ ਲਈ ਸਪਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ" "ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਸ਼ਾਮਲ ਕਰੋ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 5ec64900ff..6b381a1995 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -32,6 +32,8 @@ "Naciśnij dwukrotnie i przytrzymaj, aby przenieść widżet lub użyć działań niestandardowych." "%1$d × %2$d" "Szerokość %1$d, wysokość %2$d" + + "Kliknij i przytrzymaj widżet, by poruszać nim po ekranie głównym" "Dodaj do ekranu głównego" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 3141df6d95..306b0bbfe0 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -32,6 +32,8 @@ "Toque duas vezes sem soltar para mover um widget ou utilizar ações personalizadas." "%1$d × %2$d" "%1$d de largura por %2$d de altura" + + "Toque sem soltar no widget para o mover à volta do ecrã principal" "Adicionar ao ecrã principal" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index c1c0e17d8e..4c3113d158 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -32,6 +32,8 @@ "Toque duas vezes e mantenha a tela pressionada para mover um widget ou usar ações personalizadas." "%1$d × %2$d" "%1$d de largura por %2$d de altura" + + "Toque no widget e mantenha-o pressionado para movê-lo pela tela inicial" "Adicionar à tela inicial" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 3d8d46e7f9..3dfcf5cda4 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -32,6 +32,8 @@ "Atingeți de două ori și țineți apăsat pentru a muta un widget sau folosiți acțiuni personalizate." "%1$d × %2$d" "%1$d lățime și %2$d înălțime" + + "Atingeți lung widgetul pentru a-l muta pe ecranul de pornire" "Adăugați pe ecranul de pornire" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index c220cad80c..997924ee73 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -32,6 +32,8 @@ "Чтобы использовать специальные действия или перенести виджет, нажмите на него дважды и удерживайте." "%1$d x %2$d" "Ширина %1$d, высота %2$d" + + "Чтобы переместить виджет, нажмите на него и удерживайте." "Добавить на главный экран" diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 90c9035b0f..66d6324958 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -32,6 +32,8 @@ "විජට් එකක් ගෙන යාමට හෝ අභිරුචි ක්‍රියා භාවිත කිරීමට දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න." "%1$d × %2$d" "පළල %1$d උස %2$d" + + "එය මුල් පිටු තිරය වටා ගෙන යාමට විජට් එක ස්පර්ශ කර අල්ලා ගන්න" "මුල් පිටු තිරය වෙත එක් කරන්න" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index 0830065e9a..cf458ce48c 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -32,6 +32,8 @@ "Dvojitým klepnutím a pridržaním presuňte miniaplikáciu alebo použite vlastné akcie." "%1$d × %2$d" "šírka %1$d, výška %2$d" + + "Po pridržaní môžete miniaplikáciu posúvať po ploche" "Pridať na plochu" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 86a85653fe..4b7927b9bb 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -32,6 +32,8 @@ "Dvakrat se dotaknite pripomočka in ga pridržite, da ga premaknete, ali pa uporabite dejanja po meri." "%1$d × %2$d" "Širina %1$d, višina %2$d" + + "Pridržite pripomoček, če ga želite premikati po začetnem zaslonu." "Dodaj na začetni zaslon" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 833745f1d9..70084dfd23 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -32,6 +32,8 @@ "Trokit dy herë dhe mbaje shtypur një miniapliikacion për ta zhvendosur atë ose për të përdorur veprimet e personalizuara." "%1$d × %2$d" "%1$d i gjerë me %2$d i lartë" + + "Prek dhe mbaj të shtypur miniaplikacionin për ta lëvizur nëpër \"Ekranin bazë\"" "Shto në \"Ekranin bazë\"" @@ -64,8 +66,7 @@ "Njoftimet" "Prek dhe mbaj shtypur një shkurtore për ta zhvendosur." "Trokit dy herë dhe mbaje shtypur një shkurtore për ta zhvendosur atë ose për të përdorur veprimet e personalizuara." - - + "Nuk ka vend në këtë ekran bazë" "Nuk ka më hapësirë në tabakanë \"Të preferuarat\"" "Lista e aplikacioneve" "Lista e aplikacioneve personale" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index d701a114f5..335806262f 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -32,6 +32,8 @@ "Двапут додирните и задржите да бисте померали виџет или користите прилагођене радње." "%1$d×%2$d" "ширина од %1$d и висина од %2$d" + + "Додирните и задржите виџет да бисте га померали по почетном екрану" "Додај на почетни екран" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 681ddd06ba..12d99d44a5 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -32,6 +32,8 @@ "Tryck snabbt två gånger och håll kvar för att flytta en widget eller använda anpassade åtgärder." "%1$d × %2$d" "%1$d bred gånger %2$d hög" + + "Tryck länge på widgeten om du vill flytta den på startskärmen" "Lägg till på startskärmen" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index 77106eb20d..a16a8c113d 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -32,6 +32,8 @@ "Gusa mara mbili na ushikilie ili usogeze wijeti au utumie vitendo maalum." "%1$d × %2$d" "Upana wa %1$d na kimo cha %2$d" + + "Gusa na ushikilie wijeti ili uisogeze kwenye Skrini ya kwanza" "Weka kwenye Skrini ya kwanza" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 168982c79d..0117f6b2f1 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -32,6 +32,8 @@ "விட்ஜெட்டை நகர்த்த இருமுறை தட்டிப் பிடிக்கவும் அல்லது பிரத்தியேகச் செயல்களைப் பயன்படுத்தவும்." "%1$d × %2$d" "%1$d அகலத்திற்கு %2$d உயரம்" + + "முகப்புத் திரைக்கு விட்ஜெட்டை நகர்த்த அதைத் தொட்டுப் பிடிக்கவும்" "முகப்புத் திரையில் சேர்" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 7012b3ca6e..07bb80b09d 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -32,6 +32,8 @@ "విడ్జెట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి & హోల్డ్ చేయి." "%1$d × %2$d" "%1$d వెడల్పు X %2$d ఎత్తు" + + "ఈ విడ్జెట్‌ను మొదటి స్క్రీన్‌లో కావాల్సిన చోట ఉంచడానికి, దాన్ని తాకి అలాగే నొక్కి పట్టుకోండి" "మొదటి స్క్రీన్‌కు జోడించు" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index f5d9fdc055..77a20be222 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -32,6 +32,8 @@ "แตะสองครั้งค้างไว้เพื่อย้ายวิดเจ็ตหรือใช้การดำเนินการที่กำหนดเอง" "%1$d × %2$d" "กว้าง %1$d x สูง %2$d" + + "แตะวิดเจ็ตค้างไว้เพื่อย้ายไปรอบๆ หน้าจอหลัก" "เพิ่มลงในหน้าจอหลัก" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index 40d2f815e8..c6e919a783 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -32,6 +32,8 @@ "I-double tap at pindutin nang matagal para ilipat ang widget o gumamit ng mga custom na pagkilos." "%1$d × %2$d" "%1$d ang lapad at %2$d ang taas" + + "Pindutin nang matagal ang widget para ilipat-lipat ito sa Home screen" "Idagdag sa Home screen" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index 6f6c47bad5..ce7527624f 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -32,6 +32,8 @@ "Widget\'ı taşımak veya özel işlemleri kullanmak için iki kez dokunup basılı tutun." "%1$d × %2$d" "genişlik: %1$d, yükseklik: %2$d" + + "Ana ekranda taşımak için widget\'a dokunup basılı tutun" "Ana ekrana ekle" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index b171a7647e..e8a7bfc630 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -32,6 +32,8 @@ "Двічі натисніть і втримуйте віджет, щоб перемістити його або виконати інші дії." "%1$d × %2$d" "Ширина – %1$d, висота – %2$d" + + "Натисніть і втримуйте віджет, щоб перемістити його в потрібне місце на головному екрані" "Додати на головний екран" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 07086b0aa5..90da57c0d8 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -32,6 +32,8 @@ "ویجیٹ کو منتقل کرنے یا حسب ضرورت کارروائیاں استعمال کرنے کے لیے دوبار تھپتھپائیں اور پکڑ کر رکھیں۔" "%1$d × %2$d" "‏%1$d چوڑا اور ‎%2$d اونچا" + + "ویجیٹ کو ہوم اسکرین کے چاروں طرف منتقل کرنے کیلئے اسے ٹچ کریں اور دبائے رکھیں" "ہوم اسکرین میں شامل کریں" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index cbdfae1aa1..bd80989d85 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -32,6 +32,8 @@ "Ikki marta bosib va bosib turgan holatda vidjetni tanlang yoki maxsus amaldan foydalaning." "%1$d × %2$d" "Eni %1$d, bo‘yi %2$d" + + "Vidjetni ushlagan holda kerakli joyga siljiting" "Bosh ekranga chiqarish" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 1b80cc7afc..8a32ee7762 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -32,6 +32,8 @@ "Nhấn đúp và giữ để di chuyển một tiện ích hoặc sử dụng các thao tác tùy chỉnh." "%1$d × %2$d" "Rộng %1$d x cao %2$d" + + "Chạm và giữ để di chuyển tiện ích xung quanh Màn hình chính" "Thêm vào Màn hình chính" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 477d1d59a2..225a7e1bd7 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -32,6 +32,8 @@ "点按两次并按住微件即可移动该微件或使用自定义操作。" "%1$d × %2$d" "宽 %1$d,高 %2$d" + + "轻触并按住该微件即可将其在主屏幕上四处移动" "添加到主屏幕" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 6b77042840..98f9ef7b04 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -32,6 +32,8 @@ "㩒兩下之後㩒住,就可以郁小工具或者用自訂操作。" "%1$d × %2$d" "%1$d 闊,%2$d 高" + + "按住小工具即可隨意在主畫面上移動" "新增至主畫面" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 6a85bcc151..f38f14334e 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -32,6 +32,8 @@ "輕觸兩下並按住即可移動小工具或使用自訂操作。" "%1$d × %2$d" "寬度為 %1$d,高度為 %2$d" + + "按住小工具即可將它拖放到主畫面上的任何位置" "新增到主畫面" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index ed5ce8bb93..9f48102baf 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -32,6 +32,8 @@ "Thepha kabili uphinde ubambe ukuze uhambise iwijethi noma usebenzise izindlela ezingokwezifiso." "%1$d × %2$d" "%1$d ububanzi ngokungu-%2$d ukuya phezulu" + + "Thinta uphinde ubambe iwijethi ukuyihambisa Kusikrini sasekhaya" "Engeza kusikrini sasekhaya" From e9e5e51d732050aa6d547effbb9976b899186231 Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Mon, 28 Jun 2021 21:53:09 -0700 Subject: [PATCH 077/905] [Live Tile] App surface is above launcher even after reaching Overview Currently we place app surface below launcher and punch a hole through task view to display live tile in overview. In this change the order will be flipped, with a few benefits not limited to the following. For example, we have a surface view lifecycle bug where the surface view in a live tile app can go blank during app launch transition. This change will significantly mitigate the issue visually as the background wallpaper will not be revealed. In order to make sure visually everything still looks the same, we will need to finish the recents animation when the user taps on the task view icon, since the menu overlaps with the task snapshort view. This change also addresses fading out the task view when it's getting dismissed. Test: manual Fixes: 186531762 Fixes: 189265196 Change-Id: Ieae67fb89b60136fd81ceb8abde1a0cab8718b27 --- .../quickstep/util/TaskViewSimulator.java | 12 ------------ .../android/quickstep/views/RecentsView.java | 8 ++++++-- .../android/quickstep/views/TaskMenuView.java | 13 +------------ .../quickstep/views/TaskThumbnailView.java | 3 --- .../com/android/quickstep/views/TaskView.java | 17 ++++++++++------- 5 files changed, 17 insertions(+), 36 deletions(-) diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java index 0e6ce87042..7eee415315 100644 --- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java @@ -17,7 +17,6 @@ package com.android.quickstep.util; import static com.android.launcher3.states.RotationHelper.deltaRotation; import static com.android.launcher3.touch.PagedOrientationHandler.MATRIX_POST_TRANSLATE; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.quickstep.util.RecentsOrientedState.postDisplayRotation; import static com.android.quickstep.util.RecentsOrientedState.preDisplayRotation; import static com.android.systemui.shared.system.WindowManagerWrapper.WINDOWING_MODE_FULLSCREEN; @@ -62,7 +61,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { private final boolean mIsRecentsRtl; private final Rect mTaskRect = new Rect(); - private boolean mDrawsBelowRecents; private final PointF mPivot = new PointF(); private DeviceProfile mDp; @@ -163,10 +161,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { recentsViewScroll.value = scroll; } - public void setDrawsBelowRecents(boolean drawsBelowRecents) { - mDrawsBelowRecents = drawsBelowRecents; - } - /** * Adds animation for all the components corresponding to transition from an app to overview. */ @@ -301,12 +295,6 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { builder.withMatrix(mMatrix) .withWindowCrop(mTmpCropRect) .withCornerRadius(getCurrentCornerRadius()); - - if (LIVE_TILE.get() && params.getRecentsSurface() != null) { - // When relativeLayer = 0, it reverts the surfaces back to the original order. - builder.withRelativeLayerTo(params.getRecentsSurface(), - mDrawsBelowRecents ? Integer.MIN_VALUE : 0); - } } /** diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 0e3ccae42f..6b62bc3fb9 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -638,7 +638,6 @@ public abstract class RecentsView { - if (LIVE_TILE.get()) { - RecentsView recentsView = mTaskView.getRecentsView(); - recentsView.switchToScreenshot(null, - () -> recentsView.finishRecentsAnimation(true /* toRecents */, - false /* shouldPip */, - () -> menuOption.onClick(view))); - } else { - menuOption.onClick(view); - } - }); + menuOptionView.setOnClickListener(menuOption::onClick); mOptionLayout.addView(menuOptionView); } diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java index df195d75b1..ee6b94b4f6 100644 --- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java +++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java @@ -84,7 +84,6 @@ public class TaskThumbnailView extends View implements PluginListener showTaskMenu()); + mIconView.setOnClickListener(v -> { + if (LIVE_TILE.get() && isRunningTask()) { + RecentsView recentsView = getRecentsView(); + recentsView.switchToScreenshot( + () -> recentsView.finishRecentsAnimation(true /* toRecents */, + this::showTaskMenu)); + } else { + showTaskMenu(); + } + }); mIconView.setOnLongClickListener(v -> { requestDisallowInterceptTouchEvent(true); return showTaskMenu(); From 8185663b6e0d3fc98a97243291d18ba492974ace Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Wed, 30 Jun 2021 14:01:59 -0700 Subject: [PATCH 078/905] Remove unused logs Bug: 191698994 Test: Just removing logs Change-Id: Ia6ae528f1444cbdbe3823657492deeb6c4a3d6ce --- quickstep/src/com/android/quickstep/TaskAnimationManager.java | 1 - quickstep/src/com/android/quickstep/views/RecentsView.java | 4 ---- quickstep/src/com/android/quickstep/views/TaskView.java | 3 --- 3 files changed, 8 deletions(-) diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index bb5e493cde..ae2328e643 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -95,7 +95,6 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn @UiThread public RecentsAnimationCallbacks startRecentsAnimation(GestureState gestureState, Intent intent, RecentsAnimationCallbacks.RecentsAnimationListener listener) { - Log.d("b/186444448", "startRecentsAnimation"); // Notify if recents animation is still running if (mController != null) { String msg = "New recents animation started before old animation completed"; diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 6b62bc3fb9..d59b4596d6 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -82,7 +82,6 @@ import android.text.StaticLayout; import android.text.TextPaint; import android.util.AttributeSet; import android.util.FloatProperty; -import android.util.Log; import android.util.SparseBooleanArray; import android.view.Gravity; import android.view.HapticFeedbackConstants; @@ -1669,7 +1668,6 @@ public abstract class RecentsView Date: Thu, 1 Jul 2021 10:21:58 +0100 Subject: [PATCH 079/905] Fix widget animation truncated at drop if a widget is resized Set the widget outline to DragView rather than the content view hosting a Picture record of AppWidgetHostView at drop. Bug: 191646816 Test: Manual Change-Id: I901743f8ba392de37f3ef69ca386c4b36bfebd7f Merged-In: I901743f8ba392de37f3ef69ca386c4b36bfebd7f --- src/com/android/launcher3/dragndrop/DragView.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/com/android/launcher3/dragndrop/DragView.java b/src/com/android/launcher3/dragndrop/DragView.java index fb1a6bef18..aa2dee0792 100644 --- a/src/com/android/launcher3/dragndrop/DragView.java +++ b/src/com/android/launcher3/dragndrop/DragView.java @@ -447,12 +447,12 @@ public abstract class DragView extends Fram mContent.draw(picture.beginRecording(mWidth, mHeight)); picture.endRecording(); View view = new View(mActivity); - view.setClipToOutline(mContent.getClipToOutline()); - view.setOutlineProvider(mContent.getOutlineProvider()); view.setBackground(new PictureDrawable(picture)); view.measure(makeMeasureSpec(mWidth, EXACTLY), makeMeasureSpec(mHeight, EXACTLY)); view.layout(mContent.getLeft(), mContent.getTop(), mContent.getRight(), mContent.getBottom()); + setClipToOutline(mContent.getClipToOutline()); + setOutlineProvider(mContent.getOutlineProvider()); addViewInLayout(view, indexOfChild(mContent), mContent.getLayoutParams(), true); removeViewInLayout(mContent); From d09ebe660f1256a088543d8cddb227d1740d35ec Mon Sep 17 00:00:00 2001 From: Tracy Zhou Date: Wed, 2 Jun 2021 23:54:44 -0700 Subject: [PATCH 080/905] Enable live tile in 3 button mode - Previously we rely on whether launcher is resumed as a signal to see what "toggle" means. This no longer works since launcher is not resumed in Overview. Instead, we need to check the live tile signals. - Use screenshot doesn't propagate after setting a new current task. So followed the logic around mRunningTaskIconScaledDown to work it out. - Get rid of NavigationModeFeatureFlag, pending on 3rd party launcher change ag/14409355 Fixes: 185934639 Test: (1) Toggle overview from home screen and toggle back to fullscreen. (2) Toggle overview from app and keep toggling. Change-Id: Iffaea18afb2179b5bb7dadda49e56efefa5658bc --- .../launcher3/BaseQuickstepLauncher.java | 6 +- .../NavBarToHomeTouchController.java | 6 +- .../android/quickstep/AbsSwipeUpHandler.java | 16 ++--- .../quickstep/FallbackActivityInterface.java | 9 ++- .../quickstep/LauncherActivityInterface.java | 23 ++++-- .../quickstep/OverviewCommandHelper.java | 1 + .../QuickstepProcessInitializer.java | 4 -- .../android/quickstep/RecentsActivity.java | 4 +- .../quickstep/TaskAnimationManager.java | 6 +- .../android/quickstep/TaskOverlayFactory.java | 4 +- .../com/android/quickstep/TaskViewUtils.java | 8 +-- .../quickstep/TouchInteractionService.java | 8 ++- .../fallback/RecentsTaskController.java | 4 +- .../inputconsumers/OverviewInputConsumer.java | 4 +- .../util/NavigationModeFeatureFlag.java | 58 --------------- .../android/quickstep/views/RecentsView.java | 70 ++++++++++++++----- .../quickstep/views/TaskThumbnailView.java | 4 +- .../com/android/quickstep/views/TaskView.java | 13 +++- .../quickstep/AbstractQuickStepTest.java | 4 +- 19 files changed, 126 insertions(+), 126 deletions(-) delete mode 100644 quickstep/src/com/android/quickstep/util/NavigationModeFeatureFlag.java diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 052e66267e..475f06109e 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -20,11 +20,11 @@ import static com.android.launcher3.AbstractFloatingView.TYPE_HIDE_BACK_BUTTON; import static com.android.launcher3.LauncherState.FLAG_HIDE_BACK_BUTTON; import static com.android.launcher3.LauncherState.NORMAL; import static com.android.launcher3.LauncherState.NO_OFFSET; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.model.data.ItemInfo.NO_MATCHING_ID; import static com.android.launcher3.util.DisplayController.CHANGE_ACTIVE_SCREEN; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.quickstep.SysUINavigationMode.Mode.TWO_BUTTONS; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_HOME_KEY; import android.animation.AnimatorSet; @@ -185,7 +185,7 @@ public abstract class BaseQuickstepLauncher extends Launcher @Override protected void onScreenOff() { super.onScreenOff(); - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { RecentsView recentsView = getOverviewPanel(); recentsView.finishRecentsAnimation(true /* toRecents */, null); } @@ -483,7 +483,7 @@ public abstract class BaseQuickstepLauncher extends Launcher super.onDisplayInfoChanged(context, info, flags); // When changing screens with live tile active, finish the recents animation to close // overview as it should be an interim state - if ((flags & CHANGE_ACTIVE_SCREEN) != 0 && LIVE_TILE.get()) { + if ((flags & CHANGE_ACTIVE_SCREEN) != 0 && ENABLE_QUICKSTEP_LIVE_TILE.get()) { RecentsView recentsView = getOverviewPanel(); recentsView.finishRecentsAnimation(/* toRecents= */ true, null); } diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java index 521dd233b8..86c42caa7b 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NavBarToHomeTouchController.java @@ -25,8 +25,8 @@ import static com.android.launcher3.allapps.AllAppsTransitionController.ALL_APPS import static com.android.launcher3.anim.AnimatorListeners.forSuccessCallback; import static com.android.launcher3.anim.Interpolators.DEACCEL_3; import static com.android.launcher3.config.FeatureFlags.ENABLE_ALL_APPS_EDU; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_HOME_GESTURE; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; import android.animation.ValueAnimator; @@ -140,7 +140,7 @@ public class NavBarToHomeTouchController implements TouchController, AnimatorControllerWithResistance.createRecentsResistanceFromOverviewAnim(mLauncher, builder); - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { builder.addOnFrameCallback(recentsView::redrawLiveTile); } @@ -189,7 +189,7 @@ public class NavBarToHomeTouchController implements TouchController, boolean success = interpolatedProgress >= SUCCESS_TRANSITION_PROGRESS || (velocity < 0 && fling); if (success) { - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { RecentsView recentsView = mLauncher.getOverviewPanel(); recentsView.switchToScreenshot(null, () -> recentsView.finishRecentsAnimation(true /* toRecents */, null)); diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index 6d81bcf31b..6423352376 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -25,6 +25,7 @@ import static com.android.launcher3.BaseActivity.STATE_HANDLER_INVISIBILITY_FLAG import static com.android.launcher3.anim.Interpolators.ACCEL_DEACCEL; import static com.android.launcher3.anim.Interpolators.DEACCEL; import static com.android.launcher3.anim.Interpolators.OVERSHOOT_1_2; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.logging.StatsLogManager.LAUNCHER_STATE_BACKGROUND; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.IGNORE; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_HOME_GESTURE; @@ -45,7 +46,6 @@ import static com.android.quickstep.GestureState.STATE_END_TARGET_SET; import static com.android.quickstep.GestureState.STATE_RECENTS_ANIMATION_CANCELED; import static com.android.quickstep.GestureState.STATE_RECENTS_SCROLLING_FINISHED; import static com.android.quickstep.MultiStateCallback.DEBUG_STATES; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.quickstep.views.RecentsView.UPDATE_SYSUI_FLAGS_THRESHOLD; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.ACTIVITY_TYPE_HOME; @@ -327,7 +327,7 @@ public abstract class AbsSwipeUpHandler, mStateCallback.runOnceAtState(STATE_HANDLER_INVALIDATED | STATE_FINISH_WITH_NO_END, this::resetStateForAnimationCancel); - if (!LIVE_TILE.get()) { + if (!ENABLE_QUICKSTEP_LIVE_TILE.get()) { mStateCallback.addChangeListener(STATE_APP_CONTROLLER_RECEIVED | STATE_LAUNCHER_PRESENT | STATE_SCREENSHOT_VIEW_SHOWN | STATE_CAPTURE_SCREENSHOT, (b) -> mRecentsView.setRunningTaskHidden(!b)); @@ -490,7 +490,7 @@ public abstract class AbsSwipeUpHandler, } private void onDeferredActivityLaunch() { - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { mActivityInterface.switchRunningTaskViewToScreenshot( null, () -> { mTaskAnimationManager.finishRunningRecentsAnimation(true /* toHome */); @@ -1430,7 +1430,7 @@ public abstract class AbsSwipeUpHandler, } private void invalidateHandler() { - if (!LIVE_TILE.get() || !mActivityInterface.isInLiveTileMode() + if (!ENABLE_QUICKSTEP_LIVE_TILE.get() || !mActivityInterface.isInLiveTileMode() || mGestureState.getEndTarget() != RECENTS) { mInputConsumerProxy.destroy(); mTaskAnimationManager.setLiveTileCleanUpHandler(null); @@ -1475,7 +1475,7 @@ public abstract class AbsSwipeUpHandler, */ private void resetLauncherListeners() { // Reset the callback for deferred activity launches - if (!LIVE_TILE.get()) { + if (!ENABLE_QUICKSTEP_LIVE_TILE.get()) { mActivityInterface.setOnDeferredActivityLaunchCallback(null); } mActivity.getRootView().setOnApplyWindowInsetsListener(null); @@ -1499,7 +1499,7 @@ public abstract class AbsSwipeUpHandler, mStateCallback.setStateOnUiThread(STATE_SCREENSHOT_CAPTURED); } else { final int runningTaskId = mGestureState.getRunningTaskId(); - final boolean refreshView = !LIVE_TILE.get() /* refreshView */; + final boolean refreshView = !ENABLE_QUICKSTEP_LIVE_TILE.get() /* refreshView */; boolean finishTransitionPosted = false; if (mRecentsAnimationController != null) { // Update the screenshot of the task @@ -1555,7 +1555,7 @@ public abstract class AbsSwipeUpHandler, } private void finishCurrentTransitionToRecents() { - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { mStateCallback.setStateOnUiThread(STATE_CURRENT_TASK_FINISHED); if (mRecentsAnimationController != null) { mRecentsAnimationController.detachNavigationBarFromApp(true); @@ -1609,7 +1609,7 @@ public abstract class AbsSwipeUpHandler, } endLauncherTransitionController(); mRecentsView.onSwipeUpAnimationSuccess(); - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { mTaskAnimationManager.setLiveTileCleanUpHandler(mInputConsumerProxy::destroy); mTaskAnimationManager.enableLiveTileRestartListener(); } diff --git a/quickstep/src/com/android/quickstep/FallbackActivityInterface.java b/quickstep/src/com/android/quickstep/FallbackActivityInterface.java index 906599f560..f29d68a72a 100644 --- a/quickstep/src/com/android/quickstep/FallbackActivityInterface.java +++ b/quickstep/src/com/android/quickstep/FallbackActivityInterface.java @@ -15,6 +15,7 @@ */ package com.android.quickstep; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.quickstep.SysUINavigationMode.Mode.NO_BUTTON; import static com.android.quickstep.fallback.RecentsState.BACKGROUND_APP; import static com.android.quickstep.fallback.RecentsState.DEFAULT; @@ -105,8 +106,12 @@ public final class FallbackActivityInterface extends @Override public RecentsView getVisibleRecentsView() { RecentsActivity activity = getCreatedActivity(); - if (activity != null && activity.hasBeenResumed()) { - return activity.getOverviewPanel(); + if (activity != null) { + RecentsView recentsView = activity.getOverviewPanel(); + if (activity.hasBeenResumed() || (ENABLE_QUICKSTEP_LIVE_TILE.get() && isInLiveTileMode() + && recentsView.getRunningTaskId() == -1)) { + return recentsView; + } } return null; } diff --git a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java index 09474a1ac2..94a47e6cd0 100644 --- a/quickstep/src/com/android/quickstep/LauncherActivityInterface.java +++ b/quickstep/src/com/android/quickstep/LauncherActivityInterface.java @@ -21,6 +21,7 @@ import static com.android.launcher3.LauncherState.OVERVIEW; import static com.android.launcher3.LauncherState.QUICK_SWITCH; import static com.android.launcher3.anim.AnimatorListeners.forEndCallback; import static com.android.launcher3.anim.Interpolators.LINEAR; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import android.animation.Animator; @@ -184,16 +185,24 @@ public final class LauncherActivityInterface extends @Override public RecentsView getVisibleRecentsView() { Launcher launcher = getVisibleLauncher(); - return launcher != null && launcher.getStateManager().getState().overviewUi - ? launcher.getOverviewPanel() : null; + RecentsView recentsView = + launcher != null && launcher.getStateManager().getState().overviewUi + ? launcher.getOverviewPanel() : null; + if (recentsView == null || (!launcher.hasBeenResumed() + && recentsView.getRunningTaskId() == -1)) { + // If live tile has ended, return null. + return null; + } + return recentsView; } @Nullable @UiThread private Launcher getVisibleLauncher() { Launcher launcher = getCreatedActivity(); - return (launcher != null) && launcher.isStarted() && launcher.hasBeenResumed() - ? launcher : null; + return (launcher != null) && launcher.isStarted() + && ((ENABLE_QUICKSTEP_LIVE_TILE.get() && isInLiveTileMode()) + || launcher.hasBeenResumed()) ? launcher : null; } @Override @@ -202,6 +211,12 @@ public final class LauncherActivityInterface extends if (launcher == null) { return false; } + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isInLiveTileMode()) { + RecentsView recentsView = getVisibleRecentsView(); + if (recentsView == null) { + return false; + } + } closeOverlay(); launcher.getStateManager().goToState(OVERVIEW, diff --git a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java index 2beef0a7ce..742d02d204 100644 --- a/quickstep/src/com/android/quickstep/OverviewCommandHelper.java +++ b/quickstep/src/com/android/quickstep/OverviewCommandHelper.java @@ -15,6 +15,7 @@ */ package com.android.quickstep; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.quickstep.util.ActiveGestureLog.INTENT_EXTRA_LOG_TRACE_ID; diff --git a/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java b/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java index 192738f76a..65847f11bb 100644 --- a/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java +++ b/quickstep/src/com/android/quickstep/QuickstepProcessInitializer.java @@ -15,8 +15,6 @@ */ package com.android.quickstep; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; - import android.annotation.TargetApi; import android.content.Context; import android.content.pm.PackageManager; @@ -61,8 +59,6 @@ public class QuickstepProcessInitializer extends MainProcessInitializer { super.init(context); - LIVE_TILE.initialize(context); - // Elevate GPU priority for Quickstep and Remote animations. ThreadedRendererCompat.setContextPriority( ThreadedRendererCompat.EGL_CONTEXT_PRIORITY_HIGH_IMG); diff --git a/quickstep/src/com/android/quickstep/RecentsActivity.java b/quickstep/src/com/android/quickstep/RecentsActivity.java index fa5ab1cb7b..9dfcd12dde 100644 --- a/quickstep/src/com/android/quickstep/RecentsActivity.java +++ b/quickstep/src/com/android/quickstep/RecentsActivity.java @@ -23,10 +23,10 @@ import static com.android.launcher3.QuickstepTransitionManager.STATUS_BAR_TRANSI import static com.android.launcher3.QuickstepTransitionManager.STATUS_BAR_TRANSITION_PRE_DELAY; import static com.android.launcher3.Utilities.createHomeIntent; import static com.android.launcher3.graphics.SysUiScrim.SYSUI_PROGRESS; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.testing.TestProtocol.OVERVIEW_STATE_ORDINAL; import static com.android.quickstep.TaskUtils.taskIsATargetWithMode; import static com.android.quickstep.TaskViewUtils.createRecentsWindowAnimator; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_CLOSING; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_OPENING; @@ -359,7 +359,7 @@ public final class RecentsActivity extends StatefulActivity { } public void startHome() { - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { RecentsView recentsView = getOverviewPanel(); recentsView.switchToScreenshot(() -> recentsView.finishRecentsAnimation(true, this::startHomeInternal)); diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index ae2328e643..33718a3cac 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -15,11 +15,11 @@ */ package com.android.quickstep; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.quickstep.GestureState.STATE_RECENTS_ANIMATION_INITIALIZED; import static com.android.quickstep.GestureState.STATE_RECENTS_ANIMATION_STARTED; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import android.app.ActivityManager; import android.content.Context; @@ -65,7 +65,7 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn return; } BaseActivityInterface activityInterface = mLastGestureState.getActivityInterface(); - if (LIVE_TILE.get() && activityInterface.isInLiveTileMode() + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && activityInterface.isInLiveTileMode() && activityInterface.getCreatedActivity() != null) { RecentsView recentsView = activityInterface.getCreatedActivity().getOverviewPanel(); if (recentsView != null) { @@ -139,7 +139,7 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn @Override public void onTaskAppeared(RemoteAnimationTargetCompat appearedTaskTarget) { BaseActivityInterface activityInterface = mLastGestureState.getActivityInterface(); - if (LIVE_TILE.get() && activityInterface.isInLiveTileMode() + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && activityInterface.isInLiveTileMode() && activityInterface.getCreatedActivity() != null) { RecentsView recentsView = activityInterface.getCreatedActivity().getOverviewPanel(); diff --git a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java index 729710715a..ffa254d14c 100644 --- a/quickstep/src/com/android/quickstep/TaskOverlayFactory.java +++ b/quickstep/src/com/android/quickstep/TaskOverlayFactory.java @@ -18,7 +18,7 @@ package com.android.quickstep; import static android.view.Surface.ROTATION_0; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.quickstep.views.OverviewActionsView.DISABLED_NO_THUMBNAIL; import static com.android.quickstep.views.OverviewActionsView.DISABLED_ROTATED; @@ -188,7 +188,7 @@ public class TaskOverlayFactory implements ResourceBasedOverride { * @param callback callback to run, after switching to screenshot */ public void endLiveTileMode(@NonNull Runnable callback) { - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { RecentsView recentsView = mThumbnailView.getTaskView().getRecentsView(); recentsView.switchToScreenshot( () -> recentsView.finishRecentsAnimation(true /* toRecents */, diff --git a/quickstep/src/com/android/quickstep/TaskViewUtils.java b/quickstep/src/com/android/quickstep/TaskViewUtils.java index 3293810582..37fda73d44 100644 --- a/quickstep/src/com/android/quickstep/TaskViewUtils.java +++ b/quickstep/src/com/android/quickstep/TaskViewUtils.java @@ -34,7 +34,6 @@ import static com.android.launcher3.anim.Interpolators.TOUCH_RESPONSE_INTERPOLAT import static com.android.launcher3.anim.Interpolators.clampToProgress; import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.statehandlers.DepthController.DEPTH; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_CLOSING; import static com.android.systemui.shared.system.RemoteAnimationTargetCompat.MODE_OPENING; @@ -155,7 +154,7 @@ public final class TaskViewUtils { boolean isRunningTask = v.isRunningTask(); TransformParams params = null; TaskViewSimulator tsv = null; - if (LIVE_TILE.get() && isRunningTask) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask) { params = v.getRecentsView().getLiveTileParams(); tsv = v.getRecentsView().getLiveTileTaskViewSimulator(); } @@ -176,7 +175,8 @@ public final class TaskViewUtils { boolean isQuickSwitch = v.isEndQuickswitchCuj(); v.setEndQuickswitchCuj(false); - boolean inLiveTileMode = LIVE_TILE.get() && v.getRecentsView().getRunningTaskIndex() != -1; + boolean inLiveTileMode = + ENABLE_QUICKSTEP_LIVE_TILE.get() && v.getRecentsView().getRunningTaskIndex() != -1; final RemoteAnimationTargets targets = new RemoteAnimationTargets(appTargets, wallpaperTargets, nonAppTargets, inLiveTileMode ? MODE_CLOSING : MODE_OPENING); @@ -531,7 +531,7 @@ public final class TaskViewUtils { }; } pa.add(launcherAnim); - if (LIVE_TILE.get() && recentsView.getRunningTaskIndex() != -1) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && recentsView.getRunningTaskIndex() != -1) { pa.addOnFrameCallback(recentsView::redrawLiveTile); } anim.play(pa.buildAnim()); diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java index e8324f70e0..af1a01a4ec 100644 --- a/quickstep/src/com/android/quickstep/TouchInteractionService.java +++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java @@ -21,9 +21,9 @@ import static android.view.MotionEvent.ACTION_DOWN; import static android.view.MotionEvent.ACTION_UP; import static com.android.launcher3.config.FeatureFlags.ASSISTANT_GIVES_LAUNCHER_FOCUS; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.quickstep.GestureState.DEFAULT_STATE; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.systemui.shared.system.ActivityManagerWrapper.CLOSE_SYSTEM_WINDOWS_REASON_RECENTS; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SHELL_ONE_HANDED; import static com.android.systemui.shared.system.QuickStepContract.KEY_EXTRA_SHELL_PIP; @@ -765,7 +765,8 @@ public class TouchInteractionService extends Service implements PluginListener, T extends StatefulAct @Override public void onKeyEvent(KeyEvent ev) { - if (LIVE_TILE.get()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get()) { switch (ev.getKeyCode()) { case KeyEvent.KEYCODE_VOLUME_DOWN: case KeyEvent.KEYCODE_VOLUME_UP: diff --git a/quickstep/src/com/android/quickstep/util/NavigationModeFeatureFlag.java b/quickstep/src/com/android/quickstep/util/NavigationModeFeatureFlag.java deleted file mode 100644 index 60c7add38f..0000000000 --- a/quickstep/src/com/android/quickstep/util/NavigationModeFeatureFlag.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * 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. - */ - -package com.android.quickstep.util; - -import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; - -import android.content.Context; - -import com.android.quickstep.SysUINavigationMode; - -import java.util.function.Predicate; -import java.util.function.Supplier; - -/** A feature flag that listens to navigation mode changes. */ -public class NavigationModeFeatureFlag implements - SysUINavigationMode.NavigationModeChangeListener { - - public static final NavigationModeFeatureFlag LIVE_TILE = new NavigationModeFeatureFlag( - ENABLE_QUICKSTEP_LIVE_TILE::get, mode -> mode.hasGestures); - - private final Supplier mBasePredicate; - private final Predicate mModePredicate; - private boolean mSupported; - - private NavigationModeFeatureFlag(Supplier basePredicate, - Predicate modePredicate) { - mBasePredicate = basePredicate; - mModePredicate = modePredicate; - } - - public boolean get() { - return mBasePredicate.get() && mSupported; - } - - public void initialize(Context context) { - onNavigationModeChanged(SysUINavigationMode.INSTANCE.get(context).getMode()); - SysUINavigationMode.INSTANCE.get(context).addModeChangeListener(this); - } - - @Override - public void onNavigationModeChanged(SysUINavigationMode.Mode newMode) { - mSupported = mModePredicate.test(newMode); - } -} diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index a72a205def..538f626f86 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -37,6 +37,7 @@ import static com.android.launcher3.anim.Interpolators.ACCEL_DEACCEL; import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN; import static com.android.launcher3.anim.Interpolators.LINEAR; import static com.android.launcher3.anim.Interpolators.clampToProgress; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_CLEAR_ALL; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_DISMISS_SWIPE_UP; import static com.android.launcher3.logging.StatsLogManager.LauncherEvent.LAUNCHER_TASK_LAUNCH_SWIPE_DOWN; @@ -46,7 +47,6 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.Executors.UI_HELPER_EXECUTOR; import static com.android.launcher3.util.SystemUiController.UI_STATE_FULLSCREEN_TASK; import static com.android.quickstep.TaskUtils.checkCurrentOrManagedUserId; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; import static com.android.quickstep.views.OverviewActionsView.HIDDEN_NON_ZERO_ROTATION; import static com.android.quickstep.views.OverviewActionsView.HIDDEN_NO_RECENTS; import static com.android.quickstep.views.OverviewActionsView.HIDDEN_NO_TASKS; @@ -129,6 +129,7 @@ import com.android.launcher3.util.IntSet; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.ResourceBasedOverride.Overrides; import com.android.launcher3.util.SplitConfigurationOptions; +import com.android.launcher3.util.RunnableList; import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption; import com.android.launcher3.util.Themes; import com.android.launcher3.util.TranslateEdgeEffect; @@ -504,6 +505,7 @@ public abstract class RecentsView 0 ? getTaskViewAt(0).getTaskId() : -1; if (mRecentsAnimationController != null) { - if (LIVE_TILE.get() && mEnableDrawingLiveTile) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && mEnableDrawingLiveTile) { // We are still drawing the live tile, finish it now to clean up. finishRecentsAnimation(true /* toRecents */, null); } else { @@ -1757,7 +1783,7 @@ public abstract class RecentsView { mLiveTileTaskViewSimulator.taskSecondaryTranslation.value = mOrientationHandler.getSecondaryValue( @@ -2347,7 +2375,8 @@ public abstract class RecentsView { mLiveTileTaskViewSimulator.taskPrimaryTranslation.value = @@ -2417,8 +2446,8 @@ public abstract class RecentsView() { @Override public void accept(Boolean success) { - if (LIVE_TILE.get() && mEnableDrawingLiveTile && dismissedTaskView.isRunningTask() - && success) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && mEnableDrawingLiveTile + && dismissedTaskView.isRunningTask() && success) { finishRecentsAnimation(true /* toRecents */, false /* shouldPip */, () -> onEnd(success)); } else { @@ -2431,7 +2460,8 @@ public abstract class RecentsView removeTaskInternal(dismissedTaskId)); } else { @@ -2876,7 +2906,8 @@ public abstract class RecentsView { if (isSuccess) { - if (LIVE_TILE.get() && tv.isRunningTask()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && tv.isRunningTask()) { finishRecentsAnimation(false /* toRecents */, null); onTaskLaunchAnimationEnd(true /* success */); } else { @@ -3450,7 +3481,7 @@ public abstract class RecentsView { - if (LIVE_TILE.get() && isRunningTask()) { + if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask()) { RecentsView recentsView = getRecentsView(); recentsView.switchToScreenshot( () -> recentsView.finishRecentsAnimation(true /* toRecents */, diff --git a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java index 4f27e21ae8..dc73a9a51c 100644 --- a/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java +++ b/quickstep/tests/src/com/android/quickstep/AbstractQuickStepTest.java @@ -16,7 +16,7 @@ package com.android.quickstep; -import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE; +import static com.android.launcher3.config.FeatureFlags.ENABLE_QUICKSTEP_LIVE_TILE; import static org.junit.Assert.assertTrue; @@ -75,7 +75,7 @@ public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest { private boolean isInLiveTileMode(Launcher launcher, LauncherInstrumentation.ContainerType expectedContainerType) { - if (!LIVE_TILE.get() + if (!ENABLE_QUICKSTEP_LIVE_TILE.get() || expectedContainerType != LauncherInstrumentation.ContainerType.OVERVIEW) { return false; } From b297c7e615272bc93084eda921f47c2263ef4625 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Fri, 2 Jul 2021 15:11:29 +0100 Subject: [PATCH 081/905] Add screen record for failing TaplTestsQuickstep - For debugging failures that only happnes on cuttlefish Bug: 191344757 Test: TaplTestsQuickstep Change-Id: Iac16e222dc7b60f94e1eb7f305c5ccb909161783 --- .../src/com/android/quickstep/TaplTestsQuickstep.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java index a5038a1fb0..9a6eda4767 100644 --- a/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java +++ b/quickstep/tests/src/com/android/quickstep/TaplTestsQuickstep.java @@ -23,7 +23,6 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; import android.content.Intent; -import android.util.Log; import androidx.test.filters.LargeTest; import androidx.test.runner.AndroidJUnit4; @@ -37,8 +36,8 @@ import com.android.launcher3.tapl.LauncherInstrumentation.NavigationModel; import com.android.launcher3.tapl.Overview; import com.android.launcher3.tapl.OverviewActions; import com.android.launcher3.tapl.OverviewTask; -import com.android.launcher3.testing.TestProtocol; import com.android.launcher3.ui.TaplTestsLauncher3; +import com.android.launcher3.util.rule.ScreenRecordRule.ScreenRecord; import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch; import com.android.quickstep.views.RecentsView; @@ -94,6 +93,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { @Test @PortraitLandscape + @ScreenRecord //b/191344757 public void testOverview() throws Exception { startTestAppsWithCheck(); // mLauncher.pressHome() also tests an important case of pressing home while in background. @@ -163,6 +163,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { @Test @NavigationModeSwitch @PortraitLandscape + @ScreenRecord //b/191344757 public void testOverviewActions() throws Exception { // Experimenting for b/165029151: final Overview overview = mLauncher.pressHome().switchToOverview(); @@ -188,6 +189,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { @Test @NavigationModeSwitch @PortraitLandscape + @ScreenRecord //b/191344757 public void testSwitchToOverview() throws Exception { assertNotNull("Workspace.switchToOverview() returned null", mLauncher.pressHome().switchToOverview()); @@ -198,6 +200,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { @Test @NavigationModeSwitch @PortraitLandscape + @ScreenRecord //b/191344757 public void testBackground() throws Exception { startAppFast(resolveSystemApp(Intent.CATEGORY_APP_CALCULATOR)); final Background background = getAndAssertBackground(); @@ -219,6 +222,7 @@ public class TaplTestsQuickstep extends AbstractQuickStepTest { @Test @PortraitLandscape + @ScreenRecord //b/191344757 public void testAllAppsFromHome() throws Exception { // Test opening all apps assertNotNull("switchToAllApps() returned null", From befa11295b23683875489433516eaf8e9910acb0 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Fri, 2 Jul 2021 16:36:47 +0100 Subject: [PATCH 082/905] Allow dragging outside TaskView on fallback recents - Similar to LauncherRecentsView.onTouchEvent, don't allow touch to escape if overview UI is shown - Add FLAG_OVERVIEW_UI to RecentsState Fix: 192658511 Test: FallbackRecentsTest.testOverview on pixel_jumbojack Change-Id: I80270da6c077e8302f75384edeb521cfa81266ec --- .../quickstep/fallback/FallbackRecentsView.java | 8 ++++++++ .../android/quickstep/fallback/RecentsState.java | 14 +++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java index efce6500ea..d9631880dc 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsView.java @@ -26,6 +26,7 @@ import android.app.ActivityManager.RunningTaskInfo; import android.content.Context; import android.os.Build; import android.util.AttributeSet; +import android.view.MotionEvent; import androidx.annotation.Nullable; @@ -209,4 +210,11 @@ public class FallbackRecentsView extends RecentsView { private static final int FLAG_SHOW_AS_GRID = BaseState.getFlag(4); private static final int FLAG_SCRIM = BaseState.getFlag(5); private static final int FLAG_LIVE_TILE = BaseState.getFlag(6); + private static final int FLAG_OVERVIEW_UI = BaseState.getFlag(7); public static final RecentsState DEFAULT = new RecentsState(0, FLAG_CLEAR_ALL_BUTTON | FLAG_OVERVIEW_ACTIONS | FLAG_SHOW_AS_GRID | FLAG_SCRIM - | FLAG_LIVE_TILE); + | FLAG_LIVE_TILE | FLAG_OVERVIEW_UI); public static final RecentsState MODAL_TASK = new ModalState(1, FLAG_DISABLE_RESTORE | FLAG_CLEAR_ALL_BUTTON | FLAG_OVERVIEW_ACTIONS | FLAG_MODAL - | FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_LIVE_TILE); + | FLAG_SHOW_AS_GRID | FLAG_SCRIM | FLAG_LIVE_TILE | FLAG_OVERVIEW_UI); public static final RecentsState BACKGROUND_APP = new BackgroundAppState(2, - FLAG_DISABLE_RESTORE | FLAG_NON_INTERACTIVE | FLAG_FULL_SCREEN); + FLAG_DISABLE_RESTORE | FLAG_NON_INTERACTIVE | FLAG_FULL_SCREEN | FLAG_OVERVIEW_UI); public static final RecentsState HOME = new RecentsState(3, 0); public static final RecentsState BG_LAUNCHER = new LauncherState(4, 0); @@ -140,6 +141,13 @@ public class RecentsState implements BaseState { return deviceProfile.isTablet && FeatureFlags.ENABLE_OVERVIEW_GRID.get(); } + /** + * True if the state has overview panel visible. + */ + public boolean overviewUi() { + return hasFlag(FLAG_OVERVIEW_UI); + } + private static class ModalState extends RecentsState { public ModalState(int id, int flags) { From fc27bd17af02e3c52f9a0d565ce582117fb94522 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Fri, 2 Jul 2021 17:31:12 +0100 Subject: [PATCH 083/905] Fix TaplTestsLauncher.testWorkspace's page expectation for 2 panel - In tablet, workspace is scrollable only if page count > 2 instead of 1 Bug: 191344757 Test: TaplTestsLauncher.testWorkspace Change-Id: I1db4e03bc1edd7976a75b2a5f6fedf69eea7b435 --- .../android/launcher3/ui/TaplTestsLauncher3.java | 15 ++++++++++----- .../com/android/launcher3/tapl/Workspace.java | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java index 4dd44f4193..b36607af06 100644 --- a/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java +++ b/tests/src/com/android/launcher3/ui/TaplTestsLauncher3.java @@ -80,8 +80,12 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { assertTrue(message, failed); } + private int pagesPerScreen() { + return mLauncher.isTablet() ? 2 : 1; + } + private boolean isWorkspaceScrollable(Launcher launcher) { - return launcher.getWorkspace().getPageCount() > 1; + return launcher.getWorkspace().getPageCount() > pagesPerScreen(); } private int getCurrentWorkspacePage(Launcher launcher) { @@ -195,8 +199,9 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { workspace.ensureWorkspaceIsScrollable(); executeOnLauncher( - launcher -> assertEquals("Ensuring workspace scrollable didn't switch to page #1", - 1, getCurrentWorkspacePage(launcher))); + launcher -> assertEquals( + "Ensuring workspace scrollable didn't switch to next screen", + pagesPerScreen(), getCurrentWorkspacePage(launcher))); executeOnLauncher( launcher -> assertTrue("ensureScrollable didn't make workspace scrollable", isWorkspaceScrollable(launcher))); @@ -212,8 +217,8 @@ public class TaplTestsLauncher3 extends AbstractLauncherUiTest { workspace.flingForward(); executeOnLauncher( - launcher -> assertEquals("Flinging forward didn't switch workspace to page #1", - 1, getCurrentWorkspacePage(launcher))); + launcher -> assertEquals("Flinging forward didn't switch workspace to next screen", + pagesPerScreen(), getCurrentWorkspacePage(launcher))); assertTrue("Launcher internal state is not Home", isInState(() -> LauncherState.NORMAL)); // Test starting a workspace app. diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/tapl/com/android/launcher3/tapl/Workspace.java index f4fe49db8b..810e3bd8e9 100644 --- a/tests/tapl/com/android/launcher3/tapl/Workspace.java +++ b/tests/tapl/com/android/launcher3/tapl/Workspace.java @@ -163,7 +163,7 @@ public final class Workspace extends Home { } private boolean isWorkspaceScrollable(UiObject2 workspace) { - return workspace.getChildCount() > 1; + return workspace.getChildCount() > (mLauncher.isTablet() ? 2 : 1); } @NonNull From 7bd2a7714453e126f2e2b2346c7296011a652e08 Mon Sep 17 00:00:00 2001 From: vadimt Date: Thu, 1 Jul 2021 18:27:05 -0700 Subject: [PATCH 084/905] Adding more diags for TAPL actions Ones that change Launcher state. Test: presubmit Bug: 187761685 Change-Id: I11a29956613a4a211d49ee3df6d78e0000b80ced --- .../android/launcher3/tapl/Background.java | 14 +-- .../android/launcher3/tapl/Launchable.java | 34 ++++--- .../tapl/LauncherInstrumentation.java | 96 ++++++++++--------- .../android/launcher3/tapl/OverviewTask.java | 16 ++-- .../com/android/launcher3/tapl/Workspace.java | 6 +- 5 files changed, 85 insertions(+), 81 deletions(-) diff --git a/tests/tapl/com/android/launcher3/tapl/Background.java b/tests/tapl/com/android/launcher3/tapl/Background.java index e6c10c323f..75b87b7640 100644 --- a/tests/tapl/com/android/launcher3/tapl/Background.java +++ b/tests/tapl/com/android/launcher3/tapl/Background.java @@ -99,12 +99,12 @@ public class Background extends LauncherInstrumentation.VisibleContainer { end, gestureScope), event -> TestProtocol.PAUSE_DETECTED_MESSAGE.equals(event.getClassName()), - () -> "Pause wasn't detected"); + () -> "Pause wasn't detected", "swiping and holding"); mLauncher.runToState( () -> mLauncher.sendPointer( downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, end, gestureScope), - OVERVIEW_STATE_ORDINAL); + OVERVIEW_STATE_ORDINAL, "sending UP event"); break; } @@ -143,7 +143,7 @@ public class Background extends LauncherInstrumentation.VisibleContainer { mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); mLauncher.runToState( () -> mLauncher.waitForNavigationUiObject("recent_apps").click(), - OVERVIEW_STATE_ORDINAL); + OVERVIEW_STATE_ORDINAL, "clicking Recents button"); break; } expectSwitchToOverviewEvents(); @@ -224,7 +224,7 @@ public class Background extends LauncherInstrumentation.VisibleContainer { () -> mLauncher.linearGesture( startX, startY, endX, endY, 20, false, gestureScope), event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, - () -> "Quick switch gesture didn't change window state"); + () -> "Quick switch gesture didn't change window state", "swiping"); break; } @@ -238,7 +238,8 @@ public class Background extends LauncherInstrumentation.VisibleContainer { LauncherInstrumentation.EVENT_TOUCH_UP); } mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, SQUARE_BUTTON_EVENT); - mLauncher.runToState(() -> recentsButton.click(), OVERVIEW_STATE_ORDINAL); + mLauncher.runToState(() -> recentsButton.click(), OVERVIEW_STATE_ORDINAL, + "clicking Recents button for the first time"); mLauncher.getOverview(); if (mLauncher.isTablet()) { mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, @@ -250,7 +251,8 @@ public class Background extends LauncherInstrumentation.VisibleContainer { mLauncher.executeAndWaitForEvent( () -> recentsButton.click(), event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, - () -> "Pressing recents button didn't change window state"); + () -> "Pressing recents button didn't change window state", + "clicking Recents button for the second time"); break; } mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, TASK_START_EVENT); diff --git a/tests/tapl/com/android/launcher3/tapl/Launchable.java b/tests/tapl/com/android/launcher3/tapl/Launchable.java index ec0a740dca..a15131dbfc 100644 --- a/tests/tapl/com/android/launcher3/tapl/Launchable.java +++ b/tests/tapl/com/android/launcher3/tapl/Launchable.java @@ -56,26 +56,24 @@ abstract class Launchable { protected abstract String launchableType(); private Background launch(BySelector selector) { - try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( - "clicking " + launchableType())) { - LauncherInstrumentation.log("Launchable.launch before click " - + mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(mObject)); - final String label = mObject.getText(); + LauncherInstrumentation.log("Launchable.launch before click " + + mObject.getVisibleCenter() + " in " + mLauncher.getVisibleBounds(mObject)); + final String label = mObject.getText(); - mLauncher.executeAndWaitForEvent( - () -> { - mLauncher.clickLauncherObject(mObject); - expectActivityStartEvents(); - }, - event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, - () -> "Launching an app didn't open a new window: " + label); + mLauncher.executeAndWaitForEvent( + () -> { + mLauncher.clickLauncherObject(mObject); + expectActivityStartEvents(); + }, + event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, + () -> "Launching an app didn't open a new window: " + label, + "clicking " + launchableType()); - mLauncher.assertTrue( - "App didn't start: " + label + " (" + selector + ")", - TestHelpers.wait(Until.hasObject(selector), - LauncherInstrumentation.WAIT_TIME_MS)); - return new Background(mLauncher); - } + mLauncher.assertTrue( + "App didn't start: " + label + " (" + selector + ")", + TestHelpers.wait(Until.hasObject(selector), + LauncherInstrumentation.WAIT_TIME_MS)); + return new Background(mLauncher); } /** diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java index 38cc3aa9b8..9d6cb4ecd0 100644 --- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java +++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java @@ -666,26 +666,30 @@ public final class LauncherInstrumentation { } Parcelable executeAndWaitForLauncherEvent(Runnable command, - UiAutomation.AccessibilityEventFilter eventFilter, Supplier message) { + UiAutomation.AccessibilityEventFilter eventFilter, Supplier message, + String actionName) { return executeAndWaitForEvent( command, e -> mLauncherPackage.equals(e.getPackageName()) && eventFilter.accept(e), - message); + message, actionName); } Parcelable executeAndWaitForEvent(Runnable command, - UiAutomation.AccessibilityEventFilter eventFilter, Supplier message) { - try { - final AccessibilityEvent event = - mInstrumentation.getUiAutomation().executeAndWaitForEvent( - command, eventFilter, WAIT_TIME_MS); - assertNotNull("executeAndWaitForEvent returned null (this can't happen)", event); - final Parcelable parcelableData = event.getParcelableData(); - event.recycle(); - return parcelableData; - } catch (TimeoutException e) { - fail(message.get()); - return null; + UiAutomation.AccessibilityEventFilter eventFilter, Supplier message, + String actionName) { + try (LauncherInstrumentation.Closable c = addContextLayer(actionName)) { + try { + final AccessibilityEvent event = + mInstrumentation.getUiAutomation().executeAndWaitForEvent( + command, eventFilter, WAIT_TIME_MS); + assertNotNull("executeAndWaitForEvent returned null (this can't happen)", event); + final Parcelable parcelableData = event.getParcelableData(); + event.recycle(); + return parcelableData; + } catch (TimeoutException e) { + fail(message.get()); + return null; + } } } @@ -731,37 +735,34 @@ public final class LauncherInstrumentation { dumpViewHierarchy(); action = "swiping up to home"; - try (LauncherInstrumentation.Closable c = addContextLayer(action)) { - swipeToState( - displaySize.x / 2, displaySize.y - 1, - displaySize.x / 2, 0, - ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME, NORMAL_STATE_ORDINAL, - launcherWasVisible - ? GestureScope.INSIDE_TO_OUTSIDE - : GestureScope.OUTSIDE_WITH_PILFER); - } + swipeToState( + displaySize.x / 2, displaySize.y - 1, + displaySize.x / 2, 0, + ZERO_BUTTON_STEPS_FROM_BACKGROUND_TO_HOME, NORMAL_STATE_ORDINAL, + launcherWasVisible + ? GestureScope.INSIDE_TO_OUTSIDE + : GestureScope.OUTSIDE_WITH_PILFER); } } else { log("Hierarchy before clicking home:"); dumpViewHierarchy(); action = "clicking home button"; - try (LauncherInstrumentation.Closable c = addContextLayer(action)) { - if (!isLauncher3() && getNavigationModel() == NavigationModel.TWO_BUTTON) { - expectEvent(TestProtocol.SEQUENCE_TIS, EVENT_TOUCH_DOWN_TIS); - expectEvent(TestProtocol.SEQUENCE_TIS, EVENT_TOUCH_UP_TIS); - } - if (isTablet()) { - expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_TOUCH_DOWN); - expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_TOUCH_UP); - } - - runToState( - waitForNavigationUiObject("home")::click, - NORMAL_STATE_ORDINAL, - !hasLauncherObject(WORKSPACE_RES_ID) - && (hasLauncherObject(APPS_RES_ID) - || hasLauncherObject(OVERVIEW_RES_ID))); + if (!isLauncher3() && getNavigationModel() == NavigationModel.TWO_BUTTON) { + expectEvent(TestProtocol.SEQUENCE_TIS, EVENT_TOUCH_DOWN_TIS); + expectEvent(TestProtocol.SEQUENCE_TIS, EVENT_TOUCH_UP_TIS); } + if (isTablet()) { + expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_TOUCH_DOWN); + expectEvent(TestProtocol.SEQUENCE_MAIN, EVENT_TOUCH_UP); + } + + runToState( + waitForNavigationUiObject("home")::click, + NORMAL_STATE_ORDINAL, + !hasLauncherObject(WORKSPACE_RES_ID) + && (hasLauncherObject(APPS_RES_ID) + || hasLauncherObject(OVERVIEW_RES_ID)), + action); } try (LauncherInstrumentation.Closable c = addContextLayer( "performed action to switch to Home - " + action)) { @@ -953,7 +954,7 @@ public final class LauncherInstrumentation { void waitForObjectEnabled(UiObject2 object, String waitReason) { try { assertTrue("Timed out waiting for object to be enabled for " + waitReason + " " - + object.getResourceName(), + + object.getResourceName(), object.wait(Until.enabled(true), WAIT_TIME_MS)); } catch (StaleObjectException e) { fail("The object disappeared from screen"); @@ -1056,22 +1057,23 @@ public final class LauncherInstrumentation { + "]"; } - void runToState(Runnable command, int expectedState, boolean requireEvent) { + void runToState(Runnable command, int expectedState, boolean requireEvent, String actionName) { if (requireEvent) { - runToState(command, expectedState); + runToState(command, expectedState, actionName); } else { command.run(); } } - void runToState(Runnable command, int expectedState) { + void runToState(Runnable command, int expectedState, String actionName) { final List actualEvents = new ArrayList<>(); executeAndWaitForLauncherEvent( command, event -> isSwitchToStateEvent(event, expectedState, actualEvents), () -> "Failed to receive an event for the state change: expected [" + TestProtocol.stateOrdinalToString(expectedState) - + "], actual: " + eventListToString(actualEvents)); + + "], actual: " + eventListToString(actualEvents), + actionName); } private boolean isSwitchToStateEvent( @@ -1088,7 +1090,8 @@ public final class LauncherInstrumentation { GestureScope gestureScope) { runToState( () -> linearGesture(startX, startY, endX, endY, steps, false, gestureScope), - expectedState); + expectedState, + "swiping"); } private int getBottomGestureSize() { @@ -1196,7 +1199,8 @@ public final class LauncherInstrumentation { startX, startY, endX, endY, steps, slowDown, GestureScope.INSIDE), event -> TestProtocol.SCROLL_FINISHED_MESSAGE.equals(event.getClassName()), () -> "Didn't receive a scroll end message: " + startX + ", " + startY - + ", " + endX + ", " + endY); + + ", " + endX + ", " + endY, + "scrolling"); } // Inject a swipe gesture. Inject exactly 'steps' motion points, incrementing event time by a diff --git a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java index b2359190ba..657b74d116 100644 --- a/tests/tapl/com/android/launcher3/tapl/OverviewTask.java +++ b/tests/tapl/com/android/launcher3/tapl/OverviewTask.java @@ -71,15 +71,13 @@ public final class OverviewTask { public Background open() { try (LauncherInstrumentation.Closable e = mLauncher.eventsCheck()) { verifyActiveContainer(); - try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer( - "clicking an overview task")) { - mLauncher.executeAndWaitForEvent( - () -> mLauncher.clickLauncherObject(mTask), - event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, - () -> "Launching task didn't open a new window: " - + mTask.getParent().getContentDescription()); - mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, TASK_START_EVENT); - } + mLauncher.executeAndWaitForEvent( + () -> mLauncher.clickLauncherObject(mTask), + event -> event.getEventType() == TYPE_WINDOW_STATE_CHANGED, + () -> "Launching task didn't open a new window: " + + mTask.getParent().getContentDescription(), + "clicking an overview task"); + mLauncher.expectEvent(TestProtocol.SEQUENCE_MAIN, TASK_START_EVENT); return new Background(mLauncher); } } diff --git a/tests/tapl/com/android/launcher3/tapl/Workspace.java b/tests/tapl/com/android/launcher3/tapl/Workspace.java index 810e3bd8e9..73bd2c706e 100644 --- a/tests/tapl/com/android/launcher3/tapl/Workspace.java +++ b/tests/tapl/com/android/launcher3/tapl/Workspace.java @@ -190,13 +190,15 @@ public final class Workspace extends Home { launcher.movePointer(launchableCenter, dest, 10, downTime, true, LauncherInstrumentation.GestureScope.INSIDE); }, - SPRING_LOADED_STATE_ORDINAL); + SPRING_LOADED_STATE_ORDINAL, + "long-pressing and moving"); LauncherInstrumentation.log("dragIconToWorkspace: moved pointer"); launcher.runToState( () -> launcher.sendPointer( downTime, SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, dest, LauncherInstrumentation.GestureScope.INSIDE), - NORMAL_STATE_ORDINAL); + NORMAL_STATE_ORDINAL, + "sending UP event"); if (startsActivity || isWidgetShortcut) { launcher.expectEvent(TestProtocol.SEQUENCE_MAIN, LauncherInstrumentation.EVENT_START); } From f3825668a78645cd3b7270bde733fad5ec9e09f9 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 3 Jul 2021 03:13:57 +0000 Subject: [PATCH 085/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I9235e921fe65afa9b024d91046549f53bf51f887 --- quickstep/res/values-ar/strings.xml | 2 +- quickstep/res/values-ca/strings.xml | 2 +- quickstep/res/values-de/strings.xml | 28 ++++++++++++------------- quickstep/res/values-es/strings.xml | 2 +- quickstep/res/values-is/strings.xml | 2 +- quickstep/res/values-it/strings.xml | 2 +- quickstep/res/values-ja/strings.xml | 10 ++++----- quickstep/res/values-ko/strings.xml | 2 +- quickstep/res/values-pt-rPT/strings.xml | 2 +- 9 files changed, 26 insertions(+), 26 deletions(-) diff --git a/quickstep/res/values-ar/strings.xml b/quickstep/res/values-ar/strings.xml index 1a6597d4da..826b162d79 100644 --- a/quickstep/res/values-ar/strings.xml +++ b/quickstep/res/values-ar/strings.xml @@ -55,7 +55,7 @@ "تأكّد من عدم التمرير بالقرب من أسفل الشاشة." "لتغيير مستوى حساسية إيماءة الرجوع، انتقِل إلى \"الإعدادات\"" "مرِّر سريعًا من اليمين للرجوع." - "مرِّر سريعًا من اليسار للرجوع." + "التمرير سريعًا من اليسار للرجوع" "للرجوع إلى الشاشة السابقة، مرِّر سريعًا من الحافة اليمنى إلى وسط الشاشة" "يمكنك أيضًا الرجوع للشاشة السابقة بالتمرير سريعًا من الحافة اليسرى إلى وسط الشاشة. جرِّب ذلك الآن." "تأكّد من التمرير سريعًا من الحافة السفلى للشاشة إلى أعلاها." diff --git a/quickstep/res/values-ca/strings.xml b/quickstep/res/values-ca/strings.xml index f93051a1c0..3e27168b47 100644 --- a/quickstep/res/values-ca/strings.xml +++ b/quickstep/res/values-ca/strings.xml @@ -66,7 +66,7 @@ "Llisca per anar a la pantalla d\'inici" "Llisca cap amunt des de la part inferior de la pantalla. Aquest gest et porta a la pantalla d\'inici." "Assegura\'t de lliscar des de la vora inferior de la pantalla." - "Prova de mantenir premuda la finestra durant més temps abans de deixar anar." + "Prova de mantenir premuda la finestra durant més temps abans de deixar-la anar." "Assegura\'t de lliscar directament cap amunt i després aturar-te." "Has après a utilitzar els gestos. Per desactivar-los, ves a Configuració." "Has completat el gest per canviar d\'aplicació." diff --git a/quickstep/res/values-de/strings.xml b/quickstep/res/values-de/strings.xml index 17849e0bed..57d9dbf0c5 100644 --- a/quickstep/res/values-de/strings.xml +++ b/quickstep/res/values-de/strings.xml @@ -45,27 +45,27 @@ "Funktion „App-Vorschläge“ aktiviert" "Funktion \"App-Vorschläge\" deaktiviert" "Vorgeschlagene App: %1$s" - "Wische vom äußersten linken Bildschirmrand." - "Wische vom linken Bildschirmrand zur Bildschirmmitte und lass los." - "Wische vom äußersten rechten Bildschirmrand." - "Wische vom rechten Bildschirmrand zur Bildschirmmitte und lass los." - "Du kannst jetzt vom linken Bildschirmrand aus wischen, um zurückzugehen." - "Du kannst jetzt vom rechten Bildschirmrand aus wischen, um zurückzugehen. Gleich erfährst du, wie man zwischen Apps wechselt." + "Wische vom äußersten linken Displayrand." + "Wische vom linken Displayrand zur Displaymitte und lass los." + "Wische vom äußersten rechten Displayrand." + "Wische vom rechten Displayrand zur Displaymitte und lass los." + "Du kannst jetzt vom linken Displayrand aus wischen, um zurückzugehen." + "Du kannst jetzt vom rechten Displayrand aus wischen, um zurückzugehen. Gleich erfährst du, wie man zwischen Apps wechselt." "Du hast die „Zurück“-Touch-Geste abgeschlossen." - "Wische nicht zu nah am unteren Bildschirmrand." + "Wische nicht zu nah am unteren Displayrand." "Du kannst die Empfindlichkeit von „Zurück“ in den Einstellungen ändern" - "Wische vom linken Bildschirmrand aus, um zurückzugehen" - "Wische vom rechten Bildschirmrand aus, um zurückzugehen" - "Wenn du zum letzten Bildschirm zurückgehen möchtest, wische vom linken Bildschirmrand zur Mitte." - "Du kannst vom rechten Bildschirmrand zur Mitte wischen, um zum letzten Bildschirm zurückzugehen. Probier es aus." - "Wische vom unteren Bildschirmrand nach oben." + "Wische vom linken Displayrand aus, um zurückzugehen" + "Wische vom rechten Displayrand aus, um zurückzugehen" + "Wenn du zum letzten Bildschirm zurückgehen möchtest, wische vom linken Displayrand zur Mitte." + "Du kannst vom rechten Displayrand zur Mitte wischen, um zum letzten Bildschirm zurückzugehen. Probier es aus." + "Wische vom unteren Displayrand nach oben." "Achte darauf, nicht innezuhalten, bevor du loslässt." "Wische gerade nach oben." "Du hast die „Startbildschirm“-Touch-Geste abgeschlossen. Gleich lernst du, wie du zurückgelangst." "Du hast die „Startbildschirm“-Touch-Geste abgeschlossen." "Zum Startbildschirm gehen" - "Wenn du zum Startbildschirm gehen möchtest, wische einfach vom unteren Bildschirmrand nach oben." - "Wische vom unteren Bildschirmrand nach oben." + "Wenn du zum Startbildschirm gehen möchtest, wische einfach vom unteren Displayrand nach oben." + "Wische vom unteren Displayrand nach oben." "Versuche, das Fenster länger festzuhalten, bevor du es loslässt." "Wische gerade nach oben und halte dann inne." "Nun weißt du, wie Touch-Gesten funktionieren. Du kannst sie in den Einstellungen deaktivieren." diff --git a/quickstep/res/values-es/strings.xml b/quickstep/res/values-es/strings.xml index c2cb08eed7..220e3973ca 100644 --- a/quickstep/res/values-es/strings.xml +++ b/quickstep/res/values-es/strings.xml @@ -75,7 +75,7 @@ "Todo listo" "Siguiente" "Ajustes" - "Reintentar" + "Vuélvelo a intentar" "¡Muy bien!" "Tutorial %1$d/%2$d" "¡Ya está!" diff --git a/quickstep/res/values-is/strings.xml b/quickstep/res/values-is/strings.xml index 5928bdfce4..9c756d7694 100644 --- a/quickstep/res/values-is/strings.xml +++ b/quickstep/res/values-is/strings.xml @@ -57,7 +57,7 @@ "Strjúktu frá vinstri til að fara til baka" "Strjúktu frá hægri til að fara til baka" "Strjúktu frá vinstri brún að miðju skjásins til að fara aftur á síðasta skjá sem var opinn." - "Þú getur líka farið á síðasta skjá með því að strjúka frá hægri brún að miðju skjásins. Prófa núna." + "Þú getur líka farið á síðasta skjá með því að strjúka frá hægri brún að miðju skjásins. Prófaðu núna." "Passaðu að strjúka upp frá neðri brún skjásins." "Passaðu að stoppa ekki áður en þú sleppir." "Passaðu að strjúka beint upp." diff --git a/quickstep/res/values-it/strings.xml b/quickstep/res/values-it/strings.xml index b64926670a..dc0bf57ae1 100644 --- a/quickstep/res/values-it/strings.xml +++ b/quickstep/res/values-it/strings.xml @@ -57,7 +57,7 @@ "Scorri da sinistra per tornare indietro" "Scorri da destra per tornare indietro" "Per tornare all\'ultima schermata mostrata, scorri dal bordo sinistro verso il centro dello schermo." - "Puoi anche tornare all\'ultima schermata scorrendo da bordo destro verso centro dello schermo. Prova." + "Puoi anche tornare all\'ultima schermata scorrendo dal bordo destro verso il centro dello schermo. Prova." "Assicurati di scorrere verso l\'alto dal bordo inferiore dello schermo." "Assicurati di non fare pause prima di sollevare il dito." "Assicurati di scorrere verso l\'alto senza fermarti." diff --git a/quickstep/res/values-ja/strings.xml b/quickstep/res/values-ja/strings.xml index 38accd1062..eb9c509c1b 100644 --- a/quickstep/res/values-ja/strings.xml +++ b/quickstep/res/values-ja/strings.xml @@ -45,9 +45,9 @@ "アプリの候補表示が有効です" "アプリの候補は無効です" "予測されたアプリ: %1$s" - "一番左端からスワイプしてください。" + "左端からスワイプしてください。" "画面の左端から中央に向かってスワイプし、指を離してください。" - "一番右端からスワイプしてください。" + "右端からスワイプしてください。" "画面の右端から中央に向かってスワイプし、指を離してください。" "左側からスワイプして前の画面に戻る方法を学習しました。" "右側からスワイプして前の画面に戻る方法を学習しました。次は、アプリを切り替える方法を覚えましょう。" @@ -66,7 +66,7 @@ "スワイプでホームに戻る" "画面を下から上にスワイプします。この操作でいつでもホーム画面に戻れます。" "画面の下端から上にスワイプしてください。" - "指を離す前にウィンドウをもう少し長押ししてみましょう。" + "ウィンドウをもう少し長く押してから指を離すようにしてみましょう。" "まっすぐ上にスワイプしてから、いったん指を止めてください。" "主な操作方法を覚えました。操作を OFF にするには、設定に移動してください。" "「アプリを切り替える」操作を完了しました。" @@ -75,8 +75,8 @@ "設定完了" "次へ" "設定" - "再試行" - "成功" + "もう一度" + "成功しました" "チュートリアル %1$d/%2$d" "設定完了" "ホームに移動するには上にスワイプします" diff --git a/quickstep/res/values-ko/strings.xml b/quickstep/res/values-ko/strings.xml index 1666a5a1f7..bd6ecc7b7d 100644 --- a/quickstep/res/values-ko/strings.xml +++ b/quickstep/res/values-ko/strings.xml @@ -57,7 +57,7 @@ "왼쪽에서 스와이프하여 뒤로 돌아가세요" "돌아가려면 오른쪽에서 스와이프하세요" "마지막 화면으로 돌아가려면 왼쪽 가장자리에서 화면 중앙으로 스와이프하세요" - "오른쪽 가장자리에서 화면 중앙으로 스와이프해도 마지막 화면으로 돌아갈 수 있습니다. 지금 동작을 취해 보세요" + "오른쪽 가장자리에서 화면 중앙으로 스와이프해도 마지막 화면으로 돌아갈 수 있습니다. 지금 동작을 취해 보세요." "화면 하단 가장자리에서 위로 스와이프하세요." "손가락을 떼기 전에 멈추지 않아야 합니다." "위로 똑바르게 스와이프하세요." diff --git a/quickstep/res/values-pt-rPT/strings.xml b/quickstep/res/values-pt-rPT/strings.xml index 0163602e1f..891bcfb102 100644 --- a/quickstep/res/values-pt-rPT/strings.xml +++ b/quickstep/res/values-pt-rPT/strings.xml @@ -45,7 +45,7 @@ "Sugestões de apps ativadas" "As sugestões de apps estão desativadas" "App prevista: %1$s" - "Garanta que desliza rapidamente com o dedo a partir da extremidade esquerda." + "Deslize rapidamente com o dedo a partir da extremidade esquerda." "Garanta que desliza rapidamente com o dedo do limite esquerdo até ao centro do ecrã e solta." "Garanta que desliza rapidamente com o dedo a partir da extremidade direita." "Garanta que desliza rapidamente com o dedo do limite direito até ao centro do ecrã e solta." From 4268a0ded61c996224e1699bfe109f508aeeff03 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 3 Jul 2021 03:15:08 +0000 Subject: [PATCH 086/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Iaea4645475ec2e99b5a94f4a8a38c57dad5c1ada --- go/quickstep/res/values-af/strings.xml | 4 ++++ go/quickstep/res/values-am/strings.xml | 4 ++++ go/quickstep/res/values-ar/strings.xml | 4 ++++ go/quickstep/res/values-as/strings.xml | 4 ++++ go/quickstep/res/values-az/strings.xml | 4 ++++ go/quickstep/res/values-b+sr+Latn/strings.xml | 4 ++++ go/quickstep/res/values-be/strings.xml | 4 ++++ go/quickstep/res/values-bg/strings.xml | 4 ++++ go/quickstep/res/values-bn/strings.xml | 8 ++++++++ go/quickstep/res/values-bs/strings.xml | 4 ++++ go/quickstep/res/values-ca/strings.xml | 4 ++++ go/quickstep/res/values-cs/strings.xml | 4 ++++ go/quickstep/res/values-da/strings.xml | 4 ++++ go/quickstep/res/values-de/strings.xml | 4 ++++ go/quickstep/res/values-el/strings.xml | 4 ++++ go/quickstep/res/values-en-rAU/strings.xml | 4 ++++ go/quickstep/res/values-en-rCA/strings.xml | 4 ++++ go/quickstep/res/values-en-rGB/strings.xml | 4 ++++ go/quickstep/res/values-en-rIN/strings.xml | 4 ++++ go/quickstep/res/values-en-rXC/strings.xml | 4 ++++ go/quickstep/res/values-es-rUS/strings.xml | 4 ++++ go/quickstep/res/values-es/strings.xml | 4 ++++ go/quickstep/res/values-et/strings.xml | 4 ++++ go/quickstep/res/values-eu/strings.xml | 4 ++++ go/quickstep/res/values-fa/strings.xml | 4 ++++ go/quickstep/res/values-fi/strings.xml | 4 ++++ go/quickstep/res/values-fr-rCA/strings.xml | 8 ++++++++ go/quickstep/res/values-fr/strings.xml | 4 ++++ go/quickstep/res/values-gl/strings.xml | 4 ++++ go/quickstep/res/values-gu/strings.xml | 8 ++++++++ go/quickstep/res/values-hi/strings.xml | 4 ++++ go/quickstep/res/values-hr/strings.xml | 4 ++++ go/quickstep/res/values-hu/strings.xml | 4 ++++ go/quickstep/res/values-hy/strings.xml | 4 ++++ go/quickstep/res/values-in/strings.xml | 4 ++++ go/quickstep/res/values-is/strings.xml | 4 ++++ go/quickstep/res/values-it/strings.xml | 4 ++++ go/quickstep/res/values-iw/strings.xml | 8 ++++++++ go/quickstep/res/values-ja/strings.xml | 4 ++++ go/quickstep/res/values-ka/strings.xml | 4 ++++ go/quickstep/res/values-kk/strings.xml | 4 ++++ go/quickstep/res/values-km/strings.xml | 4 ++++ go/quickstep/res/values-kn/strings.xml | 8 ++++++++ go/quickstep/res/values-ko/strings.xml | 4 ++++ go/quickstep/res/values-ky/strings.xml | 4 ++++ go/quickstep/res/values-lo/strings.xml | 4 ++++ go/quickstep/res/values-lt/strings.xml | 4 ++++ go/quickstep/res/values-lv/strings.xml | 4 ++++ go/quickstep/res/values-mk/strings.xml | 4 ++++ go/quickstep/res/values-ml/strings.xml | 4 ++++ go/quickstep/res/values-mn/strings.xml | 4 ++++ go/quickstep/res/values-mr/strings.xml | 4 ++++ go/quickstep/res/values-ms/strings.xml | 4 ++++ go/quickstep/res/values-my/strings.xml | 4 ++++ go/quickstep/res/values-nb/strings.xml | 4 ++++ go/quickstep/res/values-ne/strings.xml | 4 ++++ go/quickstep/res/values-nl/strings.xml | 4 ++++ go/quickstep/res/values-or/strings.xml | 4 ++++ go/quickstep/res/values-pa/strings.xml | 8 ++++++++ go/quickstep/res/values-pl/strings.xml | 4 ++++ go/quickstep/res/values-pt-rPT/strings.xml | 4 ++++ go/quickstep/res/values-pt/strings.xml | 4 ++++ go/quickstep/res/values-ro/strings.xml | 4 ++++ go/quickstep/res/values-ru/strings.xml | 4 ++++ go/quickstep/res/values-si/strings.xml | 4 ++++ go/quickstep/res/values-sk/strings.xml | 4 ++++ go/quickstep/res/values-sl/strings.xml | 4 ++++ go/quickstep/res/values-sq/strings.xml | 8 ++++++++ go/quickstep/res/values-sr/strings.xml | 4 ++++ go/quickstep/res/values-sv/strings.xml | 4 ++++ go/quickstep/res/values-sw/strings.xml | 4 ++++ go/quickstep/res/values-ta/strings.xml | 4 ++++ go/quickstep/res/values-te/strings.xml | 4 ++++ go/quickstep/res/values-th/strings.xml | 4 ++++ go/quickstep/res/values-tl/strings.xml | 4 ++++ go/quickstep/res/values-tr/strings.xml | 4 ++++ go/quickstep/res/values-uk/strings.xml | 4 ++++ go/quickstep/res/values-ur/strings.xml | 4 ++++ go/quickstep/res/values-uz/strings.xml | 4 ++++ go/quickstep/res/values-vi/strings.xml | 4 ++++ go/quickstep/res/values-zh-rCN/strings.xml | 4 ++++ go/quickstep/res/values-zh-rHK/strings.xml | 4 ++++ go/quickstep/res/values-zh-rTW/strings.xml | 4 ++++ go/quickstep/res/values-zu/strings.xml | 4 ++++ 84 files changed, 364 insertions(+) diff --git a/go/quickstep/res/values-af/strings.xml b/go/quickstep/res/values-af/strings.xml index 8570531635..36b38b0657 100644 --- a/go/quickstep/res/values-af/strings.xml +++ b/go/quickstep/res/values-af/strings.xml @@ -5,4 +5,8 @@ "Luister" "Vertaal" "Lens" + "Vertaal of luister na teks op skerm" + "Inligting soos teks op jou skerm, webadresse en skermskote kan met Google gedeel word.\n\nGaan na ""Instellings > Programme > Verstekprogramme > Digitale Assistent-program"" om te verander watter inligting jy deel." + "KANSELLEER" + "HET DIT" diff --git a/go/quickstep/res/values-am/strings.xml b/go/quickstep/res/values-am/strings.xml index fc82f599e6..7fab663fbf 100644 --- a/go/quickstep/res/values-am/strings.xml +++ b/go/quickstep/res/values-am/strings.xml @@ -5,4 +5,8 @@ "ያዳምጡ" "ተርጉም" "ሌንስ" + "በማያ ገጹ ላይ ጽሑፍን ይተረጉሙ ወይም ያዳምጡ" + "እንደ በማያ ገጽዎ ላይ ያለ ጽሑፍ፣ የድር አድራሻዎች እና ቅጽበታዊ ገጽ እይታዎች ያሉ መረጃዎች ለGoogle ሊጋሩ ይችላሉ።\n\nምን መረጃ እንደሚያጋሩ ለመቀየር ወደ ""ቅንብሮች > መተግበሪያዎች > ነባሪ መተግበሪያዎች > ዲጂታል ረዳት መተግበሪያ"" ይሂዱ።" + "ይቅር" + "ገባኝ" diff --git a/go/quickstep/res/values-ar/strings.xml b/go/quickstep/res/values-ar/strings.xml index 8fc64dc252..7ea0ed051a 100644 --- a/go/quickstep/res/values-ar/strings.xml +++ b/go/quickstep/res/values-ar/strings.xml @@ -5,4 +5,8 @@ "استماع" "‏ترجمة Google" "‏عدسة Google" + "ترجمة النص الظاهر على الشاشة أو الاستماع إليه" + "‏قد تتم مشاركة معلومات مثل النص الظاهر على الشاشة وعناوين الويب ولقطات الشاشة مع Google.\n\nلتغيير المعلومات التي تتم مشاركتها، انتقِل إلى ""الإعدادات > التطبيقات > التطبيقات التلقائية > تطبيق المساعد الرقمي""." + "إلغاء" + "حسنًا" diff --git a/go/quickstep/res/values-as/strings.xml b/go/quickstep/res/values-as/strings.xml index a3b95c4851..d5d234cb46 100644 --- a/go/quickstep/res/values-as/strings.xml +++ b/go/quickstep/res/values-as/strings.xml @@ -5,4 +5,8 @@ "শুনক" "অনুবাদ কৰক" "লেন্স" + "স্ক্ৰীনত থকা পাঠ অনুবাদ কৰক অথবা শুনক" + "আপোনাৰ স্ক্ৰীনত থকা পাঠ, ৱেব ঠিকনা আৰু স্ক্ৰীনশ্বটৰ দৰে তথ্য Googleৰ সৈতে হয়তো শ্বেয়াৰ কৰা হ’ব।\n\nআপুনি কোনসমুহ তথ্য শ্বেয়াৰ কৰিব সেয়া সলনি কৰিবলৈ, ""ছেটিং > এপ্‌ > ডিফ’ল্ট এপ্‌ > ডিজিটেল সহায়ক এপ""লৈ যাওক।" + "বাতিল কৰক" + "বুজি পালোঁ" diff --git a/go/quickstep/res/values-az/strings.xml b/go/quickstep/res/values-az/strings.xml index 8b47b7f8b7..6fd0dd2cfb 100644 --- a/go/quickstep/res/values-az/strings.xml +++ b/go/quickstep/res/values-az/strings.xml @@ -5,4 +5,8 @@ "Dinləyin" "Tərcümə" "Linza" + "Ekrandakı mətni tərcümə edin və ya dinləyin" + "Ekrandakı mətn, veb ünvanlar və ekran görüntüləri kimi məlumatlar Google ilə paylaşıla bilər.\n\nHansı məlumatların paylaşılmasını dəyişmək üçün ""Ayarlar > Tətbiqlər > Defolt tətbiqlər > Rəqəmsal assistent tətbiqi"" bölməsinə keçin." + "LƏĞV EDİN" + "ANLADIM" diff --git a/go/quickstep/res/values-b+sr+Latn/strings.xml b/go/quickstep/res/values-b+sr+Latn/strings.xml index 7d383e1f0c..de76cca89d 100644 --- a/go/quickstep/res/values-b+sr+Latn/strings.xml +++ b/go/quickstep/res/values-b+sr+Latn/strings.xml @@ -5,4 +5,8 @@ "Pusti" "Prevedi" "Objektiv" + "Prevodite ili slušajte tekst na ekranu" + "Informacije poput teksta na ekranu, veb-adresa i snimaka ekrana mogu da se dele sa Google-om.\n\nDa biste promenili informacije koje delite, idite u ""Podešavanja > Aplikacije > Podrazumevane aplikacije > Aplikacija digitalnog pomoćnika""." + "OTKAŽI" + "VAŽI" diff --git a/go/quickstep/res/values-be/strings.xml b/go/quickstep/res/values-be/strings.xml index 95bff60b46..9d8220356b 100644 --- a/go/quickstep/res/values-be/strings.xml +++ b/go/quickstep/res/values-be/strings.xml @@ -5,4 +5,8 @@ "Праслухаць" "Перакласці" "Аб\'ектыў" + "Перакласці ці праслухаць тэкст на экране" + "Такая інфармацыя з вашага экрана, як тэксты, вэб-адрасы і здымкі экрана, можа абагульвацца з Google.\n\nКаб змяніць тып інфармацыі для абагульвання, адкрыйце ""Налады > Праграмы > Стандартныя праграмы > Лічбавы памочнік""." + "СКАСАВАЦЬ" + "ЗРАЗУМЕЛА" diff --git a/go/quickstep/res/values-bg/strings.xml b/go/quickstep/res/values-bg/strings.xml index 018d53623b..0408fbafc1 100644 --- a/go/quickstep/res/values-bg/strings.xml +++ b/go/quickstep/res/values-bg/strings.xml @@ -5,4 +5,8 @@ "Слушане" "Превод" "Обектив" + "Превеждане или четене на текста на екрана" + "Определена информация може да бъде споделена с Google, като например текстът на екрана ви, уеб адресите и екранните снимки.\n\nЗа да промените информацията, която споделяте, отворете ""„Настройки“ > „Приложения“ > „Приложения по подразбиране“ > „Приложение за дигитален асистент“""." + "ОТКАЗ" + "РАЗБРАХ" diff --git a/go/quickstep/res/values-bn/strings.xml b/go/quickstep/res/values-bn/strings.xml index b5c8ec949d..78b9df78fd 100644 --- a/go/quickstep/res/values-bn/strings.xml +++ b/go/quickstep/res/values-bn/strings.xml @@ -5,4 +5,12 @@ "শুনুন" "অনুবাদ করুন" "লেন্স" + + + + + + + + diff --git a/go/quickstep/res/values-bs/strings.xml b/go/quickstep/res/values-bs/strings.xml index 90ea104715..f83521e9fc 100644 --- a/go/quickstep/res/values-bs/strings.xml +++ b/go/quickstep/res/values-bs/strings.xml @@ -5,4 +5,8 @@ "Poslušajte" "Prevedi" "Objektiv" + "Prevedite ili slušajte tekst na ekranu" + "Informacije kao što su tekst na ekranu, web adrese i snimci ekrana mogu se dijeliti s Googleom.\n\nDa promijenite koje informacije dijelite, idite u ""Postavke > Aplikacije > Zadane aplikacije > Aplikacija digitalnog asistenta""." + "OTKAŽI" + "RAZUMIJEM" diff --git a/go/quickstep/res/values-ca/strings.xml b/go/quickstep/res/values-ca/strings.xml index e578f5a6a3..3320b06c0e 100644 --- a/go/quickstep/res/values-ca/strings.xml +++ b/go/quickstep/res/values-ca/strings.xml @@ -5,4 +5,8 @@ "Escolta" "Tradueix" "Lens" + "Tradueix o escolta el text en pantalla" + "És possible que determinada informació es comparteixi amb Google, com ara el text en pantalla, les adreces web i les captures de pantalla.\n\nPer canviar quina informació comparteixes, ves a ""Configuració > Aplicacions > Aplicacions predeterminades > Aplicació de l\'assistent digital""." + "CANCEL·LA" + "ENTESOS" diff --git a/go/quickstep/res/values-cs/strings.xml b/go/quickstep/res/values-cs/strings.xml index cb21abe77f..310727eeb3 100644 --- a/go/quickstep/res/values-cs/strings.xml +++ b/go/quickstep/res/values-cs/strings.xml @@ -5,4 +5,8 @@ "Poslechnout" "Přeložit" "Lens" + "Překládejte nebo poslouchejte text na obrazovce" + "S Googlem mohou být sdílena data, jako je text na obrazovce, webové adresy a snímky obrazovky.\n\nSdílená data můžete upřesnit v ""Nastavení > Aplikace > Výchozí aplikace > Aplikace digitálního asistenta""." + "ZRUŠIT" + "ROZUMÍM" diff --git a/go/quickstep/res/values-da/strings.xml b/go/quickstep/res/values-da/strings.xml index 46648ce686..16b8fbbfeb 100644 --- a/go/quickstep/res/values-da/strings.xml +++ b/go/quickstep/res/values-da/strings.xml @@ -5,4 +5,8 @@ "Lyt" "Oversæt" "Lens" + "Oversæt eller hør tekst på skærmen" + "Oplysninger såsom tekst på din skærm, webadresser og screenshots deles muligvis med Google.\n\nHvis du vil ændre, hvilke oplysninger du deler, kan du gå til ""Indstillinger > Apps > Standardapps > App for digital assistent""." + "ANNULLER" + "OK" diff --git a/go/quickstep/res/values-de/strings.xml b/go/quickstep/res/values-de/strings.xml index 1052b0cdf0..f29879e4b4 100644 --- a/go/quickstep/res/values-de/strings.xml +++ b/go/quickstep/res/values-de/strings.xml @@ -5,4 +5,8 @@ "Anhören" "Übersetzen" "Lens" + "Text auf dem Bildschirm übersetzen oder anhören" + "Informationen, wie Text auf deinem Bildschirm, Webadressen und Screenshots, werden möglicherweise an Google weitergegeben.\n\nWenn du ändern möchtest, welche Informationen weitergegeben werden, gehe zu ""Einstellungen > Apps > Standard-Apps > App für digitalen Assistenten""." + "ABBRECHEN" + "OK" diff --git a/go/quickstep/res/values-el/strings.xml b/go/quickstep/res/values-el/strings.xml index 3d514d966e..59cae3de6b 100644 --- a/go/quickstep/res/values-el/strings.xml +++ b/go/quickstep/res/values-el/strings.xml @@ -5,4 +5,8 @@ "Ακρόαση" "Μετάφραση" "Lens" + "Μετάφραση ή ακρόαση του κειμένου στην οθόνη" + "Πληροφορίες όπως είναι το κείμενο στην οθόνη, οι διευθύνσεις ιστού και τα στιγμιότυπα οθόνης, ενδέχεται να κοινοποιηθούν στην Google.\n\nΓια να αλλάξετε τις πληροφορίες που κοινοποιείτε, μεταβείτε στις ""Ρυθμίσεις > Εφαρμογές > Προεπιλεγμένες εφαρμογές > Εφαρμογή ψηφιακού βοηθού""." + "ΑΚΥΡΩΣΗ" + "ΟΚ" diff --git a/go/quickstep/res/values-en-rAU/strings.xml b/go/quickstep/res/values-en-rAU/strings.xml index 3a609b6729..54b1330686 100644 --- a/go/quickstep/res/values-en-rAU/strings.xml +++ b/go/quickstep/res/values-en-rAU/strings.xml @@ -5,4 +5,8 @@ "Listen" "Translate" "Lens" + "Translate or listen to text on screen" + "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." + "CANCEL" + "OK" diff --git a/go/quickstep/res/values-en-rCA/strings.xml b/go/quickstep/res/values-en-rCA/strings.xml index 3a609b6729..54b1330686 100644 --- a/go/quickstep/res/values-en-rCA/strings.xml +++ b/go/quickstep/res/values-en-rCA/strings.xml @@ -5,4 +5,8 @@ "Listen" "Translate" "Lens" + "Translate or listen to text on screen" + "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." + "CANCEL" + "OK" diff --git a/go/quickstep/res/values-en-rGB/strings.xml b/go/quickstep/res/values-en-rGB/strings.xml index 3a609b6729..54b1330686 100644 --- a/go/quickstep/res/values-en-rGB/strings.xml +++ b/go/quickstep/res/values-en-rGB/strings.xml @@ -5,4 +5,8 @@ "Listen" "Translate" "Lens" + "Translate or listen to text on screen" + "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." + "CANCEL" + "OK" diff --git a/go/quickstep/res/values-en-rIN/strings.xml b/go/quickstep/res/values-en-rIN/strings.xml index 3a609b6729..54b1330686 100644 --- a/go/quickstep/res/values-en-rIN/strings.xml +++ b/go/quickstep/res/values-en-rIN/strings.xml @@ -5,4 +5,8 @@ "Listen" "Translate" "Lens" + "Translate or listen to text on screen" + "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." + "CANCEL" + "OK" diff --git a/go/quickstep/res/values-en-rXC/strings.xml b/go/quickstep/res/values-en-rXC/strings.xml index 614f69afe2..cac376e761 100644 --- a/go/quickstep/res/values-en-rXC/strings.xml +++ b/go/quickstep/res/values-en-rXC/strings.xml @@ -5,4 +5,8 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎Listen‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎Translate‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎Lens‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‎Translate or listen to text on screen‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎Information such as text on your screen, web addresses, and screenshots may be shared with Google.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To change what information you share, go to ‎‏‎‎‏‏‎""‎‏‎‎‏‏‏‎Settings > Apps > Default apps > Digital assistant app‎‏‎‎‏‏‎""‎‏‎‎‏‏‏‎.‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎CANCEL‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎GOT IT‎‏‎‎‏‎" diff --git a/go/quickstep/res/values-es-rUS/strings.xml b/go/quickstep/res/values-es-rUS/strings.xml index e6946d7eee..475366282c 100644 --- a/go/quickstep/res/values-es-rUS/strings.xml +++ b/go/quickstep/res/values-es-rUS/strings.xml @@ -5,4 +5,8 @@ "Escuchar" "Traducir" "Lens" + "Traduce o escucha el texto que aparece en la pantalla" + "Es posible que se comparta información con Google, como el texto de la pantalla, direcciones web y capturas de pantalla.\n\nPara cambiar la información que se comparte, ve a ""Configuración > Apps > Apps predeterminadas > App de asistente digital""." + "CANCELAR" + "ENTENDIDO" diff --git a/go/quickstep/res/values-es/strings.xml b/go/quickstep/res/values-es/strings.xml index 845e34b840..fe227d46e0 100644 --- a/go/quickstep/res/values-es/strings.xml +++ b/go/quickstep/res/values-es/strings.xml @@ -5,4 +5,8 @@ "Escuchar" "Traducir" "Lens" + "Traduce o escucha texto que haya en pantalla" + "Se puede compartir con Google cierta información, como el texto que aparece en pantalla, direcciones web o capturas de pantalla.\n\nPara cambiar la información que compartes, ve a ""Ajustes > Aplicaciones > Aplicaciones predeterminadas > Asistente digital""." + "CANCELAR" + "ENTENDIDO" diff --git a/go/quickstep/res/values-et/strings.xml b/go/quickstep/res/values-et/strings.xml index 5d3c42753a..40f9f15f77 100644 --- a/go/quickstep/res/values-et/strings.xml +++ b/go/quickstep/res/values-et/strings.xml @@ -5,4 +5,8 @@ "Kuula" "Tõlge" "Lens" + "Ekraanil oleva teksti tõlkimine või kuulamine" + "Teavet, nagu teie ekraanil olev tekst, veebiaadressid ja ekraanipildid, võidakse jagada Google\'iga.\n\nKui soovite muuta, millist teavet jagate, avage ""Seaded > Rakendused > Vaikerakendused > Digitaalse assistendi rakendus""." + "LOOBU" + "SELGE" diff --git a/go/quickstep/res/values-eu/strings.xml b/go/quickstep/res/values-eu/strings.xml index 2b89057fe4..8a71fd91b6 100644 --- a/go/quickstep/res/values-eu/strings.xml +++ b/go/quickstep/res/values-eu/strings.xml @@ -5,4 +5,8 @@ "Entzun" "Itzuli" "Lens" + "Itzuli edo entzun pantailako testua" + "Agian pantailako testua, web-helbideak, pantaila-argazkiak eta antzeko informazioa partekatuko duzu Google-rekin.\n\nPartekatzen duzun informazioa aldatzeko, joan hona: ""Ezarpenak > Aplikazioak > Aplikazio lehenetsiak > Laguntzaile digitalaren aplikazioa""." + "UTZI" + "ADOS" diff --git a/go/quickstep/res/values-fa/strings.xml b/go/quickstep/res/values-fa/strings.xml index 491b32fb11..d07c57eaa3 100644 --- a/go/quickstep/res/values-fa/strings.xml +++ b/go/quickstep/res/values-fa/strings.xml @@ -5,4 +5,8 @@ "گوش دادن" "ترجمه" "لنز" + "ترجمه نوشتار روی صفحه‌نمایش یا گوش دادن به آن" + "‏ممکن است اطلاعاتی مثل نوشتار روی صفحه‌نمایش، نشانی‌های وب، و نماگرفت‌ها با Google هم‌رسانی شود.\n\nبرای تغییر اطلاعاتی که هم‌رسانی می‌کنید، به ""تنظیمات < برنامه‌ها < برنامه‌های پیش‌فرض < برنامه دستیار دیجیتال"" بروید." + "لغو" + "متوجه شدم" diff --git a/go/quickstep/res/values-fi/strings.xml b/go/quickstep/res/values-fi/strings.xml index 29f71d8fe7..f7b8d785f8 100644 --- a/go/quickstep/res/values-fi/strings.xml +++ b/go/quickstep/res/values-fi/strings.xml @@ -5,4 +5,8 @@ "Kuuntele" "Käännä" "Lens" + "Käännä tai kuuntele näytöllä oleva teksti" + "Googlelle saatetaan jakaa näytöllä olevaa tekstiä, verkko-osoitteita, kuvakaappauksia ja muita tietoja.\n\nVoit valita jaettavat tiedot valitsemalla ""Asetukset > Sovellukset > Oletussovellukset > Digiavustajasovellus""." + "PERU" + "SELVÄ" diff --git a/go/quickstep/res/values-fr-rCA/strings.xml b/go/quickstep/res/values-fr-rCA/strings.xml index 158bdd05f2..2b1c5141d5 100644 --- a/go/quickstep/res/values-fr-rCA/strings.xml +++ b/go/quickstep/res/values-fr-rCA/strings.xml @@ -5,4 +5,12 @@ "Écouter" "Traduire" "Lentille" + + + + + + + + diff --git a/go/quickstep/res/values-fr/strings.xml b/go/quickstep/res/values-fr/strings.xml index 7f48fdf0f5..88160323f0 100644 --- a/go/quickstep/res/values-fr/strings.xml +++ b/go/quickstep/res/values-fr/strings.xml @@ -5,4 +5,8 @@ "Écouter" "Traduire" "Lens" + "Traduire ou écouter le texte à l\'écran" + "Des informations comme le texte sur votre écran, des adresses Web et des captures d\'écran peuvent être partagées avec Google.\n\nPour modifier les types d\'informations que vous partagez, accédez à ""Paramètres > Applis > Applis par défaut > Appli d\'assistant numérique""." + "ANNULER" + "OK" diff --git a/go/quickstep/res/values-gl/strings.xml b/go/quickstep/res/values-gl/strings.xml index 9ffaef716d..6946cde504 100644 --- a/go/quickstep/res/values-gl/strings.xml +++ b/go/quickstep/res/values-gl/strings.xml @@ -5,4 +5,8 @@ "Escoitar" "Traducir" "Lens" + "Traducir ou escoitar o texto que aparece na pantalla" + "É posible que se comparta con Google información como o texto que aparece na pantalla, os enderezos web e as capturas de pantalla.\n\nPara cambiar os datos que se comparten, vai a ""Configuración > Aplicacións > Aplicacións predeterminadas > Aplicación de asistente dixital""." + "CANCELAR" + "ENTENDIDO" diff --git a/go/quickstep/res/values-gu/strings.xml b/go/quickstep/res/values-gu/strings.xml index b0244751bb..d3357a32b0 100644 --- a/go/quickstep/res/values-gu/strings.xml +++ b/go/quickstep/res/values-gu/strings.xml @@ -5,4 +5,12 @@ "સાંભળો" "અનુવાદ કરો" "Lens" + + + + + + + + diff --git a/go/quickstep/res/values-hi/strings.xml b/go/quickstep/res/values-hi/strings.xml index 5238d406ee..0e51169e10 100644 --- a/go/quickstep/res/values-hi/strings.xml +++ b/go/quickstep/res/values-hi/strings.xml @@ -5,4 +5,8 @@ "सुनें" "अनुवाद करें" "Google Lens" + "स्क्रीन पर मौजूद टेक्स्ट का अनुवाद पाएं या उसे सुनें" + "आपकी स्क्रीन पर मौजूद टेक्स्ट, वेब पते, और स्क्रीनशॉट जैसी जानकारी को Google के साथ शेयर की जा सकती है.\n\nआप Google के साथ किस जानकारी को शेयर करते हैं, इसे कंट्रोल करने के लिए ""सेटिंग > ऐप्लिकेशन > डिफ़ॉल्ट ऐप्लिकेशन > डिजिटल असिस्टेंट ऐप्लिकेशन"" पर जाएं." + "रद्द करें" + "ठीक है" diff --git a/go/quickstep/res/values-hr/strings.xml b/go/quickstep/res/values-hr/strings.xml index e22034257b..b8f94c62ce 100644 --- a/go/quickstep/res/values-hr/strings.xml +++ b/go/quickstep/res/values-hr/strings.xml @@ -5,4 +5,8 @@ "Slušajte" "Prevedi" "Objektiv" + "Prevedite ili slušajte tekst na zaslonu" + "Informacije kao što su tekst na vašem zaslonu, web-adrese i snimke zaslona mogu se dijeliti s Googleom.\n\nDa biste promijenili informacije koje dijelite, otvorite ""Postavke > Aplikacije > Zadane aplikacije > Aplikacija digitalnog asistenta""." + "ODUSTANI" + "SHVAĆAM" diff --git a/go/quickstep/res/values-hu/strings.xml b/go/quickstep/res/values-hu/strings.xml index c6fb51e574..bb2127c7e5 100644 --- a/go/quickstep/res/values-hu/strings.xml +++ b/go/quickstep/res/values-hu/strings.xml @@ -5,4 +5,8 @@ "Lejátszás" "Fordítás" "Lens" + "Képernyőn megjelenő szöveg fordítása és hallgatása" + "Előfordulhat, hogy a rendszer megoszt bizonyos adatokat (például képernyőn megjelenő szöveget, internetcímeket és képernyőképeket) a Google-lal.\n\nHa módosítani szeretné, hogy milyen adatokat oszt meg, lépjen a ""Beállítások és alkalmazások; Alapértelmezett alkalmazások; Digitális asszisztens app"" menüpontra." + "MÉGSE" + "ÉRTEM" diff --git a/go/quickstep/res/values-hy/strings.xml b/go/quickstep/res/values-hy/strings.xml index f5bb44de80..6ea56014ae 100644 --- a/go/quickstep/res/values-hy/strings.xml +++ b/go/quickstep/res/values-hy/strings.xml @@ -5,4 +5,8 @@ "Լսել" "Թարգմանել" "Տեսապակի" + "Էկրանի տեքստի թարգմանություն կամ ունկնդրում" + "Որոշակի տեղեկություններ (օր․՝ էկրանի տեքստը, վեբ հասցեները և սքրինշոթները) կարող են ուղարկվել Google-ին։\n\nՏեղեկությունները, որոնցով դուք կիսվում եք, կարող եք փոխել՝ անցնելով ""Կարգավորումներ > Հավելվածներ > Կանխադրված հավելվածներ > Թվային օգնականի հավելված""։" + "ՉԵՂԱՐԿԵԼ" + "ԵՂԱՎ" diff --git a/go/quickstep/res/values-in/strings.xml b/go/quickstep/res/values-in/strings.xml index ddadb35543..e84494493e 100644 --- a/go/quickstep/res/values-in/strings.xml +++ b/go/quickstep/res/values-in/strings.xml @@ -5,4 +5,8 @@ "Dengarkan" "Terjemahkan" "Lens" + "Terjemahkan atau dengarkan teks di layar" + "Informasi seperti teks di layar, alamat web, dan screenshot dapat dibagikan ke Google.\n\nUntuk mengubah informasi yang Anda bagikan, buka ""Setelan > Aplikasi > Aplikasi default > Aplikasi asisten digital""." + "BATAL" + "OKE" diff --git a/go/quickstep/res/values-is/strings.xml b/go/quickstep/res/values-is/strings.xml index 2231cc56f6..1b74853b91 100644 --- a/go/quickstep/res/values-is/strings.xml +++ b/go/quickstep/res/values-is/strings.xml @@ -5,4 +5,8 @@ "Hlusta" "Þýða" "Linsa" + "Þýða eða hlusta á texta á skjánum" + "Mögulegt er að upplýsingum á borð við texta á skjánum, vefslóðum og skjámyndum verði deilt með Google.\n\nTil að breyta því hvaða upplýsingum þú deilir skaltu opna ""Stillingar > Forrit > Sjálfgefin forrit > Forrit stafræns hjálpara""." + "HÆTTA VIÐ" + "ÉG SKIL" diff --git a/go/quickstep/res/values-it/strings.xml b/go/quickstep/res/values-it/strings.xml index 485dcd6160..8a475607d4 100644 --- a/go/quickstep/res/values-it/strings.xml +++ b/go/quickstep/res/values-it/strings.xml @@ -5,4 +5,8 @@ "Ascolta" "Traduttore" "Lens" + "Traduci o ascolta il testo sullo schermo" + "Alcune informazioni, come il testo sullo schermo, gli indirizzi web e gli screenshot, potrebbero essere condivise con Google.\n\nPer modificare quali informazioni condividere, vai a ""Impostazioni > App > App predefinite > App assistente digitale""." + "ANNULLA" + "OK" diff --git a/go/quickstep/res/values-iw/strings.xml b/go/quickstep/res/values-iw/strings.xml index d70d57a919..e3da0e7b34 100644 --- a/go/quickstep/res/values-iw/strings.xml +++ b/go/quickstep/res/values-iw/strings.xml @@ -5,4 +5,12 @@ "האזנה" "תרגום" "Lens" + + + + + + + + diff --git a/go/quickstep/res/values-ja/strings.xml b/go/quickstep/res/values-ja/strings.xml index f8cbbab7aa..06066027dc 100644 --- a/go/quickstep/res/values-ja/strings.xml +++ b/go/quickstep/res/values-ja/strings.xml @@ -5,4 +5,8 @@ "聴く" "翻訳" "レンズ" + "画面上のテキストを翻訳または聞く" + "画面上のテキスト、ウェブアドレス、スクリーンショットなどの情報が Google と共有される場合があります。\n\n共有される情報を変更するには、""[設定] > [アプリ] > [デフォルトのアプリ] > [デジタル アシスタント アプリ]"" に移動してください。" + "キャンセル" + "OK" diff --git a/go/quickstep/res/values-ka/strings.xml b/go/quickstep/res/values-ka/strings.xml index b430c88488..4747e036c3 100644 --- a/go/quickstep/res/values-ka/strings.xml +++ b/go/quickstep/res/values-ka/strings.xml @@ -5,4 +5,8 @@ "მოსმენა" "თარგმნა" "Lens" + "თარგმნეთ ან მოისმინეთ ეკრანზე ნაჩვენები ტექსტი" + "ისეთი ინფორმაცია, როგორიც არის ტექსტი თქვენს ეკრანზე, ვებ-მისამართები და ეკრანის ანაბეჭდები შეიძლება გაზიარდეს Google-თან.\n\nთუ გსურთ, შეცვალოთ, რა ინფორმაციას აზიარებთ, გადადით: ""პარამეტრები > აპები > ნაგულისხმევი აპები > ციფრული ასისტენტის აპი""." + "გაუქმება" + "გასაგებია" diff --git a/go/quickstep/res/values-kk/strings.xml b/go/quickstep/res/values-kk/strings.xml index c897dd84e6..d3f7e0cdf8 100644 --- a/go/quickstep/res/values-kk/strings.xml +++ b/go/quickstep/res/values-kk/strings.xml @@ -5,4 +5,8 @@ "Тыңдау" "Аудару" "Объектив" + "Экрандағы мәтінді аудару немесе тыңдау" + "Экрандағы мәтін, веб-мекенжайлар мен скриншоттар сияқты ақпарат Google-мен бөлісілуі мүмкін.\n\nБөлісілетін ақпаратты өзгерту үшін ""Параметрлер > Қолданбалар > Әдепкі қолданбалар > Цифрлық көмекші қолданбасы"" тармағына өтіңіз." + "БАС ТАРТУ" + "ТҮСІНДІМ" diff --git a/go/quickstep/res/values-km/strings.xml b/go/quickstep/res/values-km/strings.xml index 822ca781f9..09d4a84a75 100644 --- a/go/quickstep/res/values-km/strings.xml +++ b/go/quickstep/res/values-km/strings.xml @@ -5,4 +5,8 @@ "ស្តាប់" "បកប្រែ" "Lens" + "បកប្រែ ឬស្ដាប់អត្ថបទ​នៅលើអេក្រង់" + "ព័ត៌មានដូចជា អត្ថបទនៅលើ​អេក្រង់របស់អ្នក អាសយដ្ឋានទំព័រ និងរូបថតអេក្រង់​​អាចនឹងត្រូវបានចែក​រំលែកជាមួយ Google។\n\nដើម្បីប្ដូរព័ត៌មាន​ដែលអ្នកចែករំលែក សូមចូលទៅកាន់""ការកំណត់ > កម្មវិធី > កម្មវិធីលំនាំដើម > កម្មវិធីជំនួយការឌីជីថល""។" + "បោះបង់" + "យល់ហើយ" diff --git a/go/quickstep/res/values-kn/strings.xml b/go/quickstep/res/values-kn/strings.xml index 77668d62e3..4f1c9cd72e 100644 --- a/go/quickstep/res/values-kn/strings.xml +++ b/go/quickstep/res/values-kn/strings.xml @@ -5,4 +5,12 @@ "ಆಲಿಸಿ" "ಅನುವಾದಿಸಿ" "Lens" + + + + + + + + diff --git a/go/quickstep/res/values-ko/strings.xml b/go/quickstep/res/values-ko/strings.xml index 991df2a7ba..506a802fc4 100644 --- a/go/quickstep/res/values-ko/strings.xml +++ b/go/quickstep/res/values-ko/strings.xml @@ -5,4 +5,8 @@ "듣기" "번역" "렌즈" + "화면의 텍스트 번역 또는 듣기" + "화면의 텍스트, 웹 주소, 스크린샷과 같은 정보가 Google과 공유될 수 있습니다.\n\n공유되는 정보를 변경하려면 ""설정 > 앱 > 기본 앱 > 디지털 어시스턴트 앱""으로 이동하세요." + "취소" + "확인" diff --git a/go/quickstep/res/values-ky/strings.xml b/go/quickstep/res/values-ky/strings.xml index e0baff3b01..b0d5c50318 100644 --- a/go/quickstep/res/values-ky/strings.xml +++ b/go/quickstep/res/values-ky/strings.xml @@ -5,4 +5,8 @@ "Угуу" "Которуу" "Lens" + "Экрандагы текстти которуу же угуу" + "Экрандагы текст, веб-даректер жана скриншоттор сыяктуу маалымат Google менен бөлүшүлүшү мүмкүн.\n\nБөлүшүлгөн маалыматты өзгөртүү үчүн""Жөндөөлөр > Колдонмолор > Демейки колдонмолор > Санариптик жардамчы колдонмосуна өтүңүз""." + "ЖОККО ЧЫГАРУУ" + "ТҮШҮНДҮМ" diff --git a/go/quickstep/res/values-lo/strings.xml b/go/quickstep/res/values-lo/strings.xml index 720fddb8f4..c391fee459 100644 --- a/go/quickstep/res/values-lo/strings.xml +++ b/go/quickstep/res/values-lo/strings.xml @@ -5,4 +5,8 @@ "ຟັງ" "ແປພາສາ" "Lens" + "ແປພາສາ ຫຼື ຟັງຂໍ້ຄວາມຢູ່ໜ້າຈໍ" + "ຂໍ້ມູນ ເຊັ່ນ: ຂໍ້ຄວາມຢູ່ໜ້າຈໍຂອງທ່ານ, ທີ່ຢູ່ເວັບ ແລະ ຮູບໜ້າຈໍອາດຖືກແບ່ງປັນໃຫ້ກັບ Google.\n\nເພື່ອປ່ຽນແປງຂໍ້ມູນທີ່ທ່ານແບ່ງປັນ, ໃຫ້ເຂົ້າໄປ ""ການຕັ້ງຄ່າ > ແອັບ > ແອັບເລີ່ມຕົ້ນ > ແອັບຜູ້ຊ່ວຍດິຈິຕອນ""." + "ຍົກເລີກ" + "ເຂົ້າໃຈແລ້ວ" diff --git a/go/quickstep/res/values-lt/strings.xml b/go/quickstep/res/values-lt/strings.xml index 2b1255c477..11f471c511 100644 --- a/go/quickstep/res/values-lt/strings.xml +++ b/go/quickstep/res/values-lt/strings.xml @@ -5,4 +5,8 @@ "Klausyti" "Išversti" "Lens" + "Ekrane esančio teksto vertimas arba klausymas" + "Tam tikra informacija, pvz., ekrane esantis tekstas, žiniatinklio adresai ir ekrano kopijos, gali būti bendrinama su „Google“.\n\nJei norite pakeisti, kokia informacija gali būti bendrinama, eikite į ""„Nustatymai“ > „Programos“ > „Numatytosios programos“ > „Skaitmeninio pagelbiklio programa“""." + "ATŠAUKTI" + "SUPRATAU" diff --git a/go/quickstep/res/values-lv/strings.xml b/go/quickstep/res/values-lv/strings.xml index d6c0a9c8f8..1918cbfb4b 100644 --- a/go/quickstep/res/values-lv/strings.xml +++ b/go/quickstep/res/values-lv/strings.xml @@ -5,4 +5,8 @@ "Klausīties" "Tulkot" "Lens" + "Ekrānā redzamā teksta atskaņošana vai tulkošana" + "Ar uzņēmumu Google var tikt kopīgota noteikta informācija, piemēram, ekrānā redzamais teksts, tīmekļa adreses un ekrānuzņēmumi.\n\nLai mainītu kopīgotās informācijas veidu, atveriet sadaļu ""Iestatījumi > Lietotnes > Noklusējuma lietotnes > Digitālā asistenta lietotne""." + "ATCELT" + "LABI" diff --git a/go/quickstep/res/values-mk/strings.xml b/go/quickstep/res/values-mk/strings.xml index 7df0e90e18..fea375348e 100644 --- a/go/quickstep/res/values-mk/strings.xml +++ b/go/quickstep/res/values-mk/strings.xml @@ -5,4 +5,8 @@ "Слушај" "Преведи" "Lens" + "Преведете или слушајте текст на екранот" + "Информациите како текст на екранот, интернет-адреси и слики од екранот може да се споделуваат со Google.\n\nЗа да промените кои информации ќе се споделуваат, одете во ""Поставки > Апликации > Стандардни апликации > Апликација за дигитален помошник""." + "ОТКАЖИ" + "СФАТИВ" diff --git a/go/quickstep/res/values-ml/strings.xml b/go/quickstep/res/values-ml/strings.xml index 0887f8b47a..05083d8baa 100644 --- a/go/quickstep/res/values-ml/strings.xml +++ b/go/quickstep/res/values-ml/strings.xml @@ -5,4 +5,8 @@ "കേൾക്കുക" "വിവർത്തനം ചെയ്യുക" "ലെൻസ്" + "സ്ക്രീനിലെ ടെക്സ്റ്റ് വിവർത്തനം ചെയ്യുകയോ കേൾക്കുകയോ ചെയ്യുക" + "നിങ്ങളുടെ സ്ക്രീനിലെ ടെക്സ്റ്റ്, വെബ് വിലാസങ്ങൾ, സ്ക്രീൻഷോട്ടുകൾ എന്നിവ പോലുള്ള വിവരങ്ങൾ Google-മായി പങ്കിട്ടേക്കാം.\n\nനിങ്ങൾ പങ്കിടുന്ന വിവരങ്ങൾ മാറ്റാൻ, ""ക്രമീകരണ > ആപ്പുകൾ > ഡിഫോൾട്ട് ആപ്പുകൾ > ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ്"" എന്നതിലേക്ക് പോകുക." + "റദ്ദാക്കുക" + "മനസ്സിലായി" diff --git a/go/quickstep/res/values-mn/strings.xml b/go/quickstep/res/values-mn/strings.xml index 4b0bdc1cfa..0a1dacb507 100644 --- a/go/quickstep/res/values-mn/strings.xml +++ b/go/quickstep/res/values-mn/strings.xml @@ -5,4 +5,8 @@ "Сонсох" "Орчуулах" "Дуран" + "Дэлгэц дээрх текстийг орчуулах эсвэл сонсох" + "Таны дэлгэц дээрх текст, веб хаяг, дэлгэцийн агшин зэрэг мэдээллийг Google-тэй хуваалцаж болзошгүй.\n\nТа ямар мэдээлэл хуваалцахаа өөрчлөхийн тулд ""Тохиргоо > Апп > Өгөгдмөл апп > Дижитал туслах апп"" руу очно уу." + "ЦУЦЛАХ" + "ОЙЛГОЛОО" diff --git a/go/quickstep/res/values-mr/strings.xml b/go/quickstep/res/values-mr/strings.xml index e7d26521d7..c51a780e84 100644 --- a/go/quickstep/res/values-mr/strings.xml +++ b/go/quickstep/res/values-mr/strings.xml @@ -5,4 +5,8 @@ "ऐका" "भाषांतर करा" "Lens" + "स्क्रीनवरील मजकूर भाषांतरित करा किंवा ऐका" + "तुमच्या स्क्रीनवरील मजकूर, वेब अ‍ॅड्रेस आणि स्क्रीनशॉट यांसारखी माहिती Google सह शेअर केली जाऊ शकते.\n\nतुम्ही कोणती माहिती शेअर करता हे बदलण्यासाठी ""सेटिंग्ज > ॲप्स > डीफॉल्ट ॲप्स > डिजिटल असिस्टंट ॲपवर जा""." + "रद्द करा" + "समजले" diff --git a/go/quickstep/res/values-ms/strings.xml b/go/quickstep/res/values-ms/strings.xml index 39698e80db..64c6bff927 100644 --- a/go/quickstep/res/values-ms/strings.xml +++ b/go/quickstep/res/values-ms/strings.xml @@ -5,4 +5,8 @@ "Dengar" "Terjemah" "Kanta" + "Terjemahkan atau dengar teks pada skrin" + "Maklumat seperti teks pada skrin anda, alamat web dan tangkapan skrin boleh dikongsi dengan Google.\n\nUntuk menukar maklumat yang anda kongsi, pergi ke ""Tetapan > Apl > Apl lalai > Apl pembantu digital""." + "BATAL" + "OK" diff --git a/go/quickstep/res/values-my/strings.xml b/go/quickstep/res/values-my/strings.xml index 27d0e32bc9..eafa50da61 100644 --- a/go/quickstep/res/values-my/strings.xml +++ b/go/quickstep/res/values-my/strings.xml @@ -5,4 +5,8 @@ "နားထောင်ရန်" "ဘာသာပြန်ရန်" "Lens" + "ဖန်သားပြင်ပေါ်ရှိ စာသားကို ဘာသာပြန်ပါ (သို့) နားထောင်ပါ" + "သင့်ဖန်သားပြင်ပေါ်ရှိ စာသား၊ ဝဘ်လိပ်စာနှင့် ဖန်သားပြင်ဓာတ်ပုံများကဲ့သို့ အချက်အလက်များကို Google နှင့် မျှဝေနိုင်သည်။\n\nသင်မျှဝေသည့် အချက်အလက်များကို ပြောင်းရန် ""ဆက်တင်များ > အက်ပ်များ > မူရင်းအက်ပ်များ > ဒစ်ဂျစ်တယ် Assistant အက်ပ်"" သို့ သွားပါ။" + "မလုပ်တော့" + "ရပြီ" diff --git a/go/quickstep/res/values-nb/strings.xml b/go/quickstep/res/values-nb/strings.xml index 1121816f08..e4cedd6d30 100644 --- a/go/quickstep/res/values-nb/strings.xml +++ b/go/quickstep/res/values-nb/strings.xml @@ -5,4 +5,8 @@ "Lytt" "Oversett" "Lens" + "Oversett eller lytt til tekst på skjermen" + "Informasjon som tekst på skjermen, nettadresser og skjermdumper kan deles med Google.\n\nFor å endre hvilken informasjon du deler, gå til ""Innstillinger > Apper > Standardapper > Digital assistent-app""." + "AVBRYT" + "GREIT" diff --git a/go/quickstep/res/values-ne/strings.xml b/go/quickstep/res/values-ne/strings.xml index 5e06bd4107..56ebbf3728 100644 --- a/go/quickstep/res/values-ne/strings.xml +++ b/go/quickstep/res/values-ne/strings.xml @@ -5,4 +5,8 @@ "सुन्नुहोस्" "अनुवाद गर्नुहोस्" "लेन्स" + "स्क्रिनमा देखिने पाठ अनुवाद गरियोस् वा पढेर सुनाइयोस्" + "तपाईंको स्क्रिनमा देखिने पाठ, वेब ठेगाना र स्क्रिनसटलगायतका जानकारी Google सँग सेयर गर्न सकिन्छ।\n\nकुन कुन जानकारी सेयर गर्न दिने भन्ने सेटिङ बदल्न ""सेटिङ > एप > डिफल्ट एप > डिजिटल सहायक एप"" मा जानुहोस्।" + "रद्द गर्नुहोस्" + "बुझेँ" diff --git a/go/quickstep/res/values-nl/strings.xml b/go/quickstep/res/values-nl/strings.xml index ff5f16bc26..63a38cb4cd 100644 --- a/go/quickstep/res/values-nl/strings.xml +++ b/go/quickstep/res/values-nl/strings.xml @@ -5,4 +5,8 @@ "Luisteren" "Vertalen" "Lens" + "Tekst op het scherm vertalen of beluisteren" + "Informatie zoals tekst op je scherm, webadressen en screenshots kan met Google worden gedeeld.\n\nAls je wilt aanpassen welke informatie je deelt, ga je naar ""Instellingen > Apps > Standaard-apps > Digitale-assistent-app""." + "ANNULEREN" + "OK" diff --git a/go/quickstep/res/values-or/strings.xml b/go/quickstep/res/values-or/strings.xml index 079d29eea3..06933750c0 100644 --- a/go/quickstep/res/values-or/strings.xml +++ b/go/quickstep/res/values-or/strings.xml @@ -5,4 +5,8 @@ "ଶୁଣନ୍ତୁ" "ଅନୁବାଦ କରନ୍ତୁ" "Lens" + "ସ୍କିନରେ ଥିବା ଟେକ୍ସଟକୁ ଅନୁବାଦ କରନ୍ତୁ କିମ୍ବା ଶୁଣନ୍ତୁ" + "ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଟେକ୍ସଟ୍, ୱେବ୍ ଠିକଣା ଏବଂ ସ୍କ୍ରିନସଟଗୁଡ଼ିକ ପରି ସୂଚନାକୁ Google ସହ ସେୟାର୍ କରାଯାଇପାରେ।\n\nଆପଣ କେଉଁ ସୂଚନା ସେୟାର୍ କରନ୍ତି ତାହା ପରିବର୍ତ୍ତନ କରିବାକୁ, ""ସେଟିଂସ୍ > ଆପ୍ସ > ଡିଫଲ୍ଟ ଆପ୍ସ > ଡିଜିଟାଲ୍ ଆସିଷ୍ଟାଣ୍ଟ ଆପ""କୁ ଯାଆନ୍ତୁ।" + "ବାତିଲ୍ କରନ୍ତୁ" + "ବୁଝିଗଲି" diff --git a/go/quickstep/res/values-pa/strings.xml b/go/quickstep/res/values-pa/strings.xml index 2226876656..1854ea7277 100644 --- a/go/quickstep/res/values-pa/strings.xml +++ b/go/quickstep/res/values-pa/strings.xml @@ -5,4 +5,12 @@ "ਸੁਣੋ" "ਅਨੁਵਾਦ ਕਰੋ" "Lens" + + + + + + + + diff --git a/go/quickstep/res/values-pl/strings.xml b/go/quickstep/res/values-pl/strings.xml index a9696a6c1d..427ac815c6 100644 --- a/go/quickstep/res/values-pl/strings.xml +++ b/go/quickstep/res/values-pl/strings.xml @@ -5,4 +5,8 @@ "Posłuchaj" "Przetłumacz" "Obiektyw" + "Przetłumacz lub odsłuchaj tekst na ekranie" + "Informacje takie jak tekst na ekranie, adresy internetowe i zrzuty ekranu mogą być udostępniane Google.\n\nAby zmienić zakres udostępnianych informacji, kliknij ""Ustawienia > Aplikacje > Aplikacje domyślne > Asystent cyfrowy""." + "ANULUJ" + "OK" diff --git a/go/quickstep/res/values-pt-rPT/strings.xml b/go/quickstep/res/values-pt-rPT/strings.xml index ada33f349c..2bf8d143a0 100644 --- a/go/quickstep/res/values-pt-rPT/strings.xml +++ b/go/quickstep/res/values-pt-rPT/strings.xml @@ -5,4 +5,8 @@ "Ouvir" "Traduzir" "Lens" + "Traduza ou ouça o texto no ecrã" + "Informações como o texto no ecrã, endereços Web e capturas de ecrã podem ser partilhadas com a Google.\n\nPara alterar as informações que partilha, aceda a ""Definições > Apps > App predefinidas > App de assistente digital""." + "CANCELAR" + "OK" diff --git a/go/quickstep/res/values-pt/strings.xml b/go/quickstep/res/values-pt/strings.xml index 6be221900d..ade09b43bf 100644 --- a/go/quickstep/res/values-pt/strings.xml +++ b/go/quickstep/res/values-pt/strings.xml @@ -5,4 +5,8 @@ "Ouvir" "Traduzir" "Google Lens" + "Traduzir ou ouvir o texto na tela" + "Informações como o texto exibido, endereços da Web e capturas de tela poderão ser compartilhadas com o Google.\n\nPara mudar quais dados são compartilhados, acesse ""Configurações > Apps > Apps padrão > App assistente digital""." + "CANCELAR" + "OK" diff --git a/go/quickstep/res/values-ro/strings.xml b/go/quickstep/res/values-ro/strings.xml index 0b6f2e7e98..a09e6d15a7 100644 --- a/go/quickstep/res/values-ro/strings.xml +++ b/go/quickstep/res/values-ro/strings.xml @@ -5,4 +5,8 @@ "Ascultați" "Traduceți" "Lens" + "Traduceți sau ascultați textul de pe ecran" + "Informații precum textul de pe ecran, adresele web și capturile de ecran pot fi trimise la Google.\n\nCa să schimbați informațiile trimise, accesați ""Setări > Aplicații > Aplicații prestabilite > Aplicația asistent digital""." + "ANULAȚI" + "OK" diff --git a/go/quickstep/res/values-ru/strings.xml b/go/quickstep/res/values-ru/strings.xml index d54b39afb1..41440d49ae 100644 --- a/go/quickstep/res/values-ru/strings.xml +++ b/go/quickstep/res/values-ru/strings.xml @@ -5,4 +5,8 @@ "Слушать" "Перевести" "Объектив" + "Перевод или прослушивание текста на экране" + "Определенные сведения (например, текст на экране, веб-адреса и скриншоты) могут быть отправлены в Google.\n\nИзменить информацию, которой вы делитесь, можно в меню ""Настройки > Приложения > Приложения по умолчанию > Цифровой помощник""." + "ОТМЕНА" + "ОК" diff --git a/go/quickstep/res/values-si/strings.xml b/go/quickstep/res/values-si/strings.xml index 0004387592..85625f5996 100644 --- a/go/quickstep/res/values-si/strings.xml +++ b/go/quickstep/res/values-si/strings.xml @@ -5,4 +5,8 @@ "සවන් දෙන්න" "පරිවර්තනය කරන්න" "Lens" + "තිරය මත පෙළ පරිවර්තනය කරන්න හෝ එයට සවන් දෙන්න" + "ඔබගේ තිරයේ ඇති පෙළ, වෙබ් ලිපින සහ තිර රූ වැනි තොරතුරු Google සමඟ බෙදා ගත හැකිය.\n\nඔබ බෙදා ගන්නා තොරතුරු වෙනස් කිරීමට, ""සැකසීම් > යෙදුම් > පෙරනිමි යෙදුම් > ඩිජිටල් සහායක යෙදුම"" වෙත යන්න." + "අවලංගු කරන්න" + "තේරුණා" diff --git a/go/quickstep/res/values-sk/strings.xml b/go/quickstep/res/values-sk/strings.xml index f14249220a..cfe8712f52 100644 --- a/go/quickstep/res/values-sk/strings.xml +++ b/go/quickstep/res/values-sk/strings.xml @@ -5,4 +5,8 @@ "Počúvať" "Preložiť" "Lens" + "Prekladajte alebo počúvajte text na obrazovke" + "Údaje, napríklad text na obrazovke, webové adresy a snímky obrazovky, môžu byť zdieľané s Googlom.\n\nAk chcete zmeniť, ktoré údaje zdieľate, prejdite do sekcie ""Nastavenia > Aplikácie > Predvolené aplikácie > Digitálny asistent""." + "ZRUŠIŤ" + "DOBRE" diff --git a/go/quickstep/res/values-sl/strings.xml b/go/quickstep/res/values-sl/strings.xml index 1adc3f722b..c7fc10e5d3 100644 --- a/go/quickstep/res/values-sl/strings.xml +++ b/go/quickstep/res/values-sl/strings.xml @@ -5,4 +5,8 @@ "Poslušanje" "Prevedi" "Lens" + "Prevod ali poslušanje besedila na zaslonu" + "Podatki, kot so besedilo na zaslonu, spletni naslovi in posnetki zaslonov, bodo morda deljeni z Googlom.\n\nČe želite spremeniti, katere podatke delite, odprite ""Nastavitve > Aplikacije > Privzete aplikacije > Digitalni pomočnik""." + "PREKLIČI" + "RAZUMEM" diff --git a/go/quickstep/res/values-sq/strings.xml b/go/quickstep/res/values-sq/strings.xml index 56b6ec6c62..d522136daf 100644 --- a/go/quickstep/res/values-sq/strings.xml +++ b/go/quickstep/res/values-sq/strings.xml @@ -5,4 +5,12 @@ "Dëgjo" "Përkthe" "Lentja" + + + + + + + + diff --git a/go/quickstep/res/values-sr/strings.xml b/go/quickstep/res/values-sr/strings.xml index b9dae390c6..e98e9d63af 100644 --- a/go/quickstep/res/values-sr/strings.xml +++ b/go/quickstep/res/values-sr/strings.xml @@ -5,4 +5,8 @@ "Пусти" "Преведи" "Објектив" + "Преводите или слушајте текст на екрану" + "Информације попут текста на екрану, веб-адреса и снимака екрана могу да се деле са Google-ом.\n\nДа бисте променили информације које делите, идите у ""Подешавања > Апликације > Подразумеване апликације > Апликација дигиталног помоћника""." + "ОТКАЖИ" + "ВАЖИ" diff --git a/go/quickstep/res/values-sv/strings.xml b/go/quickstep/res/values-sv/strings.xml index e50dcbea52..8745afdbfd 100644 --- a/go/quickstep/res/values-sv/strings.xml +++ b/go/quickstep/res/values-sv/strings.xml @@ -5,4 +5,8 @@ "Lyssna" "Översätt" "Lens" + "Översätt eller lyssna på texten på skärmen" + "Information som text på skärmen, webbadresser och skärmbilder kan delas med Google.\n\nFör att ändra vilken information du delar öppnar du ""Inställningar > Appar > Standardappar > Digital assistentapp""." + "AVBRYT" + "OK" diff --git a/go/quickstep/res/values-sw/strings.xml b/go/quickstep/res/values-sw/strings.xml index 4deb7533f7..826d6e5455 100644 --- a/go/quickstep/res/values-sw/strings.xml +++ b/go/quickstep/res/values-sw/strings.xml @@ -5,4 +5,8 @@ "Sikiliza" "Tafsiri" "Lenzi" + "Tafsiri au usikilize maandishi kwenye skrini" + "Maelezo kama vile maandishi kwenye skrini yako, anwani za wavuti na picha za skrini yanaweza kushirikiwa na Google.\n\nIli ubadilishe maelezo unayoshiriki, nenda kwenye ""Mipangilio > Programu > Programu chaguomsingi > Programu ya mratibu dijitali""." + "GHAIRI" + "NIMEELEWA" diff --git a/go/quickstep/res/values-ta/strings.xml b/go/quickstep/res/values-ta/strings.xml index fd445cd1fb..ad2e1305b9 100644 --- a/go/quickstep/res/values-ta/strings.xml +++ b/go/quickstep/res/values-ta/strings.xml @@ -5,4 +5,8 @@ "கேளுங்கள்" "மொழிபெயர்" "லென்ஸ்" + "திரையிலுள்ள உரையை மொழிபெயருங்கள் அல்லது கேளுங்கள்" + "உங்கள் திரையிலுள்ள உரை, வலை முகவரிகள், ஸ்கிரீன்ஷாட்டுகள் போன்ற தகவல்கள் Googleளுடன் பகிரப்படலாம்.\n\nஎந்தத் தகவல்கள் பகிரப்படலாம் என்பதை மாற்ற, ""அமைப்புகள் > ஆப்ஸ் > இயல்பு ஆப்ஸ் > டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸ்"" என்பதற்குச் செல்லுங்கள்." + "ரத்துசெய்" + "சரி" diff --git a/go/quickstep/res/values-te/strings.xml b/go/quickstep/res/values-te/strings.xml index 2fb3b596f0..1736c7f086 100644 --- a/go/quickstep/res/values-te/strings.xml +++ b/go/quickstep/res/values-te/strings.xml @@ -5,4 +5,8 @@ "వినండి" "అనువదించండి" "Lens" + "స్క్రీన్‌పై టెక్స్ట్ అనువదించండి లేదా వినండి" + "మీ స్క్రీన్‌పై టెక్స్ట్, వెబ్ అడ్రస్‌లు, అలాగే స్క్రీన్‌షాట్‌ల వంటి సమాచారం Googleతో షేర్ చేయడం జరగవచ్చు.\n\nమీరు ఏ సమాచారాన్ని షేర్ చేసుకుంటారో మార్చడానికి ""సెట్టింగ్‌లు > యాప్‌లు > ఆటోమేటిక్ సెట్టింగ్ యాప్‌లు > డిజిటల్ అసిస్టెంట్ యాప్‌ల""‌కు వెళ్లండి." + "రద్దు చేయి" + "అర్థమైంది" diff --git a/go/quickstep/res/values-th/strings.xml b/go/quickstep/res/values-th/strings.xml index bcd56d0744..ea89d88c9c 100644 --- a/go/quickstep/res/values-th/strings.xml +++ b/go/quickstep/res/values-th/strings.xml @@ -5,4 +5,8 @@ "ฟัง" "แปลภาษา" "Lens" + "แปลหรือฟังข้อความบนหน้าจอ" + "อาจมีการแชร์ข้อมูลอย่างเช่น ข้อความบนหน้าจอ ที่อยู่เว็บ และภาพหน้าจอกับ Google\n\nหากต้องการเปลี่ยนประเภทข้อมูลที่คุณแชร์ ให้ไปที่""การตั้งค่า > แอป > แอปเริ่มต้น > แอปผู้ช่วยดิจิทัล" + "ยกเลิก" + "รับทราบ" diff --git a/go/quickstep/res/values-tl/strings.xml b/go/quickstep/res/values-tl/strings.xml index 0b6f74ab10..3502363726 100644 --- a/go/quickstep/res/values-tl/strings.xml +++ b/go/quickstep/res/values-tl/strings.xml @@ -5,4 +5,8 @@ "Makinig" "Isalin" "Lens" + "I-translate o pakinggan ang text sa screen" + "Posibleng ibahagi sa Google ang impormasyong gaya ng text sa iyong screen, mga web address, at screenshot.\n\nPara baguhin kung anong impormasyon ang ibinabahagi mo, pumunta sa ""Mga Setting > Mga App > Mga default na app > Digital assistant app""." + "KANSELAHIN" + "OK" diff --git a/go/quickstep/res/values-tr/strings.xml b/go/quickstep/res/values-tr/strings.xml index 20a27b3c55..f150cc5f33 100644 --- a/go/quickstep/res/values-tr/strings.xml +++ b/go/quickstep/res/values-tr/strings.xml @@ -5,4 +5,8 @@ "Dinle" "Çevir" "Lens" + "Ekrandaki metni çevirin veya dinleyin" + "Ekranınızdaki metin, web adresleri ve ekran görüntüleri gibi bilgiler Google ile paylaşılabilir.\n\nPaylaştığınız bilgileri değiştirmek için ""Ayarlar > Uygulamalar > Varsayılan uygulamalar > Dijital asistan uygulamasına gidin""." + "İPTAL" + "ANLADIM" diff --git a/go/quickstep/res/values-uk/strings.xml b/go/quickstep/res/values-uk/strings.xml index 5041f8b877..d26341b7b3 100644 --- a/go/quickstep/res/values-uk/strings.xml +++ b/go/quickstep/res/values-uk/strings.xml @@ -5,4 +5,8 @@ "Слухати" "Перекласти" "Об’єктив" + "Перекласти або прослухати текст на екрані" + "Ви можете надсилати на сервери Google інформацію, наприклад текст на екрані, веб-адреси або знімки екрана.\n\nЩоб змінити типи даних, які надсилаються, відкрийте ""Налаштування > Додатки > Додатки за умовчанням > Цифровий помічник""." + "СКАСУВАТИ" + "OK" diff --git a/go/quickstep/res/values-ur/strings.xml b/go/quickstep/res/values-ur/strings.xml index aeea1f303d..daff43c7c1 100644 --- a/go/quickstep/res/values-ur/strings.xml +++ b/go/quickstep/res/values-ur/strings.xml @@ -5,4 +5,8 @@ "سنیں" "‏Google ترجمہ" "‏Google لینز" + "اسکرین پر موجود ٹیکسٹ کو سنیں یا ترجمہ کریں" + "‏آپ کی اسکرین پر ٹیکسٹ، ویب پتے اور اسکرین شاٹس جیسی معلومات کا اشتراک Google کے ساتھ کیا جا سکتا ہے۔\n\nآپ جس معلومات کا اشتراک کرتے ہیں اسے تبدیل کرنے کیلئے ""ترتیبات ‎>‎ ایپس ‎>‎ ڈیفالٹ ایپس ‎>‎ ڈیجیٹل اسسٹنٹ ایپ"" پر جائیں۔" + "منسوخ کریں" + "سمجھ آ گئی" diff --git a/go/quickstep/res/values-uz/strings.xml b/go/quickstep/res/values-uz/strings.xml index bc751484d8..c67d81cd49 100644 --- a/go/quickstep/res/values-uz/strings.xml +++ b/go/quickstep/res/values-uz/strings.xml @@ -5,4 +5,8 @@ "Tinglash" "Tarjima" "Lens" + "Ekrandagi matnni tarjima qilish yoki tinglash" + "Ekraningizdagi matn, veb-manzillar va skrinshot kabilar Googlega yuborilishi mumkin.\n\nQanday maʼlumotlarni ulashishni tanlash uchun ""Sozlamalar > Ilovalar > Standart ilovalar > Raqamli assistent"" ilovasini oching." + "BEKOR QILISH" + "OK" diff --git a/go/quickstep/res/values-vi/strings.xml b/go/quickstep/res/values-vi/strings.xml index 2e1f10a84a..66f6ae782c 100644 --- a/go/quickstep/res/values-vi/strings.xml +++ b/go/quickstep/res/values-vi/strings.xml @@ -5,4 +5,8 @@ "Nghe" "Dịch" "Ống kính" + "Dịch hoặc nghe văn bản trên màn hình" + "Những thông tin như văn bản trên màn hình, địa chỉ web và ảnh chụp màn hình có thể được chia sẻ với Google.\n\nĐể thay đổi những thông tin mà bạn chia sẻ, hãy chuyển đến phần ""Cài đặt > Ứng dụng > Ứng dụng mặc định > Ứng dụng trợ lý kỹ thuật số""." + "HỦY" + "OK" diff --git a/go/quickstep/res/values-zh-rCN/strings.xml b/go/quickstep/res/values-zh-rCN/strings.xml index afd12e1525..de598e0879 100644 --- a/go/quickstep/res/values-zh-rCN/strings.xml +++ b/go/quickstep/res/values-zh-rCN/strings.xml @@ -5,4 +5,8 @@ "聆听" "翻译" "智能镜头" + "翻译或聆听屏幕上的文字" + "系统可能会将屏幕上的文字、网址和屏幕截图等信息分享给 Google。\n\n如需更改要分享哪些信息,请依次转到""设置 > 应用 > 默认应用 > 数字助理应用""。" + "取消" + "知道了" diff --git a/go/quickstep/res/values-zh-rHK/strings.xml b/go/quickstep/res/values-zh-rHK/strings.xml index 6cb3d60bf2..c3a55ac07c 100644 --- a/go/quickstep/res/values-zh-rHK/strings.xml +++ b/go/quickstep/res/values-zh-rHK/strings.xml @@ -5,4 +5,8 @@ "聆聽" "翻譯" "智能鏡頭" + "翻譯或聆聽畫面上的文字" + "可能會與 Google 分享螢幕上的文字、網址和螢幕截圖等資料。\n\n如要變更分享的資料,請前往 ""[設定] > [應用程式] > [預設應用程式] > [數碼助理應用程式]""。" + "取消" + "知道了" diff --git a/go/quickstep/res/values-zh-rTW/strings.xml b/go/quickstep/res/values-zh-rTW/strings.xml index 443f7099e3..98c32b99d8 100644 --- a/go/quickstep/res/values-zh-rTW/strings.xml +++ b/go/quickstep/res/values-zh-rTW/strings.xml @@ -5,4 +5,8 @@ "聆聽" "翻譯" "智慧鏡頭" + "翻譯或朗讀畫面上的文字" + "系統可能會將畫面上的文字、網址和螢幕截圖等資訊分享給 Google。\n\n如要變更分享的資訊類型,請前往 [設定] > [應用程式] > [預設應用程式] > [數位助理應用程式]""。" + "取消" + "我知道了" diff --git a/go/quickstep/res/values-zu/strings.xml b/go/quickstep/res/values-zu/strings.xml index 6dd94cb1ac..d8bba48878 100644 --- a/go/quickstep/res/values-zu/strings.xml +++ b/go/quickstep/res/values-zu/strings.xml @@ -5,4 +5,8 @@ "Lalela" "Humusha" "Ilensi" + "Humusha noma ulalele umbhalo osesikrinini" + "Imininingwane efana nombhalo esikrinini sakho, amakheli wewebhu, nezithombe-skrini kungabiwa ne-Google.\n\nUkuze ushintshe ukuthi yiluphi ulwazi olwabayo, yiya kokuthi ""Amasethingi > ama-App > Ama-app azenzakalelayo > Umsizi we-app odijithali""." + "KHANSELA" + "NGIYITHOLILE" From 6f84eb77cef3065a34d7a4a0f5de2178a3f5567c Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sat, 3 Jul 2021 03:16:22 +0000 Subject: [PATCH 087/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I68e3ba5ecf05b73cfa593782625e293fd64d8c7f --- res/values-af/strings.xml | 3 +-- res/values-am/strings.xml | 3 +-- res/values-ar/strings.xml | 5 ++--- res/values-as/strings.xml | 3 +-- res/values-az/strings.xml | 3 +-- res/values-b+sr+Latn/strings.xml | 3 +-- res/values-be/strings.xml | 3 +-- res/values-bg/strings.xml | 3 +-- res/values-bn/strings.xml | 10 ++++------ res/values-bs/strings.xml | 3 +-- res/values-ca/strings.xml | 3 +-- res/values-cs/strings.xml | 3 +-- res/values-da/strings.xml | 3 +-- res/values-de/strings.xml | 3 +-- res/values-el/strings.xml | 9 ++++----- res/values-en-rAU/strings.xml | 5 ++--- res/values-en-rCA/strings.xml | 5 ++--- res/values-en-rGB/strings.xml | 5 ++--- res/values-en-rIN/strings.xml | 5 ++--- res/values-es-rUS/strings.xml | 5 ++--- res/values-es/strings.xml | 3 +-- res/values-et/strings.xml | 3 +-- res/values-eu/strings.xml | 3 +-- res/values-fa/strings.xml | 5 ++--- res/values-fi/strings.xml | 3 +-- res/values-fr-rCA/strings.xml | 3 +-- res/values-fr/strings.xml | 3 +-- res/values-gl/strings.xml | 3 +-- res/values-gu/strings.xml | 2 +- res/values-hi/strings.xml | 3 +-- res/values-hr/strings.xml | 3 +-- res/values-hu/strings.xml | 9 ++++----- res/values-hy/strings.xml | 3 +-- res/values-in/strings.xml | 3 +-- res/values-is/strings.xml | 3 +-- res/values-it/strings.xml | 3 +-- res/values-iw/strings.xml | 3 +-- res/values-ja/strings.xml | 3 +-- res/values-ka/strings.xml | 3 +-- res/values-kk/strings.xml | 3 +-- res/values-km/strings.xml | 3 +-- res/values-kn/strings.xml | 5 ++--- res/values-ko/strings.xml | 3 +-- res/values-ky/strings.xml | 3 +-- res/values-lo/strings.xml | 3 +-- res/values-lt/strings.xml | 3 +-- res/values-lv/strings.xml | 3 +-- res/values-mk/strings.xml | 3 +-- res/values-ml/strings.xml | 5 ++--- res/values-mn/strings.xml | 9 ++++----- res/values-mr/strings.xml | 3 +-- res/values-ms/strings.xml | 3 +-- res/values-my/strings.xml | 3 +-- res/values-nb/strings.xml | 3 +-- res/values-nl/strings.xml | 3 +-- res/values-or/strings.xml | 3 +-- res/values-pa/strings.xml | 6 ++---- res/values-pl/strings.xml | 5 ++--- res/values-pt-rPT/strings.xml | 3 +-- res/values-pt/strings.xml | 9 ++++----- res/values-ro/strings.xml | 3 +-- res/values-ru/strings.xml | 3 +-- res/values-si/strings.xml | 3 +-- res/values-sk/strings.xml | 3 +-- res/values-sl/strings.xml | 3 +-- res/values-sq/strings.xml | 5 ++--- res/values-sr/strings.xml | 3 +-- res/values-sv/strings.xml | 3 +-- res/values-sw/strings.xml | 3 +-- res/values-ta/strings.xml | 3 +-- res/values-te/strings.xml | 7 +++---- res/values-th/strings.xml | 3 +-- res/values-tl/strings.xml | 3 +-- res/values-tr/strings.xml | 3 +-- res/values-uk/strings.xml | 3 +-- res/values-ur/strings.xml | 3 +-- res/values-uz/strings.xml | 3 +-- res/values-vi/strings.xml | 3 +-- res/values-zh-rCN/strings.xml | 3 +-- res/values-zh-rHK/strings.xml | 7 +++---- res/values-zh-rTW/strings.xml | 3 +-- res/values-zu/strings.xml | 3 +-- 82 files changed, 113 insertions(+), 196 deletions(-) diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml index 834e384bb6..b0f0dcbbdb 100644 --- a/res/values-af/strings.xml +++ b/res/values-af/strings.xml @@ -32,8 +32,7 @@ "Dubbeltik en hou om \'n legstuk te skuif of gebruik gepasmaakte handelinge." "%1$d × %2$d" "%1$d breed by %2$d hoog" - - + "%1$s-legstuk" "Raak en hou die legstuk om dit op die Tuisskerm rond te beweeg" "Voeg by Tuisskerm" diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml index 1b9c7ee196..f1ed7c51d4 100644 --- a/res/values-am/strings.xml +++ b/res/values-am/strings.xml @@ -32,8 +32,7 @@ "ምግብርን ለማንቀሳቀስ ወይም ብጁ እርምጃዎችን ለመጠቀም ሁለቴ መታ ያድርጉ እና ይያዙ።" "%1$d × %2$d" "%1$d ስፋት በ%2$d ከፍታ" - - + "የ%1$s ምግብር" "በመነሻ ገጽ አካባቢ ላይ ለማንቀሳቀስ ነክተው ይያዙት" "ወደ መነሻ ገጽ አክል" diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml index ac446a2ae8..bd517582b9 100644 --- a/res/values-ar/strings.xml +++ b/res/values-ar/strings.xml @@ -32,8 +32,7 @@ "انقر مرتين مع تثبيت إصبعك لنقل أداة أو استخدام الإجراءات المخصّصة." "%1$d × %2$d" "‏العرض %1$d الطول %2$d" - - + "أداة %1$s" "يمكنك النقر على الأداة مع الاستمرار لتحريكها على الشاشة الرئيسية." "إضافة إلى الشاشة الرئيسية" @@ -172,7 +171,7 @@ "الملف الشخصي للعمل" "تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات." "حسنًا" - "تم إيقاف تطبيقات العمل مؤقتًا." + "تطبيقات العمل متوقفة مؤقتًا" "لا يمكن لتطبيقات العمل إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." "تطبيقات العمل غير مفعّلة، وبالتالي لا يمكنها إرسال إشعارات إليك أو استخدام بطاريتك أو الوصول إلى موقعك الجغرافي." "تحمل تطبيقات العمل شارة وتكون مرئية لمشرف تكنولوجيا المعلومات." diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index f61a1527d0..df3cc1ab8e 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -32,8 +32,7 @@ "কোনো ৱিজেট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।" "%1$d × %2$d" "%1$d বহল x %2$d ওখ" - - + "%1$s ৱিজেট" "ৱিজেটটো গৃহ স্ক্ৰীনৰ আশে-পাশে নিবলৈ সেইটোত স্পৰ্শ কৰি ধৰি ৰাখক" "গৃহ স্ক্ৰীনত যোগ কৰক" diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml index 36d20519a1..4bca9c69a3 100644 --- a/res/values-az/strings.xml +++ b/res/values-az/strings.xml @@ -32,8 +32,7 @@ "Vidceti daşımaq üçün iki dəfə toxunub saxlayın və ya fərdi əməliyyatlardan istifadə edin." "%1$d × %2$d" "%2$d hündürlük %1$d enində" - - + "%1$s vidceti" "Əsas ekranda hərəkət etdirmək üçün vidcetə toxunub saxlayın" "Əsas ekrana əlavə edin" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 62e4c2b215..66f2d925a5 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -32,8 +32,7 @@ "Dvaput dodirnite i zadržite da biste pomerali vidžet ili koristite prilagođene radnje." "%1$d×%2$d" "širina od %1$d i visina od %2$d" - - + "%1$s vidžet" "Dodirnite i zadržite vidžet da biste ga pomerali po početnom ekranu" "Dodaj na početni ekran" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index 9162de71e4..ce219dacd6 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -32,8 +32,7 @@ "Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць віджэт або выкарыстоўваць спецыяльныя дзеянні." "%1$d × %2$d" "Шырына: %1$d, вышыня: %2$d" - - + "Віджэт \"%1$s\"" "Утрымліваючы віджэт націснутым, перамяшчайце яго па Галоўным экране" "Дадаць на Галоўны экран" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index f23cef9053..7d477fc5e3 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -32,8 +32,7 @@ "Докоснете двукратно и задръжте за преместване на приспособление или използвайте персонал. действия." "%1$d × %2$d" "Ширина %1$d и височина %2$d" - - + "%1$s приспособление" "Докоснете приспособлението и го задръжте, за да го местите по началния екран" "Добавяне към началния екран" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index 0c4bdea72a..8350e06d4f 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -32,8 +32,7 @@ "একটি উইজেট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।" "%1$d × %2$d" "%2$d উচ্চতা অনুযায়ী %1$d প্রস্থ" - - + "%1$sটি উইজেট" "হোম স্ক্রিনের যেকোনও জায়গায় উইজেটটি নিয়ে যেতে, টাচ করে ধরে থাকুন" "হোম স্ক্রিনে যোগ করুন" @@ -66,8 +65,7 @@ "বিজ্ঞপ্তি" "একটি শর্টকাট সরাতে টাচ করে ধরে রাখুন।" "একটি শর্টকাট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।" - - + "এই হোম স্ক্রিনে আর জায়গা খালি নেই" "পছন্দসই ট্রে-তে আর কোনো জায়গা নেই" "অ্যাপ্লিকেশানগুলির তালিকা" "ব্যক্তিগত অ্যাপের তালিকা" @@ -161,13 +159,13 @@ "অফিসের প্রোফাইল" "অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন" "বুঝেছি" - "অফিসের অ্যাপ বন্ধ করা আছে" + "অফিস অ্যাপ বন্ধ করা আছে" "অফিসের অ্যাপ আপনাকে নোটিফিকেশন পাঠাতে পারবে না। এছাড়া, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" "অফিসের অ্যাপ বন্ধ আছে। আপনার অফিসের অ্যাপ আপনাকে বিজ্ঞপ্তি পাঠাতে, ব্যাটারি ব্যবহার করতে বা লোকেশন অ্যাক্সেস করতে পারবে না" "অফিসের অ্যাপে ব্যাজ যোগ করা হয়েছে এবং আপনার আইটি অ্যাডমিন সেটি দেখতে পাবেন" "বুঝেছি" "অফিসের অ্যাপ বন্ধ করুন" - "অফিসের অ্যাপ চালু করুন" + "অফিস অ্যাপ চালু করুন" "ফিল্টার" "কাজটি করা যায়নি: %1$s" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 79d47cb23f..6922915ead 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -32,8 +32,7 @@ "Dvaput dodirnite i zadržite da pomjerite vidžet ili da koristite prilagođene radnje." "%1$d × %2$d" "Širina %1$d, visina %2$d" - - + "Vidžet %1$s" "Dodirnite i držite vidžet da ga pomjerate po Početnom ekranu" "Dodaj na početni ekran" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index de59cfccf1..a951bc3191 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -32,8 +32,7 @@ "Fes doble toc i mantén premut per moure un widget o per utilitzar accions personalitzades." "%1$d × %2$d" "%1$d d\'amplada per %2$d d\'alçada" - - + "Widget de %1$s" "Mantén premut el widget per moure\'l per la pantalla d\'inici" "Afegeix a la pantalla d\'inici" diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml index 6a4d753629..d5034ddd94 100644 --- a/res/values-cs/strings.xml +++ b/res/values-cs/strings.xml @@ -32,8 +32,7 @@ "Dvojitým klepnutím a podržením přesunete widget, případně použijte vlastní akce." "%1$d × %2$d" "šířka %1$d, výška %2$d" - - + "%1$s widget" "Pokud chcete widgetem pohybovat po ploše, podržte ho" "Přidat na plochu" diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml index 388080833f..641b754c28 100644 --- a/res/values-da/strings.xml +++ b/res/values-da/strings.xml @@ -32,8 +32,7 @@ "Tryk to gange, og hold en widget nede for at flytte den eller bruge tilpassede handlinger." "%1$d × %2$d" "%1$d i bredden og %2$d i højden" - - + "Widgetten %1$s" "Hold widgetten nede for at flytte den rundt på startskærmen" "Føj til startskærm" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index e7abca742e..1023366161 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -32,8 +32,7 @@ "Doppeltippen und halten, um ein Widget zu bewegen oder benutzerdefinierte Aktionen zu nutzen." "%1$d × %2$d" "%1$d breit und %2$d hoch" - - + "Widget „%1$s“" "Wenn du das Widget auf dem Startbildschirm verschieben möchtest, halte es gedrückt" "Zum Startbildschirm hinzufügen" diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml index 66c6bd1a31..71ffdaf82d 100644 --- a/res/values-el/strings.xml +++ b/res/values-el/strings.xml @@ -32,8 +32,7 @@ "Πατήστε δύο φορές παρατεταμένα για μετακίνηση γραφικού στοιχείου ή χρήση προσαρμοσμένων ενεργειών." "%1$d × %2$d" "Πλάτος %1$d επί ύψος %2$d" - - + "Γραφικό στοιχείο %1$s" "Αγγίξτε παρατεταμένα το γραφικό στοιχείο για να το μετακινήσετε στην Αρχική οθόνη" "Προσθήκη στην Αρχική οθόνη" @@ -161,12 +160,12 @@ "Οι εφαρμογές εργασιών φέρουν σήμα και είναι ορατές στον διαχειριστή IT σας" "Το κατάλαβα" "Οι εφαρμογές εργασίας τέθηκαν σε παύση." - "Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" - "Οι εφαρμογές εργασιών είναι απενεργοποιημένες. Οι εφαρμογές εργασιών δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" + "Οι εφαρμογές εργασίας δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" + "Οι εφαρμογές εργασίας είναι απενεργοποιημένες. Οι εφαρμογές εργασίας δεν έχουν τη δυνατότητα αποστολής ειδοποιήσεων, χρήσης της μπαταρίας ή πρόσβασης στην τοποθεσία σας" "Οι εφαρμογές εργασιών φέρουν σήμα και είναι ορατές στον διαχειριστή IT σας" "Το κατάλαβα" "Απενεργοποίηση εφαρμογών εργασιών" - "Ενεργοποίηση εφαρμογών εργασιών" + "Ενεργοποίηση εφαρμογών εργασίας" "Φίλτρο" "Αποτυχία: %1$s" diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml index f032f8bcdd..6ad7864282 100644 --- a/res/values-en-rAU/strings.xml +++ b/res/values-en-rAU/strings.xml @@ -28,12 +28,11 @@ "Shortcut isn\'t available" "Home" "Split screen" - "Touch & hold to move a widget." + "Touch and hold to move a widget." "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - - + "%1$s widget" "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml index f032f8bcdd..6ad7864282 100644 --- a/res/values-en-rCA/strings.xml +++ b/res/values-en-rCA/strings.xml @@ -28,12 +28,11 @@ "Shortcut isn\'t available" "Home" "Split screen" - "Touch & hold to move a widget." + "Touch and hold to move a widget." "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - - + "%1$s widget" "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml index f032f8bcdd..6ad7864282 100644 --- a/res/values-en-rGB/strings.xml +++ b/res/values-en-rGB/strings.xml @@ -28,12 +28,11 @@ "Shortcut isn\'t available" "Home" "Split screen" - "Touch & hold to move a widget." + "Touch and hold to move a widget." "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - - + "%1$s widget" "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml index f032f8bcdd..6ad7864282 100644 --- a/res/values-en-rIN/strings.xml +++ b/res/values-en-rIN/strings.xml @@ -28,12 +28,11 @@ "Shortcut isn\'t available" "Home" "Split screen" - "Touch & hold to move a widget." + "Touch and hold to move a widget." "Double-tap & hold to move a widget or use custom actions." "%1$d × %2$d" "%1$d wide by %2$d high" - - + "%1$s widget" "Touch and hold the widget to move it around the home screen" "Add to home screen" diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml index 18b00c6ea6..bf95309e4c 100644 --- a/res/values-es-rUS/strings.xml +++ b/res/values-es-rUS/strings.xml @@ -28,12 +28,11 @@ "El acceso directo no está disponible" "Pantalla principal" "Pantalla dividida" - "Presiona y mantén presionado para mover un widget." + "Mantén presionado para mover un widget." "Presiona dos veces y mantén presionado para mover un widget o usar acciones personalizadas." "%1$d × %2$d" "%1$d de ancho por %2$d de alto" - - + "%1$s widget" "Mantén presionado el widget para moverlo por la pantalla principal" "Agregar a pantalla principal" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 4f4c697158..33c589caeb 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -32,8 +32,7 @@ "Toca dos veces y mantén pulsado un widget para moverlo o usar acciones personalizadas." "%1$d × %2$d" "%1$d de ancho por %2$d de alto" - - + "Widget de %1$s" "Mantén pulsado el widget para moverlo por la pantalla de inicio" "Añadir a la pantalla de inicio" diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 3e3aed7d42..afca593a74 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -32,8 +32,7 @@ "Vidina teisaldamiseks või kohandatud toimingute kasutamiseks topeltpuudutage ja hoidke all." "%1$d × %2$d" "%1$d lai ja %2$d kõrge" - - + "Vidin %1$s" "Vidina teisaldamiseks avakuval puudutage vidinat ja hoidke seda all" "Lisa avakuvale" diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml index 1f31a5fef2..2f67e22f9f 100644 --- a/res/values-eu/strings.xml +++ b/res/values-eu/strings.xml @@ -32,8 +32,7 @@ "Sakatu birritan eta eduki sakatuta widget bat mugitzeko edo ekintza pertsonalizatuak erabiltzeko." "%1$d × %2$d" "%1$d zabal eta %2$d luze" - - + "%1$s widgeta" "Eduki sakatuta widgeta hasierako pantailan zehar mugitzeko" "Gehitu hasierako pantailan" diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml index 513f76f040..35ba9dfa68 100644 --- a/res/values-fa/strings.xml +++ b/res/values-fa/strings.xml @@ -32,8 +32,7 @@ "برای جابه‌جا کردن ابزارک یا استفاده از کنش‌های سفارشی، دوضربه بزنید و نگه دارید." "%1$d × %2$d" "‏%1$d عرض در %2$d طول" - - + "ابزارک %1$s" "ابزارک را لمس کنید و نگه دارید تا آن را در صفحه اصلی حرکت دهید" "افزودن به صفحه اصلی" @@ -160,7 +159,7 @@ "نمایه کاری" "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند" "متوجه‌ام" - "برنامه‌های کاری موقتاً متوقف می‌شوند" + "برنامه‌های کاری موقتاً متوقف شده‌اند." "برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری خاموش است. برنامه‌های کاری نمی‌توانند برای شما اعلان ارسال کنند، از باتری استفاده کنند، یا به مکانتان دسترسی داشته باشند" "برنامه‌های کاری دارای نشان هستند و سرپرست سیستم می‌تواند آن‌ها را ببیند." diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index c930be9377..f41da656a8 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -32,8 +32,7 @@ "Kaksoisnapauta ja paina pitkään, niin voit siirtää widgetiä tai käyttää muokattuja toimintoja." "%1$d × %2$d" "Leveys: %1$d, korkeus: %2$d" - - + "%1$s widget" "Voit siirtää widgetiä aloitusnäytöllä koskettamalla sitä pitkään" "Lisää aloitusnäytölle" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index 6a48e94707..bab420fab2 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -32,8 +32,7 @@ "Touchez 2x un widget et maintenez le doigt dessus pour le déplacer ou utiliser des actions personnalisées." "%1$d × %2$d" "%1$d de largeur sur %2$d de hauteur" - - + "Widget %1$s" "Maintenez le doigt sur le widget pour le déplacer sur l\'écran d\'accueil" "Ajouter à l\'écran d\'accueil" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 556117d8c6..66a930a056 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -32,8 +32,7 @@ "Appuyez deux fois et maintenez la pression pour déplacer widget ou utiliser actions personnalisées." "%1$d x %2$d" "%1$d de largeur et %2$d de hauteur" - - + "Widget %1$s" "Appuyez de manière prolongée sur le widget pour le déplacer sur l\'écran d\'accueil" "Ajouter à l\'écran d\'accueil" diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml index 6ce88ee51c..0260453c77 100644 --- a/res/values-gl/strings.xml +++ b/res/values-gl/strings.xml @@ -32,8 +32,7 @@ "Toca dúas veces un widget e manteno premido para movelo ou utiliza accións personalizadas." "%1$d × %2$d" "%1$d de largo por %2$d de alto" - - + "Widget %1$s" "Mantén premido o widget para movelo pola pantalla de inicio" "Engadir á pantalla de inicio" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 1db9d7293d..2513cca831 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -45,7 +45,7 @@ %1$d શૉર્ટકટ "%1$s, %2$s" - "વિજેટ્સ" + "વિજેટ" "શોધ" "શોધ બૉક્સમાંથી ટેક્સ્ટ સાફ કરો" "વિજેટ અને શૉર્ટકટ ઉપલબ્ધ નથી" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index 7e9696855f..f84f554b31 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -32,8 +32,7 @@ "किसी विजेट को एक से दूसरी जगह ले जाने के लिए, उस पर दो बार टैप करके दबाकर रखें या पसंद के मुताबिक कार्रवाइयां इस्तेमाल करें." "%1$d × %2$d" "%1$d चौड़ाई गुणा %2$d ऊंचाई" - - + "%1$s विजेट" "होम स्क्रीन पर यहां-वहां ले जाने के लिए विजेट को दबाकर रखें" "होम स्क्रीन पर जोड़ें" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index ac19155f5e..d7069f31b3 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -32,8 +32,7 @@ "Dvaput dodirnite i zadržite pritisak da biste premjestili widget ili upotrijebite prilagođene radnje" "%1$d × %2$d" "%1$d širine i %2$d visine" - - + "Widget %1$s" "Dodirnite i zadržite widget da biste ga pomicali po početnom zaslonu" "Dodaj na početni zaslon" diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml index 2b4d9143f7..1f99025c23 100644 --- a/res/values-hu/strings.xml +++ b/res/values-hu/strings.xml @@ -32,8 +32,7 @@ "Modul áthelyezéséhez koppintson duplán, tartsa nyomva az ujját, vagy használjon egyéni műveleteket." "%1$d × %2$d" "%1$d széles és %2$d magas" - - + "%1$s modul" "Tartsa lenyomva a modult a kezdőképernyőn való mozgatáshoz" "Hozzáadás a kezdőképernyőhöz" @@ -161,12 +160,12 @@ "A munkahelyi alkalmazások jelvénnyel vannak megjelölve, és láthatók a rendszergazda számára" "Értem" "A munkahelyi alkalmazások szüneteltetve vannak" - "A munkahelyi alkalmazások nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez." - "A munkahelyi alkalmazások ki vannak kapcsolva, nem küldhetnek értesítéseket, nem használhatják az akkumulátort, és nem férhetnek hozzá az Ön tartózkodási helyéhez" + "A munkahelyi alkalmazások nem küldhetnek Önnek értesítéseket, nem használhatják az akkumulátorát, és nem férhetnek hozzá a tartózkodási helyéhez." + "A munkahelyi alkalmazások nem küldhetnek Önnek értesítéseket, nem használhatják az akkumulátorát, és nem férhetnek hozzá a tartózkodási helyéhez" "A munkahelyi alkalmazások jelvénnyel vannak megjelölve, és láthatók a rendszergazda számára" "Értem" "Kapcsolja ki a munkahelyi alkalmazásokat" - "Kapcsolja be a munkahelyi alkalmazásokat" + "Munkahelyi alkalmazások bekapcsolása" "Szűrő" "Sikertelen: %1$s" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index ea421f7465..dc0599ea66 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -32,8 +32,7 @@ "Կրկնակի հպեք և պահեք՝ վիջեթ տեղափոխելու համար, կամ օգտվեք հատուկ գործողություններից։" "%1$d × %2$d" "Լայնությունը՝ %1$d, բարձրությունը՝ %2$d" - - + "%1$s վիջեթ" "Հպեք վիջեթին և պահեք տեղափոխելու համար" "Ավելացնել հիմնական էկրանին" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index b7324eef8d..cc86970dce 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -32,8 +32,7 @@ "Ketuk dua kali & tahan untuk memindahkan widget atau gunakan tindakan khusus." "%1$d × %2$d" "lebar %1$d x tinggi %2$d" - - + "Widget %1$s" "Sentuh lama widget untuk memindahkannya di sekitar Layar utama" "Tambahkan ke Layar utama" diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml index d9431ca639..e2864ae203 100644 --- a/res/values-is/strings.xml +++ b/res/values-is/strings.xml @@ -32,8 +32,7 @@ "Ýttu tvisvar og haltu fingri á græju til að færa hana eða notaðu sérsniðnar aðgerðir." "%1$d × %2$d" "%1$d á breidd og %2$d á hæð" - - + "Græjan %1$s" "Haltu fingri á græjunni til að hreyfa hana um heimaskjáinn" "Bæta á heimaskjá" diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml index 71b64983c8..304019a3cc 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/strings.xml @@ -32,8 +32,7 @@ "Tocca due volte e tieni premuto per spostare un widget o per usare le azioni personalizzate." "%1$d × %2$d" "%1$d di larghezza per %2$d di altezza" - - + "Widget %1$s" "Tocca e tieni premuto il widget per spostarlo nella schermata Home" "Aggiungi a schermata Home" diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml index dc0b261d0a..94fd441e6b 100644 --- a/res/values-iw/strings.xml +++ b/res/values-iw/strings.xml @@ -32,8 +32,7 @@ "כדי להעביר ווידג\'ט למקום אחר או להשתמש בפעולות מותאמות אישית, יש ללחוץ פעמיים ולא להרפות." "%1$d × %2$d" "‏רוחב %1$d על גובה %2$d" - - + "ווידג\'ט %1$s" "יש ללחוץ לחיצה ארוכה על הווידג\'ט כדי להזיז אותו ברחבי מסך הבית" "הוספה למסך הבית" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index abf7667297..1250c35e93 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -32,8 +32,7 @@ "ウィジェットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。" "%1$dx%2$d" "幅 %1$d、高さ %2$d" - - + "%1$s 件のウィジェット" "ウィジェットを押し続けると、ホーム画面上に移動できます。" "ホーム画面に追加" diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml index 8b423c00d9..b3bbf5e214 100644 --- a/res/values-ka/strings.xml +++ b/res/values-ka/strings.xml @@ -32,8 +32,7 @@ "ორმაგი შეხებით აირჩიეთ და გეჭიროთ ვიჯეტის გადასაადგილებლად ან მორგებული მოქმედებების გამოსაყენებლად." "%1$d × %2$d" "სიგრძე: %1$d, სიგანე: %2$d" - - + "%1$s ვიჯეტი" "ხანგრძლივად შეეხეთ ვიჯეტს მთავარ ეკრანზე მის გადასაადგილებლად" "მთავარ ეკრანზე დამატება" diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml index a240a5564f..2c547ae082 100644 --- a/res/values-kk/strings.xml +++ b/res/values-kk/strings.xml @@ -32,8 +32,7 @@ "Виджетті жылжыту үшін екі рет түртіңіз де, ұстап тұрыңыз немесе арнаулы әрекеттерді пайдаланыңыз." "%1$d × %2$d" "Ені: %1$d, биіктігі: %2$d" - - + "%1$s виджеті" "Негізгі экранда қозғалту үшін виджетті басып тұрыңыз." "Негізгі экранға қосу" diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml index 1b03630f32..9d95e57db1 100644 --- a/res/values-km/strings.xml +++ b/res/values-km/strings.xml @@ -32,8 +32,7 @@ "ចុចពីរដង រួចសង្កត់ឱ្យជាប់ ដើម្បីផ្លាស់ទី​ធាតុក្រាហ្វិក ឬប្រើ​សកម្មភាព​តាមបំណង​។" "%1$d × %2$d" "ទទឺង %1$d គុណនឹងកម្ពស់ %2$d" - - + "ធាតុ​ក្រាហ្វិក %1$s" "ចុចធាតុក្រាហ្វិក​ឱ្យជាប់ ដើម្បីផ្លាស់ទីវា​ជុំវិញអេក្រង់ដើម" "បញ្ចូល​ទៅអេក្រង់ដើម" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 938aa98ede..322878ec94 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -32,8 +32,7 @@ "ವಿಜೆಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." "%1$d × %2$d" "%1$d ಅಗಲ ಮತ್ತು %2$d ಎತ್ತರ" - - + "%1$s ವಿಜೆಟ್" "ಮುಖಪುಟದ ಪರದೆ ಸುತ್ತ ವಿಜೆಟ್ ಅನ್ನು ಸರಿಸಲು, ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ" "ಮುಖಪುಟಕ್ಕೆ ಸೇರಿಸಿ" @@ -160,7 +159,7 @@ "ಕೆಲಸದ ಪ್ರೊಫೈಲ್" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತವೆ" "ಸರಿ" - "ಉದ್ಯೋಗದ ಆ್ಯಪ್‌ಗಳನ್ನು ವಿರಾಮಗೊಲಿಸಲಾಗಿದೆ" + "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ" "ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ. ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತದೆ" diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml index 83e190d1fe..79c2ce3d8a 100644 --- a/res/values-ko/strings.xml +++ b/res/values-ko/strings.xml @@ -32,8 +32,7 @@ "두 번 탭한 다음 길게 터치하여 위젯을 이동하거나 맞춤 작업을 사용하세요." "%1$d×%2$d" "너비 %1$d, 높이 %2$d" - - + "위젯 %1$s개" "홈 화면에서 위젯을 이동하려면 길게 터치하세요." "홈 화면에 추가" diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index 3cf86ff7a4..da83578756 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -32,8 +32,7 @@ "Виджетти жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз." "%1$d × %2$d" "Туурасы: %1$d, бийиктиги: %2$d" - - + "%1$s виджети" "Башкы экранга жылдыруу үчүн виджетти коё бербей басып туруңуз" "Башкы экранга кошуу" diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml index be361e0ed0..e7195e6ed7 100644 --- a/res/values-lo/strings.xml +++ b/res/values-lo/strings.xml @@ -32,8 +32,7 @@ "ແຕະສອງເທື່ອຄ້າງໄວ້ເພື່ອຍ້າຍວິດເຈັດ ຫຼື ໃຊ້ຄຳສັ່ງກຳນົດເອງ." "%1$d × %2$d" "ກວ້າງ %1$d ຄູນສູງ %2$d" - - + "ວິດເຈັດ %1$s" "ແຕະວິດເຈັດຄ້າງໄວ້ເພື່ອຍ້າຍມັນໄປມາຢູ່ໂຮມສະກຣີນ" "ເພີ່ມໄປໃສ່ໂຮມສະກຣີນ" diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml index 1114f26dd8..27a2598344 100644 --- a/res/values-lt/strings.xml +++ b/res/values-lt/strings.xml @@ -32,8 +32,7 @@ "Dukart palieskite ir palaikykite, kad perkeltumėte valdiklį ar naudotumėte tinkintus veiksmus." "%1$d × %2$d" "%1$d plotis ir %2$d aukštis" - - + "%1$s valdiklis" "Paliesdami ir palaikydami valdiklį galite judėti pagrindiniame ekrane" "Pridėti prie pagrindinio ekrano" diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml index 5735b0606c..b66e5668bf 100644 --- a/res/values-lv/strings.xml +++ b/res/values-lv/strings.xml @@ -32,8 +32,7 @@ "Lai pārvietotu logrīku, uz tā veiciet dubultskārienu un turiet. Varat arī veikt pielāgotas darbības." "%1$d × %2$d" "%1$d plats un %2$d augsts" - - + "Logrīks %1$s" "Pieskarieties logrīkam un turiet to, lai to pārvietotu pa sākuma ekrānu." "Pievienot sākuma ekrānam" diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml index 3bf2a9784f..f5c55bd9ba 100644 --- a/res/values-mk/strings.xml +++ b/res/values-mk/strings.xml @@ -32,8 +32,7 @@ "Допрете двапати и задржете за да преместите виџет или користете приспособени дејства." "%1$d × %2$d" "%1$d широк на %2$d висок" - - + "Виџет %1$s" "Допрете го и задржете го виџетот за да го движите наоколу на почетниот екран" "Додај на почетниот екран" diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml index b46f1d72a2..cff1781e4c 100644 --- a/res/values-ml/strings.xml +++ b/res/values-ml/strings.xml @@ -32,8 +32,7 @@ "വിജറ്റ് നീക്കാൻ ഡബിൾ ടാപ്പ് ചെയ്യൂ, ഹോൾഡ് ചെയ്യൂ അല്ലെങ്കിൽ ഇഷ്‌ടാനുസൃത പ്രവർത്തനങ്ങൾ ഉപയോഗിക്കൂ." "%1$d × %2$d" "%1$d വീതിയും %2$d ഉയരവും" - - + "%1$s വിജറ്റ്" "ഹോം സ്‌ക്രീനിന് ചുറ്റും വിജറ്റ് നീക്കാൻ അതിൽ സ്‌പർശിച്ച് പിടിക്കുക" "ഹോം സ്‌ക്രീനിലേക്ക് ചേർക്കുക" @@ -46,7 +45,7 @@ "%1$s, %2$s" "വിജറ്റുകൾ" - "തിരയൽ" + "തിരയുക" "സെർച്ച് ബോക്‌സിൽ നിന്ന് ടെക്‌സ്‌റ്റ് മായ്‌ക്കുക" "വിജറ്റുകളും കുറുക്കുവഴികളും ലഭ്യമല്ല" "വിജറ്റുകളോ കുറുക്കുവഴികളോ കണ്ടെത്തിയില്ല" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 1320658f34..33e174b540 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -28,12 +28,11 @@ "Товчлол алга" "Нүүр" "Дэлгэцийг хуваах" - "Жижиг хэрэгслийг зөөх бол хүрээд, удаан дарна уу." - "Жижиг хэрэгслийг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу." + "Виджетийг зөөх бол хүрээд, удаан дарна уу." + "Виджетийг зөөх эсвэл захиалгат үйлдлийг ашиглахын тулд хоёр товшоод, удаан дарна уу." "%1$d × %2$d" "%1$d өргөн %2$d өндөр" - - + "%1$s жижиг хэрэгсэл" "Жижиг хэрэгслийг Үндсэн нүүрний эргэн тойронд зөөхийн тулд түүнд хүрээд, удаан дарна уу" "Үндсэн нүүрэнд нэмэх" @@ -49,7 +48,7 @@ "Хайх" "Хайх хэсгээс текстийг арилгах" "Жижиг хэрэгсэл болон товчлол боломжгүй байна" - "Жижиг хэрэгсэл эсвэл товчлол олдсонгүй" + "Виджет эсвэл товчлол олдсонгүй" "Хувийн виджетүүд" "Ажил" "Харилцан яриа" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index dab39d9e01..e0f22d924a 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -32,8 +32,7 @@ "विजेट हलवण्यासाठी किंवा कस्टम कृती वापरण्यासाठी दोनदा टॅप करा आणि धरून ठेवा." "%1$d × %2$d" "%1$d रूंद बाय %2$d उंच" - - + "%1$s विजेट" "होम स्क्रीनवर ते हलवण्यासाठी विजेटला स्पर्श करा आणि धरून ठेवा" "होम स्‍क्रीनवर जोडा" diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index b7469cd719..759e8769ee 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -32,8 +32,7 @@ "Ketik dua kali & tahan untuk menggerakkan widget atau menggunakan tindakan tersuai." "%1$d × %2$d" "Lebar %1$d kali tinggi %2$d" - - + "Widget %1$s" "Sentuh & tahan widget untuk menggerakkan widget di sekitar Skrin utama" "Tambahkan pada Skrin utama" diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index ef15561e10..e71ebaaee1 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -32,8 +32,7 @@ "ဝိဂျက်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" "%1$d × %2$d" "အလျား %1$d နှင့် အမြင့် %2$d" - - + "%1$s ဝိဂျက်" "ပင်မစာမျက်နှာအနီးတွင် ဝိဂျက်ကိုရွှေ့ရန် ၎င်းကို တို့ထိ၍ဖိထားပါ" "ပင်မစာမျက်နှာသို့ ထည့်ရန်" diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml index 5e934c0f1c..a045b40821 100644 --- a/res/values-nb/strings.xml +++ b/res/values-nb/strings.xml @@ -32,8 +32,7 @@ "Dobbelttrykk og hold inne for å flytte en modul eller bruke tilpassede handlinger." "%1$d × %2$d" "%1$d bredde x %2$d høyde" - - + "%1$s-modul" "Trykk og hold på modulen for å bevege den rundt på startskjermen" "Legg til på startskjermen" diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml index d7e7a9a8c7..59f42beee3 100644 --- a/res/values-nl/strings.xml +++ b/res/values-nl/strings.xml @@ -32,8 +32,7 @@ "Dubbeltik en houd vast om een widget te verplaatsen of aangepaste acties te gebruiken." "%1$d × %2$d" "%1$d breed en %2$d hoog" - - + "Widget %1$s" "Houd de widget ingedrukt om deze te verplaatsen op het startscherm" "Toevoegen aan startscherm" diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml index 259b98b5a8..e9fc3c55fa 100644 --- a/res/values-or/strings.xml +++ b/res/values-or/strings.xml @@ -32,8 +32,7 @@ "ଏକ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଦୁଇଥର-ଟାପ୍ କରି ଧରି ରଖନ୍ତୁ କିମ୍ବା କଷ୍ଟମ୍ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ।" "%1$d × %2$d" "%1$d ଓସାର ଓ %2$d ଉଚ୍ଚ" - - + "%1$s ୱିଜେଟ୍" "ମୂଳସ୍କ୍ରିନର ଆଖପାଖରେ ୱିଜେଟକୁ ମୁଭ୍ କରିବା ପାଇଁ ଏହାକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ" "ମୂଳସ୍କ୍ରିନରେ ଯୋଗ କରନ୍ତୁ" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index d0df645126..67f5df890f 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -32,8 +32,7 @@ "ਵਿਜੇਟ ਲਿਜਾਉਣ ਲਈ ਜਾਂ ਵਿਉਂਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤਣ ਲਈ ਦੋ ਵਾਰ ਟੈਪ ਕਰਕੇ ਦਬਾ ਕੇ ਰੱਖੋ।" "%1$d × %2$d" "%1$d ਚੌੜਾਈ ਅਤੇ %2$d ਲੰਬਾਈ" - - + "%1$s ਵਿਜੇਟ" "ਵਿਜੇਟ ਨੂੰ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਇੱਧਰ-ਉੱਧਰ ਲਿਜਾਉਣ ਲਈ ਸਪਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ" "ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਸ਼ਾਮਲ ਕਰੋ" @@ -66,8 +65,7 @@ "ਸੂਚਨਾਵਾਂ" "ਕਿਸੇ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਸਪੱਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।" "ਕਿਸੇ ਸ਼ਾਰਟਕੱਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਡਬਲ ਟੈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ ਜਾਂ ਵਿਉਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤੋ।" - - + "ਇਸ ਹੋਮ ਸਕ੍ਰੀਨ \'ਤੇ ਜਗ੍ਹਾ ਨਹੀਂ ਬਚੀ" "ਮਨਪਸੰਦ ਟ੍ਰੇ ਵਿੱਚ ਹੋਰ ਖਾਲੀ ਸਥਾਨ ਨਹੀਂ।" "ਐਪ ਸੂਚੀ" "ਨਿੱਜੀ ਐਪਾਂ ਦੀ ਸੂਚੀ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 6b381a1995..9d1325db0b 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -32,8 +32,7 @@ "Naciśnij dwukrotnie i przytrzymaj, aby przenieść widżet lub użyć działań niestandardowych." "%1$d × %2$d" "Szerokość %1$d, wysokość %2$d" - - + "Widżet %1$s" "Kliknij i przytrzymaj widżet, by poruszać nim po ekranie głównym" "Dodaj do ekranu głównego" @@ -122,7 +121,7 @@ "Aby pokazać plakietki z powiadomieniami, włącz powiadomienia aplikacji %1$s" "Zmień ustawienia" "Pokaż plakietki z powiadomieniami" - "Dodaj ikony aplikacji do ekranu głównego" + "Dodawaj ikony aplikacji do ekranu głównego" "W przypadku nowych aplikacji" "Brak informacji" "Usuń" diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml index 306b0bbfe0..d95ee02d18 100644 --- a/res/values-pt-rPT/strings.xml +++ b/res/values-pt-rPT/strings.xml @@ -32,8 +32,7 @@ "Toque duas vezes sem soltar para mover um widget ou utilizar ações personalizadas." "%1$d × %2$d" "%1$d de largura por %2$d de altura" - - + "Widget %1$s" "Toque sem soltar no widget para o mover à volta do ecrã principal" "Adicionar ao ecrã principal" diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml index 4c3113d158..f8d3b8b104 100644 --- a/res/values-pt/strings.xml +++ b/res/values-pt/strings.xml @@ -28,12 +28,11 @@ "O atalho não está disponível" "Início" "Tela dividida" - "Toque e mantenha a tela pressionada para mover um widget." + "Toque e mantenha pressionado para mover um widget." "Toque duas vezes e mantenha a tela pressionada para mover um widget ou usar ações personalizadas." "%1$d × %2$d" "%1$d de largura por %2$d de altura" - - + "Widget %1$s" "Toque no widget e mantenha-o pressionado para movê-lo pela tela inicial" "Adicionar à tela inicial" @@ -158,12 +157,12 @@ "Pessoais" "Trabalho" "Perfil de trabalho" - "Os apps de trabalho têm um ícone e ficam visíveis para o administrador de TI" + "Os apps de trabalho são identificados e ficam visíveis para o adm. de TI" "Ok" "Os apps de trabalho foram pausados" "Os apps de trabalho não podem enviar notificações, usar a bateria nem acessar o local" "Os apps de trabalho estão desativados. Eles não podem enviar notificações, usar a bateria nem acessar o local" - "Os apps de trabalho têm um ícone e ficam visíveis para o administrador de TI" + "Os apps de trabalho são identificados e ficam visíveis para o adm. de TI" "Ok" "Desativar apps de trabalho" "Ativar apps de trabalho" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index 3dfcf5cda4..fadd84debb 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -32,8 +32,7 @@ "Atingeți de două ori și țineți apăsat pentru a muta un widget sau folosiți acțiuni personalizate." "%1$d × %2$d" "%1$d lățime și %2$d înălțime" - - + "Widgetul %1$s" "Atingeți lung widgetul pentru a-l muta pe ecranul de pornire" "Adăugați pe ecranul de pornire" diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml index 997924ee73..5353cf900c 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/strings.xml @@ -32,8 +32,7 @@ "Чтобы использовать специальные действия или перенести виджет, нажмите на него дважды и удерживайте." "%1$d x %2$d" "Ширина %1$d, высота %2$d" - - + "Виджет \"%1$s\"" "Чтобы переместить виджет, нажмите на него и удерживайте." "Добавить на главный экран" diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml index 66d6324958..f57ad864cb 100644 --- a/res/values-si/strings.xml +++ b/res/values-si/strings.xml @@ -32,8 +32,7 @@ "විජට් එකක් ගෙන යාමට හෝ අභිරුචි ක්‍රියා භාවිත කිරීමට දෙවරක් තට්ටු කර අල්ලා ගෙන සිටින්න." "%1$d × %2$d" "පළල %1$d උස %2$d" - - + "%1$s විජට්ටුව" "එය මුල් පිටු තිරය වටා ගෙන යාමට විජට් එක ස්පර්ශ කර අල්ලා ගන්න" "මුල් පිටු තිරය වෙත එක් කරන්න" diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml index cf458ce48c..1aac52153d 100644 --- a/res/values-sk/strings.xml +++ b/res/values-sk/strings.xml @@ -32,8 +32,7 @@ "Dvojitým klepnutím a pridržaním presuňte miniaplikáciu alebo použite vlastné akcie." "%1$d × %2$d" "šírka %1$d, výška %2$d" - - + "Miniaplikácia %1$s" "Po pridržaní môžete miniaplikáciu posúvať po ploche" "Pridať na plochu" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 4b7927b9bb..8e92c222cc 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -32,8 +32,7 @@ "Dvakrat se dotaknite pripomočka in ga pridržite, da ga premaknete, ali pa uporabite dejanja po meri." "%1$d × %2$d" "Širina %1$d, višina %2$d" - - + "Pripomoček %1$s" "Pridržite pripomoček, če ga želite premikati po začetnem zaslonu." "Dodaj na začetni zaslon" diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml index 70084dfd23..4caf9c7864 100644 --- a/res/values-sq/strings.xml +++ b/res/values-sq/strings.xml @@ -32,8 +32,7 @@ "Trokit dy herë dhe mbaje shtypur një miniapliikacion për ta zhvendosur atë ose për të përdorur veprimet e personalizuara." "%1$d × %2$d" "%1$d i gjerë me %2$d i lartë" - - + "%1$s miniaplikacion" "Prek dhe mbaj të shtypur miniaplikacionin për ta lëvizur nëpër \"Ekranin bazë\"" "Shto në \"Ekranin bazë\"" @@ -160,7 +159,7 @@ "Profili i punës" "Aplikacionet e punës janë të shënuara dhe të dukshme për administratorin e teknologjisë së informacionit" "E kuptova" - "Aplikacionet e punës janë në pauzë" + "Aplikacionet e punës janë vendosur në pauzë" "Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" "Aplikacionet e punës janë joaktive. Aplikacionet e tua të punës nuk mund të të dërgojnë njoftime, të përdorin baterinë tënde apo të kenë qasje në vendndodhjen tënde" "Aplikacionet e punës janë të shënuara dhe të dukshme për administratorin e teknologjisë së informacionit" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 335806262f..4b56e45016 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -32,8 +32,7 @@ "Двапут додирните и задржите да бисте померали виџет или користите прилагођене радње." "%1$d×%2$d" "ширина од %1$d и висина од %2$d" - - + "%1$s виџет" "Додирните и задржите виџет да бисте га померали по почетном екрану" "Додај на почетни екран" diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml index 12d99d44a5..5ef0c35502 100644 --- a/res/values-sv/strings.xml +++ b/res/values-sv/strings.xml @@ -32,8 +32,7 @@ "Tryck snabbt två gånger och håll kvar för att flytta en widget eller använda anpassade åtgärder." "%1$d × %2$d" "%1$d bred gånger %2$d hög" - - + "Widget för %1$s" "Tryck länge på widgeten om du vill flytta den på startskärmen" "Lägg till på startskärmen" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index a16a8c113d..dc5be39c85 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -32,8 +32,7 @@ "Gusa mara mbili na ushikilie ili usogeze wijeti au utumie vitendo maalum." "%1$d × %2$d" "Upana wa %1$d na kimo cha %2$d" - - + "Wijeti ya %1$s" "Gusa na ushikilie wijeti ili uisogeze kwenye Skrini ya kwanza" "Weka kwenye Skrini ya kwanza" diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml index 0117f6b2f1..ce50acce04 100644 --- a/res/values-ta/strings.xml +++ b/res/values-ta/strings.xml @@ -32,8 +32,7 @@ "விட்ஜெட்டை நகர்த்த இருமுறை தட்டிப் பிடிக்கவும் அல்லது பிரத்தியேகச் செயல்களைப் பயன்படுத்தவும்." "%1$d × %2$d" "%1$d அகலத்திற்கு %2$d உயரம்" - - + "%1$s விட்ஜெட்" "முகப்புத் திரைக்கு விட்ஜெட்டை நகர்த்த அதைத் தொட்டுப் பிடிக்கவும்" "முகப்புத் திரையில் சேர்" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index 07bb80b09d..a83c4c6e90 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -20,7 +20,7 @@ "Launcher3" - "కార్యాలయం" + "వర్క్" "యాప్ ఇన్‌స్టాల్ చేయబడలేదు." "యాప్ అందుబాటులో లేదు" "డౌన్‌లోడ్ చేసిన యాప్ సురక్షిత మోడ్‌లో నిలిపివేయబడింది" @@ -32,8 +32,7 @@ "విడ్జెట్‌ను తరలించడానికి లేదా అనుకూల చర్యలను ఉపయోగించడానికి రెండుసార్లు నొక్కండి & హోల్డ్ చేయి." "%1$d × %2$d" "%1$d వెడల్పు X %2$d ఎత్తు" - - + "%1$s విడ్జెట్" "ఈ విడ్జెట్‌ను మొదటి స్క్రీన్‌లో కావాల్సిన చోట ఉంచడానికి, దాన్ని తాకి అలాగే నొక్కి పట్టుకోండి" "మొదటి స్క్రీన్‌కు జోడించు" @@ -156,7 +155,7 @@ "మూసివేస్తుంది" "నోటిఫికేషన్ తీసివేయబడింది" "వ్యక్తిగతం" - "కార్యాలయం" + "వర్క్" "కార్యాలయ ప్రొఫైల్" "వర్క్ యాప్‌లు బ్యాడ్జ్ చేయబడ్డాయి, మీ IT అడ్మిన్‌కు కనిపిస్తాయి" "అర్థమైంది" diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml index 77a20be222..945dcf0bc0 100644 --- a/res/values-th/strings.xml +++ b/res/values-th/strings.xml @@ -32,8 +32,7 @@ "แตะสองครั้งค้างไว้เพื่อย้ายวิดเจ็ตหรือใช้การดำเนินการที่กำหนดเอง" "%1$d × %2$d" "กว้าง %1$d x สูง %2$d" - - + "วิดเจ็ต %1$s" "แตะวิดเจ็ตค้างไว้เพื่อย้ายไปรอบๆ หน้าจอหลัก" "เพิ่มลงในหน้าจอหลัก" diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml index c6e919a783..edbc39aaf8 100644 --- a/res/values-tl/strings.xml +++ b/res/values-tl/strings.xml @@ -32,8 +32,7 @@ "I-double tap at pindutin nang matagal para ilipat ang widget o gumamit ng mga custom na pagkilos." "%1$d × %2$d" "%1$d ang lapad at %2$d ang taas" - - + "%1$s widget" "Pindutin nang matagal ang widget para ilipat-lipat ito sa Home screen" "Idagdag sa Home screen" diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml index ce7527624f..01748c2e52 100644 --- a/res/values-tr/strings.xml +++ b/res/values-tr/strings.xml @@ -32,8 +32,7 @@ "Widget\'ı taşımak veya özel işlemleri kullanmak için iki kez dokunup basılı tutun." "%1$d × %2$d" "genişlik: %1$d, yükseklik: %2$d" - - + "%1$s widget\'ı" "Ana ekranda taşımak için widget\'a dokunup basılı tutun" "Ana ekrana ekle" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index e8a7bfc630..c309d8a175 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -32,8 +32,7 @@ "Двічі натисніть і втримуйте віджет, щоб перемістити його або виконати інші дії." "%1$d × %2$d" "Ширина – %1$d, висота – %2$d" - - + "Віджет %1$s" "Натисніть і втримуйте віджет, щоб перемістити його в потрібне місце на головному екрані" "Додати на головний екран" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 90da57c0d8..4e660fbac0 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -32,8 +32,7 @@ "ویجیٹ کو منتقل کرنے یا حسب ضرورت کارروائیاں استعمال کرنے کے لیے دوبار تھپتھپائیں اور پکڑ کر رکھیں۔" "%1$d × %2$d" "‏%1$d چوڑا اور ‎%2$d اونچا" - - + "%1$s ویجیٹ" "ویجیٹ کو ہوم اسکرین کے چاروں طرف منتقل کرنے کیلئے اسے ٹچ کریں اور دبائے رکھیں" "ہوم اسکرین میں شامل کریں" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index bd80989d85..72838d59ec 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -32,8 +32,7 @@ "Ikki marta bosib va bosib turgan holatda vidjetni tanlang yoki maxsus amaldan foydalaning." "%1$d × %2$d" "Eni %1$d, bo‘yi %2$d" - - + "%1$s ta vidjet" "Vidjetni ushlagan holda kerakli joyga siljiting" "Bosh ekranga chiqarish" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 8a32ee7762..4a16045c1d 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -32,8 +32,7 @@ "Nhấn đúp và giữ để di chuyển một tiện ích hoặc sử dụng các thao tác tùy chỉnh." "%1$d × %2$d" "Rộng %1$d x cao %2$d" - - + "Tiện ích %1$s" "Chạm và giữ để di chuyển tiện ích xung quanh Màn hình chính" "Thêm vào Màn hình chính" diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml index 225a7e1bd7..31c0df5870 100644 --- a/res/values-zh-rCN/strings.xml +++ b/res/values-zh-rCN/strings.xml @@ -32,8 +32,7 @@ "点按两次并按住微件即可移动该微件或使用自定义操作。" "%1$d × %2$d" "宽 %1$d,高 %2$d" - - + "“%1$s”微件" "轻触并按住该微件即可将其在主屏幕上四处移动" "添加到主屏幕" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index 98f9ef7b04..fd2de37320 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -32,8 +32,7 @@ "㩒兩下之後㩒住,就可以郁小工具或者用自訂操作。" "%1$d × %2$d" "%1$d 闊,%2$d 高" - - + "「%1$s」小工具" "按住小工具即可隨意在主畫面上移動" "新增至主畫面" @@ -161,8 +160,8 @@ "工作應用程式會加上標誌,且你的 IT 管理員可以看到這類應用程式" "知道了" "已暫停工作應用程式" - "工作應用程式無法向您傳送通知、使用電池或存取位置" - "工作應用程式已關閉。工作應用程式無法向您傳送通知、使用電池或存取位置" + "工作應用程式無法向您傳送通知、使用電池電量或存取您的位置" + "已暫停工作應用程式。工作應用程式無法向您傳送通知、使用電池電量或存取您的位置" "IT 管理員可看到工作應用程式和相關標誌" "知道了" "關閉工作應用程式" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index f38f14334e..415908cd45 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -32,8 +32,7 @@ "輕觸兩下並按住即可移動小工具或使用自訂操作。" "%1$d × %2$d" "寬度為 %1$d,高度為 %2$d" - - + "「%1$s」小工具" "按住小工具即可將它拖放到主畫面上的任何位置" "新增到主畫面" diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml index 9f48102baf..b8de754066 100644 --- a/res/values-zu/strings.xml +++ b/res/values-zu/strings.xml @@ -32,8 +32,7 @@ "Thepha kabili uphinde ubambe ukuze uhambise iwijethi noma usebenzise izindlela ezingokwezifiso." "%1$d × %2$d" "%1$d ububanzi ngokungu-%2$d ukuya phezulu" - - + "Iwijethi elingu-%1$s" "Thinta uphinde ubambe iwijethi ukuyihambisa Kusikrini sasekhaya" "Engeza kusikrini sasekhaya" From 661a0c0cc33b40f02c5a1d41d8b02141c2a2c8e7 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jul 2021 19:06:21 +0000 Subject: [PATCH 088/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: If784fc9773762a6eef20bf012f37a824b6bee8aa --- quickstep/res/values-az/strings.xml | 2 +- quickstep/res/values-et/strings.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml index 3c5587c07f..18a0bceb2f 100644 --- a/quickstep/res/values-az/strings.xml +++ b/quickstep/res/values-az/strings.xml @@ -45,7 +45,7 @@ "Tətbiq təklifləri aktivdir" "Tətbiq təklifləri deaktivdir" "Proqnozlaşdırılan tətbiq: %1$s" - "Ən sol tərəfdən sürüşdürdüyünüzə əmin olun." + "Ekranın ən kənarından soldan sağa sürüşdürün." "Ekranın sol kənarından ortasına sürüşdürüb buraxın." "Ən sağ tərəfdən sürüşdürdüyünüzə əmin olun." "Ekranın sağ kənarından ortasına sürüşdürüb buraxın." diff --git a/quickstep/res/values-et/strings.xml b/quickstep/res/values-et/strings.xml index 88f11cdd7b..c2c4bc9ce6 100644 --- a/quickstep/res/values-et/strings.xml +++ b/quickstep/res/values-et/strings.xml @@ -55,7 +55,7 @@ "Veenduge, et te ei pühiks liiga ekraanikuva allosa lähedalt." "Tagasiliigutuse tundlikkuse muutmiseks avage menüü Seaded" "Tagasiliikumiseks pühkige vasakult paremale" - "Tagasiliikumiseks pühkige paremalt vasakule" + "Eelmisele kuvale liikumiseks pühkige paremalt vasakule" "Eelmisele ekraanikuvale naasmiseks pühkige vasakust servast ekraanikuva keskele." "Eelmisele ekraanikuvale naasmiseks võite ka kuva paremast servast keskele pühkida. Proovige kohe." "Pühkige kindlasti ekraanikuva alumisest servast üles." From c7bcb2b055d6f4dd651955c98c05ef0c30d02109 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jul 2021 19:07:29 +0000 Subject: [PATCH 089/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ic17c249eac778f1969757f298a75e9a37a302b8c --- go/quickstep/res/values-iw/strings.xml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/go/quickstep/res/values-iw/strings.xml b/go/quickstep/res/values-iw/strings.xml index e3da0e7b34..7c419ede70 100644 --- a/go/quickstep/res/values-iw/strings.xml +++ b/go/quickstep/res/values-iw/strings.xml @@ -5,12 +5,8 @@ "האזנה" "תרגום" "Lens" - - - - - - - - + "תרגום טקסט שמוצג במסך או האזנה לו" + "‏ייתכן שישותף עם Google מידע כגון טקסט שמוצג במסך, כתובות אינטרנט וצילומי מסך.\n\nכדי לקבוע איזה מידע ישותף, יש לעבור אל ""הגדרות > אפליקציות &gt אפליקציות ברירת מחדל > אפליקציית עוזר דיגיטלי""." + "ביטול" + "הבנתי" From 5d7ed90903163b0531eda42a1c296dfaf254f9a1 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 4 Jul 2021 19:08:45 +0000 Subject: [PATCH 090/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: Ib367cc3ea0467e551893a7c27d3f7e7d5d1e2db9 --- res/values-my/strings.xml | 2 +- res/values-ne/strings.xml | 3 +-- res/values-ur/strings.xml | 4 ++-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml index e71ebaaee1..ec768598b1 100644 --- a/res/values-my/strings.xml +++ b/res/values-my/strings.xml @@ -28,7 +28,7 @@ "ဖြတ်လမ်း မရနိုင်ပါ" "ပင်မစာမျက်နှာ" "မျက်နှာပြင် ခွဲ၍ပြသခြင်း" - "ဝိဂျက်ကို ရွှေ့ရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" + "ဝိဂျက်ကို ရွှေ့ရန် တို့ပြီး ဖိထားပါ။" "ဝိဂျက်ကို ရွှေ့ရန် (သို့) စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို သုံးရန် နှစ်ချက်တို့ပြီး ဖိထားပါ။" "%1$d × %2$d" "အလျား %1$d နှင့် အမြင့် %2$d" diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml index c17245043c..afedf854f0 100644 --- a/res/values-ne/strings.xml +++ b/res/values-ne/strings.xml @@ -32,8 +32,7 @@ "कुनै विजेट सार्न वा आफ्नो रोजाइका कारबाही प्रयोग गर्न डबल ट्याप गरेर छोइराख्नुहोस्।" "%1$d × %2$d" "%1$d चौडाइ गुणा %2$d उचाइ" - - + "%1$s विजेट" "यो विजेट होम स्क्रिनमा यताउता सार्न त्यसमा टच एन्ड होल्ड गर्नुहोस्" "होम स्क्रिनमा हाल्नुहोस्" diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml index 4e660fbac0..f9a096ce38 100644 --- a/res/values-ur/strings.xml +++ b/res/values-ur/strings.xml @@ -157,12 +157,12 @@ "ذاتی" "دفتری" "دفتری پروفائل" - "‏ورک ایپس پر بَیج لگایا گیا ہے اور آپ کا IT منتظم اسے دیکھ سکتا ہے" + "‏ورک ایپس پر بَیج لگا ہوتا ہے اور آپ کا IT منتظم انہیں دیکھ سکتا ہے" "سمجھ آ گئی" "ورک ایپس موقوف ہیں" "آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری کا استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" "ورک ایپس آف ہیں۔ آپ کی ورک ایپس آپ کو اطلاعات نہیں بھیج سکتیں، آپ کی بیٹری استعمال یا آپ کے مقام تک رسائی حاصل نہیں کر سکتی ہیں" - "‏ورک ایپس پر بَیج لگایا ہے اور آپ کا IT منتظم انہیں دیکھ سکتا ہے" + "‏ورک ایپس پر بَیج لگا ہوتا ہے اور آپ کا IT منتظم انہیں دیکھ سکتا ہے" "سمجھ آ گئی" "ورک ایپس آف کریں" "ورک ایپس آن کریں" From 88716645cd3d57b1f5f625677fe280638068edc4 Mon Sep 17 00:00:00 2001 From: Andras Kloczl Date: Tue, 6 Jul 2021 17:09:08 +0200 Subject: [PATCH 091/905] Fix icon adding issue on two panel home Test: manual & PromiseIconUITest & RequestPinItemTest Bug: 192431856 Change-Id: I4a6319fa33c9359057f87d9c008eb139410593b5 --- .../model/AddWorkspaceItemsTask.java | 33 +++++++------------ 1 file changed, 12 insertions(+), 21 deletions(-) diff --git a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java index 01b3e6e3ba..b2b0010fa4 100644 --- a/src/com/android/launcher3/model/AddWorkspaceItemsTask.java +++ b/src/com/android/launcher3/model/AddWorkspaceItemsTask.java @@ -287,28 +287,19 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { // Find appropriate space for the item. int screenId = 0; - int[] cordinates = new int[2]; + int[] coordinates = new int[2]; boolean found = false; int screenCount = workspaceScreens.size(); - // First check the preferred screen. - int preferredScreenIndex = workspaceScreens.isEmpty() ? 0 : 1; - if (preferredScreenIndex < screenCount) { - screenId = workspaceScreens.get(preferredScreenIndex); - found = findNextAvailableIconSpaceInScreen( - app, screenItems.get(screenId), cordinates, spanX, spanY); - } - - if (!found) { - // Search on any of the screens starting from the first screen. - for (int screen = 1; screen < screenCount; screen++) { - screenId = workspaceScreens.get(screen); - if (findNextAvailableIconSpaceInScreen( - app, screenItems.get(screenId), cordinates, spanX, spanY)) { - // We found a space for it - found = true; - break; - } + int firstScreenToCheck = dataModel.isLeftPanelShown ? 2 : 1; + // Search on the screens for empty space + for (int screen = firstScreenToCheck; screen < screenCount; screen++) { + screenId = workspaceScreens.get(screen); + if (findNextAvailableIconSpaceInScreen( + app, screenItems.get(screenId), coordinates, spanX, spanY)) { + // We found a space for it + found = true; + break; } } @@ -324,11 +315,11 @@ public class AddWorkspaceItemsTask extends BaseModelUpdateTask { // If we still can't find an empty space, then God help us all!!! if (!findNextAvailableIconSpaceInScreen( - app, screenItems.get(screenId), cordinates, spanX, spanY)) { + app, screenItems.get(screenId), coordinates, spanX, spanY)) { throw new RuntimeException("Can't find space to add the item"); } } - return new int[] {screenId, cordinates[0], cordinates[1]}; + return new int[] {screenId, coordinates[0], coordinates[1]}; } private boolean findNextAvailableIconSpaceInScreen( From 73202ec6b3f0d506da25e5bfa1a1fc79ef6c62a4 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Thu, 8 Jul 2021 15:25:29 +0100 Subject: [PATCH 092/905] Add logs for debugging TaplTestQuickStep.testOverviewActions on cf_foldables - The failure is not reproducible locally, thus requires adding logs and check ATP result Bug: 193125090 Test: Manual Change-Id: I3d2d37a43d4b89885214b72e48f45a9b6bc63f61 --- .../android/quickstep/views/RecentsView.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 0103acf92a..897dfbec6d 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -82,6 +82,7 @@ import android.text.StaticLayout; import android.text.TextPaint; import android.util.AttributeSet; import android.util.FloatProperty; +import android.util.Log; import android.util.SparseBooleanArray; import android.view.Gravity; import android.view.HapticFeedbackConstants; @@ -128,8 +129,8 @@ import com.android.launcher3.util.DynamicResource; import com.android.launcher3.util.IntSet; import com.android.launcher3.util.MultiValueAlpha; import com.android.launcher3.util.ResourceBasedOverride.Overrides; -import com.android.launcher3.util.SplitConfigurationOptions; import com.android.launcher3.util.RunnableList; +import com.android.launcher3.util.SplitConfigurationOptions; import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption; import com.android.launcher3.util.Themes; import com.android.launcher3.util.TranslateEdgeEffect; @@ -988,6 +989,7 @@ public abstract class RecentsView 0) { setSwipeDownShouldLaunchApp(true); @@ -1159,6 +1164,7 @@ public abstract class RecentsView 0) { mFocusedTaskId = getTaskViewAt(0).getTaskId(); + Log.d("b/193125090", "applyLoadPlan - mFocusedTaskId: " + mFocusedTaskId); } updateTaskSize(); @@ -1475,14 +1481,22 @@ public abstract class RecentsView Date: Thu, 8 Jul 2021 15:48:51 +0100 Subject: [PATCH 093/905] Restricts the width of pin widget dialog to 89% on large screen devices Test: manual Fix: 193116981 Change-Id: I6ff8920a3698e6c11729b01a140a6942268f67cc --- .../launcher3/widget/AddItemWidgetsBottomSheet.java | 10 ++++++++++ src/com/android/launcher3/widget/BaseWidgetSheet.java | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/com/android/launcher3/widget/AddItemWidgetsBottomSheet.java b/src/com/android/launcher3/widget/AddItemWidgetsBottomSheet.java index 1cc7f53bf9..13245390fa 100644 --- a/src/com/android/launcher3/widget/AddItemWidgetsBottomSheet.java +++ b/src/com/android/launcher3/widget/AddItemWidgetsBottomSheet.java @@ -18,6 +18,7 @@ package com.android.launcher3.widget; import static com.android.launcher3.Utilities.ATLEAST_R; import static com.android.launcher3.anim.Interpolators.FAST_OUT_SLOW_IN; +import static com.android.launcher3.widget.BaseWidgetSheet.MAX_WIDTH_SCALE_FOR_LARGER_SCREEN; import android.animation.PropertyValuesHolder; import android.annotation.SuppressLint; @@ -93,6 +94,15 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView * The maximum scale, [0, 1], of the device screen width that the widgets picker can consume * on large screen devices. */ - protected static final float MAX_WIDTH_SCALE_FOR_LARGER_SCREEN = 0.8f; + protected static final float MAX_WIDTH_SCALE_FOR_LARGER_SCREEN = 0.89f; protected static final String KEY_WIDGETS_EDUCATION_TIP_SEEN = "launcher.widgets_education_tip_seen"; From 452e8b85122c646eb9b643ea0fb15322f65782ff Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Fri, 2 Jul 2021 17:51:39 +0100 Subject: [PATCH 094/905] Correct # of cells estimation that can fit horizontally in widgets picker Fix: 192661517 Test: check widgets are fit correctly in both full & bottom widgets picker in portrait and landscape in different grid settings. Change-Id: Ic1b0589b7ccf62ff1ec1fd5713b4249ba58246a5 --- .../launcher3/widget/BaseWidgetSheet.java | 13 ++++++++++ .../launcher3/widget/WidgetsBottomSheet.java | 13 ++++++---- .../widget/picker/WidgetsFullSheet.java | 25 ++++++++++--------- 3 files changed, 34 insertions(+), 17 deletions(-) diff --git a/src/com/android/launcher3/widget/BaseWidgetSheet.java b/src/com/android/launcher3/widget/BaseWidgetSheet.java index a5c142db66..12fd026055 100644 --- a/src/com/android/launcher3/widget/BaseWidgetSheet.java +++ b/src/com/android/launcher3/widget/BaseWidgetSheet.java @@ -51,6 +51,8 @@ import com.android.launcher3.views.ArrowTipView; public abstract class BaseWidgetSheet extends AbstractSlideInView implements OnClickListener, OnLongClickListener, DragSource, PopupDataProvider.PopupDataChangeListener, Insettable { + /** The default number of cells that can fit horizontally in a widget sheet. */ + protected static final int DEFAULT_MAX_HORIZONTAL_SPANS = 4; /** * The maximum scale, [0, 1], of the device screen width that the widgets picker can consume * on large screen devices. @@ -152,6 +154,17 @@ public abstract class BaseWidgetSheet extends AbstractSlideInView MeasureSpec.getSize(heightMeasureSpec)); } + /** Returns the number of cells that can fit horizontally in a given {@code content}. */ + protected int computeMaxHorizontalSpans(View content, int contentHorizontalPaddingPx) { + DeviceProfile deviceProfile = mActivityContext.getDeviceProfile(); + int availableWidth = content.getMeasuredWidth() - contentHorizontalPaddingPx; + Point cellSize = deviceProfile.getCellSize(); + if (cellSize.x > 0) { + return availableWidth / cellSize.x; + } + return DEFAULT_MAX_HORIZONTAL_SPANS; + } + private boolean beginDraggingWidget(WidgetCell v) { // Get the widget preview as the drag representation WidgetImageView image = v.getWidgetView(); diff --git a/src/com/android/launcher3/widget/WidgetsBottomSheet.java b/src/com/android/launcher3/widget/WidgetsBottomSheet.java index c045cf1b43..14aeaf6048 100644 --- a/src/com/android/launcher3/widget/WidgetsBottomSheet.java +++ b/src/com/android/launcher3/widget/WidgetsBottomSheet.java @@ -70,9 +70,11 @@ public class WidgetsBottomSheet extends BaseWidgetSheet { private static final int DEFAULT_CLOSE_DURATION = 200; private static final long EDUCATION_TIP_DELAY_MS = 300; + private final int mWidgetSheetContentHorizontalPadding; + private ItemInfo mOriginalItemInfo; private final int mMaxTableHeight; - private int mMaxHorizontalSpan = 4; + private int mMaxHorizontalSpan = DEFAULT_MAX_HORIZONTAL_SPANS; private final OnLayoutChangeListener mLayoutChangeListenerToShowTips = new OnLayoutChangeListener() { @@ -117,6 +119,9 @@ public class WidgetsBottomSheet extends BaseWidgetSheet { if (!hasSeenEducationTip()) { addOnLayoutChangeListener(mLayoutChangeListenerToShowTips); } + + mWidgetSheetContentHorizontalPadding = getResources().getDimensionPixelSize( + R.dimen.widget_list_horizontal_margin); } @Override @@ -137,10 +142,8 @@ public class WidgetsBottomSheet extends BaseWidgetSheet { private boolean updateMaxSpansPerRow() { if (getMeasuredWidth() == 0) return false; - int paddingPx = 2 * getResources().getDimensionPixelOffset( - R.dimen.widget_cell_horizontal_padding); - int maxHorizontalSpan = findViewById(R.id.widgets_table).getMeasuredWidth() - / (mActivityContext.getDeviceProfile().cellWidthPx + paddingPx); + int maxHorizontalSpan = computeMaxHorizontalSpans(mContent, + mWidgetSheetContentHorizontalPadding); if (mMaxHorizontalSpan != maxHorizontalSpan) { // Ensure the table layout is showing widgets in the right column after measure. mMaxHorizontalSpan = maxHorizontalSpan; diff --git a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java index 6c2cca6024..5e1a534bb0 100644 --- a/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java +++ b/src/com/android/launcher3/widget/picker/WidgetsFullSheet.java @@ -25,6 +25,7 @@ import android.animation.PropertyValuesHolder; import android.content.Context; import android.content.pm.LauncherApps; import android.content.res.Configuration; +import android.content.res.Resources; import android.graphics.Rect; import android.os.Process; import android.os.UserHandle; @@ -148,13 +149,13 @@ public class WidgetsFullSheet extends BaseWidgetSheet private final int mTabsHeight; private final int mViewPagerTopPadding; private final int mSearchAndRecommendationContainerBottomMargin; - private final int mWidgetCellHorizontalPadding; + private final int mWidgetSheetContentHorizontalPadding; @Nullable private WidgetsRecyclerView mCurrentWidgetsRecyclerView; @Nullable private PersonalWorkPagedView mViewPager; private boolean mIsInSearchMode; private boolean mIsNoWidgetsViewNeeded; - private int mMaxSpansPerRow = 4; + private int mMaxSpansPerRow = DEFAULT_MAX_HORIZONTAL_SPANS; private View mTabsView; private TextView mNoWidgetsView; private SearchAndRecommendationViewHolder mSearchAndRecommendationViewHolder; @@ -166,19 +167,20 @@ public class WidgetsFullSheet extends BaseWidgetSheet mAdapters.put(AdapterHolder.PRIMARY, new AdapterHolder(AdapterHolder.PRIMARY)); mAdapters.put(AdapterHolder.WORK, new AdapterHolder(AdapterHolder.WORK)); mAdapters.put(AdapterHolder.SEARCH, new AdapterHolder(AdapterHolder.SEARCH)); + + Resources resources = getResources(); mTabsHeight = mHasWorkProfile - ? getContext().getResources() - .getDimensionPixelSize(R.dimen.all_apps_header_pill_height) + ? resources.getDimensionPixelSize(R.dimen.all_apps_header_pill_height) : 0; mViewPagerTopPadding = mHasWorkProfile ? getContext().getResources() .getDimensionPixelSize(R.dimen.widget_picker_view_pager_top_padding) : 0; - mSearchAndRecommendationContainerBottomMargin = getContext().getResources() - .getDimensionPixelSize(mHasWorkProfile + mSearchAndRecommendationContainerBottomMargin = resources.getDimensionPixelSize( + mHasWorkProfile ? R.dimen.search_and_recommended_widgets_container_small_bottom_margin : R.dimen.search_and_recommended_widgets_container_bottom_margin); - mWidgetCellHorizontalPadding = 2 * getResources().getDimensionPixelOffset( + mWidgetSheetContentHorizontalPadding = 2 * resources.getDimensionPixelSize( R.dimen.widget_cell_horizontal_padding); } @@ -375,11 +377,10 @@ public class WidgetsFullSheet extends BaseWidgetSheet private boolean updateMaxSpansPerRow() { if (getMeasuredWidth() == 0) return false; - int previousMaxSpansPerRow = mMaxSpansPerRow; - mMaxSpansPerRow = getMeasuredWidth() - / (mActivityContext.getDeviceProfile().cellWidthPx + mWidgetCellHorizontalPadding); - - if (previousMaxSpansPerRow != mMaxSpansPerRow) { + int maxHorizontalSpans = computeMaxHorizontalSpans(mContent, + mWidgetSheetContentHorizontalPadding); + if (mMaxSpansPerRow != maxHorizontalSpans) { + mMaxSpansPerRow = maxHorizontalSpans; mAdapters.get(AdapterHolder.PRIMARY).mWidgetsListAdapter.setMaxHorizontalSpansPerRow( mMaxSpansPerRow); mAdapters.get(AdapterHolder.SEARCH).mWidgetsListAdapter.setMaxHorizontalSpansPerRow( From 1abc73c587b9e6ab921a09ddd5587a01e6710dea Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Tue, 29 Jun 2021 19:07:05 -0700 Subject: [PATCH 095/905] Hook up split-launch to legacy transition system Adds legacy versions of the animation logic. Bug: 192279476 Test: use SPLIT_SELECT to launch 2 apps in split and observe Change-Id: I5cbe7416819ba88d8c081fb413177fadac5b815d --- .../com/android/quickstep/SystemUiProxy.java | 17 +++ .../com/android/quickstep/TaskViewUtils.java | 88 ++++---------- .../util/SplitSelectStateController.java | 109 +++++++----------- 3 files changed, 81 insertions(+), 133 deletions(-) diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 090fd015a4..6226fb0dc0 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java @@ -33,6 +33,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.util.Log; import android.view.MotionEvent; +import android.view.RemoteAnimationAdapter; import android.view.SurfaceControl; import com.android.launcher3.util.MainThreadInitializedObject; @@ -562,6 +563,22 @@ public class SystemUiProxy implements ISystemUiProxy, } } + /** + * Start multiple tasks in split-screen simultaneously. + */ + public void startTasksWithLegacyTransition(int mainTaskId, Bundle mainOptions, int sideTaskId, + Bundle sideOptions, @SplitConfigurationOptions.StagePosition int sidePosition, + RemoteAnimationAdapter adapter) { + if (mSystemUiProxy != null) { + try { + mSplitScreen.startTasksWithLegacyTransition(mainTaskId, mainOptions, sideTaskId, + sideOptions, sidePosition, adapter); + } catch (RemoteException e) { + Log.w(TAG, "Failed call startTasksWithLegacyTransition"); + } + } + } + public void startShortcut(String packageName, String shortcutId, int stage, int position, Bundle options, UserHandle user) { if (mSplitScreen != null) { diff --git a/quickstep/src/com/android/quickstep/TaskViewUtils.java b/quickstep/src/com/android/quickstep/TaskViewUtils.java index 37fda73d44..a85a24dcd9 100644 --- a/quickstep/src/com/android/quickstep/TaskViewUtils.java +++ b/quickstep/src/com/android/quickstep/TaskViewUtils.java @@ -405,77 +405,39 @@ public final class TaskViewUtils { } /** Legacy version (until shell transitions are enabled) */ - public static void composeRecentsSplitLaunchAnimatorLegacy(@NonNull AnimatorSet anim, + public static void composeRecentsSplitLaunchAnimatorLegacy(@NonNull TaskView initialView, @NonNull TaskView v, @NonNull RemoteAnimationTargetCompat[] appTargets, @NonNull RemoteAnimationTargetCompat[] wallpaperTargets, - @NonNull RemoteAnimationTargetCompat[] nonAppTargets, boolean launcherClosing, - @NonNull StateManager stateManager, @NonNull DepthController depthController, - int targetStage) { - PendingAnimation out = new PendingAnimation(RECENTS_LAUNCH_DURATION); - boolean isRunningTask = v.isRunningTask(); - TransformParams params = null; - TaskViewSimulator tvs = null; - RecentsView recentsView = v.getRecentsView(); - if (ENABLE_QUICKSTEP_LIVE_TILE.get() && isRunningTask) { - params = recentsView.getLiveTileParams(); - tvs = recentsView.getLiveTileTaskViewSimulator(); + @NonNull RemoteAnimationTargetCompat[] nonAppTargets, + @NonNull Runnable finishCallback) { + + final int[] splitRoots = new int[2]; + for (int i = 0; i < appTargets.length; ++i) { + final int taskId = appTargets[i].taskInfo != null ? appTargets[i].taskInfo.taskId : -1; + final int mode = appTargets[i].mode; + if (taskId == initialView.getTask().key.id || taskId == v.getTask().key.id) { + if (mode != MODE_OPENING) { + throw new IllegalStateException( + "Expected task to be opening, but it is " + mode); + } + splitRoots[taskId == initialView.getTask().key.id ? 0 : 1] = i; + } } - boolean inLiveTileMode = - ENABLE_QUICKSTEP_LIVE_TILE.get() && recentsView.getRunningTaskIndex() != -1; - final RemoteAnimationTargets targets = - new RemoteAnimationTargets(appTargets, wallpaperTargets, nonAppTargets, - inLiveTileMode ? MODE_CLOSING : MODE_OPENING); + SurfaceControl.Transaction t = new SurfaceControl.Transaction(); - if (params == null) { - SurfaceTransactionApplier applier = new SurfaceTransactionApplier(v); - targets.addReleaseCheck(applier); - - params = new TransformParams() - .setSyncTransactionApplier(applier) - .setTargetSet(targets); + // This is where we should animate the split roots. For now, though, just make them visible. + for (int i = 0; i < 2; ++i) { + t.show(appTargets[splitRoots[i]].leash.getSurfaceControl()); + t.setAlpha(appTargets[splitRoots[i]].leash.getSurfaceControl(), 1.f); } - Rect crop = new Rect(); - Context context = v.getContext(); - DeviceProfile dp = BaseActivity.fromContext(context).getDeviceProfile(); - if (tvs == null && targets.apps.length > 0) { - tvs = new TaskViewSimulator(recentsView.getContext(), recentsView.getSizeStrategy()); - tvs.setDp(dp); + // This contains the initial state (before animation), so apply this at the beginning of + // the animation. + t.apply(); - // RecentsView never updates the display rotation until swipe-up so the value may - // be stale. Use the display value instead. - int displayRotation = DisplayController.INSTANCE.get(recentsView.getContext()) - .getInfo().rotation; - tvs.getOrientationState().update(displayRotation, displayRotation); - - tvs.setPreview(targets.apps[targets.apps.length - 1]); - tvs.fullScreenProgress.value = 0; - tvs.recentsViewScale.value = 1; -// tvs.setScroll(startScroll); - - // Fade in the task during the initial 20% of the animation - out.addFloat(params, TransformParams.TARGET_ALPHA, 0, 1, - clampToProgress(LINEAR, 0, 0.2f)); - } - - TaskViewSimulator topMostSimulator = null; - - if (tvs != null) { - out.setFloat(tvs.fullScreenProgress, - AnimatedFloat.VALUE, 1, TOUCH_RESPONSE_INTERPOLATOR); - out.setFloat(tvs.recentsViewScale, - AnimatedFloat.VALUE, tvs.getFullScreenScale(), TOUCH_RESPONSE_INTERPOLATOR); - out.setFloat(tvs.recentsViewScroll, - AnimatedFloat.VALUE, 0, TOUCH_RESPONSE_INTERPOLATOR); - - TaskViewSimulator finalTsv = tvs; - TransformParams finalParams = params; - out.addOnFrameCallback(() -> finalTsv.apply(finalParams)); - topMostSimulator = tvs; - } - - anim.play(out.buildAnim()); + // Once there is an animation, this should be called AFTER the animation completes. + finishCallback.run(); } public static void composeRecentsLaunchAnimator(@NonNull AnimatorSet anim, @NonNull View v, diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index a147b6808c..2351a4e164 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -22,33 +22,26 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_BOTTOM_OR_RIGHT; import static com.android.launcher3.util.SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT; -import android.animation.AnimatorSet; -import android.app.ActivityOptions; +import android.app.ActivityThread; import android.content.res.Resources; import android.graphics.Rect; import android.os.Handler; import android.os.IBinder; -import android.os.Looper; -import android.util.Pair; import android.view.Gravity; +import android.view.RemoteAnimationAdapter; import android.view.SurfaceControl; import android.window.TransitionInfo; import androidx.annotation.Nullable; -import com.android.launcher3.BaseActivity; -import com.android.launcher3.BaseQuickstepLauncher; import com.android.launcher3.DeviceProfile; import com.android.launcher3.InsettableFrameLayout; -import com.android.launcher3.LauncherAnimationRunner; -import com.android.launcher3.LauncherAnimationRunner.RemoteAnimationFactory; import com.android.launcher3.R; import com.android.launcher3.util.SplitConfigurationOptions.SplitPositionOption; import com.android.quickstep.SystemUiProxy; import com.android.quickstep.TaskAnimationManager; import com.android.quickstep.TaskViewUtils; import com.android.quickstep.views.TaskView; -import com.android.systemui.shared.system.ActivityOptionsCompat; import com.android.systemui.shared.system.RemoteAnimationAdapterCompat; import com.android.systemui.shared.system.RemoteAnimationRunnerCompat; import com.android.systemui.shared.system.RemoteAnimationTargetCompat; @@ -92,37 +85,27 @@ public class SplitSelectStateController { ? new int[]{mInitialTaskView.getTask().key.id, taskView.getTask().key.id} : new int[]{taskView.getTask().key.id, mInitialTaskView.getTask().key.id}; - RemoteSplitLaunchAnimationRunner animationRunner = - new RemoteSplitLaunchAnimationRunner(mInitialTaskView, taskView); + RemoteSplitLaunchTransitionRunner animationRunner = + new RemoteSplitLaunchTransitionRunner(mInitialTaskView, taskView); mSystemUiProxy.startTasks(taskIds[0], null /* mainOptions */, taskIds[1], null /* sideOptions */, STAGE_POSITION_BOTTOM_OR_RIGHT, new RemoteTransitionCompat(animationRunner, MAIN_EXECUTOR)); - return; + } else { + // Assume initial task is for top/left part of screen + final int[] taskIds = mInitialPosition.mStagePosition == STAGE_POSITION_TOP_OR_LEFT + ? new int[]{mInitialTaskView.getTask().key.id, taskView.getTask().key.id} + : new int[]{taskView.getTask().key.id, mInitialTaskView.getTask().key.id}; + + RemoteSplitLaunchAnimationRunner animationRunner = + new RemoteSplitLaunchAnimationRunner(mInitialTaskView, taskView); + final RemoteAnimationAdapter adapter = new RemoteAnimationAdapter( + RemoteAnimationAdapterCompat.wrapRemoteAnimationRunner(animationRunner), + 300, 150, + ActivityThread.currentActivityThread().getApplicationThread()); + + mSystemUiProxy.startTasksWithLegacyTransition(taskIds[0], null /* mainOptions */, + taskIds[1], null /* sideOptions */, STAGE_POSITION_BOTTOM_OR_RIGHT, adapter); } - // Assume initial mInitialTaskId is for top/left part of screen - RemoteAnimationFactory initialSplitRunnerWrapped = new SplitLaunchAnimationRunner( - mInitialTaskView, 0); - RemoteAnimationFactory secondarySplitRunnerWrapped = new SplitLaunchAnimationRunner( - taskView, 1); - RemoteAnimationRunnerCompat initialSplitRunner = new LauncherAnimationRunner( - new Handler(Looper.getMainLooper()), initialSplitRunnerWrapped, - true /* startAtFrontOfQueue */); - RemoteAnimationRunnerCompat secondarySplitRunner = new LauncherAnimationRunner( - new Handler(Looper.getMainLooper()), secondarySplitRunnerWrapped, - true /* startAtFrontOfQueue */); - ActivityOptions initialOptions = ActivityOptionsCompat.makeRemoteAnimation( - new RemoteAnimationAdapterCompat(initialSplitRunner, 300, 150)); - ActivityOptions secondaryOptions = ActivityOptionsCompat.makeRemoteAnimation( - new RemoteAnimationAdapterCompat(secondarySplitRunner, 300, 150)); - mSystemUiProxy.startTask(mInitialTaskView.getTask().key.id, mInitialPosition.mStageType, - mInitialPosition.mStagePosition, - /*null*/ initialOptions.toBundle()); - Pair compliment = getComplimentaryStageAndPosition(mInitialPosition); - mSystemUiProxy.startTask(taskView.getTask().key.id, compliment.first, - compliment.second, - /*null*/ secondaryOptions.toBundle()); - // After successful launch, call resetState - resetState(); } /** @@ -153,12 +136,12 @@ public class SplitSelectStateController { /** * Requires Shell Transitions */ - private class RemoteSplitLaunchAnimationRunner implements RemoteTransitionRunner { + private class RemoteSplitLaunchTransitionRunner implements RemoteTransitionRunner { private final TaskView mInitialTaskView; private final TaskView mTaskView; - RemoteSplitLaunchAnimationRunner(TaskView initialTaskView, TaskView taskView) { + RemoteSplitLaunchTransitionRunner(TaskView initialTaskView, TaskView taskView) { mInitialTaskView = initialTaskView; mTaskView = taskView; } @@ -173,50 +156,36 @@ public class SplitSelectStateController { } } - /** - * LEGACY - * @return the opposite stage and position from the {@param position} provided as first and - * second object, respectively - * Ex. If position is has stage = Main and position = Top/Left, this will return - * Pair(stage=Side, position=Bottom/Left) - */ - private Pair getComplimentaryStageAndPosition(SplitPositionOption position) { - // Right now this is as simple as flipping between 0 and 1 - int complimentStageType = position.mStageType ^ 1; - int complimentStagePosition = position.mStagePosition ^ 1; - return new Pair<>(complimentStageType, complimentStagePosition); - } - /** * LEGACY * Remote animation runner for animation to launch an app. */ - private class SplitLaunchAnimationRunner implements RemoteAnimationFactory { + private class RemoteSplitLaunchAnimationRunner implements RemoteAnimationRunnerCompat { - private final TaskView mV; - private final int mTargetState; + private final TaskView mInitialTaskView; + private final TaskView mTaskView; - SplitLaunchAnimationRunner(TaskView v, int targetState) { - mV = v; - mTargetState = targetState; + RemoteSplitLaunchAnimationRunner(TaskView initialTaskView, TaskView taskView) { + mInitialTaskView = initialTaskView; + mTaskView = taskView; } @Override - public void onCreateAnimation(int transit, - RemoteAnimationTargetCompat[] appTargets, - RemoteAnimationTargetCompat[] wallpaperTargets, - RemoteAnimationTargetCompat[] nonAppTargets, - LauncherAnimationRunner.AnimationResult result) { - AnimatorSet anim = new AnimatorSet(); - BaseQuickstepLauncher activity = BaseActivity.fromContext(mV.getContext()); - TaskViewUtils.composeRecentsSplitLaunchAnimatorLegacy(anim, mV, - appTargets, wallpaperTargets, nonAppTargets, true, activity.getStateManager(), - activity.getDepthController(), mTargetState); - result.setAnimation(anim, activity); + public void onAnimationStart(int transit, RemoteAnimationTargetCompat[] apps, + RemoteAnimationTargetCompat[] wallpapers, RemoteAnimationTargetCompat[] nonApps, + Runnable finishedCallback) { + TaskViewUtils.composeRecentsSplitLaunchAnimatorLegacy(mInitialTaskView, mTaskView, apps, + wallpapers, nonApps, finishedCallback); + // After successful launch, call resetState + resetState(); + } + + @Override + public void onAnimationCancelled() { + resetState(); } } - /** * To be called if split select was cancelled */ From ffa6652c25f0d32df3939fc24d574d5293cb45a0 Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Fri, 2 Jul 2021 17:21:21 -0700 Subject: [PATCH 096/905] Include shell+stage-split in legacy recents animations This just builds the infrastructure and then, just as an example/proof-of-concept, uses the infra to show/hide the divider-bar when it makes sense. Bug: 192292305 Test: enable SPLIT_SELECT, enter split, use recents and observe the divider bar appropriately showing/hiding Change-Id: Iea0704b3f7821c3056a1675f11e671e81305831f --- .../android/quickstep/AbsSwipeUpHandler.java | 8 ++++++++ .../quickstep/RecentsAnimationCallbacks.java | 11 ++++++++-- .../quickstep/RecentsAnimationTargets.java | 6 +++--- .../com/android/quickstep/SystemUiProxy.java | 19 ++++++++++++++++++ .../quickstep/TaskAnimationManager.java | 3 ++- .../com/android/quickstep/TaskViewUtils.java | 20 +++++++++++++++++++ 6 files changed, 61 insertions(+), 6 deletions(-) diff --git a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java index c04d15ffe4..957484bf34 100644 --- a/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java +++ b/quickstep/src/com/android/quickstep/AbsSwipeUpHandler.java @@ -740,6 +740,8 @@ public abstract class AbsSwipeUpHandler, mRecentsAnimationStartCallbacks.clear(); } + TaskViewUtils.setDividerBarShown(mRecentsAnimationTargets.nonApps, false); + // Only add the callback to enable the input consumer after we actually have the controller mStateCallback.runOnceAtState(STATE_APP_CONTROLLER_RECEIVED | STATE_GESTURE_STARTED, mRecentsAnimationController::enableInputConsumer); @@ -754,6 +756,8 @@ public abstract class AbsSwipeUpHandler, mActivityInitListener.unregister(); mStateCallback.setStateOnUiThread(STATE_GESTURE_CANCELLED | STATE_HANDLER_INVALIDATED); + TaskViewUtils.setDividerBarShown(mRecentsAnimationTargets.nonApps, true); + // Defer clearing the controller and the targets until after we've updated the state mRecentsAnimationController = null; mRecentsAnimationTargets = null; @@ -882,6 +886,7 @@ public abstract class AbsSwipeUpHandler, break; case LAST_TASK: mStateCallback.setState(STATE_RESUME_LAST_TASK); + TaskViewUtils.setDividerBarShown(mRecentsAnimationTargets.nonApps, true); break; } ActiveGestureLog.INSTANCE.addLog("onSettledOnEndTarget " + endTarget); @@ -1723,6 +1728,9 @@ public abstract class AbsSwipeUpHandler, @Override public void onRecentsAnimationFinished(RecentsAnimationController controller) { + if (!controller.getFinishTargetIsLauncher()) { + TaskViewUtils.setDividerBarShown(mRecentsAnimationTargets.nonApps, true); + } mRecentsAnimationController = null; mRecentsAnimationTargets = null; if (mRecentsView != null) { diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java index a21c7140de..239233b191 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationCallbacks.java @@ -19,6 +19,7 @@ import static com.android.launcher3.util.Executors.MAIN_EXECUTOR; import android.graphics.Rect; import android.util.ArraySet; +import android.view.RemoteAnimationTarget; import androidx.annotation.BinderThread; import androidx.annotation.UiThread; @@ -39,6 +40,7 @@ public class RecentsAnimationCallbacks implements com.android.systemui.shared.system.RecentsAnimationListener { private final Set mListeners = new ArraySet<>(); + private final SystemUiProxy mSystemUiProxy; private final boolean mAllowMinimizeSplitScreen; // TODO(141886704): Remove these references when they are no longer needed @@ -46,7 +48,9 @@ public class RecentsAnimationCallbacks implements private boolean mCancelled; - public RecentsAnimationCallbacks(boolean allowMinimizeSplitScreen) { + public RecentsAnimationCallbacks(SystemUiProxy systemUiProxy, + boolean allowMinimizeSplitScreen) { + mSystemUiProxy = systemUiProxy; mAllowMinimizeSplitScreen = allowMinimizeSplitScreen; } @@ -89,8 +93,11 @@ public class RecentsAnimationCallbacks implements RemoteAnimationTargetCompat[] appTargets, RemoteAnimationTargetCompat[] wallpaperTargets, Rect homeContentInsets, Rect minimizedHomeBounds) { + RemoteAnimationTarget[] nonAppTargets = + mSystemUiProxy.onGoingToRecentsLegacy(mCancelled); RecentsAnimationTargets targets = new RecentsAnimationTargets(appTargets, - wallpaperTargets, homeContentInsets, minimizedHomeBounds); + wallpaperTargets, RemoteAnimationTargetCompat.wrap(nonAppTargets), + homeContentInsets, minimizedHomeBounds); mController = new RecentsAnimationController(animationController, mAllowMinimizeSplitScreen, this::onAnimationFinished); diff --git a/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java b/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java index 3861bab04b..b6d9016727 100644 --- a/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java +++ b/quickstep/src/com/android/quickstep/RecentsAnimationTargets.java @@ -31,9 +31,9 @@ public class RecentsAnimationTargets extends RemoteAnimationTargets { public final Rect minimizedHomeBounds; public RecentsAnimationTargets(RemoteAnimationTargetCompat[] apps, - RemoteAnimationTargetCompat[] wallpapers, Rect homeContentInsets, - Rect minimizedHomeBounds) { - super(apps, wallpapers, new RemoteAnimationTargetCompat[0], MODE_CLOSING); + RemoteAnimationTargetCompat[] wallpapers, RemoteAnimationTargetCompat[] nonApps, + Rect homeContentInsets, Rect minimizedHomeBounds) { + super(apps, wallpapers, nonApps, MODE_CLOSING); this.homeContentInsets = homeContentInsets; this.minimizedHomeBounds = minimizedHomeBounds; } diff --git a/quickstep/src/com/android/quickstep/SystemUiProxy.java b/quickstep/src/com/android/quickstep/SystemUiProxy.java index 6226fb0dc0..d6b95c13ab 100644 --- a/quickstep/src/com/android/quickstep/SystemUiProxy.java +++ b/quickstep/src/com/android/quickstep/SystemUiProxy.java @@ -34,6 +34,7 @@ import android.os.UserHandle; import android.util.Log; import android.view.MotionEvent; import android.view.RemoteAnimationAdapter; +import android.view.RemoteAnimationTarget; import android.view.SurfaceControl; import com.android.launcher3.util.MainThreadInitializedObject; @@ -612,6 +613,24 @@ public class SystemUiProxy implements ISystemUiProxy, } } + /** + * Call this when going to recents so that shell can set-up and provide appropriate leashes + * for animation (eg. DividerBar). + * + * @param cancel true if recents starting is being cancelled. + * @return RemoteAnimationTargets of windows that need to animate but only exist in shell. + */ + public RemoteAnimationTarget[] onGoingToRecentsLegacy(boolean cancel) { + if (mSplitScreen != null) { + try { + return mSplitScreen.onGoingToRecentsLegacy(cancel); + } catch (RemoteException e) { + Log.w(TAG, "Failed call onGoingToRecentsLegacy"); + } + } + return null; + } + // // One handed // diff --git a/quickstep/src/com/android/quickstep/TaskAnimationManager.java b/quickstep/src/com/android/quickstep/TaskAnimationManager.java index 33718a3cac..fe07cbdcce 100644 --- a/quickstep/src/com/android/quickstep/TaskAnimationManager.java +++ b/quickstep/src/com/android/quickstep/TaskAnimationManager.java @@ -109,7 +109,8 @@ public class TaskAnimationManager implements RecentsAnimationCallbacks.RecentsAn final BaseActivityInterface activityInterface = gestureState.getActivityInterface(); mLastGestureState = gestureState; - mCallbacks = new RecentsAnimationCallbacks(activityInterface.allowMinimizeSplitScreen()); + mCallbacks = new RecentsAnimationCallbacks(SystemUiProxy.INSTANCE.get(mCtx), + activityInterface.allowMinimizeSplitScreen()); mCallbacks.addListener(new RecentsAnimationCallbacks.RecentsAnimationListener() { @Override public void onRecentsAnimationStart(RecentsAnimationController controller, diff --git a/quickstep/src/com/android/quickstep/TaskViewUtils.java b/quickstep/src/com/android/quickstep/TaskViewUtils.java index a85a24dcd9..f292f1a6e3 100644 --- a/quickstep/src/com/android/quickstep/TaskViewUtils.java +++ b/quickstep/src/com/android/quickstep/TaskViewUtils.java @@ -15,6 +15,7 @@ */ package com.android.quickstep; +import static android.view.WindowManager.LayoutParams.TYPE_DOCK_DIVIDER; import static android.view.WindowManager.TRANSIT_OPEN; import static android.view.WindowManager.TRANSIT_TO_FRONT; @@ -452,6 +453,10 @@ public final class TaskViewUtils { PendingAnimation pa = new PendingAnimation(RECENTS_LAUNCH_DURATION); createRecentsWindowAnimator(taskView, skipLauncherChanges, appTargets, wallpaperTargets, nonAppTargets, depthController, pa); + if (launcherClosing) { + // TODO(b/182592057): differentiate between "restore split" vs "launch fullscreen app" + TaskViewUtils.setDividerBarShown(nonAppTargets, true); + } Animator childStateAnimation = null; // Found a visible recents task that matches the opening app, lets launch the app from there @@ -504,4 +509,19 @@ public final class TaskViewUtils { stateManager.setCurrentAnimation(anim, childStateAnimation); anim.addListener(windowAnimEndListener); } + + static void setDividerBarShown(RemoteAnimationTargetCompat[] nonApps, boolean shown) { + // TODO(b/182592057): make this part of the animations instead. + if (nonApps != null && nonApps.length > 0) { + for (int i = 0; i < nonApps.length; ++i) { + final RemoteAnimationTargetCompat targ = nonApps[i]; + if (targ.windowType == TYPE_DOCK_DIVIDER) { + SurfaceControl.Transaction t = new SurfaceControl.Transaction(); + t.setVisibility(targ.leash.getSurfaceControl(), shown); + t.apply(); + t.close(); + } + } + } + } } From 297d2cdd4469401f4038427d4471929ab701924a Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Wed, 7 Jul 2021 20:29:06 -0700 Subject: [PATCH 097/905] Re-try binding to TouchInteractionService if service is killed For problem explanation, see b/190339338#comment26. When the binding dies, this attempts to retry binding to the service with a backoff duration of (1000 * 2^N)ms where N is # of attempts. Bug: 190339338 Test: Taskbar seems interactable more consistently. Manually failed the binding a couple times to see retry mechanism and verified by logging locally. Change-Id: Ia76207d0b2ef30b425ee1d7c66d7dee453bca7d8 --- .../launcher3/BaseQuickstepLauncher.java | 48 ++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java index 475f06109e..ecd38b486c 100644 --- a/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java +++ b/quickstep/src/com/android/launcher3/BaseQuickstepLauncher.java @@ -37,7 +37,9 @@ import android.content.IntentSender; import android.content.ServiceConnection; import android.os.Bundle; import android.os.CancellationSignal; +import android.os.Handler; import android.os.IBinder; +import android.util.Log; import android.view.View; import android.window.SplashScreen; @@ -89,6 +91,11 @@ import java.util.stream.Stream; public abstract class BaseQuickstepLauncher extends Launcher implements NavigationModeChangeListener { + private static final long BACKOFF_MILLIS = 1000; + + // Max backoff caps at 5 mins + private static final long MAX_BACKOFF_MILLIS = 10 * 60 * 1000; + private DepthController mDepthController = new DepthController(this); private QuickstepTransitionManager mAppTransitionManager; @@ -108,12 +115,24 @@ public abstract class BaseQuickstepLauncher extends Launcher public void onServiceConnected(ComponentName componentName, IBinder iBinder) { mTaskbarManager = ((TISBinder) iBinder).getTaskbarManager(); mTaskbarManager.setLauncher(BaseQuickstepLauncher.this); + Log.d(TAG, "TIS service connected"); + resetServiceBindRetryState(); } @Override public void onServiceDisconnected(ComponentName componentName) { } + + @Override + public void onBindingDied(ComponentName name) { + Log.w(TAG, "TIS binding died"); + internalBindToTIS(); + } }; + + private final Runnable mConnectionRunnable = this::internalBindToTIS; + private short mConnectionAttempts; private final TaskbarStateHandler mTaskbarStateHandler = new TaskbarStateHandler(this); + private final Handler mHandler = new Handler(); // Will be updated when dragging from taskbar. private @Nullable DragOptions mNextWorkspaceDragOptions = null; @@ -132,11 +151,11 @@ public abstract class BaseQuickstepLauncher extends Launcher SysUINavigationMode.INSTANCE.get(this).removeModeChangeListener(this); - unbindService(mTisBinderConnection); if (mTaskbarManager != null) { mTaskbarManager.clearLauncher(this); } + resetServiceBindRetryState(); super.onDestroy(); } @@ -264,8 +283,33 @@ public abstract class BaseQuickstepLauncher extends Launcher mAppTransitionManager = new QuickstepTransitionManager(this); mAppTransitionManager.registerRemoteAnimations(); - bindService(new Intent(this, TouchInteractionService.class), mTisBinderConnection, 0); + internalBindToTIS(); + } + /** + * Binds {@link #mTisBinderConnection} to {@link TouchInteractionService}. If the binding fails, + * attempts to retry via {@link #mConnectionRunnable} + */ + private void internalBindToTIS() { + boolean bound = bindService(new Intent(this, TouchInteractionService.class), + mTisBinderConnection, 0); + if (bound) { + resetServiceBindRetryState(); + return; + } + + Log.w(TAG, "Retrying TIS Binder connection attempt: " + mConnectionAttempts); + final long timeoutMs = (long) Math.min( + Math.scalb(BACKOFF_MILLIS, mConnectionAttempts), MAX_BACKOFF_MILLIS); + mHandler.postDelayed(mConnectionRunnable, timeoutMs); + mConnectionAttempts++; + } + + private void resetServiceBindRetryState() { + if (mHandler.hasCallbacks(mConnectionRunnable)) { + mHandler.removeCallbacks(mConnectionRunnable); + } + mConnectionAttempts = 0; } public void setTaskbarUIController(LauncherTaskbarUIController taskbarUIController) { From 1afca4dce5aa16086ee701d4cef772d7f80c0004 Mon Sep 17 00:00:00 2001 From: Steven Ng Date: Thu, 8 Jul 2021 17:13:29 +0100 Subject: [PATCH 098/905] Wrap the widget preview of the add item sheet with a scroll view Test: manual Fix: 192622015 Change-Id: I1eb676a92201970962c71194682ea70ce42b3d1b --- res/layout/add_item_confirmation_activity.xml | 15 +++++++++++---- .../widget/AddItemWidgetsBottomSheet.java | 17 +++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/res/layout/add_item_confirmation_activity.xml b/res/layout/add_item_confirmation_activity.xml index 1aeda50c5e..6fd4a8580c 100644 --- a/res/layout/add_item_confirmation_activity.xml +++ b/res/layout/add_item_confirmation_activity.xml @@ -65,12 +65,19 @@ android:alpha="0.7" android:importantForAccessibility="no"/> - + android:layout_marginVertical="16dp" + android:layout_weight="1"> + + + 0) { + mNoIntercept = true; + } + } + return super.onControllerInterceptTouchEvent(ev); + } + @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { int width = r - l; @@ -104,6 +120,7 @@ public class AddItemWidgetsBottomSheet extends AbstractSlideInView Date: Fri, 9 Jul 2021 13:29:50 +0100 Subject: [PATCH 099/905] Refine logs for debugging TaplTestQuickStep.testOverviewActions on cf_foldables - The failure is not reproducible locally, thus requires adding logs and check ATP result - Removed some redundant logs - Changed to log at VERBOSE - Added extensive logging to all visibility/enable/alpha setter of ActionsView Bug: 193125090 Test: Manual Change-Id: I5b449a7f86ea4cef65e0e46de4b389deef9f53f3 --- .../uioverrides/RecentsViewStateController.java | 3 +++ .../NoButtonQuickSwitchTouchController.java | 3 +++ .../FallbackRecentsStateController.java | 4 ++++ .../quickstep/views/OverviewActionsView.java | 5 +++++ .../android/quickstep/views/RecentsView.java | 17 ++++------------- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java b/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java index 6cad3ddc92..aa49e0858f 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/RecentsViewStateController.java @@ -30,6 +30,7 @@ import static com.android.quickstep.views.TaskView.FLAG_UPDATE_ALL; import android.annotation.TargetApi; import android.os.Build; import android.util.FloatProperty; +import android.util.Log; import androidx.annotation.NonNull; @@ -110,6 +111,8 @@ public final class RecentsViewStateController extends propertySetter.setFloat(mLauncher.getActionsView().getVisibilityAlpha(), MultiValueAlpha.VALUE, overviewButtonAlpha, config.getInterpolator( ANIM_OVERVIEW_ACTIONS_FADE, LINEAR)); + Log.v("b/193125090", + "RecentsViewStateController - setVisibilityAlpha: " + overviewButtonAlpha); float splitPlaceholderAlpha = state.areElementsVisible(mLauncher, SPLIT_PLACHOLDER_VIEW) ? 0.85f : 0; diff --git a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java index 40c3e02238..d488ddadb7 100644 --- a/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java +++ b/quickstep/src/com/android/launcher3/uioverrides/touchcontrollers/NoButtonQuickSwitchTouchController.java @@ -54,6 +54,7 @@ import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; import android.animation.ValueAnimator; import android.graphics.PointF; +import android.util.Log; import android.view.MotionEvent; import android.view.animation.Interpolator; @@ -227,6 +228,8 @@ public class NoButtonQuickSwitchTouchController implements TouchController, mRecentsView.setFullscreenProgress(fromState.getOverviewFullscreenProgress()); mLauncher.getActionsView().getVisibilityAlpha().setValue( (fromState.getVisibleElements(mLauncher) & OVERVIEW_ACTIONS) != 0 ? 1f : 0f); + Log.v("b/193125090", "NoButtonQuickSwitchTouchController - setVisibilityAlpha: " + + mLauncher.getActionsView().getVisibilityAlpha().getValue()); float[] scaleAndOffset = toState.getOverviewScaleAndOffset(mLauncher); // As we drag right, animate the following properties: diff --git a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java index 50b69dcff4..8f8ee68d98 100644 --- a/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java +++ b/quickstep/src/com/android/quickstep/fallback/FallbackRecentsStateController.java @@ -32,6 +32,8 @@ import static com.android.quickstep.views.RecentsView.TASK_MODALNESS; import static com.android.quickstep.views.RecentsView.TASK_SECONDARY_TRANSLATION; import static com.android.quickstep.views.TaskView.FLAG_UPDATE_ALL; +import android.util.Log; + import com.android.launcher3.anim.PendingAnimation; import com.android.launcher3.anim.PropertySetter; import com.android.launcher3.statemanager.StateManager.StateHandler; @@ -82,6 +84,8 @@ public class FallbackRecentsStateController implements StateHandler extends FrameLayo } else { mHiddenFlags &= ~visibilityFlags; } + Log.v("b/193125090", + "updateHiddenFlags - visibilityFlags: " + visibilityFlags + ", enable: " + enable); boolean isHidden = mHiddenFlags != 0; mMultiValueAlpha.getProperty(INDEX_HIDDEN_FLAGS_ALPHA).setValue(isHidden ? 0 : 1); } @@ -181,6 +184,8 @@ public class OverviewActionsView extends FrameLayo mDisabledFlags &= ~disabledFlags; } // + Log.v("b/193125090", + "updateDisabledFlags - disabledFlags: " + disabledFlags + ", enable: " + enable); boolean isEnabled = (mDisabledFlags & ~DISABLED_ROTATED) == 0; LayoutUtils.setViewEnabled(this, isEnabled); } diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java index 897dfbec6d..ca4319354a 100644 --- a/quickstep/src/com/android/quickstep/views/RecentsView.java +++ b/quickstep/src/com/android/quickstep/views/RecentsView.java @@ -989,7 +989,6 @@ public abstract class RecentsView 0) { setSwipeDownShouldLaunchApp(true); @@ -1164,7 +1161,6 @@ public abstract class RecentsView 0) { mFocusedTaskId = getTaskViewAt(0).getTaskId(); - Log.d("b/193125090", "applyLoadPlan - mFocusedTaskId: " + mFocusedTaskId); } updateTaskSize(); @@ -1274,6 +1270,7 @@ public abstract class RecentsView 0) { setVisibility(VISIBLE); @@ -2756,7 +2748,6 @@ public abstract class RecentsView Date: Fri, 9 Jul 2021 17:45:19 +0100 Subject: [PATCH 100/905] Clear WidgetCell#mItem before recylcing a WidgetCell This fixes a bug which reuses a previous widget item spans to compute the preview size. Fix: 193133048 Test: manual Change-Id: I5459882e258dc010898854dbbe52a6fa8d84796c --- src/com/android/launcher3/widget/WidgetCell.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/android/launcher3/widget/WidgetCell.java b/src/com/android/launcher3/widget/WidgetCell.java index c3edcce95a..6605509c89 100644 --- a/src/com/android/launcher3/widget/WidgetCell.java +++ b/src/com/android/launcher3/widget/WidgetCell.java @@ -177,6 +177,7 @@ public class WidgetCell extends LinearLayout implements OnLayoutChangeListener { mWidgetImageContainer.removeView(mAppWidgetHostViewPreview); } mAppWidgetHostViewPreview = null; + mItem = null; } public void setSourceContainer(int sourceContainer) { From 245ff83c1ae3dd9ce2800757fc62c5c66684977d Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 11 Jul 2021 20:39:16 +0000 Subject: [PATCH 101/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I2dfcca21fa6e48a58f9368ab156718ce2a897f1c --- quickstep/res/values-az/strings.xml | 14 +++++++------- quickstep/res/values-bs/strings.xml | 20 ++++++++++---------- quickstep/res/values-fa/strings.xml | 4 ++-- quickstep/res/values-gl/strings.xml | 2 +- quickstep/res/values-hr/strings.xml | 6 +++--- quickstep/res/values-iw/strings.xml | 4 ++-- quickstep/res/values-kn/strings.xml | 4 ++-- quickstep/res/values-ky/strings.xml | 4 ++-- quickstep/res/values-mk/strings.xml | 4 ++-- quickstep/res/values-ml/strings.xml | 2 +- quickstep/res/values-or/strings.xml | 2 +- quickstep/res/values-pa/strings.xml | 4 ++-- quickstep/res/values-pt-rPT/strings.xml | 6 +++--- quickstep/res/values-sl/strings.xml | 4 ++-- quickstep/res/values-te/strings.xml | 8 ++++---- quickstep/res/values-th/strings.xml | 10 +++++----- quickstep/res/values-tr/strings.xml | 2 +- quickstep/res/values-uz/strings.xml | 6 +++--- quickstep/res/values-zh-rHK/strings.xml | 2 +- 19 files changed, 54 insertions(+), 54 deletions(-) diff --git a/quickstep/res/values-az/strings.xml b/quickstep/res/values-az/strings.xml index 18a0bceb2f..377292a56c 100644 --- a/quickstep/res/values-az/strings.xml +++ b/quickstep/res/values-az/strings.xml @@ -45,9 +45,9 @@ "Tətbiq təklifləri aktivdir" "Tətbiq təklifləri deaktivdir" "Proqnozlaşdırılan tətbiq: %1$s" - "Ekranın ən kənarından soldan sağa sürüşdürün." + "Ekranın ən kənar solundan sağa sürüşdürün." "Ekranın sol kənarından ortasına sürüşdürüb buraxın." - "Ən sağ tərəfdən sürüşdürdüyünüzə əmin olun." + "Ekranın ən kənar sağından sola sürüşdürün." "Ekranın sağ kənarından ortasına sürüşdürüb buraxın." "Geri qayıtmaq üçün soldan sürüşdürmək qaydasını öyrəndiniz." "Geri qayıtmaq üçün sağdan sürüşdürmək qaydasını öyrəndiniz. Sonra tətbiqləri keçirməyi öyrənin." @@ -58,16 +58,16 @@ "Geri qayıtmaq üçün sağdan sürüşdürün" "Son ekrana qayıtmaq üçün ekranın sol kənarından ortasına doğru sürüşdürün." "Həmçinin ekranın sağ kənarından ortasına sürüşdürərək son ekrana qayıda bilərsiniz. İndi sınayın." - "Ekranın aşağı kənarından yuxarı sürüşdürdüyünüzə əmin olun." + "Ekranın ən kənar aşağısından yuxarı sürüşdürün." "Buraxmazdan əvvəl durdurmadığınıza əmin olun." - "Birbaşa yuxarı sürüşdürdüyünüzə əmin olun." + "Birbaşa yuxarı sürüşdürün." "Əsas səhifəyə keçmə jestini tamamladınız. Sonra geri qayıtmağı öyrənin." "Əsas səhifəyə keçmə jestini tamamladınız." "Əsas səhifəyə keçmək üçün sürüşdürün" "Ekranın aşağısından yuxarısına sürüşdürün. Bu jest həmişə Əsas səhifəyə aparır." - "Ekranın aşağı kənarından yuxarı sürüşdürdüyünüzə əmin olun." - "Buraxmadan əvvəl pəncərəni daha uzun müddət saxlamağa çalışın." - "Birbaşa yuxarı sürüşdürdüyünüzə, sonra durdurduğunuza əmin olun." + "Ekranın ən kənar aşağısından yuxarı sürüşdürün." + "Barmağı buraxmadan öncə displeydə bir müddət saxlayın." + "Sürüşdürüb ekranın yuxarı kənarında saxlayın." "Jestlərdən istifadə qaydasını öyrəndiniz. Jestləri deaktiv etmək üçün Ayarlara keçin." "Tətbiqləri keçirmə jestini tamamladınız." "Tətbiqi keçirmək üçün sürüşdürün" diff --git a/quickstep/res/values-bs/strings.xml b/quickstep/res/values-bs/strings.xml index 4ec2e06317..1dc595514d 100644 --- a/quickstep/res/values-bs/strings.xml +++ b/quickstep/res/values-bs/strings.xml @@ -45,10 +45,10 @@ "Prijedlozi aplikacija su omogućeni" "Prijedlozi aplikacija su onemogućeni" "Predviđena aplikacija: %1$s" - "Obratite pažnju da prevučete s krajnjeg lijevog ruba." - "Obratite pažnju da prevučete s lijevog ruba prema sredini ekrana, a zatim pustite." - "Obratite pažnju da prevučete s krajnjeg desnog ruba." - "Obratite pažnju da prevučete s desnog ruba prema sredini ekrana, a zatim pustite." + "Trebate prevući s krajnjeg lijevog ruba." + "Trebate prevući s lijevog ruba prema sredini ekrana, a zatim pustiti." + "Trebate prevući s krajnjeg desnog ruba." + "Trebate prevući s desnog ruba prema sredini ekrana, a zatim pustiti." "Naučili ste kako prevući slijeva nadesno da se vratite." "Naučili ste kako prevući zdesna da se vratite. Sljedeće naučite kako prebacivati između aplikacija." "Završili ste pokret za vraćanje." @@ -58,16 +58,16 @@ "Prevucite prstom zdesna ulijevo da se vratite" "Da se vratite na posljednji ekran na kojem ste bili, prevucite od lijevog ruba do sredine ekrana." "Na posljednji ekran se možete vratiti i prevlačenjem od desnog ruba do sredine ekrana. Isprobajte." - "Obratite pažnju da prevučete prema gore s donjeg ruba ekrana." + "Trebate prevući prema gore s donjeg ruba ekrana." "Obratite pažnju da ne zastanete prije puštanja." - "Obratite pažnju da prevučete ravno prema gore." + "Trebate prevući ravno prema gore." "Završili ste pokret za otvaranje Početnog ekrana. Sljedeće naučite kako se vratiti." "Završili ste pokret za otvaranje Početnog ekrana." "Prevucite da odete na početni ekran" "Prevucite s dna ekrana prema gore. Tim pokretom uvijek idete na Početni ekran." - "Obratite pažnju da prevučete prema gore s donjeg ruba ekrana." + "Trebate prevući prema gore s donjeg ruba ekrana." "Pokušajte zadržati prozor duže prije puštanja." - "Obratite pažnju da prevučete ravno prema gore, a zatim zastanite." + "Trebate prevući ravno prema gore, a zatim zastati." "Naučili ste kako koristiti pokrete. Idite u Postavke da isključite pokrete." "Završili ste pokret za prebacivanje između aplikacija." "Prevucite da prebacujete između aplikacija" @@ -75,8 +75,8 @@ "Sve je spremno" "Naprijed" "Postavke" - "Pokušaj ponovo" - "Lijepo!" + "Pokušajte ponovo" + "Odlično!" "Vodič %1$d/%2$d" "Sve je spremno!" "Prevucite prema gore da odete na početnu stranicu" diff --git a/quickstep/res/values-fa/strings.xml b/quickstep/res/values-fa/strings.xml index 721b968890..b8fd926401 100644 --- a/quickstep/res/values-fa/strings.xml +++ b/quickstep/res/values-fa/strings.xml @@ -45,9 +45,9 @@ "«پیشنهاد برنامه» فعال است" "«پیشنهاد برنامه» غیرفعال است" "برنامه پیش‌بینی‌شده: %1$s" - "دقت کنید که از ابتدای لبه سمت چپ تند بکشید." + "دقت کنید که از انتهای سمت چپ لبه تند بکشید." "دقت کنید که از لبه سمت چپ تند به وسط صفحه بکشید و رها کنید." - "دقت کنید که از ابتدای لبه سمت راست تند بکشید." + "دقت کنید که از انتهای سمت راست لبه تند بکشید." "دقت کنید که از لبه سمت راست تند به وسط صفحه بکشید و رها کنید." "یاد گرفتید چگونه برای رفتن به عقب از سمت چپ تند بکشید." "یاد گرفتید چگونه برای رفتن به عقب از سمت راست تند بکشید. مورد بعدی، با نحوه جابه‌جا شدن بین برنامه‌ها آشنا شوید." diff --git a/quickstep/res/values-gl/strings.xml b/quickstep/res/values-gl/strings.xml index dca7bb6dd1..5e4164cf23 100644 --- a/quickstep/res/values-gl/strings.xml +++ b/quickstep/res/values-gl/strings.xml @@ -55,7 +55,7 @@ "Asegúrate de non pasar o dedo demasiado preto da parte inferior da pantalla." "Podes cambiar a sensibilidade do xesto en Configuración" "Pasa o dedo desde a esquerda para volver" - "Pasar o dedo desde a dereita para volver á pantalla anterior" + "Pasa o dedo desde a dereita para volver á pantalla anterior" "Para volver á última pantalla, pasa o dedo desde o bordo esquerdo ata a metade da pantalla." "Tamén podes volver pasando o dedo desde o bordo dereito ata a metade da pantalla. Próbao agora." "Asegúrate de pasar o dedo cara arriba desde o bordo inferior da pantalla." diff --git a/quickstep/res/values-hr/strings.xml b/quickstep/res/values-hr/strings.xml index c3520cbcd5..c1a3bf63a6 100644 --- a/quickstep/res/values-hr/strings.xml +++ b/quickstep/res/values-hr/strings.xml @@ -49,13 +49,13 @@ "Pazite da prijeđete prstom od lijevog ruba do sredine zaslona i podignite prst." "Pazite da prijeđete prstom od krajnjeg desnog ruba." "Pazite da prijeđete prstom od desnog ruba do sredine zaslona i podignite prst." - "Naučili ste kako prijeći prstom slijeva udesno da biste se vratili." - "Naučili ste kako prijeći prstom zdesna ulijevo da biste se vratili. Sad saznajte kako promijeniti aplikaciju." + "Naučili ste kako prijeći prstom slijeva da biste se vratili." + "Naučili ste kako prijeći prstom zdesna da biste se vratili. Sad saznajte kako promijeniti aplikaciju." "Izvršili ste pokret za povratak." "Pazite da ne prijeđete prstom preblizu dnu zaslona." "Osjetljivost pokreta povratka promijenite u postavkama" "Prijeđite prstom slijeva udesno da biste se vratili" - "Prijeđite prstom zdesna ulijevo da biste se vratili" + "Prijeđite prstom zdesna biste se vratili" "Da biste se vratili na posljednji posjećeni zaslon, prijeđite od lijevog ruba do sredine zaslona." "Na posljednji se zaslon možete vratiti i prelaskom od desnog ruba do sredine zaslona. Isprobajte odmah." "Pazite da prijeđete prstom prema gore od donjeg ruba zaslona." diff --git a/quickstep/res/values-iw/strings.xml b/quickstep/res/values-iw/strings.xml index ed69faaba5..1f5ee1e43e 100644 --- a/quickstep/res/values-iw/strings.xml +++ b/quickstep/res/values-iw/strings.xml @@ -66,7 +66,7 @@ "יש להחליק כדי לעבור למסך הבית" "החלקה למעלה מתחתית המסך תמיד תעביר אותך למסך הבית." "חשוב להקפיד להחליק למעלה מהקצה התחתון של המסך." - "יש לנסות להחזיק את החלון לזמן רב יותר לפני שמשחררים." + "אפשר להחזיק את החלון זמן רב יותר לפני שמשחררים." "חשוב להקפיד להחליק ישר למעלה ואז להמתין." "למדת איך להשתמש בתנועות. ניתן להשבית את התנועות ב\'הגדרות\'." "השלמת את תנועת המעבר בין האפליקציות." @@ -75,7 +75,7 @@ "הכול מוכן" "הבא" "הגדרות" - "אפשר לנסות שוב" + "ניסיון חוזר" "איזה יופי!" "מדריך %1$d/%2$d" "הכול מוכן!" diff --git a/quickstep/res/values-kn/strings.xml b/quickstep/res/values-kn/strings.xml index 306f153035..a1d03e60c2 100644 --- a/quickstep/res/values-kn/strings.xml +++ b/quickstep/res/values-kn/strings.xml @@ -45,9 +45,9 @@ "ಆ್ಯಪ್ ಸಲಹೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" "ಆ್ಯಪ್ ಸಲಹೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ" "ಶಿಫಾರಸು ಮಾಡಿದ ಆ್ಯಪ್: %1$s" - "ನೀವು ದೂರದ ಎಡ ಅಂಚಿನಿಂದ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." + "ನೀವು ಎಡ ಭಾಗದ ಅಂಚಿನಿಂದ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." "ಎಡ ಅಂಚಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮಧ್ಯಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ನಿಮ್ಮ ಬೆರಳನ್ನು ಮೇಲೆತ್ತಿ." - "ನೀವು ದೂರದ ಬಲ ಅಂಚಿನಿಂದ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." + "ನೀವು ಬಲ ಅಂಚಿನಿಂದ ಸ್ವೈಪ್ ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ." "ಬಲ ಅಂಚಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮಧ್ಯಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಹಾಗೂ ನಿಮ್ಮ ಬೆರಳನ್ನು ಮೇಲೆತ್ತಿ." "ಹಿಂದಕ್ಕೆ ಹೋಗಲು ಎಡದಿಂದ ಸ್ವೈಪ್ ಮಾಡುವುದು ಹೇಗೆಂದು ನೀವು ಕಲಿತಿರಿ." "ಹಿಂದೆ ಹೋಗಲು ಬಲದಿಂದ ಸ್ವೈಪ್ ಮಾಡುವುದು ಹೇಗೆಂದು ಕಲಿತಿರಿ. ಮುಂದೆ, ಆ್ಯಪ್‌ಗಳನ್ನು ಬದಲಿಸುವುದು ಹೇಗೆಂದು ತಿಳಿಯಿರಿ." diff --git a/quickstep/res/values-ky/strings.xml b/quickstep/res/values-ky/strings.xml index 7f6741596e..0590f9c7d4 100644 --- a/quickstep/res/values-ky/strings.xml +++ b/quickstep/res/values-ky/strings.xml @@ -75,7 +75,7 @@ "Дапдаяр!" "Кийинки" "Жөндөөлөр" - "Кайра аракет кылыңыз" + "Кайталап көрүңүз" "Сонун!" "Үйрөткүч: %1$d/%2$d" "Бүттү!" @@ -88,5 +88,5 @@ "Жаңсап өтүү үйрөткүчүн өт-рүп жибер-би?" "Аны кийин %1$s колдонмосунан табасыз" "Жокко чыгаруу" - "Өтк-п жиберүү" + "Өткрп жиберүү" diff --git a/quickstep/res/values-mk/strings.xml b/quickstep/res/values-mk/strings.xml index 1b924130da..0b4e87f96f 100644 --- a/quickstep/res/values-mk/strings.xml +++ b/quickstep/res/values-mk/strings.xml @@ -45,9 +45,9 @@ "Предлозите за апликации се овозможени" "Предлозите за апликации се оневозможени" "Предвидена апликација: %1$s" - "Повлечете од подалечниот лев агол." + "Влечете од левиот раб." "Повлечете од левиот раб кон средината на екранот и пуштете." - "Повлечете од подалечниот десен агол." + "Влечете од десниот раб." "Повлечете од десниот раб кон средината на екранот и пуштете." "Научивте како да повлекувате одлево за да одите назад." "Научивте како да повлекувате оддесно за да одите назад. Следно, дознајте како да се префрлате помеѓу апликации." diff --git a/quickstep/res/values-ml/strings.xml b/quickstep/res/values-ml/strings.xml index 3d9031770a..faa5dddc25 100644 --- a/quickstep/res/values-ml/strings.xml +++ b/quickstep/res/values-ml/strings.xml @@ -57,7 +57,7 @@ "മടങ്ങാൻ ഇടതുഭാഗത്ത് നിന്ന് സ്വൈപ്പ് ചെയ്യുക" "മടങ്ങാൻ വലതുഭാഗത്ത് നിന്ന് സ്വൈപ്പ് ചെയ്യുക" "നിങ്ങളുടെ മുമ്പത്തെ സ്ക്രീനിലേക്ക് മടങ്ങാൻ, സ്ക്രീനിന്റെ ഇടത്തേ അരികിൽ നിന്ന് നടുവിലേക്ക് സ്വൈപ്പ് ചെയ്യുക." - "സ്ക്രീനിന്റെ വലത്തേ അരികിൽ നിന്ന് നടുവിലേക്ക് സ്വൈപ്പ് ചെയ്തും മുൻ സ്ക്രീനിലെത്താം. ഇതിന് ശ്രമിക്കൂ." + "സ്ക്രീനിന്റെ വലത്തേ അരികിൽ നിന്ന് നടുവിലേക്ക് സ്വൈപ്പ് ചെയ്തും മുൻ സ്ക്രീനിലെത്താം. ശ്രമിച്ചുനോക്കൂ." "സ്‌ക്രീനിന്റെ താഴത്തെ അരികിൽ നിന്ന് മുകളിലേക്ക് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക." "വിടുന്നതിന് മുമ്പ് നിങ്ങൾ താൽക്കാലികമായി നിർത്തുന്നില്ലെന്ന് ഉറപ്പാക്കുക." "നേരെ മുകളിലേക്ക് സ്വെെപ്പ് ചെയ്യുന്നുണ്ടെന്ന് ഉറപ്പിക്കുക." diff --git a/quickstep/res/values-or/strings.xml b/quickstep/res/values-or/strings.xml index 24c8f74262..e2517dda6f 100644 --- a/quickstep/res/values-or/strings.xml +++ b/quickstep/res/values-or/strings.xml @@ -49,7 +49,7 @@ "ଆପଣ ସ୍କ୍ରିନର ବାମ ଧାରରୁ ମଝିକୁ ସ୍ୱାଇପ୍ କରି ଛାଡ଼ି ଦେଉଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ଆପଣ ଦୂର-ଡାହାଣ ଧାରରୁ ସ୍ୱାଇପ୍ କରୁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" "ଆପଣ ସ୍କ୍ରିନର ଡାହାଣ ଧାରରୁ ମଝିକୁ ସ୍ୱାଇପ୍ କରି ଛାଡ଼ି ଦେଉଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" - "ପଛକୁ ଫେରିବା ପାଇଁ କିପରି ବାମ ଧାରରୁ ସ୍ୱାଇପ୍ କରିବେ ତାହା ଆପଣ ଜାଣିଲେ।" + "ପଛକୁ ଫେରିବା ପାଇଁ ବାମ ପାର୍ଶ୍ଵରୁ କିପରି ସ୍ୱାଇପ୍ କରିବାକୁ ହେବ ତାହା ଆପଣ ଜାଣିଲେ।" "ଆପଣ ଡାହାଣ ଧାରରୁ ସ୍ୱାଇପ୍ କରି ପଛକୁ ଫେରିବା ଜାଣିଲେ। ତା\'ପରେ, ଆପଗୁଡ଼ିକୁ କିପରି ସ୍ୱିଚ୍ କରିବେ ତାହା ଜାଣନ୍ତୁ।" "ଆପଣ \'ପଛକୁ ଫେରନ୍ତୁ\' ଜେଶ୍ଚର୍ ସମ୍ପୂର୍ଣ୍ଣ କରିଛନ୍ତି।" "ଆପଣ ସ୍କ୍ରିନର ତଳଭାଗର ଅତି ନିକଟରୁ ସ୍ୱାଇପ୍ କରୁନଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ।" diff --git a/quickstep/res/values-pa/strings.xml b/quickstep/res/values-pa/strings.xml index 0dc125a1cf..cb2408e895 100644 --- a/quickstep/res/values-pa/strings.xml +++ b/quickstep/res/values-pa/strings.xml @@ -45,9 +45,9 @@ "ਐਪ ਸੁਝਾਵਾਂ ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਗਿਆ" "ਐਪ ਸੁਝਾਵਾਂ ਨੂੰ ਬੰਦ ਕੀਤਾ ਗਿਆ" "ਪੂਰਵ ਅਨੁਮਾਨਿਤ ਐਪ: %1$s" - "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਦੂਰ-ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" + "ਇੱਕ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਖੱਬੇ ਪਾਸੇ ਦੇ ਬਿਲਕੁਲ ਕਿਨਾਰੇ ਤੋਂ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਖੱਬੇ ਕਿਨਾਰੇ ਤੋਂ ਸਕ੍ਰੀਨ ਦੇ ਵਿਚਕਾਰ ਤੱਕ ਸਵਾਈਪ ਕਰਦੇ ਹੋ ਅਤੇ ਛੱਡ ਦਿੰਦੇ ਹੋ।" - "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਦੂਰ-ਸੱਜੇ ਕਿਨਾਰੇ ਤੋਂ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" + "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸੱਜੇ ਪਾਸੇ ਦੇ ਬਿਲਕੁਲ ਕਿਨਾਰੇ ਤੋਂ ਸਵਾਈਪ ਕਰਦੇ ਹੋ।" "ਇਹ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਸੱਜੇ ਕਿਨਾਰੇ ਤੋਂ ਸਕ੍ਰੀਨ ਦੇ ਵਿਚਕਾਰ ਤੱਕ ਸਵਾਈਪ ਕਰਦੇ ਹੋ ਅਤੇ ਛੱਡ ਦਿੰਦੇ ਹੋ।" "ਤੁਸੀਂ ਪਿੱਛੇ ਜਾਣ ਲਈ ਖੱਬੇ ਪਾਸੇ ਤੋਂ ਸਵਾਈਪ ਕਰਨ ਦਾ ਤਰੀਕਾ ਜਾਣਿਆ।" "ਤੁਸੀਂ ਪਿੱਛੇ ਜਾਣ ਲਈ ਸੱਜੇ ਪਾਸੇ ਤੋਂ ਸਵਾਈਪ ਕਰਨ ਦਾ ਤਰੀਕਾ ਜਾਣਿਆ। ਅੱਗੇ, ਐਪਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਦਾ ਤਰੀਕਾ ਜਾਣੋ।" diff --git a/quickstep/res/values-pt-rPT/strings.xml b/quickstep/res/values-pt-rPT/strings.xml index 891bcfb102..48ebd13d76 100644 --- a/quickstep/res/values-pt-rPT/strings.xml +++ b/quickstep/res/values-pt-rPT/strings.xml @@ -47,7 +47,7 @@ "App prevista: %1$s" "Deslize rapidamente com o dedo a partir da extremidade esquerda." "Garanta que desliza rapidamente com o dedo do limite esquerdo até ao centro do ecrã e solta." - "Garanta que desliza rapidamente com o dedo a partir da extremidade direita." + "Deslize rapidamente com o dedo a partir da extremidade direita." "Garanta que desliza rapidamente com o dedo do limite direito até ao centro do ecrã e solta." "Aprendeu a deslizar rapidamente a partir da esquerda para retroceder." "Aprendeu a deslizar a partir da direita para retroceder. A seguir, saiba como alternar entre apps." @@ -57,7 +57,7 @@ "Deslize rapidamente a partir da esquerda para retroceder" "Deslize rapidamente a partir da direita para retroceder" "Para voltar ao último ecrã, deslize rapidamente a partir do limite esquerdo para o centro do ecrã." - "Também pode voltar ao último ecrã ao deslizar da direita para o centro do ecrã. Experimente agora." + "Também pode voltar ao último ecrã deslizando da direita para o centro do ecrã. Experimente agora." "Garanta que desliza rapidamente com o dedo a partir do limite inferior do ecrã." "Garanta que não faz uma pausa antes de soltar." "Garanta que desliza rapidamente com o dedo para cima." @@ -65,7 +65,7 @@ "Concluiu o gesto para aceder à Página inicial." "Deslize rapidamente com o dedo para aceder à Página inicial" "Deslize rapidamente para cima a partir da parte inferior. Este gesto abre sempre o ecrã principal." - "Garanta que desliza rapidamente com o dedo a partir do limite inferior do ecrã." + "Deslize rapidamente com o dedo a partir do limite inferior do ecrã." "Experimente premir a janela durante mais tempo antes de soltar." "Garanta que desliza rapidamente com o dedo para cima e, em seguida, faz uma pausa." "Aprendeu a utilizar gestos. Para desativar os gestos, aceda às Definições." diff --git a/quickstep/res/values-sl/strings.xml b/quickstep/res/values-sl/strings.xml index ed035aa74e..b4cb706c53 100644 --- a/quickstep/res/values-sl/strings.xml +++ b/quickstep/res/values-sl/strings.xml @@ -45,9 +45,9 @@ "Predlogi aplikacij so omogočeni." "Predlogi aplikacij so onemogočeni." "Predvidena aplikacija: %1$s" - "Pazite, da ne povlečete s skrajno levega roba." + "Pazite, da povlečete s skrajno levega roba." "Pazite, da povlečete z levega roba do sredine zaslona in dvignete prst." - "Pazite, da ne povlečete s skrajno desnega roba." + "Pazite, da povlečete s skrajno desnega roba." "Pazite, da povlečete z desnega roba do sredine zaslona in dvignete prst." "Naučili ste se, kako povlečete z leve za vrnitev." "Naučili ste se, kako povlečete z desne za vrnitev. Zdaj se naučite preklapljanja med aplikacijami." diff --git a/quickstep/res/values-te/strings.xml b/quickstep/res/values-te/strings.xml index 0d18e35745..365cab7024 100644 --- a/quickstep/res/values-te/strings.xml +++ b/quickstep/res/values-te/strings.xml @@ -45,9 +45,9 @@ "యాప్ సలహాలు ఎనేబుల్ చేయబడ్డాయి" "యాప్ సూచ‌న‌లు డిజేబుల్‌ చేయబడ్డాయి" "సూచించబడిన యాప్: %1$s" - "మీరు చాలా-ఎడమ అంచు నుండి స్వైప్ చేశారని నిర్ధారించుకోండి." + "ఎడమ వైపు చిట్ట చివరి అంచు నుండి స్వయిప్ చేస్తున్నారని నిర్ధారించుకోండి." "మీరు ఎడమ అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేశారని నిర్ధారించుకోని, ఆపై మీ వేలిని ఎత్తండి." - "మీరు చాలా-కుడి అంచు నుండి స్వైప్ చేశారని నిర్ధారించుకోండి." + "కుడి వైపు చిట్ట చివరి అంచు నుండి స్వయిప్ చేస్తున్నారని నిర్ధారించుకోండి" "మీరు కుడి అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేశారని నిర్ధారించుకోని, ఆపై మీ వేలిని ఎత్తండి." "వెనుకకు వెళ్లడానికి ఎడమ నుండి ఎలా స్వైప్ చేయాలో మీరు నేర్చుకున్నారు." "వెనుకకు వెళ్లడానికి కుడి నుండి స్వైప్ ఎలానో మీకు తెలుసు. తర్వాత, యాప్‌ల మధ్య ఎలా మారాలో తెలుసుకోండి." @@ -58,14 +58,14 @@ "వెనుకకు వెళ్లడానికి కుడి వైపు నుండి స్వైప్ చేయండి" "మీరు ఉన్న చివరి స్క్రీన్‌కు తిరిగి వెళ్లడానికి, ఎడమ అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేయండి." "కుడి అంచు నుండి స్క్రీన్ మధ్యలోకి స్వైప్ చేయడం ద్వారా మీరు చివరి స్క్రీన్‌కు తిరిగి వెళ్లవచ్చు. దీన్ని ఇప్పుడే ట్రై చేయండి." - "మీరు స్క్రీన్ దిగువ అంచు నుండి పైకి స్వైప్ చేశారని నిర్ధారించుకోండి." + "మీరు స్క్రీన్ దిగువ అంచు నుండి పైకి స్వయిప్ చేస్తున్నారని నిర్ధారించుకోండి." "బయలుదేరే ముందు మీరు పాజ్ చేయకుండా చూసుకోండి." "మీరు నేరుగా పైకి స్వైప్ చేశారని నిర్ధారించుకోండి." "మీరు మొదటి ట్యాబ్‌కు వెళ్లే సంజ్ఞను పూర్తి చేశారు. తర్వాత, వెనుకకు ఎలా వెళ్లాలో తెలుసుకోండి." "మీరు మొదటి ట్యాబ్‌కు వెళ్లే సంజ్ఞను పూర్తి చేశారు." "వర్చువల్ హోమ్‌కి వెళ్లడానికి స్వైప్ చేయండి" "మీ స్క్రీన్ కింది నుండి పైకి స్వైప్ చేయి. ఈ సంజ్ఞ ఎప్పుడూ మిమ్మల్ని మొదటి స్క్రీన్‌కు తీసుకెళ్తుంది." - "మీరు స్క్రీన్ దిగువ అంచు నుండి పైకి స్వైప్ చేశారని నిర్ధారించుకోండి." + "మీరు స్క్రీన్ దిగువ అంచు నుండి పైకి స్వయిప్ చేస్తున్నారని నిర్ధారించుకోండి." "రిలీజ్ చేయడానికి ముందు విండోను ఎక్కువసేపు పట్టుకోడానికి ట్రై చేయండి." "మీరు నేరుగా స్వైప్ చేశారని నిర్ధారించుకోండి, ఆపై పాజ్ చేయండి." "మీరు సంజ్ఞలను ఎలా ఉపయోగించాలో నేర్చుకున్నారు. సంజ్ఞలను ఆఫ్ చేయడానికి, సెట్టింగ్‌లకు వెళ్లండి." diff --git a/quickstep/res/values-th/strings.xml b/quickstep/res/values-th/strings.xml index 1758589f8b..13dcb10512 100644 --- a/quickstep/res/values-th/strings.xml +++ b/quickstep/res/values-th/strings.xml @@ -45,9 +45,9 @@ "เปิดใช้แอปแนะนำแล้ว" "ปิดใช้คำแนะนำเกี่ยวกับแอปอยู่" "แอปที่คาดว่าจะใช้: %1$s" - "ตรวจสอบว่าปัดจากขอบด้านซ้ายสุด" + "ปัดจากขอบด้านซ้ายสุด" "ตรวจสอบว่าปัดจากขอบด้านซ้ายไปตรงกลางหน้าจอ แล้วยกนิ้วขึ้น" - "ตรวจสอบว่าปัดจากขอบด้านขวาสุด" + "ปัดจากขอบด้านขวาสุด" "ตรวจสอบว่าปัดจากขอบด้านขวาไปตรงกลางหน้าจอ แล้วยกนิ้วขึ้น" "คุณรู้วิธีปัดจากด้านซ้ายเพื่อย้อนกลับแล้ว" "คุณรู้วิธีปัดจากด้านขวาเพื่อย้อนกลับแล้ว ต่อไปดูวิธีสลับแอป" @@ -57,15 +57,15 @@ "ปัดจากด้านซ้ายเพื่อย้อนกลับ" "ปัดจากด้านขวาเพื่อย้อนกลับ" "หากต้องการย้อนกลับไปที่หน้าจอล่าสุดที่เปิด ให้ปัดจากขอบด้านซ้ายไปตรงกลางหน้าจอ" - "หรือจะกลับไปหน้าจอล่าสุดโดยปัดจากขอบขวาไปตรงกลางหน้าจอก็ได้ ลองเลย" - "ตรวจสอบว่าปัดขึ้นจากขอบด้านล่างของหน้าจอ" + "กลับไปหน้าจอก่อนหน้าโดยปัดจากขอบขวาไปตรงกลางหน้าจอ ลองเลย" + "ปัดขึ้นจากขอบด้านล่างของหน้าจอ" "ตรวจสอบว่าไม่มีการหยุดชั่วคราวก่อนยกนิ้วขึ้น" "ตรวจสอบว่าปัดขึ้นในแนวตรง" "คุณทำท่าทางสัมผัสเพื่อไปที่หน้าแรกเสร็จแล้ว ต่อไปดูวิธีย้อนกลับ" "คุณทำท่าทางสัมผัสเพื่อไปที่หน้าแรกเสร็จแล้ว" "ปัดเพื่อไปที่หน้าแรก" "ปัดขึ้นจากด้านล่างของหน้าจอ ท่าทางสัมผัสนี้จะนำคุณไปที่หน้าจอหลักเสมอ" - "ตรวจสอบว่าปัดขึ้นจากขอบด้านล่างของหน้าจอ" + "ปัดขึ้นจากขอบด้านล่างของหน้าจอ" "ลองแตะหน้าต่างค้างไว้นานขึ้นก่อนปล่อยนิ้ว" "ตรวจสอบว่าปัดขึ้นในแนวตรง แล้วหยุดชั่วคราว" "คุณรู้วิธีใช้ท่าทางสัมผัสแล้ว หากต้องการปิดท่าทางสัมผัส ให้ไปที่การตั้งค่า" diff --git a/quickstep/res/values-tr/strings.xml b/quickstep/res/values-tr/strings.xml index 9a8c467f74..d9b4db3620 100644 --- a/quickstep/res/values-tr/strings.xml +++ b/quickstep/res/values-tr/strings.xml @@ -73,7 +73,7 @@ "Uygulamalar arasında geçiş yapmak için kaydırma" "Ekranınızın alt tarafından yukarı doğru kaydırın, tutun ve sonra bırakın." "Hepsi bu kadar" - "Sonraki" + "İleri" "Ayarlar" "Tekrar deneyin" "Güzel!" diff --git a/quickstep/res/values-uz/strings.xml b/quickstep/res/values-uz/strings.xml index 156730dd4f..b5321706c3 100644 --- a/quickstep/res/values-uz/strings.xml +++ b/quickstep/res/values-uz/strings.xml @@ -45,9 +45,9 @@ "Ilova tavsiyalari yoqildi" "Endi ilova takliflari chiqmaydi" "Taklif etilgan ilova: %1$s" - "Barmoqni chapdagi eng chekkadan suring." + "Ekranning chap chetidan boshlab oʻngga suring." "Barmoqni ekranning chap chetidan oʻrtasigacha suring va ekrandan uzing." - "Barmoqni oʻngdagi eng chekkadan suring." + "Ekran chetidan boshlab oʻngdan chapga suring" "Barmoqni ekranning oʻng chetidan oʻrtasigacha suring va ekrandan uzing." "Ortga qaytish uchun chapdan surishni oʻrgandingiz." "Ortga qaytish uchun oʻngdan surishni oʻrgandingiz. Endi ilovalarni almashtirishni oʻrganamiz." @@ -55,7 +55,7 @@ "Barmoqni ekran pastiga yaqin surmaslikka harakat qiling." "Orqaga ishorasi sezuvchanligi Sozlamalardan oʻzgartiriladi" "Orqaga qaytish uchun chapdan suring" - "Orqaga qaytish uchun oʻngdan suring" + "Orqaga qaytish uchun oʻngdan chapga suring" "Oxirgi ekranga qaytish uchun barmoqni ekranning chap chekkasidan oʻrtasigacha suring." "Shuningdek, oʻng chetdan ekran oʻrtasiga surish orqali ham oxirgi ekranga qaytish mumkin. Hoziroq sinang." "Barmoqni ekranning pastki chetidan yuqoriga suring." diff --git a/quickstep/res/values-zh-rHK/strings.xml b/quickstep/res/values-zh-rHK/strings.xml index 5b03b023ee..81989d11ff 100644 --- a/quickstep/res/values-zh-rHK/strings.xml +++ b/quickstep/res/values-zh-rHK/strings.xml @@ -76,7 +76,7 @@ "繼續" "設定" "再試一次" - "很好!" + "做得好!" "教學課程 %1$d/%2$d" "設定完成!" "向上滑動即可前往主畫面" From 9058bab50a709c24ee233ba804df599170636513 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 11 Jul 2021 20:40:34 +0000 Subject: [PATCH 102/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I7f0f548bca06a56841f9b685535ba097a8a1a72d --- go/quickstep/res/values-af/strings.xml | 11 ++++++++-- go/quickstep/res/values-am/strings.xml | 11 ++++++++-- go/quickstep/res/values-ar/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-as/strings.xml | 11 ++++++++-- go/quickstep/res/values-az/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-b+sr+Latn/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-be/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-bg/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-bn/strings.xml | 19 +++++++++------- go/quickstep/res/values-bs/strings.xml | 11 ++++++++-- go/quickstep/res/values-ca/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-cs/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-da/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-de/strings.xml | 11 ++++++++-- go/quickstep/res/values-el/strings.xml | 11 ++++++++-- go/quickstep/res/values-en-rAU/strings.xml | 11 ++++++++-- go/quickstep/res/values-en-rCA/strings.xml | 11 ++++++++-- go/quickstep/res/values-en-rGB/strings.xml | 11 ++++++++-- go/quickstep/res/values-en-rIN/strings.xml | 11 ++++++++-- go/quickstep/res/values-en-rXC/strings.xml | 11 ++++++++-- go/quickstep/res/values-es-rUS/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-es/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-et/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-eu/strings.xml | 11 ++++++++-- go/quickstep/res/values-fa/strings.xml | 11 ++++++++-- go/quickstep/res/values-fi/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-fr-rCA/strings.xml | 20 +++++++++++++---- go/quickstep/res/values-fr/strings.xml | 11 ++++++++-- go/quickstep/res/values-gl/strings.xml | 11 ++++++++-- go/quickstep/res/values-gu/strings.xml | 19 +++++++++------- go/quickstep/res/values-hi/strings.xml | 13 ++++++++--- go/quickstep/res/values-hr/strings.xml | 11 ++++++++-- go/quickstep/res/values-hu/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-hy/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-in/strings.xml | 11 ++++++++-- go/quickstep/res/values-is/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-it/strings.xml | 11 ++++++++-- go/quickstep/res/values-iw/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ja/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ka/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-kk/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-km/strings.xml | 11 ++++++++-- go/quickstep/res/values-kn/strings.xml | 19 +++++++++------- go/quickstep/res/values-ko/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ky/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-lo/strings.xml | 11 ++++++++-- go/quickstep/res/values-lt/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-lv/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-mk/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ml/strings.xml | 11 ++++++++-- go/quickstep/res/values-mn/strings.xml | 11 ++++++++-- go/quickstep/res/values-mr/strings.xml | 11 ++++++++-- go/quickstep/res/values-ms/strings.xml | 11 ++++++++-- go/quickstep/res/values-my/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-nb/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ne/strings.xml | 11 ++++++++-- go/quickstep/res/values-nl/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-or/strings.xml | 11 ++++++++-- go/quickstep/res/values-pa/strings.xml | 19 +++++++++------- go/quickstep/res/values-pl/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-pt-rPT/strings.xml | 11 ++++++++-- go/quickstep/res/values-pt/strings.xml | 11 ++++++++-- go/quickstep/res/values-ro/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ru/strings.xml | 22 ++++++++++++++++--- go/quickstep/res/values-si/strings.xml | 11 ++++++++-- go/quickstep/res/values-sk/strings.xml | 11 ++++++++-- go/quickstep/res/values-sl/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-sq/strings.xml | 20 +++++++++++++---- go/quickstep/res/values-sr/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-sv/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-sw/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-ta/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-te/strings.xml | 11 ++++++++-- go/quickstep/res/values-th/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-tl/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-tr/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-uk/strings.xml | 22 ++++++++++++++++--- go/quickstep/res/values-ur/strings.xml | 11 ++++++++-- go/quickstep/res/values-uz/strings.xml | 11 ++++++++-- go/quickstep/res/values-vi/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-zh-rCN/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-zh-rHK/strings.xml | 11 ++++++++-- go/quickstep/res/values-zh-rTW/strings.xml | 20 +++++++++++++++-- go/quickstep/res/values-zu/strings.xml | 13 ++++++++--- 84 files changed, 1160 insertions(+), 200 deletions(-) diff --git a/go/quickstep/res/values-af/strings.xml b/go/quickstep/res/values-af/strings.xml index 36b38b0657..363eff5050 100644 --- a/go/quickstep/res/values-af/strings.xml +++ b/go/quickstep/res/values-af/strings.xml @@ -5,8 +5,15 @@ "Luister" "Vertaal" "Lens" + "HET DIT" + "KANSELLEER" + "INSTELLINGS" "Vertaal of luister na teks op skerm" "Inligting soos teks op jou skerm, webadresse en skermskote kan met Google gedeel word.\n\nGaan na ""Instellings > Programme > Verstekprogramme > Digitale Assistent-program"" om te verander watter inligting jy deel." - "KANSELLEER" - "HET DIT" + "Kies \'n assistent om hierdie kenmerk te gebruik" + "Kies \'n digitalebystandprogram in Instellings om na teks op jou skerm te luister of dit te vertaal" + "Verander jou assistent om hierdie kenmerk te gebruik" + "Verander jou digitalebystandprogram in Instellings om na teks op jou skerm te luister of dit te vertaal" + "Tik hier om na teks op hierdie skerm te luister" + "Tik hier om teks op hierdie skerm te vertaal" diff --git a/go/quickstep/res/values-am/strings.xml b/go/quickstep/res/values-am/strings.xml index 7fab663fbf..5d8a76603c 100644 --- a/go/quickstep/res/values-am/strings.xml +++ b/go/quickstep/res/values-am/strings.xml @@ -5,8 +5,15 @@ "ያዳምጡ" "ተርጉም" "ሌንስ" + "ገባኝ" + "ይቅር" + "ቅንብሮች" "በማያ ገጹ ላይ ጽሑፍን ይተረጉሙ ወይም ያዳምጡ" "እንደ በማያ ገጽዎ ላይ ያለ ጽሑፍ፣ የድር አድራሻዎች እና ቅጽበታዊ ገጽ እይታዎች ያሉ መረጃዎች ለGoogle ሊጋሩ ይችላሉ።\n\nምን መረጃ እንደሚያጋሩ ለመቀየር ወደ ""ቅንብሮች > መተግበሪያዎች > ነባሪ መተግበሪያዎች > ዲጂታል ረዳት መተግበሪያ"" ይሂዱ።" - "ይቅር" - "ገባኝ" + "ይህንን ባህሪ ለመጠቀም ረዳት ይምረጡ" + "በማያ ገጽዎ ላይ ጽሑፍን ለማዳመጥ ወይም ለመተርጎም በቅንብሮች ውስጥ የዲጂታል ረዳት መተግበሪያን ይምረጡ" + "ይህንን ባህሪ ለመጠቀም ረዳትዎን ይቀይሩ" + "በማያ ገጽዎ ላይ ጽሑፍን ለማዳመጥ ወይም ለመተርጎም በቅንብሮች ውስጥ የዲጂታል ረዳት መተግበሪያዎን ይቀይሩ" + "በዚህ ማያ ገጽ ላይ ጽሑፍ ለማዳመጥ እዚህ መታ ያድርጉ" + "በዚህ ማያ ገጽ ላይ ጽሑፍ ለመተርጎም እዚህ መታ ያድርጉ" diff --git a/go/quickstep/res/values-ar/strings.xml b/go/quickstep/res/values-ar/strings.xml index 7ea0ed051a..3f6e369e16 100644 --- a/go/quickstep/res/values-ar/strings.xml +++ b/go/quickstep/res/values-ar/strings.xml @@ -5,8 +5,24 @@ "استماع" "‏ترجمة Google" "‏عدسة Google" + + + + + + "ترجمة النص الظاهر على الشاشة أو الاستماع إليه" "‏قد تتم مشاركة معلومات مثل النص الظاهر على الشاشة وعناوين الويب ولقطات الشاشة مع Google.\n\nلتغيير المعلومات التي تتم مشاركتها، انتقِل إلى ""الإعدادات > التطبيقات > التطبيقات التلقائية > تطبيق المساعد الرقمي""." - "إلغاء" - "حسنًا" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-as/strings.xml b/go/quickstep/res/values-as/strings.xml index d5d234cb46..cd123b5643 100644 --- a/go/quickstep/res/values-as/strings.xml +++ b/go/quickstep/res/values-as/strings.xml @@ -5,8 +5,15 @@ "শুনক" "অনুবাদ কৰক" "লেন্স" + "বুজি পালোঁ" + "বাতিল কৰক" + "ছেটিং" "স্ক্ৰীনত থকা পাঠ অনুবাদ কৰক অথবা শুনক" "আপোনাৰ স্ক্ৰীনত থকা পাঠ, ৱেব ঠিকনা আৰু স্ক্ৰীনশ্বটৰ দৰে তথ্য Googleৰ সৈতে হয়তো শ্বেয়াৰ কৰা হ’ব।\n\nআপুনি কোনসমুহ তথ্য শ্বেয়াৰ কৰিব সেয়া সলনি কৰিবলৈ, ""ছেটিং > এপ্‌ > ডিফ’ল্ট এপ্‌ > ডিজিটেল সহায়ক এপ""লৈ যাওক।" - "বাতিল কৰক" - "বুজি পালোঁ" + "এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ এটা সহায়ক বাছনি কৰক" + "আপোনাৰ স্ক্ৰীনত থকা পাঠ শুনিবলৈ অথবা সেই পাঠৰ অনুবাদ কৰিবলৈ, ছেটিঙত এটা ডিজিটেল সহায়ক এপ্‌ বাছনি কৰক" + "এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ আপোনাৰ সহায়ক সলনি কৰক" + "আপোনাৰ স্ক্ৰীনত থকা পাঠ শুনিবলৈ অথবা সেই পাঠৰ অনুবাদ কৰিবলৈ, ছেটিঙত আপোনাৰ ডিজিটেল সহায়ক এপ্‌টো সলনি কৰক" + "এই স্ক্ৰীনখনত থকা পাঠ শুনিবলৈ ইয়াত টিপক" + "এই স্ক্ৰীনখনত থকা পাঠৰ অনুবাদ কৰিবলৈ ইয়াত টিপক" diff --git a/go/quickstep/res/values-az/strings.xml b/go/quickstep/res/values-az/strings.xml index 6fd0dd2cfb..1914c3b6e3 100644 --- a/go/quickstep/res/values-az/strings.xml +++ b/go/quickstep/res/values-az/strings.xml @@ -5,8 +5,24 @@ "Dinləyin" "Tərcümə" "Linza" + + + + + + "Ekrandakı mətni tərcümə edin və ya dinləyin" "Ekrandakı mətn, veb ünvanlar və ekran görüntüləri kimi məlumatlar Google ilə paylaşıla bilər.\n\nHansı məlumatların paylaşılmasını dəyişmək üçün ""Ayarlar > Tətbiqlər > Defolt tətbiqlər > Rəqəmsal assistent tətbiqi"" bölməsinə keçin." - "LƏĞV EDİN" - "ANLADIM" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-b+sr+Latn/strings.xml b/go/quickstep/res/values-b+sr+Latn/strings.xml index de76cca89d..fc574c8676 100644 --- a/go/quickstep/res/values-b+sr+Latn/strings.xml +++ b/go/quickstep/res/values-b+sr+Latn/strings.xml @@ -5,8 +5,24 @@ "Pusti" "Prevedi" "Objektiv" + + + + + + "Prevodite ili slušajte tekst na ekranu" "Informacije poput teksta na ekranu, veb-adresa i snimaka ekrana mogu da se dele sa Google-om.\n\nDa biste promenili informacije koje delite, idite u ""Podešavanja > Aplikacije > Podrazumevane aplikacije > Aplikacija digitalnog pomoćnika""." - "OTKAŽI" - "VAŽI" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-be/strings.xml b/go/quickstep/res/values-be/strings.xml index 9d8220356b..e7bfec61de 100644 --- a/go/quickstep/res/values-be/strings.xml +++ b/go/quickstep/res/values-be/strings.xml @@ -5,8 +5,24 @@ "Праслухаць" "Перакласці" "Аб\'ектыў" + + + + + + "Перакласці ці праслухаць тэкст на экране" "Такая інфармацыя з вашага экрана, як тэксты, вэб-адрасы і здымкі экрана, можа абагульвацца з Google.\n\nКаб змяніць тып інфармацыі для абагульвання, адкрыйце ""Налады > Праграмы > Стандартныя праграмы > Лічбавы памочнік""." - "СКАСАВАЦЬ" - "ЗРАЗУМЕЛА" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-bg/strings.xml b/go/quickstep/res/values-bg/strings.xml index 0408fbafc1..6b2a5f2e2e 100644 --- a/go/quickstep/res/values-bg/strings.xml +++ b/go/quickstep/res/values-bg/strings.xml @@ -5,8 +5,24 @@ "Слушане" "Превод" "Обектив" + + + + + + "Превеждане или четене на текста на екрана" "Определена информация може да бъде споделена с Google, като например текстът на екрана ви, уеб адресите и екранните снимки.\n\nЗа да промените информацията, която споделяте, отворете ""„Настройки“ > „Приложения“ > „Приложения по подразбиране“ > „Приложение за дигитален асистент“""." - "ОТКАЗ" - "РАЗБРАХ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-bn/strings.xml b/go/quickstep/res/values-bn/strings.xml index 78b9df78fd..4fb714da7a 100644 --- a/go/quickstep/res/values-bn/strings.xml +++ b/go/quickstep/res/values-bn/strings.xml @@ -5,12 +5,15 @@ "শুনুন" "অনুবাদ করুন" "লেন্স" - - - - - - - - + "বুঝেছি" + "বাতিল করুন" + "সেটিংস" + "অনুবাদ করুন বা স্ক্রিনে দেখানো টেক্সট শুনুন" + "আপনার স্ক্রিনে থাকা তথ্য যেমন ওয়েব ঠিকানা এবং স্ক্রিনশট Google-এর সাথে শেয়ার করা হতে পারে।\n\nকোন কোন তথ্য শেয়ার করবেন তা বেছে নিতে, ""সেটিংস > অ্যাপ > ডিফল্ট অ্যাপ > ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ"" বিকল্পগুলি বেছে নিন।" + "এই ফিচার ব্যবহার করতে অ্যাসিস্ট্যান্ট বেছে নিন" + "আপনার স্ক্রিনে থাকা টেক্সট শুনতে বা অনুবাদ করতে, সেটিংস থেকে ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ বেছে নিন" + "এই ফিচার ব্যবহার করতে অ্যাসিস্ট্যান্ট পরিবর্তন করুন" + "আপনার স্ক্রিনে থাকা টেক্সট শুনতে বা অনুবাদ করতে, সেটিংস থেকে ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ পরিবর্তন করুন" + "স্ক্রিনে থাকা টেক্সট শুনতে এখানে ট্যাপ করুন" + "স্ক্রিনে থাকা টেক্সট অনুবাদ করতে এখানে ট্যাপ করুন" diff --git a/go/quickstep/res/values-bs/strings.xml b/go/quickstep/res/values-bs/strings.xml index f83521e9fc..675e5b8935 100644 --- a/go/quickstep/res/values-bs/strings.xml +++ b/go/quickstep/res/values-bs/strings.xml @@ -5,8 +5,15 @@ "Poslušajte" "Prevedi" "Objektiv" + "RAZUMIJEM" + "OTKAŽI" + "POSTAVKE" "Prevedite ili slušajte tekst na ekranu" "Informacije kao što su tekst na ekranu, web adrese i snimci ekrana mogu se dijeliti s Googleom.\n\nDa promijenite koje informacije dijelite, idite u ""Postavke > Aplikacije > Zadane aplikacije > Aplikacija digitalnog asistenta""." - "OTKAŽI" - "RAZUMIJEM" + "Odaberite asistenta da koristite ovu funkciju" + "Da slušate ili prevedete tekst na ekranu, odaberite aplikaciju digitalnog asistenta u Postavkama" + "Promijenite asistenta da koristite ovu funkciju" + "Da slušate ili prevedete tekst na ekranu, promijenite aplikaciju digitalnog asistenta u Postavkama" + "Dodirnite ovdje da slušate tekst na ovom ekranu" + "Dodirnite ovdje da prevedete tekst na ovom ekranu" diff --git a/go/quickstep/res/values-ca/strings.xml b/go/quickstep/res/values-ca/strings.xml index 3320b06c0e..cb633d7969 100644 --- a/go/quickstep/res/values-ca/strings.xml +++ b/go/quickstep/res/values-ca/strings.xml @@ -5,8 +5,24 @@ "Escolta" "Tradueix" "Lens" + + + + + + "Tradueix o escolta el text en pantalla" "És possible que determinada informació es comparteixi amb Google, com ara el text en pantalla, les adreces web i les captures de pantalla.\n\nPer canviar quina informació comparteixes, ves a ""Configuració > Aplicacions > Aplicacions predeterminades > Aplicació de l\'assistent digital""." - "CANCEL·LA" - "ENTESOS" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-cs/strings.xml b/go/quickstep/res/values-cs/strings.xml index 310727eeb3..9f6906068f 100644 --- a/go/quickstep/res/values-cs/strings.xml +++ b/go/quickstep/res/values-cs/strings.xml @@ -5,8 +5,24 @@ "Poslechnout" "Přeložit" "Lens" + + + + + + "Překládejte nebo poslouchejte text na obrazovce" "S Googlem mohou být sdílena data, jako je text na obrazovce, webové adresy a snímky obrazovky.\n\nSdílená data můžete upřesnit v ""Nastavení > Aplikace > Výchozí aplikace > Aplikace digitálního asistenta""." - "ZRUŠIT" - "ROZUMÍM" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-da/strings.xml b/go/quickstep/res/values-da/strings.xml index 16b8fbbfeb..973c32014d 100644 --- a/go/quickstep/res/values-da/strings.xml +++ b/go/quickstep/res/values-da/strings.xml @@ -5,8 +5,24 @@ "Lyt" "Oversæt" "Lens" + + + + + + "Oversæt eller hør tekst på skærmen" "Oplysninger såsom tekst på din skærm, webadresser og screenshots deles muligvis med Google.\n\nHvis du vil ændre, hvilke oplysninger du deler, kan du gå til ""Indstillinger > Apps > Standardapps > App for digital assistent""." - "ANNULLER" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-de/strings.xml b/go/quickstep/res/values-de/strings.xml index f29879e4b4..3825b9d441 100644 --- a/go/quickstep/res/values-de/strings.xml +++ b/go/quickstep/res/values-de/strings.xml @@ -5,8 +5,15 @@ "Anhören" "Übersetzen" "Lens" + "OK" + "ABBRECHEN" + "EINSTELLUNGEN" "Text auf dem Bildschirm übersetzen oder anhören" "Informationen, wie Text auf deinem Bildschirm, Webadressen und Screenshots, werden möglicherweise an Google weitergegeben.\n\nWenn du ändern möchtest, welche Informationen weitergegeben werden, gehe zu ""Einstellungen > Apps > Standard-Apps > App für digitalen Assistenten""." - "ABBRECHEN" - "OK" + "Assistenten auswählen, um diese Funktion zu nutzen" + "Wenn du dir auf deinem Display Text anhören oder übersetzen lassen möchtest, wähle in den Einstellungen eine App für einen digitalen Assistenten" + "Assistenten ändern, um diese Funktion zu nutzen" + "Wenn du dir auf deinem Display Text anhören oder übersetzen lassen möchtest, ändere in den Einstellungen deine App für den digitalen Assistenten" + "Hier tippen, um dir Text auf diesem Display anzuhören" + "Hier tippen, um dir Text auf diesem Display übersetzen zu lassen" diff --git a/go/quickstep/res/values-el/strings.xml b/go/quickstep/res/values-el/strings.xml index 59cae3de6b..bfa6279f36 100644 --- a/go/quickstep/res/values-el/strings.xml +++ b/go/quickstep/res/values-el/strings.xml @@ -5,8 +5,15 @@ "Ακρόαση" "Μετάφραση" "Lens" + "ΤΟ ΚΑΤΑΛΑΒΑ" + "ΑΚΥΡΩΣΗ" + "ΡΥΘΜΙΣΕΙΣ" "Μετάφραση ή ακρόαση του κειμένου στην οθόνη" "Πληροφορίες όπως είναι το κείμενο στην οθόνη, οι διευθύνσεις ιστού και τα στιγμιότυπα οθόνης, ενδέχεται να κοινοποιηθούν στην Google.\n\nΓια να αλλάξετε τις πληροφορίες που κοινοποιείτε, μεταβείτε στις ""Ρυθμίσεις > Εφαρμογές > Προεπιλεγμένες εφαρμογές > Εφαρμογή ψηφιακού βοηθού""." - "ΑΚΥΡΩΣΗ" - "ΟΚ" + "Επιλέξτε έναν βοηθό για να χρησιμοποιήσετε αυτήν τη λειτουργία" + "Για να ακούσετε ή να μεταφράσετε κείμενο στην οθόνη σας, επιλέξτε μια εφαρμογή ψηφιακού βοηθού στις Ρυθμίσεις." + "Αλλάξτε τον βοηθό σας για να χρησιμοποιήσετε αυτήν τη λειτουργία" + "Για να ακούσετε ή να μεταφράσετε κείμενο στην οθόνη σας, αλλάξτε την εφαρμογή ψηφιακού βοηθού στις Ρυθμίσεις." + "Πατήστε εδώ για να ακούσετε το κείμενο σε αυτήν την οθόνη" + "Πατήστε εδώ για να μεταφράσετε το κείμενο σε αυτήν την οθόνη" diff --git a/go/quickstep/res/values-en-rAU/strings.xml b/go/quickstep/res/values-en-rAU/strings.xml index 54b1330686..f1d43a879a 100644 --- a/go/quickstep/res/values-en-rAU/strings.xml +++ b/go/quickstep/res/values-en-rAU/strings.xml @@ -5,8 +5,15 @@ "Listen" "Translate" "Lens" + "OK" + "CANCEL" + "SETTINGS" "Translate or listen to text on screen" "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." - "CANCEL" - "OK" + "Choose an assistant to use this feature" + "To listen to or translate text on your screen, choose a digital assistant app in settings" + "Change your assistant to use this feature" + "To listen to or translate text on your screen, change your digital assistant app in settings" + "Tap here to listen to text on this screen" + "Tap here to translate text on this screen" diff --git a/go/quickstep/res/values-en-rCA/strings.xml b/go/quickstep/res/values-en-rCA/strings.xml index 54b1330686..f1d43a879a 100644 --- a/go/quickstep/res/values-en-rCA/strings.xml +++ b/go/quickstep/res/values-en-rCA/strings.xml @@ -5,8 +5,15 @@ "Listen" "Translate" "Lens" + "OK" + "CANCEL" + "SETTINGS" "Translate or listen to text on screen" "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." - "CANCEL" - "OK" + "Choose an assistant to use this feature" + "To listen to or translate text on your screen, choose a digital assistant app in settings" + "Change your assistant to use this feature" + "To listen to or translate text on your screen, change your digital assistant app in settings" + "Tap here to listen to text on this screen" + "Tap here to translate text on this screen" diff --git a/go/quickstep/res/values-en-rGB/strings.xml b/go/quickstep/res/values-en-rGB/strings.xml index 54b1330686..f1d43a879a 100644 --- a/go/quickstep/res/values-en-rGB/strings.xml +++ b/go/quickstep/res/values-en-rGB/strings.xml @@ -5,8 +5,15 @@ "Listen" "Translate" "Lens" + "OK" + "CANCEL" + "SETTINGS" "Translate or listen to text on screen" "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." - "CANCEL" - "OK" + "Choose an assistant to use this feature" + "To listen to or translate text on your screen, choose a digital assistant app in settings" + "Change your assistant to use this feature" + "To listen to or translate text on your screen, change your digital assistant app in settings" + "Tap here to listen to text on this screen" + "Tap here to translate text on this screen" diff --git a/go/quickstep/res/values-en-rIN/strings.xml b/go/quickstep/res/values-en-rIN/strings.xml index 54b1330686..f1d43a879a 100644 --- a/go/quickstep/res/values-en-rIN/strings.xml +++ b/go/quickstep/res/values-en-rIN/strings.xml @@ -5,8 +5,15 @@ "Listen" "Translate" "Lens" + "OK" + "CANCEL" + "SETTINGS" "Translate or listen to text on screen" "Information such as text on your screen, web addresses and screenshots may be shared with Google.\n\nTo change what information you share, go to ""Settings > Apps > Default apps > Digital assistant app""." - "CANCEL" - "OK" + "Choose an assistant to use this feature" + "To listen to or translate text on your screen, choose a digital assistant app in settings" + "Change your assistant to use this feature" + "To listen to or translate text on your screen, change your digital assistant app in settings" + "Tap here to listen to text on this screen" + "Tap here to translate text on this screen" diff --git a/go/quickstep/res/values-en-rXC/strings.xml b/go/quickstep/res/values-en-rXC/strings.xml index cac376e761..c729cd845c 100644 --- a/go/quickstep/res/values-en-rXC/strings.xml +++ b/go/quickstep/res/values-en-rXC/strings.xml @@ -5,8 +5,15 @@ "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎Listen‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎Translate‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎Lens‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‎GOT IT‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‎CANCEL‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‎‎‎SETTINGS‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‎Translate or listen to text on screen‎‏‎‎‏‎" "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎Information such as text on your screen, web addresses, and screenshots may be shared with Google.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To change what information you share, go to ‎‏‎‎‏‏‎""‎‏‎‎‏‏‏‎Settings > Apps > Default apps > Digital assistant app‎‏‎‎‏‏‎""‎‏‎‎‏‏‏‎.‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎CANCEL‎‏‎‎‏‎" - "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎GOT IT‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‎‎Choose an assistant to use this feature‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎To listen to or translate text on your screen, choose a digital assistant app in Settings‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎Change your assistant to use this feature‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎To listen to or translate text on your screen, change your digital assistant app in Settings‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎Tap here to listen to text on this screen‎‏‎‎‏‎" + "‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‎Tap here to translate text on this screen‎‏‎‎‏‎" diff --git a/go/quickstep/res/values-es-rUS/strings.xml b/go/quickstep/res/values-es-rUS/strings.xml index 475366282c..e9762ddf11 100644 --- a/go/quickstep/res/values-es-rUS/strings.xml +++ b/go/quickstep/res/values-es-rUS/strings.xml @@ -5,8 +5,24 @@ "Escuchar" "Traducir" "Lens" + + + + + + "Traduce o escucha el texto que aparece en la pantalla" "Es posible que se comparta información con Google, como el texto de la pantalla, direcciones web y capturas de pantalla.\n\nPara cambiar la información que se comparte, ve a ""Configuración > Apps > Apps predeterminadas > App de asistente digital""." - "CANCELAR" - "ENTENDIDO" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-es/strings.xml b/go/quickstep/res/values-es/strings.xml index fe227d46e0..2ca750ea2e 100644 --- a/go/quickstep/res/values-es/strings.xml +++ b/go/quickstep/res/values-es/strings.xml @@ -5,8 +5,24 @@ "Escuchar" "Traducir" "Lens" + + + + + + "Traduce o escucha texto que haya en pantalla" "Se puede compartir con Google cierta información, como el texto que aparece en pantalla, direcciones web o capturas de pantalla.\n\nPara cambiar la información que compartes, ve a ""Ajustes > Aplicaciones > Aplicaciones predeterminadas > Asistente digital""." - "CANCELAR" - "ENTENDIDO" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-et/strings.xml b/go/quickstep/res/values-et/strings.xml index 40f9f15f77..5bab725a24 100644 --- a/go/quickstep/res/values-et/strings.xml +++ b/go/quickstep/res/values-et/strings.xml @@ -5,8 +5,24 @@ "Kuula" "Tõlge" "Lens" + + + + + + "Ekraanil oleva teksti tõlkimine või kuulamine" "Teavet, nagu teie ekraanil olev tekst, veebiaadressid ja ekraanipildid, võidakse jagada Google\'iga.\n\nKui soovite muuta, millist teavet jagate, avage ""Seaded > Rakendused > Vaikerakendused > Digitaalse assistendi rakendus""." - "LOOBU" - "SELGE" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-eu/strings.xml b/go/quickstep/res/values-eu/strings.xml index 8a71fd91b6..3067382779 100644 --- a/go/quickstep/res/values-eu/strings.xml +++ b/go/quickstep/res/values-eu/strings.xml @@ -5,8 +5,15 @@ "Entzun" "Itzuli" "Lens" + "ADOS" + "UTZI" + "EZARPENAK" "Itzuli edo entzun pantailako testua" "Agian pantailako testua, web-helbideak, pantaila-argazkiak eta antzeko informazioa partekatuko duzu Google-rekin.\n\nPartekatzen duzun informazioa aldatzeko, joan hona: ""Ezarpenak > Aplikazioak > Aplikazio lehenetsiak > Laguntzaile digitalaren aplikazioa""." - "UTZI" - "ADOS" + "Hautatu laguntzaile bat eginbidea erabiltzeko" + "Pantailako testua entzun edo itzultzeko, hautatu laguntzaile digitalaren aplikazio bat Ezarpenak atalean" + "Aldatu laguntzailea eginbidea erabiltzeko" + "Pantailako testua entzun edo itzultzeko, aldatu laguntzaile digitalaren aplikazioa Ezarpenak atalean" + "Sakatu hau pantailako testua entzuteko" + "Sakatu hau pantailako testua itzultzeko" diff --git a/go/quickstep/res/values-fa/strings.xml b/go/quickstep/res/values-fa/strings.xml index d07c57eaa3..2552717605 100644 --- a/go/quickstep/res/values-fa/strings.xml +++ b/go/quickstep/res/values-fa/strings.xml @@ -5,8 +5,15 @@ "گوش دادن" "ترجمه" "لنز" + "متوجه شدم" + "لغو" + "تنظیمات" "ترجمه نوشتار روی صفحه‌نمایش یا گوش دادن به آن" "‏ممکن است اطلاعاتی مثل نوشتار روی صفحه‌نمایش، نشانی‌های وب، و نماگرفت‌ها با Google هم‌رسانی شود.\n\nبرای تغییر اطلاعاتی که هم‌رسانی می‌کنید، به ""تنظیمات < برنامه‌ها < برنامه‌های پیش‌فرض < برنامه دستیار دیجیتال"" بروید." - "لغو" - "متوجه شدم" + "برای استفاده از این ویژگی، یکی از دستیارها را انتخاب کنید" + "برای گوش کردن به نوشتار در صفحه‌نمایش‌تان یا ترجمه کردن آن، یکی از برنامه‌های دستیار دیجیتالی را در «تنظیمات» انتخاب کنید" + "برای استفاده از این ویژگی، دستیارتان را تغییر دهید" + "برای گوش کردن به نوشتار در صفحه‌نمایش‌تان یا ترجمه کردن آن، برنامه دستیار دیجیتالی‌تان را در «تنظیمات» تغییر دهید" + "برای گوش کردن به نوشتار در این صفحه، اینجا ضربه بزنید" + "برای ترجمه نوشتار در این صفحه، اینجا ضربه بزنید" diff --git a/go/quickstep/res/values-fi/strings.xml b/go/quickstep/res/values-fi/strings.xml index f7b8d785f8..51a4474de9 100644 --- a/go/quickstep/res/values-fi/strings.xml +++ b/go/quickstep/res/values-fi/strings.xml @@ -5,8 +5,24 @@ "Kuuntele" "Käännä" "Lens" + + + + + + "Käännä tai kuuntele näytöllä oleva teksti" "Googlelle saatetaan jakaa näytöllä olevaa tekstiä, verkko-osoitteita, kuvakaappauksia ja muita tietoja.\n\nVoit valita jaettavat tiedot valitsemalla ""Asetukset > Sovellukset > Oletussovellukset > Digiavustajasovellus""." - "PERU" - "SELVÄ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-fr-rCA/strings.xml b/go/quickstep/res/values-fr-rCA/strings.xml index 2b1c5141d5..5ffded5fee 100644 --- a/go/quickstep/res/values-fr-rCA/strings.xml +++ b/go/quickstep/res/values-fr-rCA/strings.xml @@ -5,12 +5,24 @@ "Écouter" "Traduire" "Lentille" - + - + - + - + "Traduire ou écouter le texte à l\'écran" + "Des renseignements comme du texte sur votre écran, des adresses Web et des captures d\'écran peuvent être partagés avec Google.\n\nPour modifier les renseignements que vous partagez, accédez à ""Paramètres > Applications > Applications par défaut > Application d\'assistant numérique""." + + + + + + + + + + + diff --git a/go/quickstep/res/values-fr/strings.xml b/go/quickstep/res/values-fr/strings.xml index 88160323f0..045a8a0705 100644 --- a/go/quickstep/res/values-fr/strings.xml +++ b/go/quickstep/res/values-fr/strings.xml @@ -5,8 +5,15 @@ "Écouter" "Traduire" "Lens" + "OK" + "ANNULER" + "PARAMÈTRES" "Traduire ou écouter le texte à l\'écran" "Des informations comme le texte sur votre écran, des adresses Web et des captures d\'écran peuvent être partagées avec Google.\n\nPour modifier les types d\'informations que vous partagez, accédez à ""Paramètres > Applis > Applis par défaut > Appli d\'assistant numérique""." - "ANNULER" - "OK" + "Sélectionnez un assistant pour utiliser cette fonctionnalité" + "Pour écouter ou traduire le texte à l\'écran, sélectionnez une appli d\'assistant numérique dans \"Paramètres\"" + "Changez d\'assistant pour utiliser cette fonctionnalité" + "Pour écouter ou traduire le texte à l\'écran, modifiez l\'appli d\'assistant numérique dans \"Paramètres\"" + "Appuyez ici pour écouter le texte à l\'écran" + "Appuyez ici pour traduire le texte à l\'écran" diff --git a/go/quickstep/res/values-gl/strings.xml b/go/quickstep/res/values-gl/strings.xml index 6946cde504..0c013177bf 100644 --- a/go/quickstep/res/values-gl/strings.xml +++ b/go/quickstep/res/values-gl/strings.xml @@ -5,8 +5,15 @@ "Escoitar" "Traducir" "Lens" + "ENTENDIDO" + "CANCELAR" + "CONFIGURACIÓN" "Traducir ou escoitar o texto que aparece na pantalla" "É posible que se comparta con Google información como o texto que aparece na pantalla, os enderezos web e as capturas de pantalla.\n\nPara cambiar os datos que se comparten, vai a ""Configuración > Aplicacións > Aplicacións predeterminadas > Aplicación de asistente dixital""." - "CANCELAR" - "ENTENDIDO" + "Escolle un asistente para utilizar esta función" + "Para escoitar ou traducir o texto da pantalla, escolle unha aplicación de asistente dixital en Configuración" + "Cambia o asistente para utilizar esta función" + "Para escoitar ou traducir o texto da pantalla, cambia a aplicación de asistente dixital en Configuración" + "Tocar aquí para escoitar o texto desta pantalla" + "Tocar aquí para traducir o texto desta pantalla" diff --git a/go/quickstep/res/values-gu/strings.xml b/go/quickstep/res/values-gu/strings.xml index d3357a32b0..28a2d3852d 100644 --- a/go/quickstep/res/values-gu/strings.xml +++ b/go/quickstep/res/values-gu/strings.xml @@ -5,12 +5,15 @@ "સાંભળો" "અનુવાદ કરો" "Lens" - - - - - - - - + "સમજાઈ ગયું" + "રદ કરો" + "સેટિંગ" + "સ્ક્રીન પરની ટેક્સ્ટનો અનુવાદ કરો અથવા સાંભળો" + "તમારી સ્ક્રીન પરની ટેક્સ્ટ, વેબ ઍડ્રેસ અને સ્ક્રીનશૉટ જેવી માહિતી Google સાથે શેર કરવામાં આવી શકે છે.\n\nતમે શેર કરતા હો તેવી માહિતીમાં ફેરફાર કરવા માટે, ""સેટિંગ > ઍપ > ડિફૉલ્ટ ઍપ > ડિજિટલ Assistant ઍપ"" પર જાઓ." + "આ સુવિધાનો ઉપયોગ કરવા માટે આસિસ્ટંટ પસંદ કરો" + "તમારી સ્ક્રીન પર ટેક્સ્ટ સાંભળવા માટે અથવા તેનો અનુવાદ કરવા માટે, સેટિંગમાં જઈને ડિજિટલ આસિસ્ટંટ ઍપ પસંદ કરો" + "આ સુવિધાનો ઉપયોગ કરવા માટે તમારું આસિસ્ટંટ બદલો" + "તમારી સ્ક્રીન પર ટેક્સ્ટ સાંભળવા માટે અથવા તેનો અનુવાદ કરવા માટે, સેટિંગમાં જઈને તમારી ડિજિટલ આસિસ્ટંટ ઍપ બદલો" + "આ સ્ક્રીન પર ટેક્સ્ટ સાંભળવા માટે અહીં ટૅપ કરો" + "આ સ્ક્રીન પર ટેક્સ્ટનો અનુવાદ કરવા માટે અહીં ટૅપ કરો" diff --git a/go/quickstep/res/values-hi/strings.xml b/go/quickstep/res/values-hi/strings.xml index 0e51169e10..95a8dd8f02 100644 --- a/go/quickstep/res/values-hi/strings.xml +++ b/go/quickstep/res/values-hi/strings.xml @@ -5,8 +5,15 @@ "सुनें" "अनुवाद करें" "Google Lens" + "ठीक है" + "रद्द करें" + "सेटिंग" "स्क्रीन पर मौजूद टेक्स्ट का अनुवाद पाएं या उसे सुनें" - "आपकी स्क्रीन पर मौजूद टेक्स्ट, वेब पते, और स्क्रीनशॉट जैसी जानकारी को Google के साथ शेयर की जा सकती है.\n\nआप Google के साथ किस जानकारी को शेयर करते हैं, इसे कंट्रोल करने के लिए ""सेटिंग > ऐप्लिकेशन > डिफ़ॉल्ट ऐप्लिकेशन > डिजिटल असिस्टेंट ऐप्लिकेशन"" पर जाएं." - "रद्द करें" - "ठीक है" + "आपकी स्क्रीन पर मौजूद टेक्स्ट, वेब पते, और स्क्रीनशॉट जैसी जानकारी Google के साथ शेयर की जा सकती है.\n\nआप Google के साथ किस जानकारी को शेयर करते हैं, इसे कंट्रोल करने के लिए ""सेटिंग > ऐप्लिकेशन > डिफ़ॉल्ट ऐप्लिकेशन > डिजिटल असिस्टेंट ऐप्लिकेशन"" पर जाएं." + "इस सुविधा का इस्तेमाल करने के लिए, कोई डिजिटल असिस्टेंट ऐप्लिकेशन चुनें" + "स्क्रीन पर मौजूद टेक्स्ट का अनुवाद करने या उसे सुनने के लिए, \'सेटिंग\' में जाकर कोई डिजिटल असिस्टेंट ऐप्लिकेशन चुनें" + "इस सुविधा का इस्तेमाल करने के लिए, अपना डिजिटल असिस्टेंट ऐप्लिकेशन बदलें" + "स्क्रीन पर मौजूद टेक्स्ट का अनुवाद करने या उसे सुनने के लिए, \'सेटिंग\' में जाकर अपना डिजिटल असिस्टेंट ऐप्लिकेशन बदलें" + "स्क्रीन पर मौजूद टेक्स्ट को सुनने के लिए, यहां टैप करें" + "स्क्रीन पर मौजूद टेक्स्ट का अनुवाद करने के लिए, यहां टैप करें" diff --git a/go/quickstep/res/values-hr/strings.xml b/go/quickstep/res/values-hr/strings.xml index b8f94c62ce..bef6b71775 100644 --- a/go/quickstep/res/values-hr/strings.xml +++ b/go/quickstep/res/values-hr/strings.xml @@ -5,8 +5,15 @@ "Slušajte" "Prevedi" "Objektiv" + "SHVAĆAM" + "ODUSTANI" + "POSTAVKE" "Prevedite ili slušajte tekst na zaslonu" "Informacije kao što su tekst na vašem zaslonu, web-adrese i snimke zaslona mogu se dijeliti s Googleom.\n\nDa biste promijenili informacije koje dijelite, otvorite ""Postavke > Aplikacije > Zadane aplikacije > Aplikacija digitalnog asistenta""." - "ODUSTANI" - "SHVAĆAM" + "Odaberite asistenta za upotrebu te značajke" + "Da biste poslušali ili preveli tekst na zaslonu, odaberite aplikaciju digitalnog asistenta u postavkama" + "Promijenite asistenta da biste koristili tu značajku" + "Da biste poslušali ili preveli tekst na zaslonu, promijenite aplikaciju digitalnog asistenta u postavkama" + "Dodirnite ovdje da biste poslušali tekst na ovom zaslonu" + "Dodirnite ovdje da biste preveli tekst na ovom zaslonu" diff --git a/go/quickstep/res/values-hu/strings.xml b/go/quickstep/res/values-hu/strings.xml index bb2127c7e5..3606f9c64f 100644 --- a/go/quickstep/res/values-hu/strings.xml +++ b/go/quickstep/res/values-hu/strings.xml @@ -5,8 +5,24 @@ "Lejátszás" "Fordítás" "Lens" + + + + + + "Képernyőn megjelenő szöveg fordítása és hallgatása" "Előfordulhat, hogy a rendszer megoszt bizonyos adatokat (például képernyőn megjelenő szöveget, internetcímeket és képernyőképeket) a Google-lal.\n\nHa módosítani szeretné, hogy milyen adatokat oszt meg, lépjen a ""Beállítások és alkalmazások; Alapértelmezett alkalmazások; Digitális asszisztens app"" menüpontra." - "MÉGSE" - "ÉRTEM" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-hy/strings.xml b/go/quickstep/res/values-hy/strings.xml index 6ea56014ae..6cee921608 100644 --- a/go/quickstep/res/values-hy/strings.xml +++ b/go/quickstep/res/values-hy/strings.xml @@ -5,8 +5,24 @@ "Լսել" "Թարգմանել" "Տեսապակի" + + + + + + "Էկրանի տեքստի թարգմանություն կամ ունկնդրում" "Որոշակի տեղեկություններ (օր․՝ էկրանի տեքստը, վեբ հասցեները և սքրինշոթները) կարող են ուղարկվել Google-ին։\n\nՏեղեկությունները, որոնցով դուք կիսվում եք, կարող եք փոխել՝ անցնելով ""Կարգավորումներ > Հավելվածներ > Կանխադրված հավելվածներ > Թվային օգնականի հավելված""։" - "ՉԵՂԱՐԿԵԼ" - "ԵՂԱՎ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-in/strings.xml b/go/quickstep/res/values-in/strings.xml index e84494493e..7e240e8da6 100644 --- a/go/quickstep/res/values-in/strings.xml +++ b/go/quickstep/res/values-in/strings.xml @@ -5,8 +5,15 @@ "Dengarkan" "Terjemahkan" "Lens" + "OKE" + "BATAL" + "SETELAN" "Terjemahkan atau dengarkan teks di layar" "Informasi seperti teks di layar, alamat web, dan screenshot dapat dibagikan ke Google.\n\nUntuk mengubah informasi yang Anda bagikan, buka ""Setelan > Aplikasi > Aplikasi default > Aplikasi asisten digital""." - "BATAL" - "OKE" + "Pilih asisten untuk menggunakan fitur ini" + "Untuk mendengarkan atau menerjemahkan teks di layar, pilih aplikasi asisten digital di Setelan" + "Ubah asisten untuk menggunakan fitur ini" + "Untuk mendengarkan atau menerjemahkan teks di layar, ubah aplikasi asisten digital Anda di Setelan" + "Ketuk di sini untuk mendengarkan teks di layar ini" + "Ketuk di sini untuk menerjemahkan teks di layar ini" diff --git a/go/quickstep/res/values-is/strings.xml b/go/quickstep/res/values-is/strings.xml index 1b74853b91..ce27dbbc13 100644 --- a/go/quickstep/res/values-is/strings.xml +++ b/go/quickstep/res/values-is/strings.xml @@ -5,8 +5,24 @@ "Hlusta" "Þýða" "Linsa" + + + + + + "Þýða eða hlusta á texta á skjánum" "Mögulegt er að upplýsingum á borð við texta á skjánum, vefslóðum og skjámyndum verði deilt með Google.\n\nTil að breyta því hvaða upplýsingum þú deilir skaltu opna ""Stillingar > Forrit > Sjálfgefin forrit > Forrit stafræns hjálpara""." - "HÆTTA VIÐ" - "ÉG SKIL" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-it/strings.xml b/go/quickstep/res/values-it/strings.xml index 8a475607d4..75afcbb236 100644 --- a/go/quickstep/res/values-it/strings.xml +++ b/go/quickstep/res/values-it/strings.xml @@ -5,8 +5,15 @@ "Ascolta" "Traduttore" "Lens" + "OK" + "ANNULLA" + "IMPOSTAZIONI" "Traduci o ascolta il testo sullo schermo" "Alcune informazioni, come il testo sullo schermo, gli indirizzi web e gli screenshot, potrebbero essere condivise con Google.\n\nPer modificare quali informazioni condividere, vai a ""Impostazioni > App > App predefinite > App assistente digitale""." - "ANNULLA" - "OK" + "Scegli un assistente per usare questa funzionalità" + "Per ascoltare o tradurre il testo mostrato sullo schermo, scegli l\'app di un assistente digitale nelle Impostazioni" + "Cambia l\'assistente per usare questa funzionalità" + "Per ascoltare o tradurre il testo mostrato sullo schermo, cambia l\'app dell\'assistente digitale nelle Impostazioni" + "Tocca qui per ascoltare il testo mostrato in questa schermata" + "Tocca qui per tradurre il testo mostrato in questa schermata" diff --git a/go/quickstep/res/values-iw/strings.xml b/go/quickstep/res/values-iw/strings.xml index 7c419ede70..8166a37483 100644 --- a/go/quickstep/res/values-iw/strings.xml +++ b/go/quickstep/res/values-iw/strings.xml @@ -5,8 +5,24 @@ "האזנה" "תרגום" "Lens" + + + + + + "תרגום טקסט שמוצג במסך או האזנה לו" "‏ייתכן שישותף עם Google מידע כגון טקסט שמוצג במסך, כתובות אינטרנט וצילומי מסך.\n\nכדי לקבוע איזה מידע ישותף, יש לעבור אל ""הגדרות > אפליקציות &gt אפליקציות ברירת מחדל > אפליקציית עוזר דיגיטלי""." - "ביטול" - "הבנתי" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ja/strings.xml b/go/quickstep/res/values-ja/strings.xml index 06066027dc..bc428b110e 100644 --- a/go/quickstep/res/values-ja/strings.xml +++ b/go/quickstep/res/values-ja/strings.xml @@ -5,8 +5,24 @@ "聴く" "翻訳" "レンズ" + + + + + + "画面上のテキストを翻訳または聞く" "画面上のテキスト、ウェブアドレス、スクリーンショットなどの情報が Google と共有される場合があります。\n\n共有される情報を変更するには、""[設定] > [アプリ] > [デフォルトのアプリ] > [デジタル アシスタント アプリ]"" に移動してください。" - "キャンセル" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ka/strings.xml b/go/quickstep/res/values-ka/strings.xml index 4747e036c3..adf3e6b029 100644 --- a/go/quickstep/res/values-ka/strings.xml +++ b/go/quickstep/res/values-ka/strings.xml @@ -5,8 +5,24 @@ "მოსმენა" "თარგმნა" "Lens" + + + + + + "თარგმნეთ ან მოისმინეთ ეკრანზე ნაჩვენები ტექსტი" "ისეთი ინფორმაცია, როგორიც არის ტექსტი თქვენს ეკრანზე, ვებ-მისამართები და ეკრანის ანაბეჭდები შეიძლება გაზიარდეს Google-თან.\n\nთუ გსურთ, შეცვალოთ, რა ინფორმაციას აზიარებთ, გადადით: ""პარამეტრები > აპები > ნაგულისხმევი აპები > ციფრული ასისტენტის აპი""." - "გაუქმება" - "გასაგებია" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-kk/strings.xml b/go/quickstep/res/values-kk/strings.xml index d3f7e0cdf8..8a3aedbc07 100644 --- a/go/quickstep/res/values-kk/strings.xml +++ b/go/quickstep/res/values-kk/strings.xml @@ -5,8 +5,24 @@ "Тыңдау" "Аудару" "Объектив" + + + + + + "Экрандағы мәтінді аудару немесе тыңдау" "Экрандағы мәтін, веб-мекенжайлар мен скриншоттар сияқты ақпарат Google-мен бөлісілуі мүмкін.\n\nБөлісілетін ақпаратты өзгерту үшін ""Параметрлер > Қолданбалар > Әдепкі қолданбалар > Цифрлық көмекші қолданбасы"" тармағына өтіңіз." - "БАС ТАРТУ" - "ТҮСІНДІМ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-km/strings.xml b/go/quickstep/res/values-km/strings.xml index 09d4a84a75..b44ff0a104 100644 --- a/go/quickstep/res/values-km/strings.xml +++ b/go/quickstep/res/values-km/strings.xml @@ -5,8 +5,15 @@ "ស្តាប់" "បកប្រែ" "Lens" + "យល់ហើយ" + "បោះបង់" + "ការកំណត់" "បកប្រែ ឬស្ដាប់អត្ថបទ​នៅលើអេក្រង់" "ព័ត៌មានដូចជា អត្ថបទនៅលើ​អេក្រង់របស់អ្នក អាសយដ្ឋានទំព័រ និងរូបថតអេក្រង់​​អាចនឹងត្រូវបានចែក​រំលែកជាមួយ Google។\n\nដើម្បីប្ដូរព័ត៌មាន​ដែលអ្នកចែករំលែក សូមចូលទៅកាន់""ការកំណត់ > កម្មវិធី > កម្មវិធីលំនាំដើម > កម្មវិធីជំនួយការឌីជីថល""។" - "បោះបង់" - "យល់ហើយ" + "ជ្រើសរើស​ជំនួយការ ដើម្បីប្រើ​មុខងារនេះ" + "ដើម្បីស្ដាប់ ឬបកប្រែ​អត្ថបទ​នៅលើ​អេក្រង់របស់អ្នក សូមជ្រើសរើស​កម្មវិធី​ជំនួយការឌីជីថល​នៅក្នុង​ការកំណត់" + "ប្ដូរជំនួយការ​របស់អ្នក ដើម្បីប្រើ​មុខងារនេះ" + "ដើម្បីស្ដាប់ ឬបកប្រែ​អត្ថបទ​នៅលើ​អេក្រង់របស់អ្នក សូមប្ដូរ​កម្មវិធី​ជំនួយការឌីជីថល​របស់អ្នក​នៅក្នុង​ការកំណត់" + "ចុចត្រង់នេះ ដើម្បីស្ដាប់​អត្ថបទ​នៅលើ​អេក្រង់នេះ" + "ចុចត្រង់នេះ ដើម្បីបកប្រែ​អត្ថបទ​នៅលើ​អេក្រង់នេះ" diff --git a/go/quickstep/res/values-kn/strings.xml b/go/quickstep/res/values-kn/strings.xml index 4f1c9cd72e..4621437d17 100644 --- a/go/quickstep/res/values-kn/strings.xml +++ b/go/quickstep/res/values-kn/strings.xml @@ -5,12 +5,15 @@ "ಆಲಿಸಿ" "ಅನುವಾದಿಸಿ" "Lens" - - - - - - - - + "ಅರ್ಥವಾಯಿತು" + "ರದ್ದುಗೊಳಿಸಿ" + "ಸೆಟ್ಟಿಂಗ್‌ಗಳು" + "ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವ ಪಠ್ಯವನ್ನು ಅನುವಾದಿಸಿ ಅಥವಾ ಆಲಿಸಿ" + "ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವ ಪಠ್ಯ, ವೆಬ್ ವಿಳಾಸಗಳು, ಮತ್ತು ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ಗಳಂತಹ ಮಾಹಿತಿಯನ್ನು Google ಜೊತೆಗೆ ಹಂಚಿಕೊಳ್ಳಬಹುದು.\n\nನೀವು ಯಾವ ಮಾಹಿತಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತೀರಿ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸಲು, ""ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಡೀಫಾಲ್ಟ್ ಆ್ಯಪ್‌ಗಳು, ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಎಂಬಲ್ಲಿ ಹೋಗಿ""." + "ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಲು Assistant ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ" + "ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿರುವ ಪಠ್ಯವನ್ನು ಆಲಿಸಲು ಅಥವಾ ಅನುವಾದಿಸಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ" + "ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಳಸಲು ನಿಮ್ಮ Assistant ಅನ್ನು ಬದಲಾಯಿಸಿ" + "ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿರುವ ಪಠ್ಯವನ್ನು ಆಲಿಸಲು ಅಥವಾ ಅನುವಾದಿಸಲು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಬದಲಾಯಿಸಿ" + "ಈ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿರುವ ಪಠ್ಯವನ್ನು ಆಲಿಸಲು ಇಲ್ಲಿ ಟ್ಯಾಪ್ ಮಾಡಿ" + "ಈ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿರುವ ಪಠ್ಯವನ್ನು ಅನುವಾದಿಸಲು ಇಲ್ಲಿ ಟ್ಯಾಪ್ ಮಾಡಿ" diff --git a/go/quickstep/res/values-ko/strings.xml b/go/quickstep/res/values-ko/strings.xml index 506a802fc4..58e2278875 100644 --- a/go/quickstep/res/values-ko/strings.xml +++ b/go/quickstep/res/values-ko/strings.xml @@ -5,8 +5,24 @@ "듣기" "번역" "렌즈" + + + + + + "화면의 텍스트 번역 또는 듣기" "화면의 텍스트, 웹 주소, 스크린샷과 같은 정보가 Google과 공유될 수 있습니다.\n\n공유되는 정보를 변경하려면 ""설정 > 앱 > 기본 앱 > 디지털 어시스턴트 앱""으로 이동하세요." - "취소" - "확인" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ky/strings.xml b/go/quickstep/res/values-ky/strings.xml index b0d5c50318..0f56c9bbb6 100644 --- a/go/quickstep/res/values-ky/strings.xml +++ b/go/quickstep/res/values-ky/strings.xml @@ -5,8 +5,24 @@ "Угуу" "Которуу" "Lens" + + + + + + "Экрандагы текстти которуу же угуу" "Экрандагы текст, веб-даректер жана скриншоттор сыяктуу маалымат Google менен бөлүшүлүшү мүмкүн.\n\nБөлүшүлгөн маалыматты өзгөртүү үчүн""Жөндөөлөр > Колдонмолор > Демейки колдонмолор > Санариптик жардамчы колдонмосуна өтүңүз""." - "ЖОККО ЧЫГАРУУ" - "ТҮШҮНДҮМ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-lo/strings.xml b/go/quickstep/res/values-lo/strings.xml index c391fee459..f2c6ffacc7 100644 --- a/go/quickstep/res/values-lo/strings.xml +++ b/go/quickstep/res/values-lo/strings.xml @@ -5,8 +5,15 @@ "ຟັງ" "ແປພາສາ" "Lens" + "ເຂົ້າໃຈແລ້ວ" + "ຍົກເລີກ" + "ການຕັ້ງຄ່າ" "ແປພາສາ ຫຼື ຟັງຂໍ້ຄວາມຢູ່ໜ້າຈໍ" "ຂໍ້ມູນ ເຊັ່ນ: ຂໍ້ຄວາມຢູ່ໜ້າຈໍຂອງທ່ານ, ທີ່ຢູ່ເວັບ ແລະ ຮູບໜ້າຈໍອາດຖືກແບ່ງປັນໃຫ້ກັບ Google.\n\nເພື່ອປ່ຽນແປງຂໍ້ມູນທີ່ທ່ານແບ່ງປັນ, ໃຫ້ເຂົ້າໄປ ""ການຕັ້ງຄ່າ > ແອັບ > ແອັບເລີ່ມຕົ້ນ > ແອັບຜູ້ຊ່ວຍດິຈິຕອນ""." - "ຍົກເລີກ" - "ເຂົ້າໃຈແລ້ວ" + "ເລືອກຜູ້ຊ່ວຍເພື່ອໃຊ້ຄຸນສົມບັດນີ້" + "ເພື່ອຟັງ ຫຼື ແປຂໍ້ຄວາມຢູ່ໜ້າຈໍຂອງທ່ານ, ໃຫ້ເລືອກຜູ້ຊ່ວຍດິຈິຕອນໃດໜຶ່ງໃນການຕັ້ງຄ່າ" + "ປ່ຽນຜູ້ຊ່ວຍຂອງທ່ານເພື່ອໃຊ້ຄຸນສົມບັດນີ້" + "ເພື່ອຟັງ ຫຼື ແປຂໍ້ຄວາມຢູ່ໜ້າຈໍຂອງທ່ານ, ໃຫ້ປ່ຽນຜູ້ຊ່ວຍດິຈິຕອນຂອງທ່ານໃນການຕັ້ງຄ່າ" + "ແຕະບ່ອນນີ້ເພື່ອຟັງຂໍ້ຄວາມຢູ່ໜ້າຈໍນີ້" + "ແຕະບ່ອນນີ້ເພື່ອແປຂໍ້ຄວາມຢູ່ໜ້າຈໍນີ້" diff --git a/go/quickstep/res/values-lt/strings.xml b/go/quickstep/res/values-lt/strings.xml index 11f471c511..e1b4d97e74 100644 --- a/go/quickstep/res/values-lt/strings.xml +++ b/go/quickstep/res/values-lt/strings.xml @@ -5,8 +5,24 @@ "Klausyti" "Išversti" "Lens" + + + + + + "Ekrane esančio teksto vertimas arba klausymas" "Tam tikra informacija, pvz., ekrane esantis tekstas, žiniatinklio adresai ir ekrano kopijos, gali būti bendrinama su „Google“.\n\nJei norite pakeisti, kokia informacija gali būti bendrinama, eikite į ""„Nustatymai“ > „Programos“ > „Numatytosios programos“ > „Skaitmeninio pagelbiklio programa“""." - "ATŠAUKTI" - "SUPRATAU" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-lv/strings.xml b/go/quickstep/res/values-lv/strings.xml index 1918cbfb4b..a697ccb3d1 100644 --- a/go/quickstep/res/values-lv/strings.xml +++ b/go/quickstep/res/values-lv/strings.xml @@ -5,8 +5,24 @@ "Klausīties" "Tulkot" "Lens" + + + + + + "Ekrānā redzamā teksta atskaņošana vai tulkošana" "Ar uzņēmumu Google var tikt kopīgota noteikta informācija, piemēram, ekrānā redzamais teksts, tīmekļa adreses un ekrānuzņēmumi.\n\nLai mainītu kopīgotās informācijas veidu, atveriet sadaļu ""Iestatījumi > Lietotnes > Noklusējuma lietotnes > Digitālā asistenta lietotne""." - "ATCELT" - "LABI" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-mk/strings.xml b/go/quickstep/res/values-mk/strings.xml index fea375348e..5560e119ac 100644 --- a/go/quickstep/res/values-mk/strings.xml +++ b/go/quickstep/res/values-mk/strings.xml @@ -5,8 +5,24 @@ "Слушај" "Преведи" "Lens" + + + + + + "Преведете или слушајте текст на екранот" "Информациите како текст на екранот, интернет-адреси и слики од екранот може да се споделуваат со Google.\n\nЗа да промените кои информации ќе се споделуваат, одете во ""Поставки > Апликации > Стандардни апликации > Апликација за дигитален помошник""." - "ОТКАЖИ" - "СФАТИВ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ml/strings.xml b/go/quickstep/res/values-ml/strings.xml index 05083d8baa..04e8b0aa41 100644 --- a/go/quickstep/res/values-ml/strings.xml +++ b/go/quickstep/res/values-ml/strings.xml @@ -5,8 +5,15 @@ "കേൾക്കുക" "വിവർത്തനം ചെയ്യുക" "ലെൻസ്" + "മനസ്സിലായി" + "റദ്ദാക്കുക" + "ക്രമീകരണം" "സ്ക്രീനിലെ ടെക്സ്റ്റ് വിവർത്തനം ചെയ്യുകയോ കേൾക്കുകയോ ചെയ്യുക" "നിങ്ങളുടെ സ്ക്രീനിലെ ടെക്സ്റ്റ്, വെബ് വിലാസങ്ങൾ, സ്ക്രീൻഷോട്ടുകൾ എന്നിവ പോലുള്ള വിവരങ്ങൾ Google-മായി പങ്കിട്ടേക്കാം.\n\nനിങ്ങൾ പങ്കിടുന്ന വിവരങ്ങൾ മാറ്റാൻ, ""ക്രമീകരണ > ആപ്പുകൾ > ഡിഫോൾട്ട് ആപ്പുകൾ > ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ്"" എന്നതിലേക്ക് പോകുക." - "റദ്ദാക്കുക" - "മനസ്സിലായി" + "ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, ഒരു അസിസ്‌റ്റന്റ് തിരഞ്ഞെടുക്കുക" + "നിങ്ങളുടെ സ്ക്രീനിലുള്ള ടെക്‌സ്‌റ്റ് കേൾക്കാനോ വിവർത്തനം ചെയ്യാനോ, ക്രമീകരണത്തിൽ നിന്ന് ഒരു ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ് തിരഞ്ഞെടുക്കുക" + "ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ അസിസ്‌റ്റന്റ് മാറ്റുക" + "നിങ്ങളുടെ സ്ക്രീനിലുള്ള ടെക്‌സ്‌റ്റ് കേൾക്കാനോ വിവർത്തനം ചെയ്യാനോ, ക്രമീകരണത്തിലെ നിങ്ങളുടെ ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ് മാറ്റുക" + "ഈ സ്ക്രീനിലെ ടെക്‌സ്‌റ്റ് കേൾക്കാൻ, ഇവിടെ ടാപ്പ് ചെയ്യുക" + "ഈ സ്ക്രീനിലെ ടെക്‌സ്‌റ്റ് വിവർത്തനം ചെയ്യാൻ, ഇവിടെ ടാപ്പ് ചെയ്യുക" diff --git a/go/quickstep/res/values-mn/strings.xml b/go/quickstep/res/values-mn/strings.xml index 0a1dacb507..cf20677db6 100644 --- a/go/quickstep/res/values-mn/strings.xml +++ b/go/quickstep/res/values-mn/strings.xml @@ -5,8 +5,15 @@ "Сонсох" "Орчуулах" "Дуран" + "ОЙЛГОЛОО" + "ЦУЦЛАХ" + "ТОХИРГОО" "Дэлгэц дээрх текстийг орчуулах эсвэл сонсох" "Таны дэлгэц дээрх текст, веб хаяг, дэлгэцийн агшин зэрэг мэдээллийг Google-тэй хуваалцаж болзошгүй.\n\nТа ямар мэдээлэл хуваалцахаа өөрчлөхийн тулд ""Тохиргоо > Апп > Өгөгдмөл апп > Дижитал туслах апп"" руу очно уу." - "ЦУЦЛАХ" - "ОЙЛГОЛОО" + "Энэ онцлогийг ашиглахын тулд туслах сонгоно уу" + "Дэлгэц дээрээ текст сонсох эсвэл орчуулахын тулд Тохиргоо хэсэгт дижитал туслах аппыг сонгоно уу" + "Энэ онцлогийг ашиглахын тулд туслахаа өөрчилнө үү" + "Дэлгэц дээрээ текст сонсох эсвэл орчуулахын тулд Тохиргоо хэсэгт дижитал туслах аппаа өөрчилнө үү" + "Энэ дэлгэц дээр текст сонсохын тулд энд товшино уу" + "Энэ дэлгэц дээр текст орчуулахын тулд энд товшино уу" diff --git a/go/quickstep/res/values-mr/strings.xml b/go/quickstep/res/values-mr/strings.xml index c51a780e84..e190359da2 100644 --- a/go/quickstep/res/values-mr/strings.xml +++ b/go/quickstep/res/values-mr/strings.xml @@ -5,8 +5,15 @@ "ऐका" "भाषांतर करा" "Lens" + "समजले" + "रद्द करा" + "सेटिंग्ज" "स्क्रीनवरील मजकूर भाषांतरित करा किंवा ऐका" "तुमच्या स्क्रीनवरील मजकूर, वेब अ‍ॅड्रेस आणि स्क्रीनशॉट यांसारखी माहिती Google सह शेअर केली जाऊ शकते.\n\nतुम्ही कोणती माहिती शेअर करता हे बदलण्यासाठी ""सेटिंग्ज > ॲप्स > डीफॉल्ट ॲप्स > डिजिटल असिस्टंट ॲपवर जा""." - "रद्द करा" - "समजले" + "हे वैशिष्ट्य वापरण्यासाठी तुमचे असिस्टंट निवडा" + "तुमच्या स्क्रीनवरील मजकूर ऐकण्यासाठी किंवा भाषांतर करण्यासाठी, सेटिंग्ज मध्ये तुमचे डिजिटल असिस्टंट अ‍ॅप निवडा" + "हे वैशिष्ट्य वापरण्यासाठी असिस्टंट बदला" + "तुमच्या स्क्रीनवरील मजकूर ऐकण्यासाठी किंवा भाषांतर करण्यासाठी, सेटिंग्ज मध्ये तुमचे डिजिटल असिस्टंट अ‍ॅप बदला" + "या स्क्रीनवरील मजकूर ऐकण्यासाठी येथे टॅप करा" + "या स्क्रीनवरील मजकुराचे भाषांतर करण्यासाठी येथे टॅप करा" diff --git a/go/quickstep/res/values-ms/strings.xml b/go/quickstep/res/values-ms/strings.xml index 64c6bff927..8169256bfb 100644 --- a/go/quickstep/res/values-ms/strings.xml +++ b/go/quickstep/res/values-ms/strings.xml @@ -5,8 +5,15 @@ "Dengar" "Terjemah" "Kanta" + "OK" + "BATAL" + "TETAPAN" "Terjemahkan atau dengar teks pada skrin" "Maklumat seperti teks pada skrin anda, alamat web dan tangkapan skrin boleh dikongsi dengan Google.\n\nUntuk menukar maklumat yang anda kongsi, pergi ke ""Tetapan > Apl > Apl lalai > Apl pembantu digital""." - "BATAL" - "OK" + "Pilih pembantu untuk menggunakan ciri ini" + "Untuk mendengar atau menterjemahkan teks pada skrin anda, pilih apl pembantu digital dalam Tetapan" + "Tukar pembantu anda untuk menggunakan ciri ini" + "Untuk mendengar atau menterjemahkan teks pada skrin anda, tukar apl pembantu digital anda dalam Tetapan" + "Ketik di sini untuk mendengar teks pada skrin ini" + "Ketik di sini untuk menterjemahkan teks pada skrin ini" diff --git a/go/quickstep/res/values-my/strings.xml b/go/quickstep/res/values-my/strings.xml index eafa50da61..6e0e78a1f5 100644 --- a/go/quickstep/res/values-my/strings.xml +++ b/go/quickstep/res/values-my/strings.xml @@ -5,8 +5,24 @@ "နားထောင်ရန်" "ဘာသာပြန်ရန်" "Lens" + + + + + + "ဖန်သားပြင်ပေါ်ရှိ စာသားကို ဘာသာပြန်ပါ (သို့) နားထောင်ပါ" "သင့်ဖန်သားပြင်ပေါ်ရှိ စာသား၊ ဝဘ်လိပ်စာနှင့် ဖန်သားပြင်ဓာတ်ပုံများကဲ့သို့ အချက်အလက်များကို Google နှင့် မျှဝေနိုင်သည်။\n\nသင်မျှဝေသည့် အချက်အလက်များကို ပြောင်းရန် ""ဆက်တင်များ > အက်ပ်များ > မူရင်းအက်ပ်များ > ဒစ်ဂျစ်တယ် Assistant အက်ပ်"" သို့ သွားပါ။" - "မလုပ်တော့" - "ရပြီ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-nb/strings.xml b/go/quickstep/res/values-nb/strings.xml index e4cedd6d30..f21b7a5600 100644 --- a/go/quickstep/res/values-nb/strings.xml +++ b/go/quickstep/res/values-nb/strings.xml @@ -5,8 +5,24 @@ "Lytt" "Oversett" "Lens" + + + + + + "Oversett eller lytt til tekst på skjermen" "Informasjon som tekst på skjermen, nettadresser og skjermdumper kan deles med Google.\n\nFor å endre hvilken informasjon du deler, gå til ""Innstillinger > Apper > Standardapper > Digital assistent-app""." - "AVBRYT" - "GREIT" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ne/strings.xml b/go/quickstep/res/values-ne/strings.xml index 56ebbf3728..cd1ee06001 100644 --- a/go/quickstep/res/values-ne/strings.xml +++ b/go/quickstep/res/values-ne/strings.xml @@ -5,8 +5,15 @@ "सुन्नुहोस्" "अनुवाद गर्नुहोस्" "लेन्स" + "बुझेँ" + "रद्द गर्नुहोस्" + "सेटिङ" "स्क्रिनमा देखिने पाठ अनुवाद गरियोस् वा पढेर सुनाइयोस्" "तपाईंको स्क्रिनमा देखिने पाठ, वेब ठेगाना र स्क्रिनसटलगायतका जानकारी Google सँग सेयर गर्न सकिन्छ।\n\nकुन कुन जानकारी सेयर गर्न दिने भन्ने सेटिङ बदल्न ""सेटिङ > एप > डिफल्ट एप > डिजिटल सहायक एप"" मा जानुहोस्।" - "रद्द गर्नुहोस्" - "बुझेँ" + "तपाईं यो सुविधा चलाउन चाहनुहुन्छ भने कुनै सहायक छनौट गर्नुहोस्" + "तपाईं आफ्नो स्क्रिनमा देखिने पाठ सुन्न वा अनुवाद गर्न चाहनुहुन्छ भने सेटिङमा गई कुनै डिजिटल सहायक एप छनौट गर्नुहोस्" + "तपाईं यो सुविधा चलाउन चाहनुहुन्छ भने आफ्नो सहायक परिवर्तन गर्नुहोस्" + "तपाईं आफ्नो स्क्रिनमा देखिने पाठ सुन्न वा अनुवाद गर्न चाहनुहुन्छ भने सेटिङमा गई कुनै डिजिटल सहायक एप परिर्वर्तन गर्नुहोस्" + "तपाईं यो स्क्रिनमा देखिने पाठ सुन्न चाहनुहुन्छ यहाँ ट्याप गर्नुहोस्" + "तपाईं यो स्क्रिनमा देखिने पाठ अनुवाद गर्न चाहनुहुन्छ यहाँ ट्याप गर्नुहोस्" diff --git a/go/quickstep/res/values-nl/strings.xml b/go/quickstep/res/values-nl/strings.xml index 63a38cb4cd..3cf93be68b 100644 --- a/go/quickstep/res/values-nl/strings.xml +++ b/go/quickstep/res/values-nl/strings.xml @@ -5,8 +5,24 @@ "Luisteren" "Vertalen" "Lens" + + + + + + "Tekst op het scherm vertalen of beluisteren" "Informatie zoals tekst op je scherm, webadressen en screenshots kan met Google worden gedeeld.\n\nAls je wilt aanpassen welke informatie je deelt, ga je naar ""Instellingen > Apps > Standaard-apps > Digitale-assistent-app""." - "ANNULEREN" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-or/strings.xml b/go/quickstep/res/values-or/strings.xml index 06933750c0..df8febf331 100644 --- a/go/quickstep/res/values-or/strings.xml +++ b/go/quickstep/res/values-or/strings.xml @@ -5,8 +5,15 @@ "ଶୁଣନ୍ତୁ" "ଅନୁବାଦ କରନ୍ତୁ" "Lens" + "ବୁଝିଗଲି" + "ବାତିଲ୍ କରନ୍ତୁ" + "ସେଟିଂସ୍" "ସ୍କିନରେ ଥିବା ଟେକ୍ସଟକୁ ଅନୁବାଦ କରନ୍ତୁ କିମ୍ବା ଶୁଣନ୍ତୁ" "ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଟେକ୍ସଟ୍, ୱେବ୍ ଠିକଣା ଏବଂ ସ୍କ୍ରିନସଟଗୁଡ଼ିକ ପରି ସୂଚନାକୁ Google ସହ ସେୟାର୍ କରାଯାଇପାରେ।\n\nଆପଣ କେଉଁ ସୂଚନା ସେୟାର୍ କରନ୍ତି ତାହା ପରିବର୍ତ୍ତନ କରିବାକୁ, ""ସେଟିଂସ୍ > ଆପ୍ସ > ଡିଫଲ୍ଟ ଆପ୍ସ > ଡିଜିଟାଲ୍ ଆସିଷ୍ଟାଣ୍ଟ ଆପ""କୁ ଯାଆନ୍ତୁ।" - "ବାତିଲ୍ କରନ୍ତୁ" - "ବୁଝିଗଲି" + "ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ ଏକ ଆସିଷ୍ଟାଣ୍ଟ ବାଛନ୍ତୁ" + "ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ଟେକ୍ସଟକୁ ଶୁଣିବା ପାଇଁ କିମ୍ବା ଅନୁବାଦ କରିବାକୁ, ସେଟିଂସରେ ଏକ ଡିଜିଟାଲ୍ ଆସିଷ୍ଟାଣ୍ଟ ଆପ୍ ଚୟନ କରନ୍ତୁ" + "ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବା ପାଇଁ ଆପଣଙ୍କ ଆସିଷ୍ଟାଣ୍ଟକୁ ବଦଳାନ୍ତୁ" + "ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ଟେକ୍ସଟକୁ ଶୁଣିବା ପାଇଁ କିମ୍ବା ଅନୁବାଦ କରିବାକୁ, ସେଟିଂସରେ ଆପଣଙ୍କ ଡିଜିଟାଲ୍ ଆସିଷ୍ଟାଣ୍ଟ ଆପକୁ ବଦଳାନ୍ତୁ" + "ଏହି ସ୍କ୍ରିନରେ ଥିବା ଟେକ୍ସଟକୁ ଶୁଣିବା ପାଇଁ ଏଠାରେ ଟାପ୍ କରନ୍ତୁ" + "ଏହି ସ୍କ୍ରିନରେ ଥିବା ଟେକ୍ସଟକୁ ଅନୁବାଦ କରିବା ପାଇଁ ଏଠାରେ ଟାପ୍ କରନ୍ତୁ" diff --git a/go/quickstep/res/values-pa/strings.xml b/go/quickstep/res/values-pa/strings.xml index 1854ea7277..c3bc875b51 100644 --- a/go/quickstep/res/values-pa/strings.xml +++ b/go/quickstep/res/values-pa/strings.xml @@ -5,12 +5,15 @@ "ਸੁਣੋ" "ਅਨੁਵਾਦ ਕਰੋ" "Lens" - - - - - - - - + "ਸਮਝ ਲਿਆ" + "ਰੱਦ ਕਰੋ" + "ਸੈਟਿੰਗਾਂ" + "ਸਕ੍ਰੀਨ \'ਤੇ ਦਿੱਤੀ ਲਿਖਤ ਦਾ ਅਨੁਵਾਦ ਕਰੋ ਜਾਂ ਉਸਨੂੰ ਸੁਣੋ" + "ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿੱਤੀ ਲਿਖਤ, ਵੈੱਬ ਪਤਿਆਂ ਅਤੇ ਸਕ੍ਰੀਨਸ਼ਾਟਾਂ ਵਰਗੀ ਜਾਣਕਾਰੀ ਨੂੰ Google ਨਾਲ ਸਾਂਝਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।\n\nਤੁਹਾਡੇ ਵੱਲੋਂ ਸਾਂਝੀ ਕੀਤੀ ਜਾਣਕਾਰੀ ਨੂੰ ਬਦਲਣ ਲਈ, ""ਸੈਟਿੰਗਾਂ > ਐਪਾਂ > ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਐਪਾਂ > ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ"" \'ਤੇ ਜਾਓ।" + "ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ ਸਹਾਇਕ ਐਪ ਚੁਣੋ" + "ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਲਿਖਤ ਨੂੰ ਸੁਣਨ ਅਤੇ ਉਸਦਾ ਅਨੁਵਾਦ ਕਰਨ ਲਈ, ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਚੁਣੋ" + "ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ ਆਪਣੀ ਸਹਾਇਕ ਐਪ ਬਦਲੋ" + "ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਲਿਖਤ ਨੂੰ ਸੁਣਨ ਅਤੇ ਉਸਦਾ ਅਨੁਵਾਦ ਕਰਨ ਲਈ, ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਆਪਣੀ ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਬਦਲੋ" + "ਇਸ ਸਕ੍ਰੀਨ \'ਤੇ ਲਿਖਤ ਨੂੰ ਸੁਣਨ ਲਈ ਇੱਥੇ ਟੈਪ ਕਰੋ" + "ਇਸ ਸਕ੍ਰੀਨ \'ਤੇ ਲਿਖਤ ਦਾ ਅਨੁਵਾਦ ਕਰਨ ਲਈ ਇੱਥੇ ਟੈਪ ਕਰੋ" diff --git a/go/quickstep/res/values-pl/strings.xml b/go/quickstep/res/values-pl/strings.xml index 427ac815c6..43a49b68f2 100644 --- a/go/quickstep/res/values-pl/strings.xml +++ b/go/quickstep/res/values-pl/strings.xml @@ -5,8 +5,24 @@ "Posłuchaj" "Przetłumacz" "Obiektyw" + + + + + + "Przetłumacz lub odsłuchaj tekst na ekranie" "Informacje takie jak tekst na ekranie, adresy internetowe i zrzuty ekranu mogą być udostępniane Google.\n\nAby zmienić zakres udostępnianych informacji, kliknij ""Ustawienia > Aplikacje > Aplikacje domyślne > Asystent cyfrowy""." - "ANULUJ" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-pt-rPT/strings.xml b/go/quickstep/res/values-pt-rPT/strings.xml index 2bf8d143a0..9764134cbb 100644 --- a/go/quickstep/res/values-pt-rPT/strings.xml +++ b/go/quickstep/res/values-pt-rPT/strings.xml @@ -5,8 +5,15 @@ "Ouvir" "Traduzir" "Lens" + "OK" + "CANCELAR" + "DEFINIÇÕES" "Traduza ou ouça o texto no ecrã" "Informações como o texto no ecrã, endereços Web e capturas de ecrã podem ser partilhadas com a Google.\n\nPara alterar as informações que partilha, aceda a ""Definições > Apps > App predefinidas > App de assistente digital""." - "CANCELAR" - "OK" + "Escolha um assistente para utilizar esta funcionalidade" + "Para ouvir ou traduzir o texto no ecrã, escolha uma app de assistente digital nas Definições" + "Mude de assistente para utilizar esta funcionalidade" + "Para ouvir ou traduzir o texto no ecrã, mude de app de assistente digital nas Definições" + "Toque aqui para ouvir o texto neste ecrã" + "Toque aqui para traduzir o texto neste ecrã" diff --git a/go/quickstep/res/values-pt/strings.xml b/go/quickstep/res/values-pt/strings.xml index ade09b43bf..32560d09f4 100644 --- a/go/quickstep/res/values-pt/strings.xml +++ b/go/quickstep/res/values-pt/strings.xml @@ -5,8 +5,15 @@ "Ouvir" "Traduzir" "Google Lens" + "OK" + "CANCELAR" + "CONFIGURAÇÕES" "Traduzir ou ouvir o texto na tela" "Informações como o texto exibido, endereços da Web e capturas de tela poderão ser compartilhadas com o Google.\n\nPara mudar quais dados são compartilhados, acesse ""Configurações > Apps > Apps padrão > App assistente digital""." - "CANCELAR" - "OK" + "Escolha um assistente para usar esse recurso" + "Para ouvir ou traduzir o texto exibido na tela, escolha um app assistente digital nas Configurações" + "Mude seu assistente para usar esse recurso" + "Para ouvir ou traduzir o texto exibido na tela, mude seu app assistente digital nas Configurações" + "Toque aqui para ouvir o texto exibido na tela" + "Toque aqui para traduzir o texto exibido na tela" diff --git a/go/quickstep/res/values-ro/strings.xml b/go/quickstep/res/values-ro/strings.xml index a09e6d15a7..cfd11f8d5d 100644 --- a/go/quickstep/res/values-ro/strings.xml +++ b/go/quickstep/res/values-ro/strings.xml @@ -5,8 +5,24 @@ "Ascultați" "Traduceți" "Lens" + + + + + + "Traduceți sau ascultați textul de pe ecran" "Informații precum textul de pe ecran, adresele web și capturile de ecran pot fi trimise la Google.\n\nCa să schimbați informațiile trimise, accesați ""Setări > Aplicații > Aplicații prestabilite > Aplicația asistent digital""." - "ANULAȚI" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ru/strings.xml b/go/quickstep/res/values-ru/strings.xml index 41440d49ae..ad9c7bd747 100644 --- a/go/quickstep/res/values-ru/strings.xml +++ b/go/quickstep/res/values-ru/strings.xml @@ -1,12 +1,28 @@ - "Поделиться приложением" + "Поделиться" "Слушать" "Перевести" "Объектив" + + + + + + "Перевод или прослушивание текста на экране" "Определенные сведения (например, текст на экране, веб-адреса и скриншоты) могут быть отправлены в Google.\n\nИзменить информацию, которой вы делитесь, можно в меню ""Настройки > Приложения > Приложения по умолчанию > Цифровой помощник""." - "ОТМЕНА" - "ОК" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-si/strings.xml b/go/quickstep/res/values-si/strings.xml index 85625f5996..cd6060ca0d 100644 --- a/go/quickstep/res/values-si/strings.xml +++ b/go/quickstep/res/values-si/strings.xml @@ -5,8 +5,15 @@ "සවන් දෙන්න" "පරිවර්තනය කරන්න" "Lens" + "තේරුණා" + "අවලංගු කරන්න" + "සැකසීම්" "තිරය මත පෙළ පරිවර්තනය කරන්න හෝ එයට සවන් දෙන්න" "ඔබගේ තිරයේ ඇති පෙළ, වෙබ් ලිපින සහ තිර රූ වැනි තොරතුරු Google සමඟ බෙදා ගත හැකිය.\n\nඔබ බෙදා ගන්නා තොරතුරු වෙනස් කිරීමට, ""සැකසීම් > යෙදුම් > පෙරනිමි යෙදුම් > ඩිජිටල් සහායක යෙදුම"" වෙත යන්න." - "අවලංගු කරන්න" - "තේරුණා" + "මෙම විශේෂාංගය භාවිත කිරීමට සහායකයකු තෝරන්න" + "ඔබගේ තිරයේ පෙළ සවන් දීමට හෝ පරිවර්තනය කිරීමට, සැකසීම්වල ඩිජිටල් සහායක යෙදුමක් තෝරන්න" + "මෙම විශේෂාංගය භාවිත කිරීමට ඔබගේ සහායක වෙනස් කරන්න" + "ඔබගේ තිරයේ පෙළට සවන් දීමට හෝ පරිවර්තනය කිරීමට, සැකසීම් තුළ ඔබගේ ඩිජිටල් සහායක යෙදුම වෙනස් කරන්න" + "මෙම තිරයේ පෙළට සවන් දීමට මෙහි තට්ටු කරන්න" + "මෙම තිරයේ පෙළ පරිවර්තනය කිරීමට මෙහි තට්ටු කරන්න" diff --git a/go/quickstep/res/values-sk/strings.xml b/go/quickstep/res/values-sk/strings.xml index cfe8712f52..880d8ad3f4 100644 --- a/go/quickstep/res/values-sk/strings.xml +++ b/go/quickstep/res/values-sk/strings.xml @@ -5,8 +5,15 @@ "Počúvať" "Preložiť" "Lens" + "DOBRE" + "ZRUŠIŤ" + "NASTAVENIA" "Prekladajte alebo počúvajte text na obrazovke" "Údaje, napríklad text na obrazovke, webové adresy a snímky obrazovky, môžu byť zdieľané s Googlom.\n\nAk chcete zmeniť, ktoré údaje zdieľate, prejdite do sekcie ""Nastavenia > Aplikácie > Predvolené aplikácie > Digitálny asistent""." - "ZRUŠIŤ" - "DOBRE" + "Ak chcete používať túto funkciu, vyberte asistenta" + "Ak si chcete vypočuť alebo nechať preložiť text na obrazovke, vyberte v Nastaveniach aplikáciu digitálneho asistenta" + "Ak chcete použígvať túto funkciu, zmeňte svojho asistenta" + "Ak si chcete vypočuť alebo nechať preložiť text na obrazovke, zmeňte v Nastaveniach aplikáciu digitálneho asistenta" + "Klepnutím tu si vypočujte text na tejto obrazovke" + "Klepnutím tu si nechajte preložiť text na tejto obrazovke" diff --git a/go/quickstep/res/values-sl/strings.xml b/go/quickstep/res/values-sl/strings.xml index c7fc10e5d3..ba17f7d477 100644 --- a/go/quickstep/res/values-sl/strings.xml +++ b/go/quickstep/res/values-sl/strings.xml @@ -5,8 +5,24 @@ "Poslušanje" "Prevedi" "Lens" + + + + + + "Prevod ali poslušanje besedila na zaslonu" "Podatki, kot so besedilo na zaslonu, spletni naslovi in posnetki zaslonov, bodo morda deljeni z Googlom.\n\nČe želite spremeniti, katere podatke delite, odprite ""Nastavitve > Aplikacije > Privzete aplikacije > Digitalni pomočnik""." - "PREKLIČI" - "RAZUMEM" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-sq/strings.xml b/go/quickstep/res/values-sq/strings.xml index d522136daf..9e379311fd 100644 --- a/go/quickstep/res/values-sq/strings.xml +++ b/go/quickstep/res/values-sq/strings.xml @@ -5,12 +5,24 @@ "Dëgjo" "Përkthe" "Lentja" - + - + - + - + "Përkthe ose dëgjo tekstin në ekran" + "Informacionet si teksti në ekranin tënd, adresat e uebit dhe pamjet e ekranit mund të ndahen me Google.\n\nPër të ndryshuar se çfarë informacionesh ndahen, shko te ""Cilësimet > Aplikacionet > Aplikacionet e parazgjedhura > Aplikacioni i asistentit dixhital""." + + + + + + + + + + + diff --git a/go/quickstep/res/values-sr/strings.xml b/go/quickstep/res/values-sr/strings.xml index e98e9d63af..9349d5fa49 100644 --- a/go/quickstep/res/values-sr/strings.xml +++ b/go/quickstep/res/values-sr/strings.xml @@ -5,8 +5,24 @@ "Пусти" "Преведи" "Објектив" + + + + + + "Преводите или слушајте текст на екрану" "Информације попут текста на екрану, веб-адреса и снимака екрана могу да се деле са Google-ом.\n\nДа бисте променили информације које делите, идите у ""Подешавања > Апликације > Подразумеване апликације > Апликација дигиталног помоћника""." - "ОТКАЖИ" - "ВАЖИ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-sv/strings.xml b/go/quickstep/res/values-sv/strings.xml index 8745afdbfd..b88145434f 100644 --- a/go/quickstep/res/values-sv/strings.xml +++ b/go/quickstep/res/values-sv/strings.xml @@ -5,8 +5,24 @@ "Lyssna" "Översätt" "Lens" + + + + + + "Översätt eller lyssna på texten på skärmen" "Information som text på skärmen, webbadresser och skärmbilder kan delas med Google.\n\nFör att ändra vilken information du delar öppnar du ""Inställningar > Appar > Standardappar > Digital assistentapp""." - "AVBRYT" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-sw/strings.xml b/go/quickstep/res/values-sw/strings.xml index 826d6e5455..3ff9d9c162 100644 --- a/go/quickstep/res/values-sw/strings.xml +++ b/go/quickstep/res/values-sw/strings.xml @@ -5,8 +5,24 @@ "Sikiliza" "Tafsiri" "Lenzi" + + + + + + "Tafsiri au usikilize maandishi kwenye skrini" "Maelezo kama vile maandishi kwenye skrini yako, anwani za wavuti na picha za skrini yanaweza kushirikiwa na Google.\n\nIli ubadilishe maelezo unayoshiriki, nenda kwenye ""Mipangilio > Programu > Programu chaguomsingi > Programu ya mratibu dijitali""." - "GHAIRI" - "NIMEELEWA" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ta/strings.xml b/go/quickstep/res/values-ta/strings.xml index ad2e1305b9..cdb91c6189 100644 --- a/go/quickstep/res/values-ta/strings.xml +++ b/go/quickstep/res/values-ta/strings.xml @@ -5,8 +5,24 @@ "கேளுங்கள்" "மொழிபெயர்" "லென்ஸ்" + + + + + + "திரையிலுள்ள உரையை மொழிபெயருங்கள் அல்லது கேளுங்கள்" "உங்கள் திரையிலுள்ள உரை, வலை முகவரிகள், ஸ்கிரீன்ஷாட்டுகள் போன்ற தகவல்கள் Googleளுடன் பகிரப்படலாம்.\n\nஎந்தத் தகவல்கள் பகிரப்படலாம் என்பதை மாற்ற, ""அமைப்புகள் > ஆப்ஸ் > இயல்பு ஆப்ஸ் > டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸ்"" என்பதற்குச் செல்லுங்கள்." - "ரத்துசெய்" - "சரி" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-te/strings.xml b/go/quickstep/res/values-te/strings.xml index 1736c7f086..cb481d0709 100644 --- a/go/quickstep/res/values-te/strings.xml +++ b/go/quickstep/res/values-te/strings.xml @@ -5,8 +5,15 @@ "వినండి" "అనువదించండి" "Lens" + "అర్థమైంది" + "రద్దు చేయండి" + "సెట్టింగ్‌లు" "స్క్రీన్‌పై టెక్స్ట్ అనువదించండి లేదా వినండి" "మీ స్క్రీన్‌పై టెక్స్ట్, వెబ్ అడ్రస్‌లు, అలాగే స్క్రీన్‌షాట్‌ల వంటి సమాచారం Googleతో షేర్ చేయడం జరగవచ్చు.\n\nమీరు ఏ సమాచారాన్ని షేర్ చేసుకుంటారో మార్చడానికి ""సెట్టింగ్‌లు > యాప్‌లు > ఆటోమేటిక్ సెట్టింగ్ యాప్‌లు > డిజిటల్ అసిస్టెంట్ యాప్‌ల""‌కు వెళ్లండి." - "రద్దు చేయి" - "అర్థమైంది" + "ఈ ఫీచర్‌ను ఉపయోగించడానికి అసిస్టెంట్‌ను ఎంచుకోండి" + "మీ స్క్రీన్‌పై ఉన్న టెక్స్ట్‌ను వినడానికి లేదా అనువదించడానికి, సెట్టింగ్‌లలో డిజిటల్ అసిస్టెంట్ యాప్‌ను ఎంచుకోండి" + "ఈ ఫీచర్‌ను ఉపయోగించడానికి మీ అసిస్టెంట్‌ను మార్చండి" + "మీ స్క్రీన్‌పై ఉన్న టెక్స్ట్‌ను వినడానికి లేదా అనువదించడానికి, సెట్టింగ్‌లలో మీ డిజిటల్ అసిస్టెంట్ యాప్‌ను మార్చండి" + "ఈ స్క్రీన్‌పై ఉన్న టెక్స్ట్‌ను వినడానికి ఇక్కడ ట్యాప్ చేయండి" + "ఈ స్క్రీన్‌పై ఉన్న టెక్స్ట్‌ను అనువదించడానికి ఇక్కడ ట్యాప్ చేయండి" diff --git a/go/quickstep/res/values-th/strings.xml b/go/quickstep/res/values-th/strings.xml index ea89d88c9c..3267525b89 100644 --- a/go/quickstep/res/values-th/strings.xml +++ b/go/quickstep/res/values-th/strings.xml @@ -5,8 +5,24 @@ "ฟัง" "แปลภาษา" "Lens" + + + + + + "แปลหรือฟังข้อความบนหน้าจอ" "อาจมีการแชร์ข้อมูลอย่างเช่น ข้อความบนหน้าจอ ที่อยู่เว็บ และภาพหน้าจอกับ Google\n\nหากต้องการเปลี่ยนประเภทข้อมูลที่คุณแชร์ ให้ไปที่""การตั้งค่า > แอป > แอปเริ่มต้น > แอปผู้ช่วยดิจิทัล" - "ยกเลิก" - "รับทราบ" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-tl/strings.xml b/go/quickstep/res/values-tl/strings.xml index 3502363726..73bfb7fa0a 100644 --- a/go/quickstep/res/values-tl/strings.xml +++ b/go/quickstep/res/values-tl/strings.xml @@ -5,8 +5,24 @@ "Makinig" "Isalin" "Lens" + + + + + + "I-translate o pakinggan ang text sa screen" "Posibleng ibahagi sa Google ang impormasyong gaya ng text sa iyong screen, mga web address, at screenshot.\n\nPara baguhin kung anong impormasyon ang ibinabahagi mo, pumunta sa ""Mga Setting > Mga App > Mga default na app > Digital assistant app""." - "KANSELAHIN" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-tr/strings.xml b/go/quickstep/res/values-tr/strings.xml index f150cc5f33..0e16d93cc5 100644 --- a/go/quickstep/res/values-tr/strings.xml +++ b/go/quickstep/res/values-tr/strings.xml @@ -5,8 +5,24 @@ "Dinle" "Çevir" "Lens" + + + + + + "Ekrandaki metni çevirin veya dinleyin" "Ekranınızdaki metin, web adresleri ve ekran görüntüleri gibi bilgiler Google ile paylaşılabilir.\n\nPaylaştığınız bilgileri değiştirmek için ""Ayarlar > Uygulamalar > Varsayılan uygulamalar > Dijital asistan uygulamasına gidin""." - "İPTAL" - "ANLADIM" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-uk/strings.xml b/go/quickstep/res/values-uk/strings.xml index d26341b7b3..66b4be8318 100644 --- a/go/quickstep/res/values-uk/strings.xml +++ b/go/quickstep/res/values-uk/strings.xml @@ -5,8 +5,24 @@ "Слухати" "Перекласти" "Об’єктив" + + + + + + "Перекласти або прослухати текст на екрані" - "Ви можете надсилати на сервери Google інформацію, наприклад текст на екрані, веб-адреси або знімки екрана.\n\nЩоб змінити типи даних, які надсилаються, відкрийте ""Налаштування > Додатки > Додатки за умовчанням > Цифровий помічник""." - "СКАСУВАТИ" - "OK" + "Певна інформація (наприклад, текст на екрані, веб-адреси, знімки екрана) може надсилатися на сервери Google.\n\nЩоб змінити типи даних, які надсилаються, відкрийте ""Налаштування > Додатки > Додатки за умовчанням > Цифровий помічник""." + + + + + + + + + + + + diff --git a/go/quickstep/res/values-ur/strings.xml b/go/quickstep/res/values-ur/strings.xml index daff43c7c1..6393127100 100644 --- a/go/quickstep/res/values-ur/strings.xml +++ b/go/quickstep/res/values-ur/strings.xml @@ -5,8 +5,15 @@ "سنیں" "‏Google ترجمہ" "‏Google لینز" + "سمجھ آ گئی" + "منسوخ کریں" + "ترتیبات" "اسکرین پر موجود ٹیکسٹ کو سنیں یا ترجمہ کریں" "‏آپ کی اسکرین پر ٹیکسٹ، ویب پتے اور اسکرین شاٹس جیسی معلومات کا اشتراک Google کے ساتھ کیا جا سکتا ہے۔\n\nآپ جس معلومات کا اشتراک کرتے ہیں اسے تبدیل کرنے کیلئے ""ترتیبات ‎>‎ ایپس ‎>‎ ڈیفالٹ ایپس ‎>‎ ڈیجیٹل اسسٹنٹ ایپ"" پر جائیں۔" - "منسوخ کریں" - "سمجھ آ گئی" + "اس خصوصیت کا استعمال کرنے کے لیے اسسٹنٹ کا انتخاب کریں" + "اپنی اسکرین پر موجود ٹیکسٹ کو سننے یا اس کا ترجمہ کرنے کیلئے ترتیبات میں ڈیجیٹل اسسٹنٹ ایپ کا انتخاب کریں" + "اس خصوصیت کا استعمال کرنے کے لیے اپنی اسسٹنٹ کا استعمال کریں" + "اپنی اسکرین پر موجود ٹیکسٹ کو سننے یا اس کا ترجمہ کرنے کیلئے ترتیبات میں اپنی ڈیجیٹل اسسٹنٹ ایپ کو تبدیل کریں" + "اس اسکرین پر موجود ٹیکسٹ کو سننے کے لیے یہاں تھپتھپائیں" + "اس اسکرین پر موجود ٹیکسٹ کا ترجمہ کرنے کے لیے یہاں تھپتھپائیں" diff --git a/go/quickstep/res/values-uz/strings.xml b/go/quickstep/res/values-uz/strings.xml index c67d81cd49..5228cfe5a2 100644 --- a/go/quickstep/res/values-uz/strings.xml +++ b/go/quickstep/res/values-uz/strings.xml @@ -5,8 +5,15 @@ "Tinglash" "Tarjima" "Lens" + "OK" + "BEKOR QILISH" + "SOZLAMALAR" "Ekrandagi matnni tarjima qilish yoki tinglash" "Ekraningizdagi matn, veb-manzillar va skrinshot kabilar Googlega yuborilishi mumkin.\n\nQanday maʼlumotlarni ulashishni tanlash uchun ""Sozlamalar > Ilovalar > Standart ilovalar > Raqamli assistent"" ilovasini oching." - "BEKOR QILISH" - "OK" + "Bu funksiyadan foydalanish uchun assistentni tanlang" + "Ekrandagi matnni eshittirish yoki tarjima qilish uchun Sozlamalar orqali raqamli assistent ilovasini tanlang" + "Bu funksiyadan foydalanish uchun assistentni almashtiring" + "Ekrandagi matnni eshittirish yoki tarjima qilish uchun Sozlamalar orqali raqamli assistent ilovasini almashtiring" + "Ekrandagi matnni eshittirish uchun bosing" + "Ekrandagi matnni tarjima qilish uchun bosing" diff --git a/go/quickstep/res/values-vi/strings.xml b/go/quickstep/res/values-vi/strings.xml index 66f6ae782c..d66e01dc54 100644 --- a/go/quickstep/res/values-vi/strings.xml +++ b/go/quickstep/res/values-vi/strings.xml @@ -5,8 +5,24 @@ "Nghe" "Dịch" "Ống kính" + + + + + + "Dịch hoặc nghe văn bản trên màn hình" "Những thông tin như văn bản trên màn hình, địa chỉ web và ảnh chụp màn hình có thể được chia sẻ với Google.\n\nĐể thay đổi những thông tin mà bạn chia sẻ, hãy chuyển đến phần ""Cài đặt > Ứng dụng > Ứng dụng mặc định > Ứng dụng trợ lý kỹ thuật số""." - "HỦY" - "OK" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-zh-rCN/strings.xml b/go/quickstep/res/values-zh-rCN/strings.xml index de598e0879..b31de8fecd 100644 --- a/go/quickstep/res/values-zh-rCN/strings.xml +++ b/go/quickstep/res/values-zh-rCN/strings.xml @@ -5,8 +5,24 @@ "聆听" "翻译" "智能镜头" + + + + + + "翻译或聆听屏幕上的文字" "系统可能会将屏幕上的文字、网址和屏幕截图等信息分享给 Google。\n\n如需更改要分享哪些信息,请依次转到""设置 > 应用 > 默认应用 > 数字助理应用""。" - "取消" - "知道了" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-zh-rHK/strings.xml b/go/quickstep/res/values-zh-rHK/strings.xml index c3a55ac07c..29402d857c 100644 --- a/go/quickstep/res/values-zh-rHK/strings.xml +++ b/go/quickstep/res/values-zh-rHK/strings.xml @@ -5,8 +5,15 @@ "聆聽" "翻譯" "智能鏡頭" + "知道了" + "取消" + "設定" "翻譯或聆聽畫面上的文字" "可能會與 Google 分享螢幕上的文字、網址和螢幕截圖等資料。\n\n如要變更分享的資料,請前往 ""[設定] > [應用程式] > [預設應用程式] > [數碼助理應用程式]""。" - "取消" - "知道了" + "必須選擇數碼助理才可使用此功能" + "如要聆聽或翻譯畫面上的文字,請在「設定」中選擇數碼助理應用程式" + "必須變更數碼助理才可使用此功能" + "如要聆聽或翻譯畫面上的文字,請在「設定」中變更數碼助理應用程式" + "輕按這裡即可聆聽此畫面上的文字" + "輕按這裡即可翻譯此畫面上的文字" diff --git a/go/quickstep/res/values-zh-rTW/strings.xml b/go/quickstep/res/values-zh-rTW/strings.xml index 98c32b99d8..a79c268ce9 100644 --- a/go/quickstep/res/values-zh-rTW/strings.xml +++ b/go/quickstep/res/values-zh-rTW/strings.xml @@ -5,8 +5,24 @@ "聆聽" "翻譯" "智慧鏡頭" + + + + + + "翻譯或朗讀畫面上的文字" "系統可能會將畫面上的文字、網址和螢幕截圖等資訊分享給 Google。\n\n如要變更分享的資訊類型,請前往 [設定] > [應用程式] > [預設應用程式] > [數位助理應用程式]""。" - "取消" - "我知道了" + + + + + + + + + + + + diff --git a/go/quickstep/res/values-zu/strings.xml b/go/quickstep/res/values-zu/strings.xml index d8bba48878..64b163549f 100644 --- a/go/quickstep/res/values-zu/strings.xml +++ b/go/quickstep/res/values-zu/strings.xml @@ -5,8 +5,15 @@ "Lalela" "Humusha" "Ilensi" + "NGIYITHOLILE" + "KHANSELA" + "AMASETHINGI" "Humusha noma ulalele umbhalo osesikrinini" - "Imininingwane efana nombhalo esikrinini sakho, amakheli wewebhu, nezithombe-skrini kungabiwa ne-Google.\n\nUkuze ushintshe ukuthi yiluphi ulwazi olwabayo, yiya kokuthi ""Amasethingi > ama-App > Ama-app azenzakalelayo > Umsizi we-app odijithali""." - "KHANSELA" - "NGIYITHOLILE" + "Imininingwane efana nombhalo esikrinini sakho, amakheli wewebhu, nezithombe-skrini kungabiwa ne-Google.\n\nUkuze ushintshe ukuthi yiluphi ulwazi olwabayo, yiya kokuthi ""Amasethingi > ama-App > Ama-app azenzekelayo > Umsizi we-app odijithali""." + "Khetha umsizi ukuze usebenzise lesi sakhi" + "Ukuze ulalele noma uhumushe umbhalo kusikrini sakho, khetha i-app yomsizi odijithali kokuthi Amasethingi" + "Shintsha umsizi wakho ukuze usebenzise lesi sakhi" + "Ukuze ulalele noma uhumushe umbhalo kusikrini sakho, shintsha i-app yomsizi wakho odijithali kokuthi Amasethingi" + "Thepha lapha ukuze ulalele umbhalo kusikrini" + "Thepha lapha ukuze uhumushe umbhalo kulesi sikrini" From f4f1524aca68998bd6f11a7bdeafa29aaebad23f Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Sun, 11 Jul 2021 20:41:46 +0000 Subject: [PATCH 103/905] Import translations. DO NOT MERGE ANYWHERE Auto-generated-cl: translation import Change-Id: I9c005fe014578a41b5bd9f58ab6ec39fa96cfd9d --- res/values-as/strings.xml | 4 ++-- res/values-b+sr+Latn/strings.xml | 4 ++-- res/values-be/strings.xml | 6 +++--- res/values-bg/strings.xml | 2 +- res/values-bn/strings.xml | 2 +- res/values-bs/strings.xml | 4 ++-- res/values-ca/strings.xml | 2 +- res/values-de/strings.xml | 6 +++--- res/values-es/strings.xml | 4 ++-- res/values-fi/strings.xml | 6 +++--- res/values-fr-rCA/strings.xml | 2 +- res/values-fr/strings.xml | 6 +++--- res/values-gu/strings.xml | 3 +-- res/values-hi/strings.xml | 4 ++-- res/values-hr/strings.xml | 6 +++--- res/values-hy/strings.xml | 8 ++++---- res/values-in/strings.xml | 2 +- res/values-ja/strings.xml | 8 ++++---- res/values-kn/strings.xml | 4 ++-- res/values-ky/strings.xml | 6 +++--- res/values-mn/strings.xml | 2 +- res/values-mr/strings.xml | 6 +++--- res/values-pa/strings.xml | 2 +- res/values-pl/strings.xml | 2 +- res/values-ro/strings.xml | 2 +- res/values-sl/strings.xml | 2 +- res/values-sr/strings.xml | 4 ++-- res/values-sw/strings.xml | 6 +++--- res/values-te/strings.xml | 6 +++--- res/values-uk/strings.xml | 4 ++-- res/values-uz/strings.xml | 8 ++++---- res/values-vi/strings.xml | 6 +++--- res/values-zh-rHK/strings.xml | 8 ++++---- res/values-zh-rTW/strings.xml | 4 ++-- 34 files changed, 75 insertions(+), 76 deletions(-) diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml index df3cc1ab8e..b92099e315 100644 --- a/res/values-as/strings.xml +++ b/res/values-as/strings.xml @@ -28,7 +28,7 @@ "শ্বৰ্টকাট নাই" "গৃহ স্ক্ৰীন" "বিভাজিত স্ক্ৰীন" - "ৱিজেট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক।" + "ৱিজেট স্থানান্তৰ কৰিবলৈ টিপি ধৰি ৰাখক।" "কোনো ৱিজেট স্থানান্তৰ কৰিবলৈ দুবাৰ টিপি ধৰি ৰাখক অথবা কাষ্টম কাৰ্য ব্যৱহাৰ কৰক।" "%1$d × %2$d" "%1$d বহল x %2$d ওখ" @@ -159,7 +159,7 @@ "কৰ্মস্থানৰ প্ৰ\'ফাইল" "কৰ্মস্থানৰ এপ্‌সমূহ প্ৰতীকেৰে চিহ্নিত কৰা হয় আৰু সেইবোৰ আপোনাৰ আইটি প্ৰশাসকৰ বাবে দৃশ্যমান হয়" "বুজি পালোঁ" - "কাম সম্পর্কীয় এপ্‌সমূহ পজ হৈ আছে" + "কৰ্মস্থানৰ এপ্‌সমূহ পজ হৈ আছে" "আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" "কৰ্মস্থানৰ এপ্‌সমূহ অফ হৈ আছে। আপোনাৰ কৰ্মস্থানৰ এপ্‌সমূহে আপোনালৈ জাননী পঠিয়াব, আপোনাৰ বেটাৰী ব্যৱহাৰ কৰিব অথবা আপোনাৰ অৱস্থান এক্সেছ কৰিব নোৱাৰে" "কর্মস্থানৰ এপ্‌সমূহ প্ৰতীকেৰে চিহ্নিত কৰা হয় আৰু সেইবোৰ আপোনাৰ আইটি প্ৰশাসকৰ বাবে দৃশ্যমান হয়" diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml index 66f2d925a5..d173194772 100644 --- a/res/values-b+sr+Latn/strings.xml +++ b/res/values-b+sr+Latn/strings.xml @@ -28,7 +28,7 @@ "Prečica nije dostupna" "Početni ekran" "Podeljeni ekran" - "Dvaput dodirnite i zadržite radi pomeranja vidžeta." + "Dodirnite i zadržite radi pomeranja vidžeta." "Dvaput dodirnite i zadržite da biste pomerali vidžet ili koristite prilagođene radnje." "%1$d×%2$d" "širina od %1$d i visina od %2$d" @@ -65,7 +65,7 @@ "Pretraži još aplikacija" "Aplikacija" "Obaveštenja" - "Dvaput dodirnite i zadržite radi pomeranja prečice." + "Dodirnite i zadržite radi pomeranja prečice." "Dvaput dodirnite i zadržite da biste pomerali prečicu ili koristite prilagođene radnje." "Nema prostora na ovom početnom ekranu" "Nema više prostora na traci Omiljeno" diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml index ce219dacd6..d61861050d 100644 --- a/res/values-be/strings.xml +++ b/res/values-be/strings.xml @@ -69,7 +69,7 @@ "Апавяшчэнні" "Націсніце і ўтрымлівайце ярлык для перамяшчэння." "Дакраніцеся двойчы і ўтрымлівайце, каб перамясціць ярлык або выкарыстоўваць спецыяльныя дзеянні." - "На гэтым Галоўным экране няма месца" + "На галоўным экране няма месца" "У латку \"Абранае\" больш няма месца" "Спіс праграм" "Спіс персанальных праграм" @@ -163,12 +163,12 @@ "Асабістыя" "Працоўныя" "Працоўны профіль" - "Працоўныя праграмы маюць значкі і бачныя IT-адміністратару" + "Працоўныя праграмы пазначаны спецыяльнымі значкамі, а таксама бачныя IT-адміністратару" "Зразумела" "Працоўныя праграмы прыпынены" "Працоўныя праграмы не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да даных пра ваша месцазнаходжанне" "Працоўныя праграмы выключаны. Яны не могуць адпраўляць вам апавяшчэнні, выкарыстоўваць акумулятар або атрымліваць доступ да вашага месцазнаходжання" - "Працоўныя праграмы маюць значкі і бачныя IT-адміністратару" + "Працоўныя праграмы пазначаны спецыяльнымі значкамі, а таксама бачныя IT-адміністратару" "Зразумела" "Выключыць працоўныя праграмы" "Уключыць працоўныя праграмы" diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml index 7d477fc5e3..4fb9eae843 100644 --- a/res/values-bg/strings.xml +++ b/res/values-bg/strings.xml @@ -28,7 +28,7 @@ "Няма достъп до прекия път" "Начален екран" "Разделен екран" - "Докоснете и задръжте за преместване на приспособл." + "Докоснете и задръжте за преместване на приспособление" "Докоснете двукратно и задръжте за преместване на приспособление или използвайте персонал. действия." "%1$d × %2$d" "Ширина %1$d и височина %2$d" diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml index 8350e06d4f..167f0cab27 100644 --- a/res/values-bn/strings.xml +++ b/res/values-bn/strings.xml @@ -28,7 +28,7 @@ "শর্টকাটগুলি অনুপলব্ধ" "হোম" "স্প্লিট স্ক্রিন" - "একটি উইজেট সরাতে টাচ করে ধরে রাখুন।" + "কোনও উইজেট সরাতে সেটি টাচ করে ধরে রাখুন।" "একটি উইজেট সরাতে বা কাস্টম অ্যাকশন ব্যবহার করতে ডবল ট্যাপ করে ধরে রাখুন।" "%1$d × %2$d" "%2$d উচ্চতা অনুযায়ী %1$d প্রস্থ" diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml index 6922915ead..f8dd8f1b49 100644 --- a/res/values-bs/strings.xml +++ b/res/values-bs/strings.xml @@ -50,7 +50,7 @@ "Pretražite" "Brisanje teksta iz okvira za pretraživanje" "Vidžeti i prečice nisu dostupni" - "Nije pronađen nijedan vidžet niti prečica" + "Nije pronađen nijedan vidžet ili prečica" "Lično" "Posao" "Razgovori" @@ -67,7 +67,7 @@ "Obavještenja" "Dodirnite i zadržite da pomjerite prečicu." "Dvaput dodirnite i zadržite da pomjerite prečicu ili da koristite prilagođene radnje." - "Nema prostora na početnom ekranu" + "Nema prostora na ovom početnom ekranu" "Nema više prostora u ladici Omiljeno" "Lista aplikacija" "Lista ličnih aplikacija" diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml index a951bc3191..c913171e54 100644 --- a/res/values-ca/strings.xml +++ b/res/values-ca/strings.xml @@ -159,7 +159,7 @@ "Perfil de treball" "Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI" "Entesos" - "Les aplicacions de treball s\'han posat en pausa" + "Les aplicacions de treball estan en pausa" "Les aplicacions de treball no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" "Les aplicacions de treball estan desactivades: no poden enviar-te notificacions, consumir bateria ni accedir a la teva ubicació" "Les aplicacions de treball tenen una insígnia i són visibles per al teu administrador de TI" diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml index 1023366161..862b3f51af 100644 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@ -28,7 +28,7 @@ "Verknüpfung nicht verfügbar" "Startbildschirm" "Splitscreen" - "Tippen und halten, um ein Widget zu bewegen." + "Zum Verschieben des Widgets berühren und halten" "Doppeltippen und halten, um ein Widget zu bewegen oder benutzerdefinierte Aktionen zu nutzen." "%1$d × %2$d" "%1$d breit und %2$d hoch" @@ -48,7 +48,7 @@ "Suche" "Text aus dem Suchfeld löschen" "Widgets und Shortcuts nicht verfügbar" - "Keine Widgets oder Shortcuts gefunden" + "Keine Widgets oder Verknüpfungen gefunden" "Privat" "Geschäftlich" "Unterhaltungen" @@ -65,7 +65,7 @@ "Benachrichtigungen" "Tippen und halten, um eine Verknüpfung zu bewegen." "Doppeltippen und halten, um eine Verknüpfung zu bewegen oder benutzerdefinierte Aktionen zu nutzen." - "Auf dem Startbildschirm ist kein Platz mehr vorhanden" + "Auf diesem Startbildschirm ist kein Platz mehr vorhanden" "Ablage \"Favoriten\" ist voll." "Liste der Apps" "Liste der privaten Apps" diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml index 33c589caeb..c923de1c24 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/strings.xml @@ -159,8 +159,8 @@ "Perfil de trabajo" "Las aplicaciones de trabajo tienen una insignia, y tu administrador de TI las puede ver" "Entendido" - "Se han pausado las aplicaciones de trabajo" - "Tus aplicaciones de trabajo no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" + "Las aplicaciones de trabajo están en pausa" + "Tus aplicaciones de trabajo no pueden enviarte notificaciones, usar batería ni acceder a tu ubicación" "Las aplicaciones de trabajo están desactivadas, por lo que no pueden enviarte notificaciones, consumir batería ni acceder a tu ubicación" "Las aplicaciones de trabajo tienen una insignia y tu administrador de TI las puede ver" "Entendido" diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml index f41da656a8..aac8bb8f85 100644 --- a/res/values-fi/strings.xml +++ b/res/values-fi/strings.xml @@ -48,7 +48,7 @@ "Haku" "Tyhjennä teksti hakukentästä" "Widgetit ja pikanäppäimet eivät ole saatavilla" - "Widgetejä tai pikanäppäimiä ei löytynyt" + "Widgetejä tai pikakuvakkeita ei löytynyt" "Henkilökohtaiset" "Työ" "Keskustelut" @@ -157,12 +157,12 @@ "Henkilökohtaiset" "Työsovellukset" "Työprofiili" - "Työsovellukset on merkitty ja ne näkyvät IT-järjestelmänvalvojalle" + "Työsovellukset on merkitty sellaisiksi ja näkyvät IT-järjestelmänvalvojille" "Selvä" "Työsovellukset on keskeytetty" "Työsovellukset eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai paikantaa sijaintiasi" "Työsovellukset ovat pois päältä. Ne eivät voi lähettää sinulle ilmoituksia eivätkä käyttää akkuasi tai sijaintiasi" - "Työsovellukset on merkitty ja ne näkyvät IT-järjestelmänvalvojalle" + "Työsovellukset on merkitty sellaisiksi ja näkyvät IT-järjestelmänvalvojille" "OK" "Laita työsovellukset pois päältä" "Laita työsovellukset päälle" diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml index bab420fab2..3c53df5dd0 100644 --- a/res/values-fr-rCA/strings.xml +++ b/res/values-fr-rCA/strings.xml @@ -53,7 +53,7 @@ "Professionnels" "Conversations" "Renseignements utiles à portée de main" - "Pour obtenir des renseignements sans ouvrir aucune application, vous pouvez ajouter des widgets à votre écran d\'accueil" + "Pour obtenir des renseignements sans ouvrir d\'application, vous pouvez ajouter des widgets à votre écran d\'accueil" "Touchez pour modifier les paramètres du widget" "OK" "Modifier les paramètres du widget" diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml index 66a930a056..dfc103f39d 100644 --- a/res/values-fr/strings.xml +++ b/res/values-fr/strings.xml @@ -28,7 +28,7 @@ "Raccourci non disponible" "Accueil" "Écran partagé" - "Appuyez de manière prolongée pour déplacer widget." + "Appuyez de manière prolongée sur un widget pour le déplacer." "Appuyez deux fois et maintenez la pression pour déplacer widget ou utiliser actions personnalisées." "%1$d x %2$d" "%1$d de largeur et %2$d de hauteur" @@ -48,7 +48,7 @@ "Rechercher" "Effacer le texte du champ de recherche" "Les widgets et les raccourcis ne sont pas disponibles" - "Aucun widget ni raccourci trouvés" + "Aucun widget ni raccourci trouvé" "Personnels" "Professionnels" "Conversations" @@ -65,7 +65,7 @@ "Notifications" "Appuyez de manière prolongée pour déplacer raccourci." "Appuyez deux fois et maintenez la pression pour déplacer un raccourci ou utiliser les actions personnalisées." - "Pas d\'espace libre sur cet écran d\'accueil" + "Espace insuffisant sur cet écran d\'accueil" "Plus d\'espace disponible dans la zone de favoris." "Liste d\'applications" "Liste des applications personnelles" diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml index 2513cca831..7f38842d36 100644 --- a/res/values-gu/strings.xml +++ b/res/values-gu/strings.xml @@ -32,8 +32,7 @@ "વિજેટ ખસેડવા બે વાર ટૅપ કરીને દબાવી રાખો અથવા કસ્ટમ ક્રિયાઓનો ઉપયોગ કરો." "%1$d × %2$d" "%1$d પહોળાઈ X %2$d ઊંચાઈ" - - + "%1$s વિજેટ" "વિજેટને હોમ સ્ક્રીનની આજુબાજુ ખસેડવા માટે, તેને ટચ કરીને થોડીવાર દબાવી રાખો" "હોમ સ્ક્રીન પર ઉમેરો" diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml index f84f554b31..f5b371d893 100644 --- a/res/values-hi/strings.xml +++ b/res/values-hi/strings.xml @@ -157,12 +157,12 @@ "निजी ऐप" "काम से जुड़े ऐप" "वर्क प्रोफ़ाइल" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन, बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" "ठीक है" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन रोके गए" "ऑफ़िस के काम से जुड़े आपके ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद हैं. ये ऐप्लिकेशन, आपको सूचनाएं नहीं भेज सकते. साथ ही, आपकी बैटरी का इस्तेमाल या आपकी जगह की जानकारी को ऐक्सेस भी नहीं कर सकते" - "ऑफ़िस के काम से जुड़े ऐप्लिकेशन, बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" + "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बैज किए गए हैं और आईटी एडमिन को दिख रहे हैं" "ठीक है" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन बंद करें" "ऑफ़िस के काम से जुड़े ऐप्लिकेशन चालू करें" diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml index d7069f31b3..35cb69ed60 100644 --- a/res/values-hr/strings.xml +++ b/res/values-hr/strings.xml @@ -162,9 +162,9 @@ "Poslovni profil" "Poslovne su aplikacije označene i vidljive vašem IT administratoru" "Shvaćam" - "Pauzirane su poslovne lokacije" - "Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju niti pristupiti vašoj lokaciji" - "Poslovne aplikacije su isključene. Ne mogu vam slati obavijesti, trošiti bateriju ili pristupiti vašoj lokaciji" + "Poslovne aplikacije su pauzirane" + "Poslovne aplikacije ne mogu vam slati obavijesti, trošiti bateriju ili pristupati vašoj lokaciji" + "Poslovne aplikacije su isključene. Ne mogu vam slati obavijesti, trošiti bateriju ili pristupati vašoj lokaciji" "Poslovne su aplikacije označene i vidljive vašem IT administratoru" "Shvaćam" "Isključite poslovne aplikacije" diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml index dc0599ea66..31869fa3d4 100644 --- a/res/values-hy/strings.xml +++ b/res/values-hy/strings.xml @@ -52,8 +52,8 @@ "Անձնական" "Աշխատանքային" "Զրույցներ" - "Օգտակար տեղեկությունները՝ միշտ հասանելի" - "Ավելացրեք վիջեթներ ձեր հիմնական էկրանին և ստացեք տեղեկություններ՝ առանց հավելվածները բացելու։" + "Բոլոր կարևոր տեղեկությունները՝ ձեռքի տակ" + "Առանց հավելվածները բացելու տեղեկություններ ստանալու համար ձեր հիմնական էկրանին ավելացրեք վիջեթներ։" "Հպեք՝ վիջեթի կարգավորումները փոփոխելու համար" "Եղավ" "Փոխել վիջեթի կարգավորումները" @@ -157,12 +157,12 @@ "Անձնական" "Աշխատանքային" "Աշխատանքային պրոֆիլ" - "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" + "Աշխատանքային հավելվածները հատուկ նշանակ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" "Եղավ" "Աշխատանքային հավելվածները դադարեցված են" "Աշխատանքային հավելվածները չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" "Աշխատանքային հավելվածներն անջատված են։ Դրանք չեն կարող ծանուցումներ ուղարկել ձեզ, օգտագործել մարտկոցը և ձեր տեղադրության մասին տվյալներ ստանալ։" - "Աշխատանքային հավելվածները նշանակներ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" + "Աշխատանքային հավելվածները հատուկ նշանակ ունեն և տեսանելի են ՏՏ ադմինիստրատորին" "Եղավ" "Անջատել աշխատանքային հավելվածները" "Միացնել աշխատանքային հավելվածները" diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml index cc86970dce..165146f3d9 100644 --- a/res/values-in/strings.xml +++ b/res/values-in/strings.xml @@ -52,7 +52,7 @@ "Pribadi" "Kantor" "Percakapan" - "Info yang bermanfaat di ujung jari Anda" + "Info bermanfaat mudah dilihat" "Untuk mendapatkan info tanpa membuka aplikasi, Anda dapat menambahkan widget ke Layar utama" "Ketuk untuk mengubah setelan widget" "Oke" diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml index 1250c35e93..d3670faa39 100644 --- a/res/values-ja/strings.xml +++ b/res/values-ja/strings.xml @@ -32,7 +32,7 @@ "ウィジェットをダブルタップして長押ししながら移動するか、カスタム操作を使用してください。" "%1$dx%2$d" "幅 %1$d、高さ %2$d" - "%1$s 件のウィジェット" + "%1$s ウィジェット" "ウィジェットを押し続けると、ホーム画面上に移動できます。" "ホーム画面に追加" @@ -48,11 +48,11 @@ "検索" "検索ボックスからテキストを消去します" "ウィジェットもショートカットも利用できません" - "ウィジェットもショートカットも見つかりませんでした" + "ウィジェットやショートカットは見つかりませんでした" "個人用" "仕事用" "会話" - "スワイプだけで役立つ情報をいつでも入手" + "ウィジェットで情報を得る" "ホーム画面にウィジェットを追加すると、アプリを開かずに情報を入手できます" "タップしてウィジェットの設定を変更する" "OK" @@ -157,7 +157,7 @@ "個人用" "仕事用" "仕事用プロファイル" - "仕事用アプリはバッジが付き、IT 管理者に公開されます" + "仕事用アプリはバッジ付きで表示され、IT 管理者に公開されます" "OK" "仕事用アプリの一時停止" "仕事用アプリでは、通知の送信、バッテリーの使用、位置情報の取得が無効になっています" diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml index 322878ec94..b8bb6e7568 100644 --- a/res/values-kn/strings.xml +++ b/res/values-kn/strings.xml @@ -65,7 +65,7 @@ "ಅಧಿಸೂಚನೆಗಳು" "ಶಾರ್ಟ್‌ಕಟ್ ಸರಿಸಲು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." "ಶಾರ್ಟ್‌ಕಟ್ ಸರಿಸಲು ಅಥವಾ ಕಸ್ಟಮ್ ಕ್ರಿಯೆಗಳನ್ನು ಬಳಸಲು ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ." - "ಈ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಸ್ಥಳಾವಾಕಾಶವಿಲ್ಲ" + "ಈ ಹೋಮ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಸ್ಥಳಾವಕಾಶವಿಲ್ಲ" "ಮೆಚ್ಚಿನವುಗಳ ಟ್ರೇನಲ್ಲಿ ಹೆಚ್ಚಿನ ಸ್ಥಳಾವಕಾಶವಿಲ್ಲ" "ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ" "ವೈಯಕ್ತಿಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಪಟ್ಟಿ" @@ -160,7 +160,7 @@ "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಅವುಗಳು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತವೆ" "ಸರಿ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ" - "ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" + "ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗದು" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಆಫ್ ಆಗಿವೆ. ನಿಮ್ಮ ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ನಿಮಗೆ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲು, ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲು ಅಥವಾ ನಿಮ್ಮ ಸ್ಥಳವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ" "ಕೆಲಸಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಆ್ಯಪ್‌ಗಳು ಬ್ಯಾಡ್ಜ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಗೆ ಗೋಚರಿಸುತ್ತದೆ" "ಅರ್ಥವಾಯಿತು" diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml index da83578756..68650e4800 100644 --- a/res/values-ky/strings.xml +++ b/res/values-ky/strings.xml @@ -28,7 +28,7 @@ "Кыска жол жок" "Башкы экран" "Экранды бөлүү" - "Виджетти жылдыруу үчүн коё бербей басып туруңуз." + "Виджетти кое бербей басып туруп жылдырыңыз." "Виджетти жылдыруу үчүн эки жолу таптап, кармап туруңуз же ыңгайлаштырылган аракеттерди колдонуңуз." "%1$d × %2$d" "Туурасы: %1$d, бийиктиги: %2$d" @@ -52,8 +52,8 @@ "Жеке виджеттер" "Жумуш" "Сүйлөшүүлөр" - "Пайдалуу маалымат манжаңыздын учунда эле турат" - "Колдонмолорду ачпастан керектүү маалыматты алуу үчүн Башкы экранга виджеттерди кошуңуз" + "Керектүү маалымат манжаңыздын учунда" + "Колдонмолорду ачпастан керектүү маалыматты алуу үчүн башкы экранга виджеттерди кошуңуз" "Виджеттин жөндөөлөрүн өзгөртүү үчүн таптап коюңуз" "Түшүндүм" "Виджеттин жөндөөлөрүн өзгөртүү" diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml index 33e174b540..7367e2bed4 100644 --- a/res/values-mn/strings.xml +++ b/res/values-mn/strings.xml @@ -53,7 +53,7 @@ "Ажил" "Харилцан яриа" "Хэрэгтэй мэдээллээ хурууныхаа үзүүрээр аваарай" - "Аппуудыг нээлгүйгээр мэдээлэл авахын тулд та Үндсэн нүүрэндээ жижиг хэрэгслүүд нэмэх боломжтой" + "Аппуудыг нээлгүйгээр мэдээлэл авахын тулд та Үндсэн нүүрэндээ виджет нэмэх боломжтой" "Жижиг хэрэгслийн тохиргоог өөрчлөхийн тулд товшино уу" "Ойлголоо" "Жижиг хэрэгслийн тохиргоог өөрчлөх" diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml index e0f22d924a..bf9a170619 100644 --- a/res/values-mr/strings.xml +++ b/res/values-mr/strings.xml @@ -155,17 +155,17 @@ "बंद करा" "सूचना डिसमिस केली" "वैयक्तिक" - "कार्यालय" + "कार्य" "कार्य प्रोफाइल" "कामाशी संबंधित ॲप्स ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" "कार्य ॲप्स थांबवली आहेत" - "तुमची कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" + "तुमची कार्य ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "कामाशी संबंधित ॲप्स बंद आहेत. तुमचे कामाशी संबंधित ॲप्स तुम्हाला सूचना पाठवू शकत नाहीत, तुमची बॅटरी वापरू शकत नाहीत किंवा तुमचे स्थान अ‍ॅक्सेस करू शकत नाहीत" "Work apps ही बॅज केलेली असून तुमच्या IT ॲडमिनला दृश्यमान आहेत" "समजले" "कामाशी संबंधित ॲप्स बंद करा" - "कामाशी संबंधित ॲप्स सुरू करा" + "कार्य ॲप्स सुरू करा" "फिल्टर" "हे करता आले नाही: %1$s" diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml index 67f5df890f..269c5f796b 100644 --- a/res/values-pa/strings.xml +++ b/res/values-pa/strings.xml @@ -28,7 +28,7 @@ "ਸ਼ਾਰਟਕੱਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ" "ਮੁੱਖ ਪੰਨਾ" "ਸਪਲਿਟ ਸਕ੍ਰੀਨ" - "ਕਿਸੇ ਵਿਜੇਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਸਪੱਰਸ਼ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।" + "ਕਿਸੇ ਵਿਜੇਟ ਨੂੰ ਲਿਜਾਉਣ ਲਈ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।" "ਵਿਜੇਟ ਲਿਜਾਉਣ ਲਈ ਜਾਂ ਵਿਉਂਂਤੀਆਂ ਕਾਰਵਾਈਆਂ ਵਰਤਣ ਲਈ ਦੋ ਵਾਰ ਟੈਪ ਕਰਕੇ ਦਬਾ ਕੇ ਰੱਖੋ।" "%1$d × %2$d" "%1$d ਚੌੜਾਈ ਅਤੇ %2$d ਲੰਬਾਈ" diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml index 9d1325db0b..5532b286de 100644 --- a/res/values-pl/strings.xml +++ b/res/values-pl/strings.xml @@ -165,7 +165,7 @@ "Profil służbowy" "Aplikacje służbowe mają plakietki i są widoczne dla administratora IT" "OK" - "Aplikacje do pracy zostały wstrzymane" + "Aplikacje służbowe zostały wstrzymane" "Aplikacje służbowe nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" "Aplikacje służbowe są wyłączone i nie mogą wysyłać powiadomień, używać baterii ani uzyskiwać dostępu do Twojej lokalizacji" "Aplikacje służbowe mają plakietki i są widoczne dla administratora IT" diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml index fadd84debb..67be316b46 100644 --- a/res/values-ro/strings.xml +++ b/res/values-ro/strings.xml @@ -67,7 +67,7 @@ "Notificări" "Atingeți și țineți apăsat pentru a muta comanda rapidă." "Atingeți de două ori și țineți apăsat pentru a muta o comandă rapidă sau folosiți acțiuni personalizate." - "Nu este disponibilă nicio sală pe acest ecran de pornire" + "Nu există spațiu liber pe acest ecran de pornire" "Spațiu epuizat în bara Preferate" "Lista de aplicații" "Lista de aplicații personale" diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml index 8e92c222cc..de923b3e78 100644 --- a/res/values-sl/strings.xml +++ b/res/values-sl/strings.xml @@ -59,7 +59,7 @@ "Koristne informacije na dosegu prstov" "Če si želite podatke ogledati brez odpiranja aplikacij, lahko na začetni zaslon dodate pripomočke." "Dotaknite se, če želite spremeniti nastavitve pripomočka." - "V redu" + "Razumem" "Spreminjanje nastavitev pripomočka" "Iskanje programov" "Nalaganje aplikacij …" diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml index 4b56e45016..6d3c6bc9b5 100644 --- a/res/values-sr/strings.xml +++ b/res/values-sr/strings.xml @@ -28,7 +28,7 @@ "Пречица није доступна" "Почетни екран" "Подељени екран" - "Двапут додирните и задржите ради померања виџета." + "Додирните и задржите ради померања виџета." "Двапут додирните и задржите да бисте померали виџет или користите прилагођене радње." "%1$d×%2$d" "ширина од %1$d и висина од %2$d" @@ -65,7 +65,7 @@ "Претражи још апликација" "Апликација" "Обавештења" - "Двапут додирните и задржите ради померања пречице." + "Додирните и задржите ради померања пречице." "Двапут додирните и задржите да бисте померали пречицу или користите прилагођене радње." "Нема простора на овом почетном екрану" "Нема више простора на траци Омиљено" diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml index dc5be39c85..e420aeff5d 100644 --- a/res/values-sw/strings.xml +++ b/res/values-sw/strings.xml @@ -52,7 +52,7 @@ "Binafsi" "Kazini" "Mazungumzo" - "Maelezo muhimu mahali popote ulipo" + "Maelezo muhimu, popote ulipo" "Ili upate maelezo bila kufungua programu, unaweza kuweka wijeti kwenye Skrini yako ya kwanza" "Gusa ili ubadilishe mipangilio ya wijeti" "Nimeelewa" @@ -157,12 +157,12 @@ "Binafsi" "Kazini" "Wasifu wa kazini" - "Programu za kazini zina beji na zinaonekana kwa msimamizi wako wa TEHAMA" + "Programu za kazini zina beji na msimamizi wako wa TEHAMA anaziona" "Nimeelewa" "Programu za kazini zimesimamishwa" "Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" "Programu za kazini zimezimwa. Programu zako za kazini haziwezi kukutumia arifa, kutumia betri yako au kufikia maelezo ya mahali ulipo" - "Programu za kazini zina beji na zinaonekana kwa msimamizi wako wa TEHAMA" + "Programu za kazini zina beji na msimamizi wako wa TEHAMA anaziona" "Nimeelewa" "Zima programu za kazini" "Washa programu za kazini" diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml index a83c4c6e90..65a99fd01f 100644 --- a/res/values-te/strings.xml +++ b/res/values-te/strings.xml @@ -157,14 +157,14 @@ "వ్యక్తిగతం" "వర్క్" "కార్యాలయ ప్రొఫైల్" - "వర్క్ యాప్‌లు బ్యాడ్జ్ చేయబడ్డాయి, మీ IT అడ్మిన్‌కు కనిపిస్తాయి" + "వర్క్ యాప్‌లకు బ్యాడ్జ్ ఉంటుంది, అవి మీ IT అడ్మిన్‌కు కనిపిస్తాయి" "అర్థమైంది" "వర్క్ యాప్‌లు పాజ్ చేయబడ్డాయి" "మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం మీ వర్క్ యాప్‌లకు సాధ్యపడదు" "వర్క్ యాప్‌లు ఆఫ్‌లో ఉన్నాయి. మీకు నోటిఫికేషన్‌లు పంపడం, మీ బ్యాటరీని ఉపయోగించడం, లేదా మీ లొకేషన్‌ను యాక్సెస్ చేయడం మీ వర్క్ యాప్‌లకు సాధ్యపడదు" - "వర్క్ యాప్‌లు బ్యాడ్జ్ చేయబడ్డాయి, మీ IT అడ్మిన్‌కి కనిపిస్తాయి" + "వర్క్ యాప్‌లకు బ్యాడ్జ్ ఉంటుంది, అవి మీ IT అడ్మిన్‌కు కనిపిస్తాయి" "అర్థమైంది" - "వర్క్ యాప్‌లను ఆఫ్ చేయి" + "వర్క్ యాప్‌లను ఆఫ్ చేయండి" "వర్క్ యాప్‌లను ఆన్ చేయి" "ఫిల్టర్ చేయి" "విఫలమైంది: %1$s" diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml index c309d8a175..c4b3c24eb6 100644 --- a/res/values-uk/strings.xml +++ b/res/values-uk/strings.xml @@ -163,12 +163,12 @@ "Особисті додатки" "Робочі додатки" "Робочий профіль" - "Робочі додатки відповідно позначені й видимі системному адміністратору" + "Робочі додатки мають спеціальну позначку. Їх бачить системний адміністратор." "OK" "Робочі додатки призупинено" "Ваші робочі додатки не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих" "Робочі додатки вимкнено. Вони не можуть надсилати сповіщення, використовувати заряд акумулятора й отримувати доступ до геоданих." - "Робочі додатки відповідно позначені й видимі системному адміністратору" + "Робочі додатки мають спеціальну позначку. Їх бачить системноий адміністратор." "Зрозуміло" "Вимкнути робочі додатки" "Увімкнути робочі додатки" diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml index 72838d59ec..ca8a75ae3a 100644 --- a/res/values-uz/strings.xml +++ b/res/values-uz/strings.xml @@ -52,8 +52,8 @@ "Shaxsiy" "Ish" "Suhbatlar" - "Barcha foydali axborot koʻz oldingizda" - "Ilovalarni ochmasdan axborot olish uchun vidjetlarni bosh ekranga qoʻshishingiz mumkin" + "Barcha kerakli axborot doim yoningizda" + "Kerakli ilovalarni ochmasdan turib ulardan axborot olish uchun vidjetlarni bosh ekranga chiqaring" "Vidjet sozlamalarini oʻzgartirish uchun bosing" "OK" "Vidjet sozlamalarini oʻzgartirish" @@ -157,12 +157,12 @@ "Shaxsiy" "Ish" "Ish profili" - "Ishga oid ilovalar qadalgan va IT administratoringizga koʻrinadi" + "Ishga oid ilovalarning maxsus belgisi bor hamda ular administratoringizga koʻrinadi" "OK" "Ishga oid ilovalar pauza qilingan" "Ishga oid ilovalar batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" "Ishga oid ilovalar faolsizlantirilgan. Ular batareya sarfi haqida bildirishnomalar yubora olmaydi va joylashuv axborotidan foydalana olmaydi" - "Ishga oid ilovalar qadalgan va IT administratoringizga koʻrinadi" + "Ishga oid ilovalarning maxsus belgisi bor hamda ular administratoringizga koʻrinadi" "OK" "Ishga oid ilovalarni faolsizlantirish" "Ishga oid ilovalarni yoqish" diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml index 4a16045c1d..0918465df6 100644 --- a/res/values-vi/strings.xml +++ b/res/values-vi/strings.xml @@ -157,12 +157,12 @@ "Cá nhân" "Công việc" "Hồ sơ công việc" - "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT sẽ nhìn thấy các ứng dụng này" + "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT có thể nhìn thấy" "OK" - "Đã tạm dừng ứng dụng công việc" + "Đã tạm dừng các ứng dụng công việc" "Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" "Ứng dụng công việc đang tắt. Các ứng dụng công việc không thể gửi thông báo cho bạn, sử dụng pin hoặc truy cập thông tin vị trí của bạn" - "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT sẽ nhìn thấy các ứng dụng này" + "Các ứng dụng công việc được gắn huy hiệu và quản trị viên CNTT có thể nhìn thấy" "Tôi hiểu" "Tắt ứng dụng công việc" "Bật ứng dụng công việc" diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index fd2de37320..f29c546acb 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -53,7 +53,7 @@ "工作" "對話" "實用資訊,唾手可得" - "只要將小工具新增到主畫面,就可以直接查看資訊,無需開啟應用程式" + "將小工具新增到主畫面,不用開啟應用程式就可直接查看資訊" "輕按即可變更小工具設定" "知道了" "變更小工具設定" @@ -65,7 +65,7 @@ "通知" "輕觸並按住即可移動捷徑。" "㩒兩下之後㩒住,就可以郁捷徑或者用自訂操作。" - "這個主畫面已無空間" + "這個主畫面沒有空間了" "我的收藏寄存區沒有足夠空間" "應用程式清單" "個人應用程式清單" @@ -157,12 +157,12 @@ "個人" "工作" "工作設定檔" - "工作應用程式會加上標誌,且你的 IT 管理員可以看到這類應用程式" + "工作應用程式均加有標誌。您的 IT 管理員可以看到這些應用程式" "知道了" "已暫停工作應用程式" "工作應用程式無法向您傳送通知、使用電池電量或存取您的位置" "已暫停工作應用程式。工作應用程式無法向您傳送通知、使用電池電量或存取您的位置" - "IT 管理員可看到工作應用程式和相關標誌" + "工作應用程式均加有標誌。您的 IT 管理員可以看到這些應用程式" "知道了" "關閉工作應用程式" "開啟工作應用程式" diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 415908cd45..df028af657 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -157,12 +157,12 @@ "個人" "工作" "工作資料夾" - "工作應用程式會加上標記,而且你的 IT 管理員可以看到這類應用程式" + "工作應用程式會加上標記,且你的 IT 管理員可以看到這類應用程式" "我知道了" "系統已暫停工作應用程式" "工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" "工作應用程式已關閉。工作應用程式不會消耗電量、無法傳送通知,也無法存取你的位置資訊" - "你的 IT 管理員可以看見工作應用程式和相關標記" + "工作應用程式會加上標記,且你的 IT 管理員可以看到這類應用程式" "我知道了" "關閉工作應用程式" "開啟工作應用程式" From 4818bc42cd493d4fe9858f0f7181c43ef82a3b09 Mon Sep 17 00:00:00 2001 From: Alex Chau Date: Mon, 12 Jul 2021 12:29:20 +0100 Subject: [PATCH 104/905] Refresh Task overlay when thumbnail is refreshed - TaplTestQuickStep.testOverviewActions is failing on cuttlefish large screens due to overview actions being disabled by NO_THUMBNAIL, which should be caused by thumbnail being loaded after overlay is enabled, a overlay refresh after thumbnails is loaded should fix the problem Bug: 193125090 Test: manual Change-Id: I3fa8093012c3d22adac49e5e0716576706a85dfa --- .../src/com/android/quickstep/views/TaskThumbnailView.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java index 89e56ace64..1ced86bee8 100644 --- a/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java +++ b/quickstep/src/com/android/quickstep/views/TaskThumbnailView.java @@ -31,8 +31,6 @@ import android.graphics.ColorFilter; import android.graphics.Insets; import android.graphics.Matrix; import android.graphics.Paint; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Shader; @@ -165,6 +163,7 @@ public class TaskThumbnailView extends View implements PluginListener Date: Mon, 12 Jul 2021 16:31:40 +0100 Subject: [PATCH 105/905] Set max 2 lines for buttons shown in AddItemActivity Fix: 192620445 Test: Manual Change-Id: I6ad9b408c17aa81d714143cdaef63da95b0729dc --- res/layout/add_item_confirmation_activity.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/res/layout/add_item_confirmation_activity.xml b/res/layout/add_item_confirmation_activity.xml index 1aeda50c5e..4eac0a55f1 100644 --- a/res/layout/add_item_confirmation_activity.xml +++ b/res/layout/add_item_confirmation_activity.xml @@ -81,9 +81,11 @@