Migration LC15 BaseDraggingActivity -> LC16 BaseActivity

Signed-off-by: Pun Butrach <pun.butrach@gmail.com>
This commit is contained in:
Pun Butrach
2026-01-10 20:47:43 +07:00
parent 03f2924d7a
commit fc6b3e67ee
18 changed files with 299 additions and 208 deletions
+1 -1
View File
@@ -82,7 +82,7 @@ jobs:
with:
submodules: true
fetch-depth: 0
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: '3.x'
- name: Install Python packages
+1 -1
View File
@@ -7,7 +7,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
- uses: actions/stale@v10
with:
stale-issue-message: This issue is stale because it has been open for 90 days with no activity. Remove stale label or comment or this will be closed in 7 days.
stale-pr-message: This PR is stale because it has been open for 60 days with no activity. Remove stale label or comment or this will be closed in 14 days.
+2 -2
View File
@@ -51,7 +51,7 @@ jobs:
- name: Rename artifact
run: mv build/outputs/apk/**/**/*.apk "${{ github.event.inputs.artifactName }}"
- name: Attest
uses: actions/attest-build-provenance@v2
uses: actions/attest-build-provenance@v3
with:
subject-path: ${{ github.event.inputs.artifactName }}
- name: Upload artifact
@@ -92,7 +92,7 @@ jobs:
with:
name: Release APK
path: artifacts/release-apk
- uses: actions/setup-python@v5
- uses: actions/setup-python@v6
with:
python-version: 3.x
- name: Install Python packages
+3 -3
View File
@@ -4,9 +4,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id 'com.android.application' version '8.12.2'
id 'com.android.library' version '8.12.2' apply false
id 'com.android.test' version '8.12.2' apply false
id 'com.android.application' version "8.13.0"
id 'com.android.library' version "8.13.0" apply false
id 'com.android.test' version '8.13.0' apply false
id 'androidx.baselineprofile' version '1.4.0'
id 'org.jetbrains.kotlin.android' version "2.2.10"
id 'org.jetbrains.kotlin.plugin.compose' version "2.2.10"
+15 -15
View File
@@ -38,23 +38,23 @@
<string name="action_copy">Copia</string>
<string name="action_paste">Enganxar</string>
<string name="action_done">Feta</string>
<string name="select_all">Select all</string>
<string name="deselect_all">Deselect all</string>
<string name="inverse_selection">Inverse selection</string>
<string name="select_all">Seleccionar tot</string>
<string name="deselect_all">Desseleccionar tot</string>
<string name="inverse_selection">Invertir selecció</string>
<string name="loading">Carregant…</string>
<string name="dismiss">Dismiss</string>
<string name="download_update">Download update</string>
<string name="install_update">Install update</string>
<string name="view_changes">View changes</string>
<string name="pro_updated">You\'re up-to-date!</string>
<string name="download_update">Descarregar actualització</string>
<string name="install_update">Instal·lar actualització</string>
<string name="view_changes">Veure canvis</string>
<string name="pro_updated">Estàs al dia!</string>
<!-- Changes dialog strings -->
<string name="changes_dialog_title">Updates</string>
<string name="changes_dialog_error">Failed to load changes</string>
<string name="changes_dialog_no_changes">No changes found</string>
<string name="changes_dialog_title">Actualitzacions</string>
<string name="changes_dialog_error">Hi ha hagut un error en carregar els canvis</string>
<string name="changes_dialog_no_changes">No s\'han trobat canvis</string>
<string name="changes_dialog_build_format">Build #%1$d → #%2$d</string>
<string name="changes_dialog_commit_info">by %1$s • %2$s • %3$s</string>
<!-- Time ago strings -->
<string name="time_just_now">just now</string>
<string name="time_just_now">just ara</string>
<string name="time_minutes_ago">%dm</string>
<string name="time_hours_ago">%dh</string>
<string name="time_days_ago">%dd</string>
@@ -72,7 +72,7 @@
General "words" used throughout Lawnchair
-->
<string name="others_category_label">Others</string>
<string name="others_category_label">Altres</string>
<!-- Selection options -->
<string name="dynamic">Dinàmic</string>
<string name="presets">Predefinits</string>
@@ -87,13 +87,13 @@
<string name="grid">Graella</string>
<string name="layout">Diseny</string>
<!-- Generic styling options -->
<string name="show_wallpaper">Show wallpaper</string>
<string name="show_wallpaper">Mostrar fons de pantalla</string>
<string name="wallpaper">Fons de pantalla</string>
<string name="style">Style</string>
<string name="style">Estil</string>
<string name="background_opacity">Opacitat del fons</string>
<!-- Toast text and tips -->
<string name="copied_toast">S\'ha copiat al porta-retalls</string>
<string name="calculator_search_result_copied_toast">Result copied to clipboard</string>
<string name="calculator_search_result_copied_toast">Resultat copiat al porta-retalls</string>
<string name="item_removed">Item removed</string>
<!-- Miscellaneous -->
<string name="what_to_show">What to show</string>
+1 -1
View File
@@ -573,7 +573,7 @@
-->
<!-- Launcher strings used -->
<string name="all_apps_device_search_hint">Έξυπνη αναζήτηση</string>
<string name="all_apps_device_search_hint">Αναζήτηση ιστού και άλλα</string>
<string name="all_apps_search_bar_hint">Αναζήτηση εφαρμογών</string>
<string name="all_apps_no_search_results">Δεν βρέθηκαν εφαρμογές που να ταιριάζουν “<xliff:g example="Android" id="query">%1$s</xliff:g></string>
<string name="all_apps_search_result_suggestions">Από το διαδίκτυο</string>
+51 -51
View File
@@ -42,25 +42,25 @@
<string name="deselect_all">لغو‌انتخاب همه</string>
<string name="inverse_selection">انتخاب معکوس</string>
<string name="loading">درحال بارگذاری…</string>
<string name="dismiss">Dismiss</string>
<string name="dismiss">رد کردن</string>
<string name="download_update">بارگیری به‌روزرسانی</string>
<string name="install_update">نصب به‌روزرسانی</string>
<string name="view_changes">View changes</string>
<string name="view_changes">مشاهده تغییرات</string>
<string name="pro_updated">شما به روز هستید!</string>
<!-- Changes dialog strings -->
<string name="changes_dialog_title">Updates</string>
<string name="changes_dialog_error">Failed to load changes</string>
<string name="changes_dialog_no_changes">No changes found</string>
<string name="changes_dialog_build_format">Build #%1$d → #%2$d</string>
<string name="changes_dialog_commit_info">by %1$s • %2$s • %3$s</string>
<string name="changes_dialog_title">به‌روزرسانی‌ها</string>
<string name="changes_dialog_error">بارگیری تغییرات ناموفق بود</string>
<string name="changes_dialog_no_changes">هیچ تغییری یافت نشد</string>
<string name="changes_dialog_build_format">ساخت #%1$d → #%2$d</string>
<string name="changes_dialog_commit_info">توسط %1$s • %2$s • %3$s</string>
<!-- Time ago strings -->
<string name="time_just_now">just now</string>
<string name="time_minutes_ago">%dm</string>
<string name="time_hours_ago">%dh</string>
<string name="time_days_ago">%dd</string>
<string name="time_weeks_ago">%dw</string>
<string name="time_months_ago">%dmo</string>
<string name="time_years_ago">%dy</string>
<string name="time_just_now">همین الان</string>
<string name="time_minutes_ago">%dد</string>
<string name="time_hours_ago">%dس</string>
<string name="time_days_ago">%dر</string>
<string name="time_weeks_ago">%dه</string>
<string name="time_months_ago">%dماه</string>
<string name="time_years_ago">%dسال</string>
<string name="managed_by_lawnchair">مدیریت شده توسط Lawnchair</string>
<!-- When mentioning settings UI -->
<string name="smartspace_preferences">ترجیحات</string>
@@ -87,7 +87,7 @@
<string name="grid">جدول</string>
<string name="layout">چیدمان</string>
<!-- Generic styling options -->
<string name="show_wallpaper">Show wallpaper</string>
<string name="show_wallpaper">نمایش تصویر‌زمینه</string>
<string name="wallpaper">کاغذ دیواری</string>
<string name="style">سبک</string>
<string name="background_opacity">شفافیت پس‌زمینه</string>
@@ -114,7 +114,7 @@
<string name="folders_filter_duplicates">فقط برنامه های ویژه را نشان بده</string>
<string name="my_folder_label">پوشه من</string>
<!-- A11y description -->
<string name="accessibility_service_description">To perform certain actions (such as locking your phone) when performing a gesture, Lawnchair requires accessibility access.\n\nLawnchair doesn\'t watch any user action, though the privilege to do so is required for all accessibility services. Lawnchair discards any event sent by the system.\n\nIn order to lock your phone, or to open the Recents screen, Lawnchair uses the performGlobalAction Accessibility service.</string>
<string name="accessibility_service_description">برای انجام برخی اقدامات (مانند قفل کردن تلفن شما) هنگام انجام یک حرکت، Lawnchair نیاز به دسترسی به قابلیت دسترسی دارد.\n\nLawnchair هیچ اقدام کاربر را زیر نظر نمی‌گیرد، اگرچه امتیاز انجام این کار برای همه سرویس‌های دسترسی لازم است. Lawnchair هر رویدادی را که توسط سیستم ارسال شود، نادیده می‌گیرد.\n\nبرای قفل کردن تلفن شما یا باز کردن صفحه اخیراً، Lawnchair از سرویس دسترسی اقدام جهانی استفاده می‌کند.</string>
<string name="x_with_y_count">%1$s (%2$d)</string>
<string name="x_by_y">%1$d x %2$d</string>
<string name="x_and_y">%1$s &amp; %2$s</string>
@@ -139,7 +139,7 @@
<string name="folders_description">تعداد سطرها و ستون‌ها</string>
<string name="gestures_label">حرکات</string>
<string name="gestures_description">ضربه‌ها و کشیدن‌ها</string>
<string name="quickstep_label">Recents screen</string>
<string name="quickstep_label">صفحه اخیر</string>
<string name="quickstep_description">دکمه پاک‌کردن همه، شعاع گوشه‌ها</string>
<string name="about_label">درباره</string>
<string name="app_info_drop_target_label">اطلاعات برنامه</string>
@@ -154,10 +154,10 @@
<string name="workspace_increase_max_grid_size_description">افزایش حداکثر اندازه جدول صفحه اصلی از ۱۰ در ۱۰ به ۲۰ در ۲۰</string>
<string name="always_reload_icons_label">همیشه بارگذاری دوباره آیکون‌ها</string>
<string name="always_reload_icons_description">خودداری از استفاده از آیکون‌های ذخیره شده در آیکون پک‌ها</string>
<string name="icon_swipe_gestures">Icon swipe gestures</string>
<string name="icon_swipe_gestures_description">Perform actions when swiping left or right on icons instead of moving the home screen</string>
<string name="show_deck_layout">Deck layout</string>
<string name="show_deck_layout_description">Show a layout option to hide the app drawer and automatically add new apps to the home screen</string>
<string name="icon_swipe_gestures">حرکات کشیدن آیکون</string>
<string name="icon_swipe_gestures_description">انجام اقدامات هنگام کشیدن انگشت به چپ یا راست روی آیکون‌ها به جای حرکت دادن صفحه اصلی</string>
<string name="show_deck_layout">چیدمان عرشه</string>
<string name="show_deck_layout_description">نمایش گزینه طرح‌بندی برای مخفی کردن کشوی برنامه‌ها و افزودن خودکار برنامه‌های جدید به صفحه اصلی</string>
<string name="recents_lock_unlock">قفل/بازکردن</string>
<string name="recents_lock_unlock_description">جلوگیری از بسته شدن برنامه انتخابی با فشار دادن «پاک کردن همه»</string>
<!--Overlay-->
@@ -222,9 +222,9 @@
<string name="icon_shape_squircle">مربع دایره‌ای</string>
<string name="icon_shape_teardrop">اشک</string>
<!-- Icon shape (Material 3 Expressive) -->
<string name="icon_shape_four_sided_cookie">Four-sided cookie</string>
<string name="icon_shape_seven_sided_cookie">Seven-sided cookie</string>
<string name="icon_shape_arch">Arch</string>
<string name="icon_shape_four_sided_cookie">کوکی چهار طرفه</string>
<string name="icon_shape_seven_sided_cookie">کوکی هفت ضلعی</string>
<string name="icon_shape_arch">قوس</string>
<!-- Custom icon shapes -->
<string name="custom_icon_shape">شکل آیکون سفارشی</string>
<string name="custom_icon_shape_create">ایجاد شکل آیکون سفارشی</string>
@@ -248,7 +248,7 @@
<string name="themed_icon_title">آیکون‌های پوسته‎‌ای</string>
<string name="themed_icons_off_label">خاموش</string>
<string name="themed_icons_home_label">صفحه اصلی</string>
<string name="themed_icons_home_and_drawer_label">Home screen and app drawer</string>
<string name="themed_icons_home_and_drawer_label">کشوی برنامه‌ها و صفحه اصلی</string>
<string name="lawnicons_not_installed_description">هیچ بسته آیکونی پشتیبانی نمی‌شود</string>
<!-- Fonts -->
<string name="pref_fonts_add_fonts">افزودن قلم</string>
@@ -324,7 +324,7 @@
<string name="smartspace_widget_description">چه چیزی نشان‌داده شود</string>
<!-- Data and time format settings -->
<string name="smartspace_calendar">تقویم</string>
<string name="smartspace_date_and_time">Date and time</string>
<string name="smartspace_date_and_time">تاریخ و زمان</string>
<string name="smartspace_date">تاریخ</string>
<string name="smartspace_time">زمان</string>
<string name="smartspace_time_format">قالب ساعت</string>
@@ -362,19 +362,19 @@
<string name="translate">ترجمه</string>
<string name="donate">کمک‌کردن</string>
<string name="product">محصول</string>
<string name="design_and_development">Design and development</string>
<string name="design_and_development">طراحی و توسعه</string>
<string name="development">توسعه</string>
<string name="quickswitch_maintenance">نگهداری QuickSwitch</string>
<string name="devops">توسعه دهنده</string>
<string name="support_and_pr">Support and PR</string>
<string name="community">Community</string>
<string name="telegram">Telegram</string>
<string name="support_and_pr">پشتیبانی و روابط عمومی</string>
<string name="community">انجمن</string>
<string name="telegram">تلگرام</string>
<string name="news">اخبار</string>
<string name="legal">Legal</string>
<string name="legal">حقوقی</string>
<string name="acknowledgements">سپاسگزاریها</string>
<string name="privacy_policy">Privacy policy</string>
<string name="contributor_status_active">Active</string>
<string name="update_check_failed">Failed to check for updates</string>
<string name="privacy_policy">سیاست حفظ حریم خصوصی</string>
<string name="contributor_status_active">فعال</string>
<string name="update_check_failed">بررسی به‌روزرسانی‌ها ناموفق بود</string>
<!--
Backup and restore
@@ -405,7 +405,7 @@
<string name="gesture_swipe_right">کشیدن راست</string>
<string name="gesture_handler_no_op">انجام هیچ‌کار</string>
<string name="gesture_handler_sleep">خاموش کردن صفحه نمایش</string>
<string name="gesture_handler_recents">Open Recents screen</string>
<string name="gesture_handler_recents">باز کردن صفحه موارد اخیر</string>
<string name="gesture_handler_open_notifications">بازکردن صفحه اعلان</string>
<string name="gesture_handler_open_app_option">بازکردن برنامه</string>
<string name="gesture_handler_open_app_config">بازکردن %1$s</string>
@@ -420,7 +420,7 @@
<string name="d2ts_recents_a11y_hint_title">فعال‌سازی سرویس دسترس‌پذیری</string>
<string name="dt2s_a11y_hint">برای استفاده از قابلیت خواب با دو ضربه، سرویس دسترسی به Lawnchair را روشن کنید. روی «بازکردن تنظیمات» ضربه بزنید، «Lawnchair» را انتخاب کنید و «استفاده از Lawnchair» را روشن کنید.\n\nLawnchair از روش «انجام عملکرد جهانی» برای انجام این عمل استفاده می‌کند. این یک مجوز حساس است که امکان نظارت بر برنامه های دیگر را فراهم می کند. با این حال، Lawnchair برای آن پیکربندی نشده است و هیچ رویدادی دریافت نمی‌کند.</string>
<string name="dt2s_recents_warning_open_settings">بازکردن تنظیمات</string>
<string name="recents_a11y_hint">To use Open Recents screen, turn on the Lawnchair accessibility service. Tap \"Open settings\", select \"Lawnchair\" and turn on \"Use Lawnchair.\"\n\nLawnchair uses Accessibility\'s `performGlobalAction` method to perform this action. This is a sensitive permission that allows monitoring other apps. However, Lawnchair is not configured for that functionality and receives no events.</string>
<string name="recents_a11y_hint">برای استفاده از صفحه باز کردن برنامه‌های اخیر، سرویس دسترسی Lawnchair را روشن کنید. روی «باز کردن تنظیمات» ضربه بزنید، «Lawnchair» را انتخاب کنید و «استفاده از Lawnchair» را روشن کنید.\n\nLawnchair از متد «انجام عمل جهانی» در قابلیت دسترسی برای انجام این عمل استفاده می‌کند. این یک مجوز حساس است که امکان نظارت بر سایر برنامه‌ها را فراهم می‌کند. با این حال، Lawnchair برای این عملکرد پیکربندی نشده است و هیچ رویدادی دریافت نمی‌کند.</string>
<!--
Bug reporting
@@ -552,7 +552,7 @@
<string name="max_folder_columns">حداکثر ستون‌های پوشه‌</string>
<string name="max_folder_rows">حداکثر ردیف پوشه</string>
<!-- Quickstep settings -->
<string name="quickswitch_ignored_warning">These settings will be ignored as Lawnchair isn\'t set as the Recents screen provider</string>
<string name="quickswitch_ignored_warning">این تنظیمات نادیده گرفته می‌شوند زیرا Lawnchair به عنوان ارائه دهنده صفحه اخیراً تنظیم نشده</string>
<string name="quickstep_incompatible">یکپارچه سازی سیستم ناسازگار</string>
<string name="quickstep_incompatible_description">دستگاه شما به گونه‌ای پیکربندی شده که ژست‌های حرکتی سیستم (معروف به Quickstep) توسط %1$s ارائه شده سازگار باشد، ولی این نسخه %1$s با اندروید شما سازگار نیست. برای ادامه استفاده از دستگاهتان، لطفاً به‌روزرسانی‌ %1$s را حذف نصب کنید یا %1$s را به‌عنوان ارائه‌دهنده اشاره سیستم غیرفعال کنید.</string>
<string name="translucent_background">پس‌زمینه نیمه شفاف</string>
@@ -564,7 +564,7 @@
<string name="task_menu_force_stop">توقف اجباری</string>
<string name="window_corner_radius_label">شعاع گوشه صفحه</string>
<string name="override_window_corner_radius_label">شعاع گوشه صفحه سفارشی</string>
<string name="window_corner_radius_description">When you swipe up to open the Recents screen, the current app follows your finger, shrinking into a card. Use this slider to adjust the corner radius of the card when it\'s nearly full screen so it matches the corners of your screen.</string>
<string name="window_corner_radius_description">وقتی برای باز کردن صفحه اخیرا، انگشت خود را به بالا می‌کشید، برنامه فعلی انگشت شما را دنبال می‌کند و به شکل یک کارت کوچک می‌شود. از این اسلایدر برای تنظیم شعاع گوشه کارت، زمانی که تقریباً تمام صفحه است، استفاده کنید تا با گوشه‌های صفحه نمایش شما مطابقت داشته باشد.</string>
<string name="taskbar_label">نوار وظیفه</string>
<string name="enable_taskbar_experimental">نمایش نوار وظیفه (آزمایشی)</string>
<!--
@@ -573,7 +573,7 @@
-->
<!-- Launcher strings used -->
<string name="all_apps_device_search_hint">Search apps, web, and more</string>
<string name="all_apps_device_search_hint">جستجوی برنامه‌ها، وب و موارد دیگر</string>
<string name="all_apps_search_bar_hint">جستجو برنامه‌ها</string>
<string name="all_apps_no_search_results">هیچ برنامه ای مطابق با \"<xliff:g example="Android" id="query">%1$s</xliff:g>\" یافت نشد</string>
<string name="all_apps_search_result_suggestions">از وب</string>
@@ -606,20 +606,20 @@
<string name="search_algorithm_app_search">جست‌وجو برنامه</string>
<string name="search_algorithm_global_search_on_device">جستجوی جهانی (روی دستگاه)</string>
<string name="search_algorithm_global_search_via_asi">جستجوی جهانی (با ASI)</string>
<string name="custom_search_label">Search engine name</string>
<string name="custom_search_url">Search engine URL</string>
<string name="custom_search_label">نام موتور جستجو</string>
<string name="custom_search_url">آدرس موتور جستجو</string>
<string name="custom_search_suggestions_url">آدرس اینترنتی پیشنهادات جستجو</string>
<string name="custom_search_input_hint">&#37;s will be replaced with the search query</string>
<string name="custom_search_input_hint">&#37; با عبارت جستجو جایگزین خواهد شد</string>
<string name="custom_search_suggestions_hint">&#37;s will be replaced with the search query. Results must be in JSON OpenSearch format.</string>
<!-- Labels of each search result types -->
<string name="show_search_result_types">نشان‌دادن در نتایج جستجو</string>
<string name="search_pref_result_apps_and_shortcuts_title">Apps and shortcuts</string>
<string name="search_pref_result_apps_and_shortcuts_title">برنامه‌ها و میانبرها</string>
<string name="search_pref_result_shortcuts_title">میانبرهای برنامه</string>
<string name="search_pref_result_people_title">مردم</string>
<string name="search_pref_result_tips_title">نکته‌های پیکسل</string>
<string name="search_pref_result_settings_title">تنظیمات اندروید</string>
<string name="search_pref_result_files_title">فایل‌ها</string>
<string name="search_pref_result_visual_media_title">Photos and videos</string>
<string name="search_pref_result_visual_media_title">عکس‌ها و ویدیوها</string>
<string name="search_pref_result_audio_media_title">فایل‌های صوتی</string>
<string name="search_pref_result_all_files_title">همه فایل‌ها</string>
<string name="search_pref_result_web_title">پیشنهادات وب</string>
@@ -627,9 +627,9 @@
<string name="all_apps_search_result_calculator">ماشین حساب</string>
<string name="search_empty_state_title">شروع جستجو</string>
<string name="search_empty_state_no_history_subtitle">برنامه‌ها، مخاطبین و موارد دیگر را پیدا کنید. جستجوهای اخیر شما در اینجا نمایش داده می‌شوند.</string>
<string name="search_empty_state_history_disabled_subtitle">Find apps, contacts, and more.</string>
<string name="search_empty_state_history_disabled_subtitle">برنامه‌ها، مخاطبین و موارد دیگر را پیدا کنید.</string>
<!-- Description for each search result type -->
<string name="search_pref_files_search_on">Search on</string>
<string name="search_pref_files_search_on">جستجو در</string>
<string name="search_pref_result_files_description">رسانه، فایل‌ها و موارد دیگر</string>
<string name="search_pref_result_contacts_description">مخاطبین و موارد دیگر</string>
<string name="search_pref_result_web_provider_description">با <xliff:g id="web_search_provider">%1$s</xliff:g></string>
@@ -644,7 +644,7 @@
<!-- Permission management -->
<string name="missing_notification_access_label">دسترسی به اعلان‌ها نیاز است</string>
<string name="missing_notification_access_desc">برای نمایش نشان اعلان، اعلان‌های برنامه را برای <xliff:g id="name" example="My App">%1$s</xliff:g> روشن کنید</string>
<string name="warn_contact_permission_title">Contacts permission needed</string>
<string name="warn_contact_permission_title">مجوز مخاطبین مورد نیاز است</string>
<string name="warn_contact_permission_content">To search for contacts, grant contacts and phone permissions to <xliff:g id="name" example="My App">%1$s</xliff:g></string>
<string name="permissions_music_audio">Music and audio access needed</string>
<string name="permissions_music_audio_description">To search your music and other audio files, <xliff:g id="name" example="My App">%1$s</xliff:g> needs permission to access your media library.</string>
@@ -666,11 +666,11 @@
<string name="permission_desc_wallpaper_multiple">Multiple permissions needed</string>
<string name="permission_desc_wallpaper_multiple_desc">To display wallpaper previews and include them in backups, <xliff:g id="name" example="My App">%1$s</xliff:g> requires the following permissions. This is due to system limitations for accessing wallpaper data.</string>
<string name="permission_label_manage_all_files">Manage all files on device</string>
<string name="permission_label_read_photos_videos">Read photos and videos</string>
<string name="manage_storage_access_denied_title">Cannot enable manage storage access</string>
<string name="permission_label_read_photos_videos">خواندن عکسها و ویدیو ها</string>
<string name="manage_storage_access_denied_title">نمیتوان دسترسی مدیریت حافظه را فعال کرد</string>
<string name="manage_storage_access_denied_description">Due to Play Store policy, <xliff:g id="name" example="My App">%1$s</xliff:g> cannot request full storage access here. To access all files, please download <xliff:g id="name" example="My App">%1$s</xliff:g> from GitHub. Alternatively, you can grant access to photos, videos, and audio files individually in settings.</string>
<string name="open_permission_settings">بازکردن تنظیمات</string>
<string name="grant_requested_permissions">اعطای مجوز</string>
<string name="permissions_needed">Permissions needed</string>
<string name="grant_requested_permissions_tap">Tap to grant permissions</string>
<string name="permissions_needed">مجوزهای مورد نیاز</string>
<string name="grant_requested_permissions_tap">برای اعطای مجوزها ضربه بزنید</string>
</resources>
+94 -94
View File
@@ -42,25 +42,25 @@
<string name="deselect_all">Deseleziona tutto</string>
<string name="inverse_selection">Selezione inversa</string>
<string name="loading">Caricamento…</string>
<string name="dismiss">Dismiss</string>
<string name="dismiss">Ignora</string>
<string name="download_update">Scarica aggiornamento</string>
<string name="install_update">Installa aggiornamento</string>
<string name="view_changes">View changes</string>
<string name="view_changes">Visualizza modifiche</string>
<string name="pro_updated">Sei aggiornato!</string>
<!-- Changes dialog strings -->
<string name="changes_dialog_title">Updates</string>
<string name="changes_dialog_error">Failed to load changes</string>
<string name="changes_dialog_no_changes">No changes found</string>
<string name="changes_dialog_title">Aggiornamenti</string>
<string name="changes_dialog_error">Impossibile caricare le modifiche</string>
<string name="changes_dialog_no_changes">Nessuna modifica trovata</string>
<string name="changes_dialog_build_format">Build #%1$d → #%2$d</string>
<string name="changes_dialog_commit_info">by %1$s • %2$s • %3$s</string>
<string name="changes_dialog_commit_info">di %1$s • %2$s • %3$s</string>
<!-- Time ago strings -->
<string name="time_just_now">just now</string>
<string name="time_minutes_ago">%dm</string>
<string name="time_hours_ago">%dh</string>
<string name="time_days_ago">%dd</string>
<string name="time_weeks_ago">%dw</string>
<string name="time_months_ago">%dmo</string>
<string name="time_years_ago">%dy</string>
<string name="time_just_now">proprio ora</string>
<string name="time_minutes_ago">%d min fa</string>
<string name="time_hours_ago">%d ore fa</string>
<string name="time_days_ago">%d giorni fa</string>
<string name="time_weeks_ago">%d settimane fa</string>
<string name="time_months_ago">%d mesi fa</string>
<string name="time_years_ago">%d anni fa</string>
<string name="managed_by_lawnchair">Gestito da Lawnchair</string>
<!-- When mentioning settings UI -->
<string name="smartspace_preferences">Preferenze</string>
@@ -72,7 +72,7 @@
General "words" used throughout Lawnchair
-->
<string name="others_category_label"></string>
<string name="others_category_label">Altro</string>
<!-- Selection options -->
<string name="dynamic">Dinamico</string>
<string name="presets">Preset</string>
@@ -87,7 +87,7 @@
<string name="grid">Griglia</string>
<string name="layout">Layout</string>
<!-- Generic styling options -->
<string name="show_wallpaper">Show wallpaper</string>
<string name="show_wallpaper">Mostra sfondo</string>
<string name="wallpaper">Sfondo</string>
<string name="style">Stile</string>
<string name="background_opacity">Opacità sfondo</string>
@@ -99,7 +99,7 @@
<string name="what_to_show">Cosa mostrare</string>
<string name="wallpapers">Sfondi</string>
<string name="caddy_beta">Caddy (Beta)</string>
<string name="caddy"></string>
<string name="caddy">Caddy</string>
<string name="app_drawer_folder">Cartelle menu delle app</string>
<string name="app_drawer_folder_settings">Cartella menu</string>
<string name="add_folder">Crea cartella</string>
@@ -114,7 +114,7 @@
<string name="folders_filter_duplicates">Mostra solo app uniche</string>
<string name="my_folder_label">La mia cartella</string>
<!-- A11y description -->
<string name="accessibility_service_description">Per eseguire determinate azioni (come bloccare il telefono) quando si esegue un gesto, Lawnchair richiede l\'accesso all\'accessibilità.\n\nLawnchair non guarda nessuna azione utente, sebbene il privilegio di farlo sia richiesto per tutti i servizi di accessibilità. Lawnchair scarta qualsiasi evento inviato dal sistema.\n\nPer bloccare il telefono, o per aprire la Schermata dei recenti, Lawnchair utilizza il servizio di accessibilità performGlobalAction.</string>
<string name="accessibility_service_description">Per eseguire determinate azioni (come bloccare il telefono) quando si esegue un gesto, Lawnchair richiede l\'accesso all\'accessibilità.\n\nLawnchair non guarda nessuna azione utente, sebbene il privilegio di farlo sia richiesto per tutti i servizi di accessibilità. Lawnchair scarta qualsiasi evento inviato dal sistema.\n\nPer bloccare il telefono, o per aprire la Schermata Recenti, Lawnchair utilizza il servizio di accessibilità performGlobalAction.</string>
<string name="x_with_y_count">%1$s (%2$d)</string>
<string name="x_by_y">%1$d × %2$d</string>
<string name="x_and_y">%1$s e %2$s</string>
@@ -127,7 +127,7 @@
<string name="settings">Impostazioni</string>
<string name="general_label">Generale</string>
<string name="general_description">Colori, Pacchetti Icone, Punti di notifica</string>
<string name="home_screen_label">Schermata principale</string>
<string name="home_screen_label">Schermata Home</string>
<string name="home_screen_description">Feed, griglia, icone</string>
<string name="dock_label">Dock</string>
<string name="dock_description">Barra di ricerca, numero d\'icone</string>
@@ -139,14 +139,14 @@
<string name="folders_description">Numero di righe e colonne</string>
<string name="gestures_label">Gesti</string>
<string name="gestures_description">Tocchi e scorrimenti</string>
<string name="quickstep_label">Schermata recenti</string>
<string name="quickstep_label">Schermata Recenti</string>
<string name="quickstep_description">Pulsante Cancella Tutto, raggio dell\'angolo</string>
<string name="about_label">Informazioni</string>
<string name="app_info_drop_target_label">Informazioni sull\'app</string>
<string name="debug_restart_launcher">Riavvia Lawnchair</string>
<string name="experimental_features_label">Funzionalità sperimentali</string>
<!-- Experimental features -->
<string name="font_picker_label">Personalizzazione del font</string>
<string name="font_picker_label">Personalizzazione dei font</string>
<string name="font_picker_description">Qualche testo rimane invariato</string>
<string name="smartspace_calendar_label">Personalizzazione del calendario di A Colpo d\'Occhio</string>
<string name="smartspace_calendar_description">Consenti la visualizzazione della data in calendari non gregoriani</string>
@@ -155,7 +155,7 @@
<string name="always_reload_icons_label">Ricarica sempre le icone</string>
<string name="always_reload_icons_description">Evita di utilizzare icone dalla cache dai pacchetti d\'icone</string>
<string name="icon_swipe_gestures">Gesti di scorrimento icona</string>
<string name="icon_swipe_gestures_description">Esegui azioni quando scorri a sinistra o a destra sulle icone invece di spostare la schermata iniziale</string>
<string name="icon_swipe_gestures_description">Esegui azioni quando scorri a sinistra o a destra sulle icone invece di spostare la schermata Home</string>
<string name="show_deck_layout">Disposizione a Deck</string>
<string name="show_deck_layout_description">Mostra un\'opzione di disposizione per nascondere il Menu delle App e aggiungere automaticamente nuove app alla Schermata Home</string>
<string name="recents_lock_unlock">Blocca/Sblocca</string>
@@ -222,9 +222,9 @@
<string name="icon_shape_squircle">Supercerchio</string>
<string name="icon_shape_teardrop">Goccia</string>
<!-- Icon shape (Material 3 Expressive) -->
<string name="icon_shape_four_sided_cookie">Four-sided cookie</string>
<string name="icon_shape_seven_sided_cookie">Seven-sided cookie</string>
<string name="icon_shape_arch">Arch</string>
<string name="icon_shape_four_sided_cookie">Biscotto a quattro</string>
<string name="icon_shape_seven_sided_cookie">Biscotto a sette</string>
<string name="icon_shape_arch">Arco</string>
<!-- Custom icon shapes -->
<string name="custom_icon_shape">Forma personalizzata per le icone</string>
<string name="custom_icon_shape_create">Crea una forma personalizzata per le icone</string>
@@ -247,8 +247,8 @@
<string name="system_icons">Icone di sistema</string>
<string name="themed_icon_title">Icone a tema</string>
<string name="themed_icons_off_label">Disattivate</string>
<string name="themed_icons_home_label">Schermata home</string>
<string name="themed_icons_home_and_drawer_label">Schermata home e menu delle app</string>
<string name="themed_icons_home_label">Schermata Home</string>
<string name="themed_icons_home_and_drawer_label">Schermata Home e menu delle app</string>
<string name="lawnicons_not_installed_description">Nessun pacchetto icone supportato</string>
<!-- Fonts -->
<string name="pref_fonts_add_fonts">Aggiungi font</string>
@@ -284,12 +284,12 @@
<!-- Color style -->
<string name="color_style_label">Stile dei colori</string>
<string name="color_style_spritz">Spritz</string>
<string name="color_style_tonal_spot">Tonal Spot</string>
<string name="color_style_vibrant">Vibrant</string>
<string name="color_style_expressive">Expressive</string>
<string name="color_style_rainbow">Rainbow</string>
<string name="color_style_fruit_salad">Fruit Salad</string>
<string name="color_style_content">Content</string>
<string name="color_style_tonal_spot">Sfumatura</string>
<string name="color_style_vibrant">Vivace</string>
<string name="color_style_expressive">Espressivo</string>
<string name="color_style_rainbow">Arcobaleno</string>
<string name="color_style_fruit_salad">Macedonia</string>
<string name="color_style_content">Contenuto</string>
<string name="color_style_monochromatic">Monocromatico</string>
<!-- Accent color and color picker -->
<string name="colors">Colori</string>
@@ -343,8 +343,8 @@
<string name="smartspace_requires_setup">Tocca per configurare</string>
<string name="event_provider_missing_notification_dots">Per utilizzare <xliff:g example="My Provider" id="providerName">%1$s</xliff:g>, attiva i Punti di notifica.</string>
<!-- Toggle button for enabling Smartspace -->
<string name="smartspace_widget_toggle_label">Mostra nella schermata home</string>
<string name="smartspace_widget_toggle_description">A Colpo d\'Occhio può essere aggiunto manualmente alla schermata home inserendo il widget di Lawnchair</string>
<string name="smartspace_widget_toggle_label">Mostra nella schermata Home</string>
<string name="smartspace_widget_toggle_description">A Colpo d\'Occhio può essere aggiunto manualmente alla schermata Home inserendo il widget di Lawnchair</string>
<!-- List of available providers -->
<string name="smartspace_mode_label">Fornitore di A Colpo d\'Occhio</string>
<string name="smartspace_mode_google">Google</string>
@@ -370,11 +370,11 @@
<string name="community">Community</string>
<string name="telegram">Telegram</string>
<string name="news">Novità</string>
<string name="legal">Legal</string>
<string name="legal">Note legali</string>
<string name="acknowledgements">Riconoscimenti</string>
<string name="privacy_policy">Privacy policy</string>
<string name="contributor_status_active">Active</string>
<string name="update_check_failed">Failed to check for updates</string>
<string name="privacy_policy">Informativa sulla privacy</string>
<string name="contributor_status_active">Attivo</string>
<string name="update_check_failed">Impossibile controllare gli aggiornamenti</string>
<!--
Backup and restore
@@ -405,7 +405,7 @@
<string name="gesture_swipe_right">Scorri a destra</string>
<string name="gesture_handler_no_op">Non fare nulla</string>
<string name="gesture_handler_sleep">Sospendi</string>
<string name="gesture_handler_recents">Apri schermata recenti</string>
<string name="gesture_handler_recents">Apri Schermata delle App Recenti</string>
<string name="gesture_handler_open_notifications">Apri il pannello delle notifiche</string>
<string name="gesture_handler_open_app_option">Apri un\'app</string>
<string name="gesture_handler_open_app_config">Apri %1$s</string>
@@ -414,20 +414,20 @@
<string name="gesture_handler_open_search">Apri la ricerca</string>
<string name="gesture_handler_open_assistant">Apri assistente</string>
<string name="pick_app_for_gesture">Seleziona l\'app</string>
<string name="dt2s_admin_hint_title">Permessi di amministratore necessari</string>
<string name="dt2s_admin_hint_title">Necessari permessi di amministratore</string>
<string name="dt2s_admin_hint">Per sospendere lo schermo con un doppio tocco, imposta Lawnchair come amministratore del dispositivo. Tocca \"Apri impostazioni\", poi tocca \"Attiva questa app come amministratore del dispositivo\".</string>
<string name="dt2s_admin_warning">La sospensione con un doppio tocco sarà disabilitata.</string>
<string name="d2ts_recents_a11y_hint_title">Abilita il servizio di accessibilità</string>
<string name="dt2s_a11y_hint">Per sospendere lo schermo con un doppio tocco, abilita il servizio di accessibilità di Lawnchair. Tocca \"Apri impostazioni\", seleziona \"Lawnchair\" e abilita \"Usa Lawnchair\".\n\nLawnchair utilizza il metodo di accessibilità `performGlobalAction` per effettuare questa operazione. Si tratta di un permesso sensibile che permette di monitorare altre app, tuttavia Lawnchair non è configurato per quella funzionalità e non riceve alcun evento.</string>
<string name="dt2s_recents_warning_open_settings">Apri impostazioni</string>
<string name="recents_a11y_hint">Per utilizzare Apri schermata recenti, abilita il servizio di accessibilità di Lawnchair. Tocca \"Apri impostazioni\", seleziona \"Lawnchair\" e abilita \"Usa Lawnchair\".\n\nLawnchair utilizza il metodo di accessibilità `performGlobalAction` per effettuare questa operazione. Si tratta di un permesso sensibile che permette di monitorare altre app, tuttavia Lawnchair non è configurato per quella funzionalità e non riceve alcun evento.</string>
<string name="recents_a11y_hint">Per utilizzare Apri Schermata delle App Recenti, abilita il servizio di accessibilità di Lawnchair. Tocca \"Apri impostazioni\", seleziona \"Lawnchair\" e abilita \"Usa Lawnchair\".\n\nLawnchair utilizza il metodo di accessibilità `performGlobalAction` per effettuare questa operazione. Si tratta di un permesso sensibile che permette di monitorare altre app, tuttavia Lawnchair non è configurato per quella funzionalità e non riceve alcun evento.</string>
<!--
Bug reporting
-->
<string name="lawnchair_bug_report">Segnalazione di un bug con Lawnchair</string>
<string name="crash_report_notif_title">%1$s è crashata</string>
<string name="crash_report_notif_title">%1$s è crashato</string>
<string name="action_upload_crash_report">Carica log del crash</string>
<string name="action_upload_error">Caricamento fallito</string>
<string name="dogbin_uploading">Caricamento…</string>
@@ -442,14 +442,14 @@
-->
<!-- General and home screen settings -->
<string name="home_screen_rotation_label">Rotazione della schermata Home</string>
<string name="home_screen_rotation_description">Consentì la rotazione della schermata home quando il dispositivo viene ruotato</string>
<string name="home_screen_rotation_description">Consentì la rotazione della schermata Home quando il dispositivo viene ruotato</string>
<string name="wallpaper_blur">Sfoca lo sfondo (sperimentale)</string>
<string name="wallpaper_background_blur">Intensità della sfocatura</string>
<string name="wallpaper_background_blur_factor">Soglia del fattore</string>
<string name="home_lawn_deck_label">Deck</string>
<string name="home_lawn_deck_label_beta">Deck (Beta)</string>
<string name="home_lawn_deck_description">Accedi senza sforzo alle tue applicazioni con Deck, l\'esperienza completa senza Menu delle App, progettata per semplicità e organizzazione fluida</string>
<string name="auto_add_shortcuts_label">Aggiungi le nuove app alla schermata home</string>
<string name="auto_add_shortcuts_label">Aggiungi le nuove app alla schermata Home</string>
<string name="minus_one_enable">Mostra il feed</string>
<string name="minus_one_unavailable">Nessuna app per il feed installata</string>
<string name="minus_one">Feed</string>
@@ -458,16 +458,16 @@
<string name="wallpaper_depth_effect_label">Effetto di profondità nello sfondo</string>
<string name="wallpaper_depth_effect_description">Effettua zoom dello sfondo durante il passaggio tra aree diverse del launcher</string>
<string name="show_sys_ui_scrim">Ombra in cima</string>
<string name="home_screen_grid">Griglia della schermata home</string>
<string name="home_screen_lock">Blocca la schermata home</string>
<string name="home_screen_unlock">Sblocca la schermata home</string>
<string name="home_screen_locked">La schermata home è bloccata</string>
<string name="home_screen_lock_description">Impedisci modifiche al layout della schermata home</string>
<string name="home_screen_grid">Griglia della schermata Home</string>
<string name="home_screen_lock">Blocca la schermata Home</string>
<string name="home_screen_unlock">Sblocca la schermata Home</string>
<string name="home_screen_locked">La schermata Home è bloccata</string>
<string name="home_screen_lock_description">Impedisci modifiche al layout della schermata Home</string>
<string name="show_dot_pagination_label">Mostra punti di paginazione</string>
<string name="show_dot_pagination_description">Usa punti invece che linee per mostrare il numero della pagina</string>
<string name="show_material_u_popup_label">Usa il nuovo stile popup</string>
<string name="show_material_u_popup_description">Usa lo stile popup di Material You, elastico e leggermente consolidato</string>
<string name="popup_menu">Menu popup</string>
<string name="show_material_u_popup_description">Usa lo stile dei popup di Material You, elastici e leggermente consolidati</string>
<string name="popup_menu">Menu a comparsa</string>
<string name="popup_menu_items">Voci del menu a comparsa</string>
<string name="edit_menu_items">Modifica le voci del menu a comparsa</string>
<string name="wallpaper_quick_picker">Selettore rapido sfondo</string>
@@ -552,7 +552,7 @@
<string name="max_folder_columns">Numero massimo di colonne nelle cartelle</string>
<string name="max_folder_rows">Numero massimo di righe nelle cartelle</string>
<!-- Quickstep settings -->
<string name="quickswitch_ignored_warning">Queste impostazioni saranno ignorate perché Lawnchair non è impostato come fornitore della Schermata recenti</string>
<string name="quickswitch_ignored_warning">Queste impostazioni saranno ignorate perché Lawnchair non è fornitore della Schermata Recenti</string>
<string name="quickstep_incompatible">Integrazione di sistema incompatibile</string>
<string name="quickstep_incompatible_description">Il tuo dispositivo è configurato per avere i gesti di sistema (noti come Quickstep) forniti da %1$s, ma questa versione di %1$s non è compatibile con la tua versione di Android. Per continuare ad usare il tuo dispositivo, disinstalla gli aggiornamenti di %1$s o disabilita %1$s come fornitore dei gesti di sistema.</string>
<string name="translucent_background">Sfondo traslucido</string>
@@ -564,7 +564,7 @@
<string name="task_menu_force_stop">Forza la chiusura</string>
<string name="window_corner_radius_label">Raggio di curvatura dell\'angolo dello schermo</string>
<string name="override_window_corner_radius_label">Raggio di curvatura dell\'angolo dello schermo personalizzato</string>
<string name="window_corner_radius_description">Quando scorri verso l\'alto per mostrare la schermata recenti, l\'applicazione corrente segue il tuo dito, restringendosi in una scheda. Utilizza questo cursore per regolare il raggio di curvatura degli angoli della scheda quando è quasi a schermo intero in modo che corrisponda agli angoli del tuo schermo.</string>
<string name="window_corner_radius_description">Quando scorri verso l\'alto per mostrare la Schermata delle App Recenti, l\'applicazione corrente segue il tuo dito, restringendosi in una scheda. Utilizza questo cursore per regolare il raggio di curvatura degli angoli della scheda quando è quasi a schermo intero in modo che corrisponda agli angoli del tuo schermo.</string>
<string name="taskbar_label">Barra delle applicazioni</string>
<string name="enable_taskbar_experimental">Mostra la barra delle applicazioni (sperimentale)</string>
<!--
@@ -573,7 +573,7 @@
-->
<!-- Launcher strings used -->
<string name="all_apps_device_search_hint">Search apps, web, and more</string>
<string name="all_apps_device_search_hint">Cerca app, web e altro</string>
<string name="all_apps_search_bar_hint">Cerca tra le app</string>
<string name="all_apps_no_search_results">Non è stata trovata nessuna app che corrisponda a \"<xliff:g example="Android" id="query">%1$s</xliff:g>\"</string>
<string name="all_apps_search_result_suggestions">Dal web</string>
@@ -585,13 +585,13 @@
<string name="error_no_market_or_browser_installed">Nessuno store né browser è installato</string>
<string name="all_apps_search_on_web_general">Cerca sul web</string>
<string name="clear_history">Cancella la cronologia di ricerca</string>
<string name="search_input_action_clear_results">Pulisci la casella di ricerca</string>
<string name="search_input_action_clear_results">Pulisci la barra di ricerca</string>
<!-- Search settings -->
<string name="pref_category_search">Ricerca</string>
<string name="show_app_search_bar">Mostra la barra di ricerca</string>
<string name="pref_search_auto_show_keyboard">Mostra la tastiera automaticamente</string>
<string name="fuzzy_search_title">Ricerca approssimativa</string>
<string name="fuzzy_search_desc">Mostra risultati simili a ciò che hai digitato per le ricerche tra le app</string>
<string name="fuzzy_search_desc">Mostra corrispondenze simili alle ricerche tra le app</string>
<string name="suggestion_pref_screen_title">Suggerimenti</string>
<string name="show_suggested_apps_at_drawer_top">Mostra app consigliate in cima al menu delle app</string>
<string name="perform_wide_search_title">Ricerca sul dispositivo</string>
@@ -600,17 +600,17 @@
<string name="hidden_apps_show_name_typed">Se viene digitato il nome completo</string>
<string name="allapps_web_suggestion_provider_label">Fornitore di suggerimenti web</string>
<string name="allapps_use_web_suggestion_icon_label">Mostra l\'icona del fornitore di suggerimenti web nella barra di ricerca</string>
<string name="allapps_match_qsb_style_label">Fai corrispondere alla barra di ricerca della dock</string>
<string name="allapps_match_qsb_style_label">Associa alla barra di ricerca della dock</string>
<string name="allapps_match_qsb_style_description">Cliccare sulla barra di ricerca della dock aprirà la ricerca dal menu delle app</string>
<string name="app_search_algorithm">Algoritmo di ricerca</string>
<string name="search_algorithm_app_search">Ricerca app</string>
<string name="search_algorithm_global_search_on_device">Ricerca globale (sul dispositivo)</string>
<string name="search_algorithm_global_search_via_asi">Ricerca globale (tramite ASI)</string>
<string name="custom_search_label">Search engine name</string>
<string name="custom_search_url">Search engine URL</string>
<string name="custom_search_suggestions_url">Dearch suggestions URL</string>
<string name="custom_search_label">Nome motore di ricerca</string>
<string name="custom_search_url">URL motore di ricerca</string>
<string name="custom_search_suggestions_url">URL suggerimenti di ricerca</string>
<string name="custom_search_input_hint">&#37;s sarà sostituito con la query di ricerca</string>
<string name="custom_search_suggestions_hint">&#37;s will be replaced with the search query. Results must be in JSON OpenSearch format.</string>
<string name="custom_search_suggestions_hint">&#37;s diventerà la query di ricerca. I risultati devono essere in formato JSON OpenSearch.</string>
<!-- Labels of each search result types -->
<string name="show_search_result_types">Mostra nei risultati di ricerca</string>
<string name="search_pref_result_apps_and_shortcuts_title">App e scorciatoie</string>
@@ -619,17 +619,17 @@
<string name="search_pref_result_tips_title">Suggerimenti Pixel</string>
<string name="search_pref_result_settings_title">Impostazioni di Android</string>
<string name="search_pref_result_files_title">File</string>
<string name="search_pref_result_visual_media_title">Photos and videos</string>
<string name="search_pref_result_audio_media_title">Audio files</string>
<string name="search_pref_result_all_files_title">All files</string>
<string name="search_pref_result_visual_media_title">Foto e video</string>
<string name="search_pref_result_audio_media_title">File audio</string>
<string name="search_pref_result_all_files_title">Tutti i file</string>
<string name="search_pref_result_web_title">Suggerimenti dal web</string>
<string name="search_pref_result_history_title">Cronologia delle ricerche</string>
<string name="all_apps_search_result_calculator">Calcolatrice</string>
<string name="search_empty_state_title">Start searching</string>
<string name="search_empty_state_no_history_subtitle">Find apps, contacts, and more. Your recent searches will appear here.</string>
<string name="search_empty_state_history_disabled_subtitle">Find apps, contacts, and more.</string>
<string name="search_empty_state_title">Inizia la ricerca</string>
<string name="search_empty_state_no_history_subtitle">Trova app, contatti e altro ancora. Le tue ricerche recenti appariranno qui.</string>
<string name="search_empty_state_history_disabled_subtitle">Trova app, contatti e altro ancora.</string>
<!-- Description for each search result type -->
<string name="search_pref_files_search_on">Search on</string>
<string name="search_pref_files_search_on">Cerca su</string>
<string name="search_pref_result_files_description">Media, file e altro</string>
<string name="search_pref_result_contacts_description">Contatti e altro</string>
<string name="search_pref_result_web_provider_description">Tramite <xliff:g id="web_search_provider">%1$s</xliff:g></string>
@@ -637,40 +637,40 @@
<string name="max_apps_result_count_title">Numero massimo di app</string>
<string name="max_people_result_count_title">Numero massimo di persone</string>
<string name="max_file_result_count_title">Numero massimo di file</string>
<string name="max_settings_entry_result_count_title">Numero massimo di impostazioni</string>
<string name="max_settings_entry_result_count_title">Numero massimo d\'impostazioni</string>
<string name="max_recent_result_count_title">Numero massimo di elementi per la cronologia di ricerca</string>
<string name="max_suggestion_result_count_title">Numero massimo di suggerimenti</string>
<string name="max_web_suggestion_delay">Ritardo massimo dei suggerimenti dal web</string>
<!-- Permission management -->
<string name="missing_notification_access_label">Accesso alle notifiche necessario</string>
<string name="missing_notification_access_desc">Per mostrare i Punti di notifica, attiva le notifiche per <xliff:g id="name" example="My App">%1$s</xliff:g></string>
<string name="warn_contact_permission_title">Contacts permission needed</string>
<string name="warn_contact_permission_content">To search for contacts, grant contacts and phone permissions to <xliff:g id="name" example="My App">%1$s</xliff:g></string>
<string name="permissions_music_audio">Music and audio access needed</string>
<string name="permissions_music_audio_description">To search your music and other audio files, <xliff:g id="name" example="My App">%1$s</xliff:g> needs permission to access your media library.</string>
<string name="warn_contact_permission_title">Necessario accesso ai contatti</string>
<string name="warn_contact_permission_content">Per cercare tra i contatti, concedi a <xliff:g id="name" example="My App">%1$s</xliff:g> i permessi Contatti e Telefono</string>
<string name="permissions_music_audio">Necessario accesso a musica e audio</string>
<string name="permissions_music_audio_description">Per cercare la tua musica e altri file audio, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno del permesso per accedere alla tua libreria multimediale.</string>
<!-- Photos and videos -->
<string name="permissions_photos_videos">Photos and videos access needed</string>
<string name="permissions_photos_videos_description">To search your photos and videos, <xliff:g id="name" example="My App">%1$s</xliff:g> needs permission to access your media library.</string>
<string name="permissions_photos_videos_full">Access your full media library?</string>
<string name="permissions_photos_videos_full_description">To search all your photos and videos, <xliff:g id="name" example="My App">%1$s</xliff:g> needs full access to your media library.</string>
<string name="permissions_photos_videos_grant_full">Grant full media permissions</string>
<string name="permissions_photos_videos_manage_selected">Manage selected items</string>
<string name="permissions_photos_videos">Necessario accesso a foto e video</string>
<string name="permissions_photos_videos_description">Per cercare le tue foto e video, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno del permesso per accedere alla tua libreria multimediale.</string>
<string name="permissions_photos_videos_full">Accedi alla tua libreria multimediale completa?</string>
<string name="permissions_photos_videos_full_description">Per cercare tutte le tue foto e video, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno del permesso per l\'accesso completo alla tua libreria multimediale.</string>
<string name="permissions_photos_videos_grant_full">Concedi permessi multimediali completi</string>
<string name="permissions_photos_videos_manage_selected">Gestisci gli elementi selezionati</string>
<!-- External storage -->
<string name="permissions_external_storage">External storage access needed</string>
<string name="permissions_external_storage_description">To search your files, <xliff:g id="name" example="My App">%1$s</xliff:g> needs permission to access your device\'s external storage.</string>
<string name="permissions_manage_storage">Manage storage access needed</string>
<string name="permissions_manage_storage_description">To display your files in search results, <xliff:g id="name" example="My App">%1$s</xliff:g> requires permission to manage all files on your device. This permission is used solely to list files and will not be used to read or change the content of your personal files.</string>
<string name="permission_desc_wallpaper_base">To display wallpaper previews and include them in backups, <xliff:g id="name" example="My App">%1$s</xliff:g> requires permission %2$s. This is due to system limitations for accessing wallpaper data.</string>
<string name="permission_desc_ending_read_all_files">to read all files on your device</string>
<string name="permission_desc_ending_manage_all_files">to manage all files on your device</string>
<string name="permission_desc_wallpaper_multiple">Multiple permissions needed</string>
<string name="permission_desc_wallpaper_multiple_desc">To display wallpaper previews and include them in backups, <xliff:g id="name" example="My App">%1$s</xliff:g> requires the following permissions. This is due to system limitations for accessing wallpaper data.</string>
<string name="permission_label_manage_all_files">Manage all files on device</string>
<string name="permission_label_read_photos_videos">Read photos and videos</string>
<string name="manage_storage_access_denied_title">Cannot enable manage storage access</string>
<string name="manage_storage_access_denied_description">Due to Play Store policy, <xliff:g id="name" example="My App">%1$s</xliff:g> cannot request full storage access here. To access all files, please download <xliff:g id="name" example="My App">%1$s</xliff:g> from GitHub. Alternatively, you can grant access to photos, videos, and audio files individually in settings.</string>
<string name="permissions_external_storage">Necessario accesso alla memoria esterna</string>
<string name="permissions_external_storage_description">Per cercare i tuoi file, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno del permesso per accedere alla memoria esterna del tuo dispositivo.</string>
<string name="permissions_manage_storage">Necessario accesso alla gestione archiviazione</string>
<string name="permissions_manage_storage_description">Per visualizzare i file nei risultati di ricerca, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno del permesso per gestire tutti i file sul tuo dispositivo. Questo permesso viene usato esclusivamente per elencare i file e non verrà usato per leggere o modificare il contenuto dei file personali.</string>
<string name="permission_desc_wallpaper_base">Per visualizzare le anteprime dello sfondo e includerle nei backup, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno del permesso %2$s. Ciò è dovuto alle limitazioni di sistema all\'accesso ai dati dello sfondo.</string>
<string name="permission_desc_ending_read_all_files">per leggere tutti i file sul tuo dispositivo</string>
<string name="permission_desc_ending_manage_all_files">per gestire tutti i file sul tuo dispositivo</string>
<string name="permission_desc_wallpaper_multiple">Più permessi necessari</string>
<string name="permission_desc_wallpaper_multiple_desc">Per visualizzare le anteprime dello sfondo e includerle nei backup, <xliff:g id="name" example="My App">%1$s</xliff:g> ha bisogno dei permessi seguenti. Ciò è dovuto alle limitazioni di sistema all\'accesso ai dati dello sfondo.</string>
<string name="permission_label_manage_all_files">Gestire tutti i file sul dispositivo</string>
<string name="permission_label_read_photos_videos">Leggere foto e video</string>
<string name="manage_storage_access_denied_title">Impossibile abilitare accesso alla gestione memoria</string>
<string name="manage_storage_access_denied_description">A causa della politica Play Store, <xliff:g id="name" example="My App">%1$s</xliff:g> non può richiedere l\'accesso alla memoria completa qui. Per accedere a tutti i file, scarica <xliff:g id="name" example="My App">%1$s</xliff:g> da GitHub. In alternativa, è possibile concedere l\'accesso a foto, video e file audio singolarmente nelle impostazioni.</string>
<string name="open_permission_settings">Apri impostazioni</string>
<string name="grant_requested_permissions">Concedi i permessi</string>
<string name="permissions_needed">Permissions needed</string>
<string name="grant_requested_permissions_tap">Tap to grant permissions</string>
<string name="permissions_needed">Permessi necessari</string>
<string name="grant_requested_permissions_tap">Tocca per concedere i permessi</string>
</resources>
+1 -1
View File
@@ -48,7 +48,7 @@
<string name="view_changes">Xem các thay đổi</string>
<string name="pro_updated">Bạn đã cập nhật rồi!</string>
<!-- Changes dialog strings -->
<string name="changes_dialog_title">Updates</string>
<string name="changes_dialog_title"></string>
<string name="changes_dialog_error">Failed to load changes</string>
<string name="changes_dialog_no_changes">No changes found</string>
<string name="changes_dialog_build_format">Bản dựng #%1$d -> #%2$d</string>
+1 -1
View File
@@ -682,7 +682,7 @@
<string name="search_provider_fennec" translatable="false">Fennec</string>
<string name="search_provider_firefox" translatable="false">Firefox</string>
<string name="search_provider_iceraven" translatable="false">Iceraven</string>
<string name="search_provider_mull" translatable="false">Mull</string>
<string name="search_provider_ironfox" translatable="false">IronFox</string>
<string name="search_provider_kagi" translatable="false">Kagi</string>
<string name="search_provider_custom">Custom</string>
@@ -145,6 +145,7 @@ fun CustomizeAppDialog(
var title by remember {
mutableStateOf(prefs.customAppName[componentKey] ?: defaultTitle)
}
val launcherAppState = LauncherAppState.getInstance(context)
// Lawnchair-TODO: We use rememberLauncherForActivityResult, but it was broke so intent was used.
@@ -164,7 +165,7 @@ fun CustomizeAppDialog(
val newTitle = if (title != defaultTitle) title else null
if (newTitle != previousTitle) {
prefs.customAppName[componentKey] = newTitle
val model = LauncherAppState.getInstance(context).model
val model = launcherAppState.model
model.onAppIconChanged(componentKey.componentName.packageName, componentKey.user)
}
}
@@ -14,6 +14,8 @@ data object Kagi : QsbSearchProvider(
themedIcon = R.drawable.ic_kagi_tinted,
themingMethod = ThemingMethod.TINT,
packageName = "com.kagi.search",
className = "com.kagi.search.HomeActivity",
action = "WIDGET_SEARCH_TEXT",
website = "https://kagi.com",
type = QsbSearchProviderType.APP_AND_WEBSITE,
sponsored = false,
@@ -137,7 +137,7 @@ sealed class QsbSearchProvider(
Firefox,
Iceraven,
Startpage,
Mull,
IronFox,
Kagi,
)
@@ -122,6 +122,7 @@ object ColorTokens {
@JvmField val PopupShadeSecond = DayNightColorToken(PopupColorPrimary.setLStar(95.0), PopupColorPrimary.setLStar(15.0))
@JvmField val PopupShadeThird = DayNightColorToken(PopupColorPrimary.setLStar(90.0), PopupColorPrimary.setLStar(10.0))
@JvmField val PopupArrow = PopupShadeFirst
@JvmField val QsbIconTintPrimary = DayNightColorToken(Accent3_400, Accent3_100)
@@ -150,8 +151,6 @@ object ColorTokens {
@JvmField val WidgetAddButtonBackgroundColor = PrimaryButton
@JvmField val PredictedPlateColor = Accent1_300
val SwitchThumbOn = Accent1_100
val SwitchThumbOff = DayNightColorToken(Neutral2_300, Neutral1_400)
val SwitchThumbDisabled = DayNightColorToken(Neutral2_100, Neutral1_700)
@@ -159,6 +158,8 @@ object ColorTokens {
val SwitchTrackOn = DayNightColorToken(Accent1_600, Accent2_500.setLStar(51.0))
val SwitchTrackOff = DayNightColorToken(Neutral2_500.setLStar(45.0), Neutral1_700)
@JvmField val PredictedPlateColor = Accent1_300
// Material 3 Expressive
@JvmField val ExpressiveAllApps = DayNightColorToken(Accent1_100, Accent1_800)
}
@@ -4,6 +4,7 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.rounded.MoreVert
import androidx.compose.material3.DropdownMenu
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateOf
@@ -32,6 +33,7 @@ fun OverflowMenu(
expanded = showMenu.value,
onDismissRequest = { showMenu.value = false },
offset = DpOffset(x = (-2).dp, y = (-48).dp),
shape = MaterialTheme.shapes.large,
) {
block(overflowMenuScope)
}
@@ -15,7 +15,14 @@ import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.outlined.Backup
import androidx.compose.material.icons.outlined.Science
import androidx.compose.material.icons.outlined.SettingsBackupRestore
import androidx.compose.material.icons.rounded.Backup
import androidx.compose.material.icons.rounded.Build
import androidx.compose.material.icons.rounded.Refresh
import androidx.compose.material.icons.rounded.Science
import androidx.compose.material.icons.rounded.SettingsBackupRestore
import androidx.compose.material.icons.rounded.TipsAndUpdates
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.Icon
@@ -28,6 +35,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.core.content.getSystemService
@@ -255,37 +263,87 @@ fun RowScope.PreferencesOverflowMenu(
},
) {
val context = LocalContext.current
DropdownMenuItem(onClick = {
openAppInfo(context)
hideMenu()
}, text = {
Text(text = stringResource(id = R.string.app_info_drop_target_label))
})
DropdownMenuItem(onClick = {
restartLauncher(context)
hideMenu()
}, text = {
Text(text = stringResource(id = R.string.debug_restart_launcher))
})
DropdownMenuItem(onClick = {
onNavigate(ExperimentalFeatures)
hideMenu()
}, text = {
Text(text = stringResource(id = R.string.experimental_features_label))
})
DropdownMenuItem(
leadingIcon = {
Icon(
painter = painterResource(R.drawable.ic_about),
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
},
onClick = {
openAppInfo(context)
hideMenu()
},
text = {
Text(text = stringResource(id = R.string.app_info_drop_target_label))
},
)
DropdownMenuItem(
leadingIcon = {
Icon(
imageVector = Icons.Rounded.Refresh,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
},
onClick = {
restartLauncher(context)
hideMenu()
},
text = {
Text(text = stringResource(id = R.string.debug_restart_launcher))
},
)
DropdownMenuItem(
leadingIcon = {
Icon(
imageVector = Icons.Outlined.Science,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
},
onClick = {
onNavigate(ExperimentalFeatures)
hideMenu()
},
text = {
Text(text = stringResource(id = R.string.experimental_features_label))
},
)
PreferenceDivider(modifier = Modifier.padding(vertical = 8.dp))
DropdownMenuItem(onClick = {
openCreateBackup()
hideMenu()
}, text = {
Text(text = stringResource(id = R.string.create_backup))
})
DropdownMenuItem(onClick = {
openRestoreBackup()
hideMenu()
}, text = {
Text(text = stringResource(id = R.string.restore_backup))
})
DropdownMenuItem(
leadingIcon = {
Icon(
imageVector = Icons.Outlined.Backup,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
},
onClick = {
openCreateBackup()
hideMenu()
},
text = {
Text(text = stringResource(id = R.string.create_backup))
},
)
DropdownMenuItem(
leadingIcon = {
Icon(
imageVector = Icons.Rounded.SettingsBackupRestore,
contentDescription = null,
tint = MaterialTheme.colorScheme.onSurfaceVariant,
)
},
onClick = {
openRestoreBackup()
hideMenu()
},
text = {
Text(text = stringResource(id = R.string.restore_backup))
},
)
}
}
@@ -39,7 +39,8 @@ fun SelectIconPreference(componentKey: ComponentKey) {
val iconPacks by LocalPreferenceInteractor.current.iconPacks.collectAsStateWithLifecycle()
val navController = LocalNavController.current
val scope = rememberCoroutineScope()
val model = LauncherAppState.getInstance(context).model
val launcherAppState = LauncherAppState.getInstance(context)
val model = launcherAppState.model
val repo = IconOverrideRepository.INSTANCE.get(context)
OnResult<IconPickerItem> { item ->
@@ -49,6 +50,7 @@ fun SelectIconPreference(componentKey: ComponentKey) {
it.setResult(Activity.RESULT_OK)
it.finish()
model.onAppIconChanged(componentKey.componentName.packageName, componentKey.user)
launcherAppState.reloadIcons()
}
}
}
@@ -68,6 +70,7 @@ fun SelectIconPreference(componentKey: ComponentKey) {
it.setResult(Activity.RESULT_OK)
it.finish()
model.onAppIconChanged(componentKey.componentName.packageName, componentKey.user)
launcherAppState.reloadIcons()
}
}
},
@@ -256,11 +256,31 @@ public class LauncherWidgetHolder {
* @param requestCode The request code
*/
public void startConfigActivity(@NonNull BaseActivity activity, int widgetId, int requestCode) {
startConfigActivity(activity, widgetId, requestCode, 0);
}
/**
* Starts the configuration activity for the widget with retry counter
*
* @param activity The activity in which to start the configuration page
* @param widgetId The ID of the widget
* @param requestCode The request code
* @param retryCount The number of retries attempted
*/
private void startConfigActivity(@NonNull BaseActivity activity, int widgetId,
int requestCode, int retryCount) {
if (!WIDGETS_ENABLED) {
sendActionCancelled(activity, requestCode);
return;
}
// Prevent infinite loops by limiting retries
if (retryCount >= 3) {
Log.e(this.getClass().getName(), "Too many retries for widget configuration, cancelling");
sendActionCancelled(activity, requestCode);
return;
}
try {
TestLogging.recordEvent(TestProtocol.SEQUENCE_MAIN, "start: startConfigActivity");
mWidgetHost.startAppWidgetConfigureActivityForResult(activity, widgetId, 0, requestCode,
@@ -270,18 +290,22 @@ public class LauncherWidgetHolder {
sendActionCancelled(activity, requestCode);
} catch (IllegalArgumentException e) {
// Widget ID became invalid, possibly due to two-step configuration some cases
Log.e(this.getClass().getName(), "Widget ID became invalid during configuration", e);
handleInvalidWidgetId(activity, widgetId, requestCode);
Log.e(this.getClass().getName(), "Widget ID became invalid during configuration (retry " + retryCount + ")", e);
handleInvalidWidgetId(activity, widgetId, requestCode, retryCount + 1);
}
}
private void handleInvalidWidgetId(BaseActivity activity, int widgetId, int requestCode) {
handleInvalidWidgetId(activity, widgetId, requestCode, 0);
}
private void handleInvalidWidgetId(BaseActivity activity, int widgetId, int requestCode, int retryCount) {
// Remove the invalid widget
deleteAppWidgetId(widgetId);
int newWidgetId = allocateAppWidgetId();
if (newWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) {
startConfigActivity(activity, newWidgetId, requestCode);
startConfigActivity(activity, newWidgetId, requestCode, retryCount);
} else {
sendActionCancelled(activity, requestCode);
}