diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 913abac35..22564c5e9 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -157,6 +157,20 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { } session?.register(toolbarSessionObserver, viewLifecycleOwner, autoPause = true) + if (settings.shouldShowOpenInAppBanner) { + session?.register( + OpenInAppOnboardingObserver( + context = context, + navController = findNavController(), + settings = settings, + appLinksUseCases = context.components.useCases.appLinksUseCases, + container = browserToolbarView.view.parent as ViewGroup + ), + owner = this, + autoPause = true + ) + } + if (!settings.userKnowsAboutPwas) { session?.register( PwaOnboardingObserver( diff --git a/app/src/main/java/org/mozilla/fenix/browser/InfoBanner.kt b/app/src/main/java/org/mozilla/fenix/browser/InfoBanner.kt new file mode 100644 index 000000000..be74646d2 --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/browser/InfoBanner.kt @@ -0,0 +1,68 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.browser + +import android.annotation.SuppressLint +import android.content.Context +import android.view.LayoutInflater +import android.view.View.GONE +import android.view.ViewGroup +import android.view.ViewGroup.LayoutParams.MATCH_PARENT +import android.view.ViewGroup.LayoutParams.WRAP_CONTENT +import kotlinx.android.synthetic.main.info_banner.view.* +import org.mozilla.fenix.R + +/** + * Displays an Info Banner in the specified container with a message and an optional action. + * The container can be a placeholder layout inserted in the original screen, or an existing layout. + * + * @param context - A [Context] for accessing system resources. + * @param container - The layout where the banner will be shown + * @param message - The message displayed in the banner + * @param dismissText - The text on the dismiss button + * @param actionText - The text on the action to perform button + * @param actionToPerform - The action to be performed on action button press + */ +class InfoBanner( + private val context: Context, + private val container: ViewGroup, + private val message: String, + private val dismissText: String, + private val actionText: String? = null, + private val actionToPerform: (() -> Unit)? = null +) { + @SuppressLint("InflateParams") + private val bannerLayout = LayoutInflater.from(context) + .inflate(R.layout.info_banner, null) + + internal fun showBanner() { + bannerLayout.banner_info_message.text = message + bannerLayout.dismiss.text = dismissText + + if (actionText.isNullOrEmpty()) { + bannerLayout.action.visibility = GONE + } else { + bannerLayout.action.text = actionText + } + + container.addView(bannerLayout) + + val params = bannerLayout.layoutParams as ViewGroup.LayoutParams + params.height = WRAP_CONTENT + params.width = MATCH_PARENT + + bannerLayout.dismiss.setOnClickListener { + dismiss() + } + + bannerLayout.action.setOnClickListener { + actionToPerform?.invoke() + } + } + + internal fun dismiss() { + container.removeView(bannerLayout) + } +} diff --git a/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt b/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt new file mode 100644 index 000000000..7b951c9b1 --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/browser/OpenInAppOnboardingObserver.kt @@ -0,0 +1,64 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.browser + +import android.content.Context +import android.view.ViewGroup +import androidx.navigation.NavController +import mozilla.components.browser.session.Session +import mozilla.components.feature.app.links.AppLinksUseCases +import mozilla.components.support.ktx.kotlin.tryGetHostFromUrl +import org.mozilla.fenix.R +import org.mozilla.fenix.ext.nav +import org.mozilla.fenix.utils.Settings + +/** + * Displays an [InfoBanner] when a user visits a website that can be opened in an installed native app. + */ +class OpenInAppOnboardingObserver( + private val context: Context, + private val navController: NavController, + private val settings: Settings, + private val appLinksUseCases: AppLinksUseCases, + private val container: ViewGroup +) : Session.Observer { + + private var sessionDomainForDisplayedBanner: String? = null + private var infoBanner: InfoBanner? = null + + override fun onUrlChanged(session: Session, url: String) { + sessionDomainForDisplayedBanner?.let { + if (url.tryGetHostFromUrl() != it) { + infoBanner?.dismiss() + } + } + } + + override fun onLoadingStateChanged(session: Session, loading: Boolean) { + val appLink = appLinksUseCases.appLinkRedirect + + if (!loading && + settings.shouldShowOpenInAppBanner && + appLink(session.url).hasExternalApp() + ) { + infoBanner = InfoBanner( + context = context, + message = context.getString(R.string.open_in_app_cfr_info_message), + dismissText = context.getString(R.string.open_in_app_cfr_negative_button_text), + actionText = context.getString(R.string.open_in_app_cfr_positive_button_text), + container = container + ) { + val directions = BrowserFragmentDirections.actionBrowserFragmentToSettingsFragment( + preferenceToScrollTo = context.getString(R.string.pref_key_open_links_in_external_app) + ) + navController.nav(R.id.browserFragment, directions) + } + + infoBanner?.showBanner() + sessionDomainForDisplayedBanner = session.url.tryGetHostFromUrl() + settings.shouldShowOpenInAppBanner = false + } + } +} diff --git a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt index 3bebc0fa2..33741ff92 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt @@ -4,6 +4,7 @@ package org.mozilla.fenix.settings +import android.annotation.SuppressLint import android.content.ActivityNotFoundException import android.content.Intent import android.net.Uri @@ -15,6 +16,7 @@ import android.widget.Toast import androidx.lifecycle.lifecycleScope import androidx.navigation.NavDirections import androidx.navigation.findNavController +import androidx.navigation.fragment.navArgs import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat import androidx.recyclerview.widget.RecyclerView @@ -27,8 +29,8 @@ import mozilla.components.concept.sync.OAuthAccount import mozilla.components.concept.sync.Profile import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.Config -import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.FeatureFlags +import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.application @@ -45,6 +47,7 @@ import kotlin.system.exitProcess @Suppress("LargeClass", "TooManyFunctions") class SettingsFragment : PreferenceFragmentCompat() { + private val args by navArgs() private lateinit var accountUiView: AccountUiView private val accountObserver = object : AccountObserver { @@ -124,6 +127,7 @@ class SettingsFragment : PreferenceFragmentCompat() { updateMakeDefaultBrowserPreference() } + @SuppressLint("RestrictedApi") override fun onResume() { super.onResume() @@ -136,6 +140,10 @@ class SettingsFragment : PreferenceFragmentCompat() { requireView().findViewById(R.id.recycler_view) ?.hideInitialScrollBar(viewLifecycleOwner.lifecycleScope) + if (args.preferenceToScrollTo != null) { + scrollToPreference(args.preferenceToScrollTo) + } + // Consider finish of `onResume` to be the point at which we consider this fragment as 'created'. creatingFragment = false } diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 7a08f93c9..684a2d55c 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -669,6 +669,11 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = false ) + var shouldShowOpenInAppBanner by booleanPreference( + appContext.getPreferenceKey(R.string.pref_key_should_show_open_in_app_banner), + default = true + ) + @VisibleForTesting(otherwise = PRIVATE) internal val trackingProtectionOnboardingCount = counterPreference( appContext.getPreferenceKey(R.string.pref_key_tracking_protection_onboarding), diff --git a/app/src/main/res/layout/info_banner.xml b/app/src/main/res/layout/info_banner.xml new file mode 100644 index 000000000..0c3e3b31e --- /dev/null +++ b/app/src/main/res/layout/info_banner.xml @@ -0,0 +1,53 @@ + + + + + + + + + diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index dd3963cbb..866cdf46b 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -410,6 +410,11 @@ android:id="@+id/settingsFragment" android:name="org.mozilla.fenix.settings.SettingsFragment" android:label="@string/settings_title"> + Equí van amosase les llingüetes abiertes. - Equí van amosase les llingüetes abiertes. + Equí van amosase les llingüetes privaes abiertes. 1 llingüeta abierta. Toca pa cambiar a otra. @@ -53,7 +53,7 @@ - %1$s llimpia los historiales cuando coles de l\'aplicación o zarres toles llingüetes privaes. Magar qu\'esto nun t\'anonimiza n\'internet, fai que la to actividá en llinia seya fácil d\'anubrir a otros usuarios qu\'usen el preséu. + %1$s llimpia los historiales de restolar en privao cuando coles de l\'aplicación o zarres toles llingüetes privaes. Magar qu\'esto nun t\'anonimiza n\'internet, fai que la to actividá en llinia seya fácil d\'anubrir a otros usuarios qu\'usen el preséu. Mitos comunes tocante al restolar en privao Desaniciar la sesión @@ -543,7 +543,7 @@ Renomar la coleición - Abrir les llingüetes + Abrir lo qu\'heba Desaniciar @@ -808,7 +808,7 @@ - Sesión de restolar en privao + Sesiones de restolar en privao Toca pa zarrar les llingüetes privaes @@ -995,7 +995,7 @@ Privacidá automática - Los axustes de privacidá y seguranza bloquien rastrexadores, malware y compañes que t\'escorren. + Los axustes de privacidá y seguranza bloquien rastrexadores, malware y compañes que te siguen. Estándar (por defeutu) @@ -1451,6 +1451,11 @@ Nun tienes llingüetes abiertes nel Firefox de los demás preseos de to. + + Ve una llista de les llingüetes que tienes nos demás preseos de to. + + Aniciar sesión pa sincronizar + Algamóse la llende de sitios destacaos diff --git a/app/src/main/res/values-be/strings.xml b/app/src/main/res/values-be/strings.xml index ac252e77d..4e0f89dd2 100644 --- a/app/src/main/res/values-be/strings.xml +++ b/app/src/main/res/values-be/strings.xml @@ -39,6 +39,8 @@ Захаваць абраныя карткі ў калекцыю Вылучана %1$s + + Зняты выбар %1$s Пакінуты рэжым мультывыбару @@ -52,6 +54,9 @@ Вы ў прыватным сеансе + + %1$s выдаляе гісторыю пошуку і аглядання з прыватных картак, калі вы закрываеце іх ці выходзіце з праграмы. Гэта не робіць вас ананімным для вэб-сайтаў ці вашага правайдара, але дазваляе трымаць у сакрэце вашу сеціўную дзейнасць ад кагосьці, хто карыстаецца вашай прыладай. Шырокавядомыя забабоны пра прыватнае агляданне Выдаліць сеанс @@ -66,12 +71,15 @@ - Знаходзьце Firefox хутчэй. Дадайце віжэт на галоўны экран. + Знаходзьце Firefox хутчэй. Дадайце віджэт на галоўны экран. Дадаць віджэт Не зараз + + + Вы можаце наладзіць Firefox аўтаматычна адкрываць спасылкі ў праграмах. Перайсці ў налады @@ -86,6 +94,8 @@ Наладзіць аўтаматычнае закрыццё картак, якія не праглядаліся на працягу дня, месяца ці года. + + Паглядзець параметры Адхіліць @@ -353,6 +363,8 @@ Атрыманыя карткі + + Апавяшчэнні для картак, атрыманых ад іншых прылад Firefox. Атрыманая картка @@ -371,9 +383,14 @@ Ахова ад сачэння выключана на гэтых сайтах Уключыць для ўсіх сайтаў + + Выключэнні дазваляюць адключыць функцыю аховы ад сачэння для абраных сайтаў. Даведацца больш + + Выключана паўсюль. Перайдзіце ў Налады, каб уключыць. + Тэлеметрыя @@ -401,6 +418,9 @@ Выдаліць уліковы запіс + + + firefox.com/pair]]> Адкрыць камеру @@ -456,6 +476,29 @@ Закрыць + + Паказаць усю гісторыю + + %d карткі(-ак) + + %d картка + + Тут няма нядаўна закрытых картак + + + + Закрываць карткі + + Уручную + + Праз дзень + + Праз тыдзень + + Праз месяц + Адкрытыя карткі @@ -476,6 +519,10 @@ Захаваць у калекцыі Падзяліцца ўсімі карткамі + + Нядаўна закрытыя карткі + + Налады картак Закрыць усе карткі @@ -521,9 +568,14 @@ Выдаліць + + Выдаліць з гісторыі %1$s (Прыватны рэжым) + + Захаваць + Выдаліць гісторыю @@ -564,6 +616,13 @@ Няма гісторыі + + + Тут яшчэ няма спамповак + + Вылучана: %1$d + Выбачайце. %1$s не можа загрузіць гэтую старонку. @@ -591,6 +650,8 @@ Выбраць папку Вы ўпэўнены, што жадаеце выдаліць гэту папку? + + %s выдаліць вылучаныя элементы. %1$s выдалена @@ -657,6 +718,10 @@ Дазволы Перайсці ў налады + + Панэль хуткіх налад Рэкамендуецца @@ -695,6 +760,8 @@ Выключана Дазволіць гук і відэа + + Аўдыё і відэа будуць прайгравацца праз Wi-Fi Блакаваць толькі гук @@ -709,6 +776,8 @@ Калекцыі Меню калекцыі + + Збірайце усё важнае для вас.\nГрупуйце падобныя пошукавыя запыты, сайты і карткі, каб потым хутчэй імі карыстацца. Выберыце карткі @@ -731,6 +800,8 @@ Выбрана картка: %d Карткі захаваны! + + Калекцыя захаваная! Картка захавана! @@ -840,6 +911,10 @@ АДМОВІЦЬ Вы ўпэўнены, што хочаце выдаліць %1$s? + + Выдаленне гэтай карткі прывядзе да выдалення ўсёй калекцыі. Вы можаце стварыць новыя калекцыі ў любы час. + + Выдаліць %1$s? Выдаліць @@ -881,6 +956,8 @@ Вы выйдзеце з большасці сайтаў Кэшаваныя відарысы і файлы + + Вызваліць месца Дазволы для сайтаў @@ -942,6 +1019,10 @@ Маеце пытанні па абноўленым выглядзе %s? Хочаце ведаць, што змянілася? Адказы тут + + Пачніце сінхранізаваць закладкі, паролі і шмат іншага праз свой уліковы запіс Firefox. + + Падрабязней Так, увайсці @@ -1107,6 +1188,8 @@ Змест з элементамі сачэння Ахова ўключана на гэтым сайце + + Ахова для гэтага сайта ВЫКЛЮЧАНА Узмоцненая ахова ад сачэння выключана на гэтых сайтах @@ -1120,6 +1203,10 @@ Што новага ў %s + + %s | Бібліятэкі OSS + Падтрымка @@ -1135,6 +1222,8 @@ Бібліятэкі, якімі мы карыстаемся + Меню адладкі ўключана + 1 картка @@ -1185,11 +1274,19 @@ Увайсці ў сінхранізацыю Захаваныя лагіны + + Лагіны, якія вы захаваеце альбо сінхранізуеце праз %s, з’явяцца тут. Даведацца больш пра сінхранізацыю. Выключэнні + + Не захаваныя лагіны і паролі з’явяцца тут. + + Лагіны і паролі не будуць захаваны для гэтых сайтаў. + + Выдаліць усе выключэнні Шукаць лагіны @@ -1206,9 +1303,13 @@ Паўторна ўвядзіце свой PIN-код Разблакуйце, каб пабачыць захаваныя лагіны + + Гэта злучэнне неабароненае. Пры аўтарызацыі Вашы лагіны могуць быць перахопленыя. Даведацца больш + + Ці жадаеце Вы, каб %s захаваў гэты лагін? Захаваць @@ -1225,6 +1326,8 @@ Капіяваць імя карыстальніка Капіяваць сайт + + Адкрыць сайт у браўзеры Паказаць пароль @@ -1234,8 +1337,18 @@ Абараніце свае лагіны і паролі + + Наладзьце графічны ключ, пін ці пароль для блакавання прылады, каб абараніць захаваныя лагіны і паролі ад крадзяжу, калі Вашай прыладай завалодае хтосьці іншы. Пазней + + Наладзіць зараз + + Разблакаваць прыладу + + Маштабаванне на ўсіх сайтах + + Актываваць, каб дазволіць маштабаванне нават на тых вэб-сайтах, якія гэта забараняюць. Назва (А-Я) @@ -1243,6 +1356,8 @@ Дадаць пашукавік + + Змяніць пашукавік Дадаць @@ -1257,6 +1372,10 @@ Іншы Назва + + Пошукавы радок + + Змяніць запыт на “%s”. Прыклад:\nhttps://www.google.com/search?q=%s Падрабязней @@ -1269,6 +1388,22 @@ Увядзіце радок пошуку + + Пераканайцеся, што пошукавы запыт адпавядае Ўзорнаму фармату + + Памылка злучэння з “%s” + + + Пашукавік %s створаны + + Пашукавік %s захаваны + + Пашукавік %s выдалены + + + Вітаем у найноўшым %s + + Вас чакае цалкам перапрацаваны аглядальнік з палепшанай прадукцыйнасцю і функцыямі, дзякуючы якім Вы зможаце зрабіць больш у Сеціве. \n\nПачакайце, пакуль мы абновім %s з Вашым(і) Абнаўленне %s… @@ -1292,8 +1427,16 @@ Не бяспечнае злучэнне + + Ці ўпэўнены Вы, што хочаце выдаліць усе дазволы на ўсіх сайтах? + + Ці ўпэўнены Вы, што хочаце выдаліць усе дазволы для гэтага сайта? + + Ці ўпэўнены, што хочаце выдаліць гэты дазвол для гэтага сайта? Няма выняткаў для сайта + + Ці ўпэўнены Вы, што хочаце выдаліць гэту закладку? Дадаць да папулярных сайтаў Тэкставае поле для рэдагавання імені карыстальніка для ўваходу ў сістэму. + + Тэкставае поле для рэдагавання пароля для ўваходу ў сістэму. + + Захаваць змены ва ўваходных даных. Адмяніць змены @@ -1323,16 +1470,34 @@ Гаварыце + + Лагін з такім імем карыстальніка ўжо існуе + Падключыць іншую прыладу. + + Калі ласка, аўтарызуйцеся яшчэ раз. + + Калі ласка, уключыце сінхранізацыю картак. + + Пабачыць спіс картак з іншых прылад. Увайсці ў сінхранізацыю + + Няма адкрытых картак + OK, зразумела + + Паказаць найбольш наведаныя сайты + + + Выдаліць + Атрымайце максімум ад %s. diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 5ebe656a3..b6984400c 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -78,6 +78,28 @@ Ara no + + + Podeu fer que el Firefox obri automàticament els enllaços en aplicacions. + + Vés als paràmetres + + Descarta + + + Es necessita accés a la càmera. Aneu als paràmetres de l’Android, toqueu els permisos i trieu permetre. + + Vés als paràmetres + + Descarta + + + Feu que les pestanyes obertes es tanquin automàticament si no s’han vist des de fa un dia, una setmana o un mes. + + Mostra les opcions + + Descarta + Pestanya nova @@ -266,6 +288,8 @@ Barra d’eines Tema + + Inici Personalitza @@ -471,6 +495,31 @@ Tanca + + Pestanyes tancades recentment + + Mostra tot l’historial + + %d pestanyes + + %d pestanya + + No hi ha cap pestanya tancada recentment + + + + Tanca les pestanyes + + Manualment + + Al cap d’un dia + + Al cap d’una setmana + + Al cap d’un mes + Pestanyes obertes @@ -490,6 +539,10 @@ Desa a la col·lecció Comparteix totes les pestanyes + + Pestanyes tancades recentment + + Paràmetres de les pestanyes Tanca totes les pestanyes @@ -536,6 +589,8 @@ Elimina + + Suprimeix de l’historial %1$s (mode privat) @@ -742,10 +797,8 @@ Col·leccions Menú de col·lecció - - Recolliu tot allò que us insteressa - Agrupeu les cerques, els llocs i les pestanyes similars per accedir-hi ràpidament en el futur. + Recolliu tot allò que us insteressa.\nAgrupeu les cerques, els llocs i les pestanyes similars per accedir-hi ràpidament en el futur. Trieu les pestanyes @@ -995,8 +1048,8 @@ Teniu preguntes sobre el redisseny del %s? Voleu saber què ha canviat? Vegeu les respostes aquí - - Traieu tot el profit al %s. + + Comenceu a sincronitzar les adreces d’interès, les contrasenyes i molt més amb el vostre compte del Firefox. Més informació Entesos + + Mostra els llocs més visitats + + + Elimina + + + Traieu tot el profit al %s. + + + Recolliu tot allò que us insteressa + + Agrupeu les cerques, els llocs i les pestanyes similars per accedir-hi ràpidament en el futur. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 11fd6f1f8..6b590610b 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -68,9 +68,21 @@ Όχι τώρα + + Μετάβαση στις ρυθμίσεις Απόρριψη + + Μετάβαση στις ρυθμίσεις + + Απόρριψη + + + Εμφάνιση επιλογών + + Απόρριψη + Νέα καρτέλα @@ -455,6 +467,8 @@ Πρόσφατα κλεισμένες καρτέλες + + Εμφάνιση πλήρους ιστορικού %d καρτέλες @@ -462,6 +476,9 @@ %d is a placeholder for the number of tabs selected. --> %d καρτέλα + + Καμία πρόσφατα κλεισμένη καρτέλα + Κλείσιμο καρτελών @@ -734,6 +751,8 @@ Ανενεργό Αποδοχή ήχου και βίντεο + + Φραγή ήχου και βίντεο μόνο σε σύνδεση δεδομένων κινητής Η αναπαραγωγή ήχων/βίντεο θα γίνεται σε Wi-Fi @@ -1137,6 +1156,8 @@ Επιτρέπεται Ιχνηλάτες κοινωνικών δικτύων + + Περιορίζει την ικανότητα των κοινωνικών δικτύων να παρακολουθούν τη δραστηριότητά σας στο διαδίκτυο. Cookies ιχνηλάτησης μεταξύ ιστοσελίδων @@ -1242,6 +1263,8 @@ Εξαιρέσεις Εδώ εμφανίζονται οι συνδέσεις και οι κωδικοί πρόσβασης που δεν αποθηκεύονται. + + Οι συνδέσεις και οι κωδικοί πρόσβασης δεν θα αποθηκευτούν για αυτές τις ιστοσελίδες. Διαγραφή όλων των εξαιρέσεων @@ -1344,6 +1367,8 @@ Η μηχανή αναζήτησης με το όνομα “%s” υπάρχει ήδη. Εισάγετε νήμα αναζήτησης + + Βεβαιωθείτε ότι το νήμα αναζήτησης συμφωνεί με την μορφή του παραδείγματος Σφάλμα σύνδεσης στο “%s” diff --git a/app/src/main/res/values-es-rAR/strings.xml b/app/src/main/res/values-es-rAR/strings.xml index e50c159ca..a48fcef85 100644 --- a/app/src/main/res/values-es-rAR/strings.xml +++ b/app/src/main/res/values-es-rAR/strings.xml @@ -1096,7 +1096,7 @@ Estricta (recomendada) - Estricto + Estricta Bloquea más rastreadores, anuncios y ventanas emergentes. Las páginas se cargan más rápido, pero podés perder cierta funcionalidad. Bienvenido a un %s completamente nuevo - Te espera un navegador completamente rediseñado, con un rendimiento y funciones mejoradas para ayudarte a hacer más en línea.\n\nEsperá mientras actualizamos %s con tu + Te espera un navegador completamente rediseñado, con un rendimiento y funciones mejoradas para ayudarte a hacer más en línea.\n\nEsperá mientras actualizamos %s con tus Actualizando %s… diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 14bc02b43..d1ce172e4 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -81,6 +81,28 @@ Ahora no + + + Puedes configurar Firefox para que abra automáticamente enlaces en aplicaciones. + + Ir a ajustes + + Descartar + + + Se necesita acceso a la cámara. Ve a la configuración de Android, pulsa Permisos y luego Permitir. + + Ir a ajustes + + Descartar + + + Configura las pestañas abiertas para que se cierren automáticamente las que no se hayan visto en el último día, semana o mes. + + Ver opciones + + Descartar + Nueva pestaña @@ -174,8 +196,8 @@ Escanear - - Buscador + + Buscador Ajustes del buscador @@ -215,7 +237,7 @@ Acerca de - Motor de búsqueda predeterminado + Buscador predeterminado Buscar @@ -269,6 +291,8 @@ Barra de herramientas Tema + + Inicio Personalizar @@ -309,9 +333,14 @@ Abrir enlaces en aplicaciones + + Administrador de descargas externo Complementos + + Notificaciones + Sincronizar ahora @@ -475,6 +504,31 @@ Cerrar + + Pestañas cerradas recientemente + + Mostrar todo el historial + + %d pestañas + + %d pestaña + + No hay pestañas cerradas recientemente + + + + Cerrar pestañas + + Manualmente + + Después de un día + + Después de una semana + + Después de un mes + Pestañas abiertas @@ -494,6 +548,10 @@ Guardar en la colección Compartir todas las pestañas + + Pestañas cerradas recientemente + + Ajustes de pestañas Cerrar todas las pestañas @@ -541,6 +599,8 @@ Eliminar + + Eliminar del historial %1$s (modo privado) @@ -586,6 +646,13 @@ No hay ningún historial + + + No hay descargas + + %1$d seleccionado(s) + Lo sentimos. %1$s no puede cargar esa página. @@ -744,10 +811,8 @@ Menú de la colección - - Colecciona las cosas que te importan - Agrupa búsquedas, sitios y pestañas similares para un acceso rápido más tarde. + Recopila todo lo que te importa. \nAgrupa búsquedas, sitios y pestañas similares para acceder rápidamente a ellos más tarde. Seleccionar pestañas @@ -1014,9 +1079,10 @@ ¿Tienes preguntas sobre el rediseño de %s? ¿Quieres saber qué ha cambiado? Obtén respuestas aquí - - Sácale el mejor provecho a %s. + + Empieza a sincronizar marcadores, contraseñas y más con tu cuenta de Firefox. + + Saber más @@ -1495,9 +1561,7 @@ Ya existe un inicio de sesión con ese nombre de usuario - - Conectarse con una cuenta de Firefox. - + Conectar otro dispositivo. Por favor, vuelve a autentificarte. @@ -1511,6 +1575,9 @@ Inicia sesión para sincronizar + + No hay pestañas abiertas + Límite de sitios frecuentes alcanzado @@ -1519,13 +1586,18 @@ Vale, entendido - - - Atajos - - Buscar con - - Esta vez, buscar con: - - Mostrar atajos de búsqueda + + Mostrar los sitios más visitados + + + Eliminar + + + Sácale el mejor provecho a %s. + + + Colecciona las cosas que te importan + + Agrupa búsquedas, sitios y pestañas similares para un acceso rápido más tarde. diff --git a/app/src/main/res/values-es-rMX/strings.xml b/app/src/main/res/values-es-rMX/strings.xml index 3d093e191..e54a97928 100644 --- a/app/src/main/res/values-es-rMX/strings.xml +++ b/app/src/main/res/values-es-rMX/strings.xml @@ -76,6 +76,28 @@ Ahora no + + + Puedes configurar Firefox para que abra automáticamente enlaces en aplicaciones. + + Ir a ajustes + + Descartar + + + Se necesita acceso a la cámara. Ve a los ajustes de Android, presiona permisos y permitir. + + Ir a ajustes + + Descartar + + + Configura las pestañas abiertas para que se cierren automáticamente que no se hayan visto en el último día, semana o mes. + + Ver opciones + + Descartar + Nueva pestaña @@ -263,6 +285,8 @@ Barra de herramientas Tema + + Inicio Personalizar @@ -468,6 +492,31 @@ Cerrar + + Pestañas recientemente cerradas + + Mostrar historial completo + + %d pestañas + + %d pestaña + + No hay pestañas recientemente cerradas + + + + Cerrar pestañas + + Manualmente + + Después de un día + + Después de una semana + + Después de un mes + Pestañas abiertas @@ -487,6 +536,10 @@ Guardar en colección Compartir todas las pestañas + + Pestañas recientemente cerradas + + Ajustes de pestañas Cerrar todas las pestañas @@ -532,6 +585,8 @@ Eliminar + + Eliminar del historial %1$s (Modo Privado) @@ -1488,6 +1543,18 @@ Vale, entendido + + Mostrar los sitios más visitados + Eliminar + + + Saca el máximo provecho de %s. + + + Colecciona las cosas que te importan + + Agrupa búsquedas, sitios y pestañas similares para acceder a ellos rápidamente. diff --git a/app/src/main/res/values-kk/strings.xml b/app/src/main/res/values-kk/strings.xml index 9655a32f3..4f5ef7539 100644 --- a/app/src/main/res/values-kk/strings.xml +++ b/app/src/main/res/values-kk/strings.xml @@ -77,6 +77,28 @@ Қазір емес + + + Firefox-ты сілтемелерді қолданбаларда автоматты түрде ашатын етіп баптауға болады. + + Баптауларға өту + + Тайдыру + + + Камера рұқсаты керек. Android баптауларына өтіп, Рұқсаттарды ашып, "Рұқсат ету" таңдаңыз. + + Баптауларға өту + + Тайдыру + + + Ашық беттер өткен күнде, аптада немесе айда қаралмаған болса, автоматты түрде жабылатынын баптау. + + Опцияларды қарау + + Тайдыру + Жаңа бет @@ -259,6 +281,8 @@ Құралдар панелі Тема + + Үйге Баптау @@ -462,6 +486,31 @@ Жабу + + Жуырда жабылған беттер + + Бүкіл тарихты көрсету + + %d бет + + %d бет + + Осында жуырда жабылған беттер жоқ + + + + Беттерді жабу + + Қолмен + + Бір күннен кейін + + Бір аптадан кейін + + Бір айдан кейін + Ашық беттер @@ -481,6 +530,10 @@ Жинаққа сақтау Барлық беттермен бөлісу + + Жуырда жабылған беттер + + Бет баптаулары Барлық беттерді жабу @@ -527,6 +580,8 @@ Өшіру + + Тарихтан өшіру %1$s (жекелік режимі) @@ -732,10 +787,8 @@ Жинақ мәзірі - - Өзіңізге маңызды заттарды жинаңыз - Кейінірек жылдам қатынау үшін ұқсас іздеулер, сайттар және беттерді топтастырыңыз. + Өзіңізге маңызды заттарды жинаңыз.\nКейінірек жылдам қол жеткізу үшін ұқсас іздеулерді, сайттарды және беттерді біріктіріңіз. Беттерді таңдау @@ -985,8 +1038,8 @@ Қайта жасалған %s туралы сұрақтарыңыз бар ма? Не өзгертілгенін білуді қалайсыз ба? Осы жерден жауап алыңыз - - %s өнімін толықтай пайдаланыңыз. + + Firefox тіркелгісімен бетбелгілер, парольдер және т.б. синхрондауды бастаңыз. Көбірек білу Жақсы, түсіндім + + Ең көп қаралған сайттарды көрсету + + + Өшіру + + + %s өнімін толықтай пайдаланыңыз. + + + Өзіңізге маңызды заттарды жинаңыз + + Кейінірек жылдам қатынау үшін ұқсас іздеулер, сайттар және беттерді топтастырыңыз. diff --git a/app/src/main/res/values-oc/strings.xml b/app/src/main/res/values-oc/strings.xml index 27a86a8f9..d9ebcecc2 100644 --- a/app/src/main/res/values-oc/strings.xml +++ b/app/src/main/res/values-oc/strings.xml @@ -1467,6 +1467,8 @@ Tornatz vos autentificar. Activatz la sincronizacion dels onglets. + + Avètz pas cap d’autres onglets dubèrts sus Firefox de vòstres autres periferics. Vejatz la lista dels onglets dels autres periferics. diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 2c039463e..42c883503 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -80,6 +80,28 @@ Agora não + + + Pode configurar o Firefox para abrir automaticamente as ligações nas aplicações. + + Ir para as definições + + Dispensar + + + É necessário acesso à câmara. Aceda às definições do Android, toque em permissões e toque em permitir. + + Ir para as definições + + Dispensar + + + Faça com que os separadores abertos que não tenham sido acedidos no último dia, semana ou mês sejam automaticamente fechados. + + Ver opções + + Dispensar + Novo separador @@ -264,6 +286,8 @@ Barra de ferramentas Tema + + Início Personalizar @@ -473,6 +497,31 @@ Fechar + + Separadores fechados recentemente + + Mostrar todo o histórico + + %d separadores + + %d separador + + Sem separadores fechados recentemente + + + + Fechar separadores + + Manualmente + + Depois de um dia + + Depois de uma semana + + Depois de um mês + Separadores abertos @@ -493,6 +542,10 @@ Guardar na coleção Partilhar todos os separadores + + Separadores fechados recentemente + + Definições dos separadores Fechar todos os separadores @@ -538,6 +591,8 @@ Remover + + Eliminar do histórico %1$s (modo privado) @@ -1501,6 +1556,18 @@ OK, percebi + + Mostrar os sites mais visitados + Remover + + + Tire o máximo proveito do %s. + + + Colecione as coisas que são importantes para si + + Agrupe pesquisas, sites e separadores semelhantes para um acesso rápido mais tarde. diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index 848514b83..637800b8d 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -33,9 +33,19 @@ Ime Izberi zbirko + + Izhod iz večizbirnega načina Shrani izbrane zavihke v zbirko + + Izbran %1$s + + Neizbran %1$s + + Večizbirni način končan + + Vstopili ste v večizbirni način, izberite zavihke, ki jih želite shraniti v zbirko Izbrano diff --git a/app/src/main/res/values-te/strings.xml b/app/src/main/res/values-te/strings.xml index 383f1e9bb..2029d8874 100644 --- a/app/src/main/res/values-te/strings.xml +++ b/app/src/main/res/values-te/strings.xml @@ -78,6 +78,24 @@ ఇప్పుడు కాదు + + + లంకెలను Firefox స్వయంచాలకంగా అనువర్తనాలలో తెరిచేలా మీరు అమర్చుకోవచ్చు. + + అమరికలకు వెళ్లు + + విస్మరించు + + + అమరికలకు వెళ్లు + + విస్మరించు + + + ఎంపికలు చూడండి + + విస్మరించు + కొత్త ట్యాబు @@ -485,6 +503,21 @@ %d is a placeholder for the number of tabs selected. --> %d ట్యాబు + + ఇటీవల మూసివేసిన ట్యాబులు ఏమీ ఇక్కడ లేవు + + + + ట్యాబుల మూసివేత + + మానవీయంగా + + ఒక రోజు తరువాత + + ఒక వారం తరువాత + + ఒక నెల తరువాత + తెరిచివున్న ట్యాబులు @@ -504,6 +537,10 @@ సేకరణకు భద్రపరుచు అన్ని ట్యాబులను పంచుకో + + ఇటీవల మూసిన ట్యాబులు + + ట్యాబు అమరికలు ట్యాబులన్నీ మూసివేయి @@ -551,6 +588,8 @@ తీసివేయి + + చరిత్ర నుండి తొలగించు %1$s (అంతరంగిక రీతి) @@ -1527,7 +1566,16 @@ సరే, అర్థమయ్యింది + + ఎక్కువగా చూసిన సైట్లను చూపించు + తొలగించు + + %s నుండి ఎక్కువగా పొందండి. + + + మీకు ముఖ్యమైన విషయాలను సేకరించండి diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 40a5fb4cb..78ab730c8 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -628,6 +628,10 @@ ไม่มีการดาวน์โหลด + + เลือกอยู่ %1$d + ขออภัย %1$s ไม่สามารถโหลดหน้านั้นได้ diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index 532ffff3c..49eba8213 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -201,6 +201,9 @@ pref_key_user_knows_about_pwa + + pref_key_should_show_open_in_app_banner + pref_key_migrating_from_fenix_nightly_tip pref_key_migrating_from_firefox_nightly_tip pref_key_migrating_from_fenix_tip diff --git a/buildSrc/src/main/java/AndroidComponents.kt b/buildSrc/src/main/java/AndroidComponents.kt index 24e49a4bf..851bb5d31 100644 --- a/buildSrc/src/main/java/AndroidComponents.kt +++ b/buildSrc/src/main/java/AndroidComponents.kt @@ -3,5 +3,5 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ object AndroidComponents { - const val VERSION = "58.0.20200904130229" + const val VERSION = "58.0.20200906130403" }