diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt index 38be6367..aea6cb75 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchColumn.kt @@ -98,6 +98,7 @@ fun SearchColumn( val locations by viewModel.locationResults val website by viewModel.websiteResults val hiddenResults by viewModel.hiddenResults + val separateWorkProfile by viewModel.separateWorkProfile.collectAsState(true) val bestMatch by viewModel.bestMatch @@ -160,11 +161,11 @@ fun SearchColumn( } GridResults( - items = if ((showWorkProfileApps || apps.isEmpty()) && workApps.isNotEmpty()) workApps.toImmutableList() else apps.toImmutableList(), + items = if (separateWorkProfile) if ((showWorkProfileApps || apps.isEmpty()) && workApps.isNotEmpty()) workApps.toImmutableList() else apps.toImmutableList() else listOf(apps, workApps).flatten().sorted().toImmutableList(), columns = columns, reverse = reverse, key = "apps", - before = if (workApps.isNotEmpty() && apps.isNotEmpty()) { + before = if (separateWorkProfile && workApps.isNotEmpty() && apps.isNotEmpty()) { { Row( modifier = Modifier diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt index 1f600bc9..ba24a14a 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/launcher/search/SearchVM.kt @@ -90,6 +90,8 @@ class SearchVM : ViewModel(), KoinComponent { val favoritesEnabled = searchUiSettings.favorites val hideFavorites = mutableStateOf(false) + val separateWorkProfile = searchUiSettings.separateWorkProfile + private val hiddenItemKeys = searchableRepository .getKeys( hidden = true, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreen.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreen.kt index 38beb495..1b39357b 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreen.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreen.kt @@ -1,17 +1,26 @@ package de.mm20.launcher2.ui.settings.search +import android.content.Context +import android.content.pm.LauncherApps import androidx.appcompat.app.AppCompatActivity import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.layout.padding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.rounded.* import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalLifecycleOwner import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp +import androidx.core.content.getSystemService +import androidx.lifecycle.Lifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.repeatOnLifecycle import androidx.lifecycle.viewmodel.compose.viewModel import de.mm20.launcher2.preferences.LegacySettings import de.mm20.launcher2.preferences.SearchResultOrder @@ -20,15 +29,28 @@ import de.mm20.launcher2.ui.component.MissingPermissionBanner import de.mm20.launcher2.ui.component.preferences.* import de.mm20.launcher2.ui.icons.Wikipedia import de.mm20.launcher2.ui.locals.LocalNavController +import kotlinx.coroutines.flow.flow +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.map @Composable fun SearchSettingsScreen() { val viewModel: SearchSettingsScreenVM = viewModel() val context = LocalContext.current + val lifecycleOwner = LocalLifecycleOwner.current val navController = LocalNavController.current + val hasWorkProfile by viewModel.hasWorkProfile + + LaunchedEffect(Unit) { + lifecycleOwner.lifecycle.repeatOnLifecycle(Lifecycle.State.RESUMED) { + viewModel.onResume(context) + } + } + + PreferenceScreen(title = stringResource(R.string.preference_screen_search)) { item { PreferenceCategory { @@ -55,7 +77,9 @@ fun SearchSettingsScreen() { } ) - val hasContactsPermission by viewModel.hasContactsPermission.collectAsStateWithLifecycle(null) + val hasContactsPermission by viewModel.hasContactsPermission.collectAsStateWithLifecycle( + null + ) AnimatedVisibility(hasContactsPermission == false) { MissingPermissionBanner( text = stringResource(R.string.missing_permission_contact_search_settings), @@ -77,7 +101,9 @@ fun SearchSettingsScreen() { enabled = hasContactsPermission == true ) - val hasCalendarPermission by viewModel.hasCalendarPermission.collectAsStateWithLifecycle(null) + val hasCalendarPermission by viewModel.hasCalendarPermission.collectAsStateWithLifecycle( + null + ) AnimatedVisibility(hasCalendarPermission == false) { MissingPermissionBanner( text = stringResource(R.string.missing_permission_calendar_search_settings), @@ -99,7 +125,9 @@ fun SearchSettingsScreen() { enabled = hasCalendarPermission == true ) - val hasAppShortcutsPermission by viewModel.hasAppShortcutPermission.collectAsStateWithLifecycle(null) + val hasAppShortcutsPermission by viewModel.hasAppShortcutPermission.collectAsStateWithLifecycle( + null + ) AnimatedVisibility(hasAppShortcutsPermission == false) { MissingPermissionBanner( text = stringResource( @@ -176,7 +204,7 @@ fun SearchSettingsScreen() { val locations by viewModel.locations.collectAsStateWithLifecycle(null) PreferenceWithSwitch( - title= stringResource(R.string.preference_search_locations), + title = stringResource(R.string.preference_search_locations), summary = stringResource(R.string.preference_search_locations_summary), icon = Icons.Rounded.Place, switchValue = locations == true, @@ -218,6 +246,24 @@ fun SearchSettingsScreen() { ) } } + if (hasWorkProfile) { + item { + PreferenceCategory { + val separateWorkProfile by viewModel.separateWorkProfile.collectAsStateWithLifecycle( + null + ) + SwitchPreference( + title = stringResource(R.string.preference_search_bar_separate_work_profile), + summary = stringResource(R.string.preference_search_bar_separate_work_profile_summary), + icon = Icons.Rounded.Work, + value = separateWorkProfile == true, + onValueChanged = { + viewModel.setSeparateWorkProfile(it) + } + ) + } + } + } item { PreferenceCategory { val autoFocus by viewModel.autoFocus.collectAsStateWithLifecycle(null) @@ -243,7 +289,9 @@ fun SearchSettingsScreen() { } item { PreferenceCategory { - val searchResultOrdering by viewModel.searchResultOrdering.collectAsStateWithLifecycle(null) + val searchResultOrdering by viewModel.searchResultOrdering.collectAsStateWithLifecycle( + null + ) ListPreference( title = stringResource(R.string.preference_search_result_ordering), items = listOf( @@ -257,8 +305,11 @@ fun SearchSettingsScreen() { icon = Icons.Rounded.Sort ) - val reverseSearchResults by viewModel.reverseSearchResults.collectAsStateWithLifecycle(null) - ListPreference(title = stringResource(R.string.preference_layout_search_results), + val reverseSearchResults by viewModel.reverseSearchResults.collectAsStateWithLifecycle( + null + ) + ListPreference( + title = stringResource(R.string.preference_layout_search_results), items = listOf( stringResource(R.string.search_results_order_top_down) to false, stringResource(R.string.search_results_order_bottom_up) to true, diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreenVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreenVM.kt index d234262e..7f2fcd9e 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreenVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/search/SearchSettingsScreenVM.kt @@ -1,6 +1,10 @@ package de.mm20.launcher2.ui.settings.search +import android.content.Context +import android.content.pm.LauncherApps import androidx.appcompat.app.AppCompatActivity +import androidx.compose.runtime.mutableStateOf +import androidx.core.content.getSystemService import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import de.mm20.launcher2.permissions.PermissionGroup @@ -16,6 +20,7 @@ import de.mm20.launcher2.preferences.search.WebsiteSearchSettings import de.mm20.launcher2.preferences.search.WikipediaSearchSettings import de.mm20.launcher2.preferences.ui.SearchUiSettings import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.flowOf import kotlinx.coroutines.flow.stateIn import org.koin.core.component.KoinComponent import org.koin.core.component.inject @@ -33,6 +38,12 @@ class SearchSettingsScreenVM : ViewModel(), KoinComponent { private val permissionsManager: PermissionsManager by inject() private val locationSearchSettings: LocationSearchSettings by inject() + val hasWorkProfile = mutableStateOf(false) + + fun onResume(context: Context) { + hasWorkProfile.value = context.getSystemService()!!.profiles.size > 1 + } + val favorites = searchUiSettings.favorites .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), null) @@ -139,6 +150,13 @@ class SearchSettingsScreenVM : ViewModel(), KoinComponent { searchUiSettings.setReversedResults(reverseSearchResults) } + val separateWorkProfile = searchUiSettings.separateWorkProfile + .stateIn(viewModelScope, SharingStarted.WhileSubscribed(), null) + + fun setSeparateWorkProfile(separateWorkProfile: Boolean) { + searchUiSettings.setSeparateWorkProfile(separateWorkProfile) + } + fun requestAppShortcutsPermission(activity: AppCompatActivity) { permissionsManager.requestPermission(activity, PermissionGroup.AppShortcuts) } diff --git a/core/i18n/src/main/res/values-ca/strings.xml b/core/i18n/src/main/res/values-ca/strings.xml index 806b7ad3..89bb134a 100644 --- a/core/i18n/src/main/res/values-ca/strings.xml +++ b/core/i18n/src/main/res/values-ca/strings.xml @@ -665,4 +665,46 @@ L\'amfitrió del connector no està instal·lat Es requereix permís de connector per utilitzar connectors. Indiqueu amb quin connector s\'ha creat un resultat de cerca + Colors del Fons de Pantalla + Estarà disponible %1$s + Doneu permís a la ubicació per cercar ubicacions properes. + Font de Colors dinàmics + Colors del Sistema + Mostra només resultats amb categories ben definides, com ara cafeteries o restaurants + Mostrant una versió emmagatzemada a la memòria cau, és possible que la informació estigui obsoleta. + Primer heu de configurar aquest connector + Aquest connector no funciona correctament + Avançat + Truca + Informe d\'error + Mapa + Mostra una vista prèvia del mapa dels llocs + Tematització del mapa + Apliqueu l\'esquema de colors del llançador al mapa + Mostra la pròpia posició + \"Tileserver\" URL + Estableix com a proveïdor meteorològic + Actualment establert com a proveïdor meteorològic + Aquest element ja no existeix. + Obert 24/7 + Configurar + Cerca de fitxers + Proveïdor de dades climatològiques + Oficial + Llocs + Radi de cerca + Busqueu botigues i altres llocs a l\'entorn local + Mostra la teva pròpia ubicació al mapa + Activa el connector + Unitat de longitud + Imperial + Mètric + \"Overpass\" URL + Amaga llocs no categoritzats + Obert + Tancat + Disponible fins %1$s + Disponible en %1$s + Veure al mapa + Lloc web obert \ No newline at end of file diff --git a/core/i18n/src/main/res/values-ca/units.xml b/core/i18n/src/main/res/values-ca/units.xml index 5d38477c..0e8767f2 100644 --- a/core/i18n/src/main/res/values-ca/units.xml +++ b/core/i18n/src/main/res/values-ca/units.xml @@ -265,4 +265,10 @@ nus nusos + dm + + decímetre + decímetres + decímetres + \ No newline at end of file diff --git a/core/i18n/src/main/res/values-cs/strings.xml b/core/i18n/src/main/res/values-cs/strings.xml index 1654ae39..2a5c48fc 100644 --- a/core/i18n/src/main/res/values-cs/strings.xml +++ b/core/i18n/src/main/res/values-cs/strings.xml @@ -683,4 +683,33 @@ Zdroj dynamických barev Systém Tapeta + Udělte oprávnění k přístupu k poloze pro vyhledání lokací v okolí. + Místa + Vzdálenost vyhledávání + Vyhledat v místní oblasti obchody a další místa + Zobrazit vlastní lokaci na mapě + Otevírá v %1$s + Zobrazit náhled mapy pro místa + Téma mapy + Použít barevné schéma launcheru jako téma mapy + Zobrazit vlastní polohu + Adresa URL dlaždicového serveru + Volání + Nahlášení chyby + Zobrazování verze z mezipaměti, informace mohou být zastaralé. + Tato položka již neexistuje. + Zobrazit pouze výsledky s přesně definovanými kategoriemi, jako kavárny nebo restaurace + Jednotka délky + Imperiální + Metrická + Skrýt nekategorizovaná místa + Mapa + Adresa URL Overpass + Otevřeno + Zavřeno + Otevřeno do %1$s + Otevírá v %1$s + Zobrazit na mapě + Otevřít web + Otevřeno 24/7 \ No newline at end of file diff --git a/core/i18n/src/main/res/values-de/strings.xml b/core/i18n/src/main/res/values-de/strings.xml index 0ae00e8f..4a4548e8 100644 --- a/core/i18n/src/main/res/values-de/strings.xml +++ b/core/i18n/src/main/res/values-de/strings.xml @@ -705,4 +705,5 @@ Karte Unkategorisierte Orte ausblenden 24/7 geöffnet + Es wird eine zwischengespeicherte Version angezeigt, die Informationen können veraltet sein. \ No newline at end of file diff --git a/core/i18n/src/main/res/values-hu/strings.xml b/core/i18n/src/main/res/values-hu/strings.xml index ccd79806..a382baf6 100644 --- a/core/i18n/src/main/res/values-hu/strings.xml +++ b/core/i18n/src/main/res/values-hu/strings.xml @@ -55,8 +55,8 @@ E-book Rajz %1$s fájl - A(z) %1$s fájl véglegesen törlve lesz. Folytatod? - A(z) %1$s parancsikon véglegesen törölve lesz. Folytatod? + A(z) %1$s fájl véglegesen törlődni fog. Folytatja? + A(z) %1$s parancsikon véglegesen törölődni fog. Folytatja? Nem sikerült megnyitni a következőt: %1$s https://google.com/search\?q=${1} https://play.google.com/store/search\?q=${1} @@ -87,7 +87,7 @@ Prezentáció Űrlap %1$s biztonsági mentés - A(z) %1$s könyvtár és annak összes tartalma véglegesen törlődik. Folytatod? + A(z) %1$s könyvtár és annak teljes tartalma véglegesen törlődni fog. Folytatatja? Google YouTube https://www.youtube.com/results\?search_query=${1} @@ -97,7 +97,7 @@ Importálás URL-címről Időjárás Továbbiak - Itt nincsenek Easter Egg-ek, hacsak nem hoztál magaddal. + Itt nincsenek Easter Egg-ek, hacsak nem hozott magával. Bezárás Tovább Beállítások @@ -114,7 +114,7 @@ A lekérdezés kódolása Százalékos-kódolás Mentés - Nos, megtaláltál. Gratulálok. Megérte\? + Nos, megtalált. Gratulálok. Megérte? Nincs kitűzve - gyakran használt Kitűzött - automatikusan rendezett Ez az URL nem egy érvényes Owncloud telepítésre mutat @@ -127,15 +127,15 @@ A(z) %1$s médiát játszik le Enyhe hó záporok Jegyzet - Kérlek, hagyd abba, csak az idődet vesztegeted + Hagyja abba, csak az idejét vesztegeti Kitűzött - kézzel rendezett Címke készítése… - Nextcloud szerver URL + Nextcloud kiszolgáló címe A kitűzött címkék itt jelennek meg Felhasználónév - Ha engedélyezted a kétfaktoros hitelesítést, akkor itt egy alkalmazásjelszót kell használnod. + Ha engedélyezte a kétfaktoros hitelesítést, akkor itt egy alkalmazásjelszót kell használnia. A bejelentkezés sikertelen: helytelen felhasználónév vagy jelszó. - Owncloud szerver URL + Owncloud kiszolgáló címe Közelgő Következő esemény Mindent mutat @@ -145,7 +145,7 @@ Enyhe havazás és mennydörgés Új jegyzet Mentés - Írj egy jegyzetet… + Jegyzet készítése… Jegyzet_%1$s Elvetés Jegyzet elvetve. @@ -169,7 +169,7 @@ Kelet-délkelet Délkelet Észak-északnyugat - Szerver URL nem lehet üres + Kiszolgáló címe nem lehet üres A felhasználónév nem lehet üres Az Európai Központi Bank által naponta egyszer közzétett árfolyamok. Minden információ \"úgy, ahogy van\", mindenféle garancia nélkül. Ezen információkért semmilyen felelősséget nem vállalunk. \n @@ -182,7 +182,7 @@ Enyhe eső záporok és mennydörgés Enyhe havazás Heves havas eső záporok és mennydörgés - %1$s téma + %1$s színséma Töltés animáció Méretek: %1$s A \'${1}\' helyőrzőbe a tényleges keresési kifejezés kerül. @@ -197,11 +197,11 @@ Heves havazás és mennydörgés Helyszín kiválasztása A helyszín nem található. - Állítsd be a(z) %1$s alkalmazást alapértelmezett indítóként az alkalmazások parancsikonjainak kereséséhez. + Állítsa be a(z) %1$s alkalmazást alapértelmezett indítóként az alkalmazások parancsikonjainak kereséséhez. Alapértelmezett A bővítmények használatához bővítményengedély szükséges. Egyszerű mód - Témázott ikonok kényszerítése + Ikonok kényszerítése a színsémához Óránkénti és napi előrejelzések elrejtése A médialejátszás vezérléséhez értesítési hozzáférés szükséges A naptárban való kereséshez szükséges a naptárhoz való hozzáférés engedélyezése. @@ -212,7 +212,7 @@ %1$d bejegyzés törölve Csatlakoztatott fiókok és szolgáltatások kezelése - Adj engedélyt a naptárnak a közelgő találkozók és események megjelenítéséhez. + Adjon engedélyt a naptárnak a közelgő találkozók és események megjelenítéséhez. Heves hó záporok Fekete-fehér Haladó mód @@ -233,7 +233,7 @@ Hatszög Keresés sáv A helyi fájlok kereséséhez, tárhely engedélyre van szükség - Nem találod a naptárakat? + Nem találja a naptárakat? A helyi fájlok kereséséhez, összes fájl kezelése engedélyre van szükség A névjegyek kereséséhez névjegy hozzáférésre van szükség. Hibakeresés @@ -256,7 +256,7 @@ Verzió Rendszer sávok Elrendezés - Téma + Színséma Állapotsori ikonok Linkek Navigációs sáv elrejtése @@ -328,7 +328,7 @@ Bővítmények Telepített kiterjesztések kezelése Nincsenek telepített bővítmények - Bővítmény hoszt nincs telepítve + Bővítmény kiszolgáló nincs telepítve Kövesse a rendszer beállításait Témázott ikonok Ikoncsomag @@ -354,9 +354,9 @@ Heves eső záporok és mennydörgés Heves havas eső és mennydörgés A fényképek, média és dokumentumok kereséséhez tárhely engedélyre van szükség. - Állítsd be a(z) %1$s alkalmazást alapértelmezett indító alkalmazásként a parancsikonok létrehozásához. + Állítsa be a(z) %1$s alkalmazást alapértelmezett indító alkalmazásként a parancsikonok létrehozásához. Másodlagos - A kiválasztott fájlt nem lehetett beolvasni. Kérjük, győződj meg róla, hogy érvényes témafájlt (*.kvtheme) választottál ki és hogy a fájl nem sérült. + A kiválasztott fájlt nem lehetett beolvasni. Győződjön meg róla, hogy érvényes színsémát (*.kvtheme) választott ki és hogy a fájl nem sérült-e. Kinyit gomb megjelenítése Nincsenek elemek ilyen címkével Keresés / alkalmazás tár @@ -371,7 +371,7 @@ %1$d naptár kiválasztva %1$d naptár kiválasztva - Először be kell állítanod ezt a bővítményt + Először be kell állítani ezt a bővítményt Beállítás Időjárás-előrejelzés szolgáltató Beállítás időjárás-előrejelzés szolgáltatónak @@ -387,13 +387,13 @@ Wikipedia URL Rács, ikonméret, ikoncsomagok, jelvények Színsémák - Válaszd ki, hogy miről szeretnél biztonsági másolatot készíteni: + Válassza ki, hogy miről szeretne biztonsági másolatot készíteni: Személyes A kitűzött és gyakran használt elemek itt jelennek meg Parancsikon létrehozása Megjelenítés a kedvencekben Időzítő indítása - Egy ilyen nevű címke már létezik. Ha folytatod, a két címke egyesül. + Egy ilyen nevű címke már létezik. Ha folytatja, a két címke egyesül. A címke neve nem lehet üres. Hozzáadás a névjegyekhez Fent @@ -433,7 +433,7 @@ Egy jelvény megjelenítése, amely jelzi, hogy egy parancsikon melyik alkalmazáshoz tartozik Az alkalmazás widgetet nem sikerült betölteni. Keresés - A Nextcloud szervereden való kereséshez be kell jelentkezned + A Nextcloud kiszolgálón való kereséshez be kell jelentkezni Zene Hibaelhárító eszközök Widgetek @@ -447,14 +447,14 @@ Jelenleg időjárás-előrejelzés szolgáltatóként van beállítva Weboldalak Egy weboldal előnézetének megjelenítése, ha a keresési lekérdezés URL - Bejelentkezés a Google Drive kereséséhez + A Google Drive kiszolgálón való kereséshez be kell jelentkezni A kitűzött elemek sorrendjének módosítása Egy gomb megjelenítése a widgetek hozzáadásához, eltávolításához és átrendezéséhez - A hivatkozott fájlt nem lehetett beolvasni. Lehetséges, hogy áthelyezték vagy törölték. A másolat visszaállításra került a Kvaesitso belső tárolójából. Ha szerkeszted a jegyzetet, a hivatkozott fájl valószínűleg felülírásra kerül. + A hivatkozott fájlt nem lehetett beolvasni. Lehetséges, hogy áthelyezték vagy törölték. A másolat visszaállításra került a Kvaesitso belső tárolójából. Ha szerkeszti a jegyzetet, a hivatkozott fájl valószínűleg felülírásra kerül. Ez a bővítmény nem működik megfelelően Keresés, címkék, rejtett elemek A különböző keresőmotorok parancsikonjainak megjelenítése - Keress helyi- és felhőfájlokat + Keresés helyi- és felhőfájlok között Keresés a(z) %1$s fájljai között Gyakran használt elemek megjelenítése a kedvencek között Beállítások @@ -463,8 +463,8 @@ %1$d kiválasztott elem Balra húzás - Névjegyek keresése ezen az eszközön - Még nem csatlakoztatottál Owncloud fiókot + Keresés a névjegyek között + Még nem kapcsolódik egyetlen Owncloud fiókhoz sem A biztonsági mentés befejeződött. Üzenet Naptárak @@ -475,7 +475,7 @@ Rögzített keresősáv Címkék A csatlakoztatott fiókokról nem készül biztonsági másolat. A harmadik féltől származó alkalmazások widgetjeit csak ezen az eszközön lehet visszaállítani. - Kedvencek & rejtett alkalmazások + Kedvencek és rejtett alkalmazások A visszaállítani kívánt biztonsági mentés %1$s-kor lett létrehozva, a(z) %2$s készüléken, ezzel: %3$s. Az URL-sablon, amelyet az internetes keresés URL-jének létrehozásához használatos. Használd a ‘${1}’ szót a tényleges keresési kifejezés helyőrzőjeként, pl. https://google.com/search?q=${1}. @@ -483,11 +483,11 @@ %1$s perc múlva feltöltődik Esemény ütemezése - Add meg a weboldal címét: + Adja meg a weboldal címét: Lentről-fölfelé - Ehhez a címkéhez nincsenek elemek hozzárendelve. Ha folytatod, a címke törlődik. + Ehhez a címkéhez nincsenek elemek hozzárendelve. Ha folytatja, a címke törlődik. Elemek kiválasztása: - Egy \"%1$s\" gesztust hajtottál végre. Ez a gesztus jelenleg egy \"%2$s\" művelet kiváltására van beállítva. Az akciót azonban a következő okból nem lehetett végrehajtani: + Egy \"%1$s\" gesztust hajtott végre. Ez a gesztus jelenleg egy \"%2$s\" művelet kiváltására van beállítva. Az akciót azonban a következő okból nem lehetett végrehajtani: Föntről-lefelé Lefelé húzás Kikapcsolási menü megjelenítése @@ -498,7 +498,7 @@ Egyedi szándék Új gyors művelet Gyors művelet szerkesztése - Az adott weboldal nem importálható automatikusan webes keresésként. A következő lépésben megpróbálhatsz egy másik webhelyet, vagy manuálisan megadhatod a szükséges adatokat. + Az adott weboldal nem importálható automatikusan webes keresésként. A következő lépésben megpróbálhat egy másik webhelyet, vagy manuálisan megadhatja a szükséges adatokat. Alkalmazás URL sablon Kísérleti @@ -512,11 +512,11 @@ Szerkesztés gomb Egy gomb megjelenítése a kedvencek átrendezéséhez Rács és ikonok - Még nem csatlakoztatottál Google fiókot - Fiók csatlakoztatása + Még nem kapcsolódik egyetlen Google fiókhoz sem + Bejelentkezés a fiókba Gyors művelet Beépített widgetek - Válaszd ki, hogy mit szeretnél visszaállítani. A meglévő adatok felülírásra kerülnek! + Válassza ki, hogy mit szeretne visszaállítani. A meglévő adatok felülírásra kerülnek! Keresés az ikoncsomagokban Nincs telepítve ikoncsomag Lent @@ -526,7 +526,7 @@ Dupla érintés Szegély nélküli Munka - Abc szerint + A-Z Indítások száma Az időjárás integráció beállításai Nem található naptár @@ -541,10 +541,10 @@ Gyorsműveletek és keresési parancsikonok konfigurálása Újraválasztás Ütközés - Ütközések Megoldása - A hivatkozott fájl nem üres, és tartalma nem egyezik a jegyzet utolsó mentett verziójával. Melyik változatot szeretnéd megtartani? + Ütközések megoldása + A hivatkozott fájl nem üres, és a tartalma nem egyezik a jegyzet utolsó mentett verziójával. Melyik változatot szeretné megtartani? Háttérkép homályosítása - Sötét témák esetén sötétítse a háttérképet + Sötét színsémák esetén sötétítse a háttérképet Háttérkép elmosása Elmosási sugár Ikonjelvények konfigurálása @@ -557,7 +557,7 @@ Jelvények Owncloud Bejelentkezés az Owncloud-ba - Az Owncloud szervereden való kereséshez be kell jelentkezned + Az Owncloud kiszolgálón való kereséshez be kell jelentkezni Alkalmazza az alakzatot az összes ikonra, beleértve azokat is, amelyek általában nem támogatnák Licenc Ez az alkalmazás egy ingyenes szoftver. @@ -584,7 +584,7 @@ Média Akkumulátor Riasztások - Biztonsági mentés és Visszaállítás + Biztonsági mentés és visszaállítás Kvaesitso adatok exportálása és importálása Biztonsági mentés A beállítások és az indítóadatok exportálása @@ -596,9 +596,9 @@ Rögzített és gyakran használt elemek megjelenítése az alkalmazásrács felett Fájlok Naptár - Közelgő találkozók és események keresése - Alkalmazás parancsikonok - Alkalmazás parancsikonok keresése + Keresés a naptárban a közelgő találkozók és események között + Alkalmazások + Keresés a telepített alkalmazások között Számológép Matematikai kifejezések kiértékelése Mértékegység váltó @@ -616,7 +616,7 @@ Naptár Képek megjelenítése Jelentősen növeli az adatforgalmat - Bejelentkezés a Google segítségével + Bejelentkezés a Google Drive-ba Zenei alkalmazások korlátozása A nem zenei alkalmazások médiaműveleteinek figyelmen kívül hagyása Stílus @@ -630,7 +630,7 @@ Fiókok Időjárás Média vezérlés - Még nem csatlakoztatottál Nextcloud fiókot + Még nem kapcsolódik egyetlen Nextcloud fiókhoz sem A kiválasztott fájl nem tűnik biztonsági mentésnek. Biztos, hogy a megfelelő fájlt választottad ki? Ez a biztonsági mentés a(z) %1$s egy másik verziójával készült, és ezzel a verzióval nem állítható vissza. A biztonsági mentés visszaállítása megtörtént. @@ -655,7 +655,7 @@ Egyedi Paletta Alapértelmezett visszaállítása - Téma alkalmazása + Színséma alkalmazása Nem elérhető címke szerkesztése Egy ilyen nevű címke már létezik. @@ -669,7 +669,7 @@ Képernyő kikapcsolása Gyorsbeállítások megnyitása A művelet végrehajtásához engedélyezni kell a Kvaesitso kisegítő lehetőségek szolgáltatását. - Használat + Utoljára használva Rugalmasság a rangsorolásban Stabíl Hivatalos @@ -678,4 +678,33 @@ Háttérkép Haladó A bővítmény engedélyezése + Helyek + A közeli helyek kereséséhez engedélyezni kell a hozzáférést a helymeghatározó szolgáltatáshoz. + Keressen a környéken üzleteket és egyéb helyeket + Hosszúság mértékegysége + Birodalmi + Metrikus + Overpass URL + Kategorizálatlan helyek elrejtése + Csak jól meghatározott kategóriák, például kávézók, vagy éttermek eredményeit jeleníti meg + Térkép + Kinyit ekkor: %1$s + Térkép színséma + Az indító színsémájának alkalmazása a térképre + Saját helyszín megjelenítése + Csempekiszolgáló címe + Hívás + Nyitva + Zárva + Nyitva eddig: %1$s + Kinyit ekkor: %1$s + Megtekintés a térképen + Weboldal megnyitása + Keresési körzet + Saját helyszínének megjelenítése a térképen + Térkép előnézet megjelenítése a helyekhez + A gyorsítótárazott verzió megjelenítése, az információ elavult lehet. + Hiba bejelentése + Nyitva 24/7 + Ez az elem már nem létezik. \ No newline at end of file diff --git a/core/i18n/src/main/res/values-zh-rCN/strings.xml b/core/i18n/src/main/res/values-zh-rCN/strings.xml index ab7cf69d..343b9b13 100644 --- a/core/i18n/src/main/res/values-zh-rCN/strings.xml +++ b/core/i18n/src/main/res/values-zh-rCN/strings.xml @@ -555,9 +555,9 @@ 您已执行“%1$s”手势. 此手势当前设置为触发“%2$s”操作. 然而, 由于以下原因, 无法执行该操作: 需要启用启动器的无障碍服务才能执行此操作. 这个动作要求开启无障碍服务. - 修正搜索栏 + 固定搜索栏 在离开主页面视图时禁止滚动搜索栏 - 修正屏幕方向 + 固定屏幕方向 锁定屏幕方向为竖屏模式 紧凑模式 隐藏每小时和每日预测 diff --git a/core/i18n/src/main/res/values-zh-rTW/strings.xml b/core/i18n/src/main/res/values-zh-rTW/strings.xml index 1f36ddff..f11b794f 100644 --- a/core/i18n/src/main/res/values-zh-rTW/strings.xml +++ b/core/i18n/src/main/res/values-zh-rTW/strings.xml @@ -538,9 +538,9 @@ 搜尋結果排列方式 從頂部到底部 從底部到頂部 - 修正搜尋欄 + 固定搜尋欄 在離開首頁面檢視時禁止滾動搜尋欄 - 修正螢幕方向 + 固定螢幕方向 鎖定螢幕方向為豎屏模式 手勢 手勢與動作 diff --git a/core/i18n/src/main/res/values/strings.xml b/core/i18n/src/main/res/values/strings.xml index 751534aa..0f661c7c 100644 --- a/core/i18n/src/main/res/values/strings.xml +++ b/core/i18n/src/main/res/values/strings.xml @@ -896,6 +896,8 @@ Official Set as weather provider Currently set as weather provider - This value is possibly outdated because of connectivity issues. + Showing a cached version, information might be outdated. This item does not exist anymore. + Separate work profile apps + Shows work profile apps in a separate list \ No newline at end of file diff --git a/core/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherSettingsData.kt b/core/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherSettingsData.kt index ae9b8e38..6837c58f 100644 --- a/core/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherSettingsData.kt +++ b/core/preferences/src/main/java/de/mm20/launcher2/preferences/LauncherSettingsData.kt @@ -79,6 +79,7 @@ data class LauncherSettingsData( val searchResultsReversed: Boolean = false, val searchResultOrder: SearchResultOrder = SearchResultOrder.Weighted, + val separateWorkProfile: Boolean = true, val rankingWeightFactor: WeightFactor = WeightFactor.Default, diff --git a/core/preferences/src/main/java/de/mm20/launcher2/preferences/ui/SearchUiSettings.kt b/core/preferences/src/main/java/de/mm20/launcher2/preferences/ui/SearchUiSettings.kt index 3f869f44..eb96da40 100644 --- a/core/preferences/src/main/java/de/mm20/launcher2/preferences/ui/SearchUiSettings.kt +++ b/core/preferences/src/main/java/de/mm20/launcher2/preferences/ui/SearchUiSettings.kt @@ -62,4 +62,13 @@ class SearchUiSettings internal constructor( } } + val separateWorkProfile + get() = launcherDataStore.data.map { it.separateWorkProfile }.distinctUntilChanged() + + fun setSeparateWorkProfile(separateWorkProfile: Boolean) { + launcherDataStore.update { + it.copy(separateWorkProfile = separateWorkProfile) + } + } + } \ No newline at end of file diff --git a/plugins/sdk/src/main/res/values-ca/strings.xml b/plugins/sdk/src/main/res/values-ca/strings.xml index a6b3daec..97686861 100644 --- a/plugins/sdk/src/main/res/values-ca/strings.xml +++ b/plugins/sdk/src/main/res/values-ca/strings.xml @@ -1,2 +1,6 @@ - \ No newline at end of file + + %1$s necessita accedir a les dades de %2$s. + Denega + Permetre + \ No newline at end of file