From 83d5ae85c621011e03492a02d2f5a8f43af915b1 Mon Sep 17 00:00:00 2001 From: Toni Rico Date: Thu, 7 Nov 2024 11:58:13 +0100 Subject: [PATCH] Handle `IllegalArgumentException` when opening a Uri in the paywalls (#1904) ### Description Looking at the [docs](https://developer.android.com/reference/kotlin/androidx/compose/ui/platform/AndroidUriHandler#openUri(kotlin.String)), the `openUri` method, may throw an `IllegalArgumentException` if the link is invalid. I haven't been able to reproduce this error, getting an `ActivityNotFoundException` instead when the link is invalid... Seems this may be something device related. In any case, we should also handle these exceptions according to the docs and fail gracefully. --- .../ui/revenuecatui/composables/Footer.kt | 27 ++++++++++++------- .../extensions/UriHandlerExtensions.kt | 6 +++-- .../src/main/res/values-ar/strings.xml | 1 + .../src/main/res/values-bg/strings.xml | 1 + .../src/main/res/values-ca/strings.xml | 1 + .../src/main/res/values-cs/strings.xml | 1 + .../src/main/res/values-da/strings.xml | 1 + .../src/main/res/values-de/strings.xml | 1 + .../src/main/res/values-el/strings.xml | 1 + .../src/main/res/values-es/strings.xml | 1 + .../src/main/res/values-fi/strings.xml | 1 + .../src/main/res/values-fr/strings.xml | 1 + .../src/main/res/values-he/strings.xml | 1 + .../src/main/res/values-hi/strings.xml | 1 + .../src/main/res/values-hr/strings.xml | 1 + .../src/main/res/values-hu/strings.xml | 1 + .../src/main/res/values-id/strings.xml | 1 + .../src/main/res/values-it/strings.xml | 1 + .../src/main/res/values-ja/strings.xml | 1 + .../src/main/res/values-kk/strings.xml | 1 + .../src/main/res/values-ko/strings.xml | 1 + .../src/main/res/values-ms/strings.xml | 1 + .../src/main/res/values-nl/strings.xml | 1 + .../src/main/res/values-no/strings.xml | 1 + .../src/main/res/values-pl/strings.xml | 1 + .../src/main/res/values-pt/strings.xml | 1 + .../src/main/res/values-ro/strings.xml | 1 + .../src/main/res/values-ru/strings.xml | 1 + .../src/main/res/values-sk/strings.xml | 1 + .../src/main/res/values-sv/strings.xml | 1 + .../src/main/res/values-th/strings.xml | 1 + .../src/main/res/values-tr/strings.xml | 1 + .../src/main/res/values-uk/strings.xml | 1 + .../src/main/res/values-vi/strings.xml | 1 + .../src/main/res/values-zh-rHK/strings.xml | 1 + .../src/main/res/values-zh-rTW/strings.xml | 1 + .../src/main/res/values-zh/strings.xml | 1 + .../src/main/res/values/strings.xml | 1 + 38 files changed, 57 insertions(+), 12 deletions(-) diff --git a/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/composables/Footer.kt b/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/composables/Footer.kt index 50c71fee5e..de806ddd33 100644 --- a/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/composables/Footer.kt +++ b/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/composables/Footer.kt @@ -1,5 +1,7 @@ package com.revenuecat.purchases.ui.revenuecatui.composables +import android.content.ActivityNotFoundException +import android.content.Context import android.widget.Toast import androidx.annotation.StringRes import androidx.compose.foundation.background @@ -28,6 +30,7 @@ import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler +import androidx.compose.ui.platform.UriHandler import androidx.compose.ui.res.stringResource import androidx.compose.ui.semantics.clearAndSetSemantics import androidx.compose.ui.semantics.semantics @@ -144,11 +147,7 @@ private fun Footer( R.string.terms_and_conditions, R.string.terms, ) { - uriHandler.openUriOrElse(it.toString()) { - val msg = context.getString(R.string.no_browser_cannot_open_link) - Toast.makeText(context, msg, Toast.LENGTH_SHORT).show() - Logger.w(msg) - } + openURL(context, uriHandler, it) } if (configuration.privacyURL != null) { @@ -163,11 +162,7 @@ private fun Footer( R.string.privacy_policy, R.string.privacy, ) { - uriHandler.openUriOrElse(it.toString()) { - val msg = context.getString(R.string.no_browser_cannot_open_link) - Toast.makeText(context, msg, Toast.LENGTH_SHORT).show() - Logger.w(msg) - } + openURL(context, uriHandler, it) } } } @@ -261,6 +256,18 @@ private object FooterConstants { fun style(): TextStyle = MaterialTheme.typography.bodySmall } +private fun openURL(context: Context, uriHandler: UriHandler, url: URL) { + uriHandler.openUriOrElse(url.toString()) { exception -> + val msg = if (exception is ActivityNotFoundException) { + context.getString(R.string.no_browser_cannot_open_link) + } else { + context.getString(R.string.cannot_open_link) + } + Toast.makeText(context, msg, Toast.LENGTH_SHORT).show() + Logger.w(msg) + } +} + @Preview(showBackground = true) @Composable private fun FooterPreview() { diff --git a/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/extensions/UriHandlerExtensions.kt b/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/extensions/UriHandlerExtensions.kt index 8fd69fded2..ff9997d5b4 100644 --- a/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/extensions/UriHandlerExtensions.kt +++ b/ui/revenuecatui/src/main/kotlin/com/revenuecat/purchases/ui/revenuecatui/extensions/UriHandlerExtensions.kt @@ -7,10 +7,12 @@ import androidx.compose.ui.platform.UriHandler * Opens the given [uri] in a browser. If no browser is installed, [fallbackAction] is called. */ @Suppress("SwallowedException") -fun UriHandler.openUriOrElse(uri: String, fallbackAction: () -> Unit) { +fun UriHandler.openUriOrElse(uri: String, fallbackAction: (e: Exception) -> Unit) { try { openUri(uri) } catch (e: ActivityNotFoundException) { - fallbackAction() + fallbackAction(e) + } catch (e: IllegalArgumentException) { + fallbackAction(e) } } diff --git a/ui/revenuecatui/src/main/res/values-ar/strings.xml b/ui/revenuecatui/src/main/res/values-ar/strings.xml index 95c606ef93..2150b609c4 100644 --- a/ui/revenuecatui/src/main/res/values-ar/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ar/strings.xml @@ -19,4 +19,5 @@ يكمل ابدأ الفترة التجريبية التي تبلغ {{ sub_offer_duration }}، ثم {{ Total_price_and_per_month }}. لم يتم تثبيت المتصفح. تعذر فتح الرابط. + الرابط غير صالح. لم يتمكن من الفتح. diff --git a/ui/revenuecatui/src/main/res/values-bg/strings.xml b/ui/revenuecatui/src/main/res/values-bg/strings.xml index 43a60fc423..90cef5d3cc 100644 --- a/ui/revenuecatui/src/main/res/values-bg/strings.xml +++ b/ui/revenuecatui/src/main/res/values-bg/strings.xml @@ -19,4 +19,5 @@ продължи Започнете своя пробен период от {{ sub_offer_duration }}, след което {{ total_price_and_per_month }}. Няма инсталиран браузър. Връзката не може да бъде отворена. + Невалиден линк. Не може да бъде отворен. diff --git a/ui/revenuecatui/src/main/res/values-ca/strings.xml b/ui/revenuecatui/src/main/res/values-ca/strings.xml index fbf4e10128..d43a3fe66a 100644 --- a/ui/revenuecatui/src/main/res/values-ca/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ca/strings.xml @@ -19,4 +19,5 @@ Continua Inicieu la vostra prova de {{ sub_offer_duration }} i després {{ total_price_and_per_month }}. No hi ha cap navegador instal·lat. No s\'ha pogut obrir l\'enllaç. + Enllaç no vàlid. No s’ha pogut obrir. diff --git a/ui/revenuecatui/src/main/res/values-cs/strings.xml b/ui/revenuecatui/src/main/res/values-cs/strings.xml index 43e4971208..28ee918dbe 100644 --- a/ui/revenuecatui/src/main/res/values-cs/strings.xml +++ b/ui/revenuecatui/src/main/res/values-cs/strings.xml @@ -19,4 +19,5 @@ Pokračovat Začněte {{ sub_offer_duration }} zkušební období, poté {{ total_price_and_per_month }}. Není nainstalován prohlížeč. Odkaz nelze otevřít. + Odkaz je neplatný. Nelze otevřít. diff --git a/ui/revenuecatui/src/main/res/values-da/strings.xml b/ui/revenuecatui/src/main/res/values-da/strings.xml index 3780cf4050..c29e0c3f5a 100644 --- a/ui/revenuecatui/src/main/res/values-da/strings.xml +++ b/ui/revenuecatui/src/main/res/values-da/strings.xml @@ -19,4 +19,5 @@ Blive ved Start din prøveperiode på {{ sub_offer_duration }} og derefter {{ total_price_and_per_month }}. Ingen browser installeret. Link kunne ikke åbnes. + Ugyldigt link. Kunne ikke åbnes. diff --git a/ui/revenuecatui/src/main/res/values-de/strings.xml b/ui/revenuecatui/src/main/res/values-de/strings.xml index fc84461eb7..940e6b54ec 100644 --- a/ui/revenuecatui/src/main/res/values-de/strings.xml +++ b/ui/revenuecatui/src/main/res/values-de/strings.xml @@ -19,4 +19,5 @@ Weitermachen Starten Sie Ihre Testversion für {{ sub_offer_duration }} und dann für {{ total_price_and_per_month }}. Kein Browser installiert. Link konnte nicht geöffnet werden. + Ungültiger Link. Konnte nicht geöffnet werden. diff --git a/ui/revenuecatui/src/main/res/values-el/strings.xml b/ui/revenuecatui/src/main/res/values-el/strings.xml index 239cc14a2e..f08cc6e1a0 100644 --- a/ui/revenuecatui/src/main/res/values-el/strings.xml +++ b/ui/revenuecatui/src/main/res/values-el/strings.xml @@ -19,4 +19,5 @@ Να συνεχίσει Ξεκινήστε τη δοκιμή {{ sub_offer_duration }} και μετά {{ total_price_and_per_month }}. Δεν είναι εγκατεστημένος περιηγητής. Ο σύνδεσμος δεν μπόρεσε να ανοιχτεί. + Μη έγκυρος σύνδεσμος. Δεν μπόρεσε να ανοιχτεί. diff --git a/ui/revenuecatui/src/main/res/values-es/strings.xml b/ui/revenuecatui/src/main/res/values-es/strings.xml index 72989f23ad..3f798a27c7 100644 --- a/ui/revenuecatui/src/main/res/values-es/strings.xml +++ b/ui/revenuecatui/src/main/res/values-es/strings.xml @@ -19,4 +19,5 @@ Semanalmente Toda la vida No hay navegador instalado. No se pudo abrir el enlace. + Enlace inválido. No se pudo abrir. diff --git a/ui/revenuecatui/src/main/res/values-fi/strings.xml b/ui/revenuecatui/src/main/res/values-fi/strings.xml index c227c49d57..7b06e92a3d 100644 --- a/ui/revenuecatui/src/main/res/values-fi/strings.xml +++ b/ui/revenuecatui/src/main/res/values-fi/strings.xml @@ -19,4 +19,5 @@ Jatkaa Aloita {{ sub_offer_duration }} -kokeilu ja sitten {{ total_price_and_per_month }}. Selainta ei ole asennettu. Linkkiä ei voitu avata. + Virheellinen linkki. Ei voitu avata. diff --git a/ui/revenuecatui/src/main/res/values-fr/strings.xml b/ui/revenuecatui/src/main/res/values-fr/strings.xml index 83358b8f5d..e8868073b0 100644 --- a/ui/revenuecatui/src/main/res/values-fr/strings.xml +++ b/ui/revenuecatui/src/main/res/values-fr/strings.xml @@ -19,4 +19,5 @@ Continuer Démarrez votre essai de {{ sub_offer_duration }}, puis de {{ total_price_and_per_month }}. Aucun navigateur installé. Le lien n\'a pas pu être ouvert. + Lien invalide. Impossible à ouvrir. diff --git a/ui/revenuecatui/src/main/res/values-he/strings.xml b/ui/revenuecatui/src/main/res/values-he/strings.xml index 6978dac840..34524adf1f 100644 --- a/ui/revenuecatui/src/main/res/values-he/strings.xml +++ b/ui/revenuecatui/src/main/res/values-he/strings.xml @@ -19,4 +19,5 @@ לְהַמשִׁיך התחל את תקופת הניסיון של {{ sub_offer_duration }} ולאחר מכן {{ total_price_and_per_month }}. אין דפדפן מותקן. לא ניתן לפתוח את הקישור. + הקישור אינו חוקי. לא ניתן לפתוח. diff --git a/ui/revenuecatui/src/main/res/values-hi/strings.xml b/ui/revenuecatui/src/main/res/values-hi/strings.xml index 7530c113e1..99d425edad 100644 --- a/ui/revenuecatui/src/main/res/values-hi/strings.xml +++ b/ui/revenuecatui/src/main/res/values-hi/strings.xml @@ -19,4 +19,5 @@ जारी रखना अपना {{sub_offer_duration }} परीक्षण शुरू करें, फिर {{ total_price_and_per_month }}। ब्राउज़र स्थापित नहीं है। लिंक नहीं खोला जा सका। + " लिंक अमान्य है। इसे खोला नहीं जा सका।" diff --git a/ui/revenuecatui/src/main/res/values-hr/strings.xml b/ui/revenuecatui/src/main/res/values-hr/strings.xml index 29729483f9..e83be5b2a1 100644 --- a/ui/revenuecatui/src/main/res/values-hr/strings.xml +++ b/ui/revenuecatui/src/main/res/values-hr/strings.xml @@ -19,4 +19,5 @@ Nastaviti Započnite probno razdoblje od {{ sub_offer_duration }}, a zatim {{ total_price_and_per_month }}. Nije instaliran preglednik. Veza se nije mogla otvoriti. + Nevažeća poveznica. Nije moguće otvoriti. diff --git a/ui/revenuecatui/src/main/res/values-hu/strings.xml b/ui/revenuecatui/src/main/res/values-hu/strings.xml index 2a141dedfc..7380ad1a25 100644 --- a/ui/revenuecatui/src/main/res/values-hu/strings.xml +++ b/ui/revenuecatui/src/main/res/values-hu/strings.xml @@ -19,4 +19,5 @@ Folytatni Indítsa el a {{ sub_offer_duration }} próbaidőszakot, majd {{ total_price_and_per_month }}. Nincs böngésző telepítve. A linket nem sikerült megnyitni. + Érvénytelen link. Nem sikerült megnyitni. diff --git a/ui/revenuecatui/src/main/res/values-id/strings.xml b/ui/revenuecatui/src/main/res/values-id/strings.xml index a68baefd15..ab087401e4 100644 --- a/ui/revenuecatui/src/main/res/values-id/strings.xml +++ b/ui/revenuecatui/src/main/res/values-id/strings.xml @@ -19,4 +19,5 @@ Melanjutkan Mulai uji coba {{ sub_offer_duration }} Anda, lalu {{ total_price_and_per_month }}. Tidak ada browser yang terpasang. Tautan tidak bisa dibuka. + Tautan tidak valid. Tidak dapat dibuka. diff --git a/ui/revenuecatui/src/main/res/values-it/strings.xml b/ui/revenuecatui/src/main/res/values-it/strings.xml index 35bff59fe4..36f6d357d2 100644 --- a/ui/revenuecatui/src/main/res/values-it/strings.xml +++ b/ui/revenuecatui/src/main/res/values-it/strings.xml @@ -19,4 +19,5 @@ Continua Inizia la tua prova di {{ sub_offer_duration }}, poi {{ total_price_and_per_month }}. Nessun browser installato. Il link non può essere aperto. + Link non valido. Impossibile aprire. diff --git a/ui/revenuecatui/src/main/res/values-ja/strings.xml b/ui/revenuecatui/src/main/res/values-ja/strings.xml index ffaee9584a..0a3ee8b005 100644 --- a/ui/revenuecatui/src/main/res/values-ja/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ja/strings.xml @@ -19,4 +19,5 @@ 続く {{ sub_offer_duration }} トライアルを開始してから、{{ total_price_and_per_month }} を開始してください。 ブラウザがインストールされていません。リンクを開くことができませんでした。 + リンクが無効です。開くことができませんでした。 diff --git a/ui/revenuecatui/src/main/res/values-kk/strings.xml b/ui/revenuecatui/src/main/res/values-kk/strings.xml index 8bfae38e11..78bb597b64 100644 --- a/ui/revenuecatui/src/main/res/values-kk/strings.xml +++ b/ui/revenuecatui/src/main/res/values-kk/strings.xml @@ -19,4 +19,5 @@ Жалғастыру {{ sub_offer_duration }} сынақ нұсқасын бастаңыз, содан кейін {{ total_price_and_per_month }}. Шолғыш орнатылмаған. Сілтеме ашылмады. + Сілтеме жарамсыз. Ашылмады. diff --git a/ui/revenuecatui/src/main/res/values-ko/strings.xml b/ui/revenuecatui/src/main/res/values-ko/strings.xml index 8a12d4adc1..82b11bb4b9 100644 --- a/ui/revenuecatui/src/main/res/values-ko/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ko/strings.xml @@ -19,4 +19,5 @@ 계속하다 {{ sub_offer_duration }} 무료 체험을 시작한 후 {{ total_price_and_per_month }}를 시작하세요. 브라우저가 설치되어 있지 않습니다. 링크를 열 수 없습니다. + 링크가 유효하지 않습니다. 열 수 없습니다. diff --git a/ui/revenuecatui/src/main/res/values-ms/strings.xml b/ui/revenuecatui/src/main/res/values-ms/strings.xml index d66ed12244..d0307407bf 100644 --- a/ui/revenuecatui/src/main/res/values-ms/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ms/strings.xml @@ -19,4 +19,5 @@ teruskan Mulakan percubaan {{ sub_offer_duration }} anda, kemudian {{ total_price_and_per_month }}. Tiada pelayar dipasang. Pautan tidak dapat dibuka. + Pautan tidak sah. Tidak dapat dibuka. diff --git a/ui/revenuecatui/src/main/res/values-nl/strings.xml b/ui/revenuecatui/src/main/res/values-nl/strings.xml index 2a371ee3bd..60243f41ea 100644 --- a/ui/revenuecatui/src/main/res/values-nl/strings.xml +++ b/ui/revenuecatui/src/main/res/values-nl/strings.xml @@ -19,4 +19,5 @@ Doorgaan Start uw proefperiode van {{ sub_offer_duration }} en daarna {{ total_price_and_per_month }}. Geen browser geïnstalleerd. Link kon niet worden geopend. + Ongeldige link. Kon niet worden geopend. diff --git a/ui/revenuecatui/src/main/res/values-no/strings.xml b/ui/revenuecatui/src/main/res/values-no/strings.xml index 3adb81a67a..668463bdcb 100644 --- a/ui/revenuecatui/src/main/res/values-no/strings.xml +++ b/ui/revenuecatui/src/main/res/values-no/strings.xml @@ -19,4 +19,5 @@ Fortsette Start prøveperioden på {{ sub_offer_duration }}, og deretter {{ total_price_and_per_month }}. Ingen nettleser installert. Lenken kunne ikke åpnes. + Ugyldig lenke. Kunne ikke åpnes. diff --git a/ui/revenuecatui/src/main/res/values-pl/strings.xml b/ui/revenuecatui/src/main/res/values-pl/strings.xml index a80a0299b2..5ee0469893 100644 --- a/ui/revenuecatui/src/main/res/values-pl/strings.xml +++ b/ui/revenuecatui/src/main/res/values-pl/strings.xml @@ -19,4 +19,5 @@ Kontynuować Rozpocznij okres próbny {{ sub_offer_duration }}, a następnie {{ total_price_and_per_month }}. Brak zainstalowanej przeglądarki. Link nie mógł zostać otwarty. + Nieprawidłowy link. Nie można otworzyć. diff --git a/ui/revenuecatui/src/main/res/values-pt/strings.xml b/ui/revenuecatui/src/main/res/values-pt/strings.xml index 96a53b58c1..37b926f846 100644 --- a/ui/revenuecatui/src/main/res/values-pt/strings.xml +++ b/ui/revenuecatui/src/main/res/values-pt/strings.xml @@ -19,4 +19,5 @@ Continuar Comece sua avaliação de {{ sub_offer_duration }} e depois {{ total_price_and_per_month }}. Nenhum navegador instalado. O link não pôde ser aberto. + Link inválido. Não foi possível abrir. diff --git a/ui/revenuecatui/src/main/res/values-ro/strings.xml b/ui/revenuecatui/src/main/res/values-ro/strings.xml index e256f9ba50..74dd8d67a3 100644 --- a/ui/revenuecatui/src/main/res/values-ro/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ro/strings.xml @@ -19,4 +19,5 @@ Continua Începeți perioada de încercare de {{ sub_offer_duration }}, apoi {{ total_price_and_per_month }}. Niciun browser instalat. Linkul nu a putut fi deschis. + Link invalid. Nu a putut fi deschis. diff --git a/ui/revenuecatui/src/main/res/values-ru/strings.xml b/ui/revenuecatui/src/main/res/values-ru/strings.xml index 8f4f01f96b..71ac9ee8e5 100644 --- a/ui/revenuecatui/src/main/res/values-ru/strings.xml +++ b/ui/revenuecatui/src/main/res/values-ru/strings.xml @@ -19,4 +19,5 @@ Продолжить Начните пробную версию на {{ sub_offer_duration }}, затем {{ total_price_and_per_month }}. Браузер не установлен. Ссылка не может быть открыта. + Неверная ссылка. Не удалось открыть. diff --git a/ui/revenuecatui/src/main/res/values-sk/strings.xml b/ui/revenuecatui/src/main/res/values-sk/strings.xml index 0ac4287013..daa4df3299 100644 --- a/ui/revenuecatui/src/main/res/values-sk/strings.xml +++ b/ui/revenuecatui/src/main/res/values-sk/strings.xml @@ -19,4 +19,5 @@ ďalej Začnite skúšobnú verziu {{ sub_offer_duration }}, potom {{ total_price_and_per_month }}. Nie je nainštalovaný prehliadač. Odkaz sa nepodarilo otvoriť. + Neplatný odkaz. Nedalo sa otvoriť. diff --git a/ui/revenuecatui/src/main/res/values-sv/strings.xml b/ui/revenuecatui/src/main/res/values-sv/strings.xml index bb24ae36f0..c72ffabdec 100644 --- a/ui/revenuecatui/src/main/res/values-sv/strings.xml +++ b/ui/revenuecatui/src/main/res/values-sv/strings.xml @@ -19,4 +19,5 @@ Fortsätta Starta din provperiod på {{ sub_offer_duration }} och sedan {{ total_price_and_per_month }}. Ingen webbläsare installerad. Länken kunde inte öppnas. + Ogiltig länk. Kunde inte öppnas. diff --git a/ui/revenuecatui/src/main/res/values-th/strings.xml b/ui/revenuecatui/src/main/res/values-th/strings.xml index ad1e4f4082..e0ccfaebd2 100644 --- a/ui/revenuecatui/src/main/res/values-th/strings.xml +++ b/ui/revenuecatui/src/main/res/values-th/strings.xml @@ -19,4 +19,5 @@ ดำเนินการต่อ เริ่มทดลองใช้ {{ sub_offer_duration }} จากนั้นจ่ายเป็น {{ Total_price_and_per_month }} ไม่ได้ติดตั้งเบราว์เซอร์ ลิงก์ไม่สามารถเปิดได้ + ลิงก์ไม่ถูกต้อง ไม่สามารถเปิดได้ diff --git a/ui/revenuecatui/src/main/res/values-tr/strings.xml b/ui/revenuecatui/src/main/res/values-tr/strings.xml index 4899fadb5f..c16c3989aa 100644 --- a/ui/revenuecatui/src/main/res/values-tr/strings.xml +++ b/ui/revenuecatui/src/main/res/values-tr/strings.xml @@ -19,4 +19,5 @@ Devam et {{ sub_offer_duration }} denemenizi başlatın, ardından {{ total_price_and_per_month }}. Yüklü bir tarayıcı yok. Bağlantı açılamadı. + Geçersiz bağlantı. Açılamadı. diff --git a/ui/revenuecatui/src/main/res/values-uk/strings.xml b/ui/revenuecatui/src/main/res/values-uk/strings.xml index 91f5b55799..96588b6edc 100644 --- a/ui/revenuecatui/src/main/res/values-uk/strings.xml +++ b/ui/revenuecatui/src/main/res/values-uk/strings.xml @@ -19,4 +19,5 @@ Продовжити Розпочніть {{ sub_offer_duration }} пробний період, а потім {{ total_price_and_per_month }}. Браузер не встановлено. Посилання не вдалося відкрити. + Недійсне посилання. Не вдалося відкрити. diff --git a/ui/revenuecatui/src/main/res/values-vi/strings.xml b/ui/revenuecatui/src/main/res/values-vi/strings.xml index 875aae365a..afb6032829 100644 --- a/ui/revenuecatui/src/main/res/values-vi/strings.xml +++ b/ui/revenuecatui/src/main/res/values-vi/strings.xml @@ -19,4 +19,5 @@ Tiếp tục Bắt đầu dùng thử {{ sub_offer_duration }}, sau đó là {{ Total_price_and_per_month }}. Không có trình duyệt nào được cài đặt. Liên kết không thể mở được. + Liên kết không hợp lệ. Không thể mở được. diff --git a/ui/revenuecatui/src/main/res/values-zh-rHK/strings.xml b/ui/revenuecatui/src/main/res/values-zh-rHK/strings.xml index bf708a5f75..961f1b96b8 100644 --- a/ui/revenuecatui/src/main/res/values-zh-rHK/strings.xml +++ b/ui/revenuecatui/src/main/res/values-zh-rHK/strings.xml @@ -19,4 +19,5 @@ 繼續 試用期{{ sub_offer_duration }},屆滿後{{ total_price_and_per_month }}。 未安裝瀏覽器。連結無法打開。 + 連結無效,無法開啟 diff --git a/ui/revenuecatui/src/main/res/values-zh-rTW/strings.xml b/ui/revenuecatui/src/main/res/values-zh-rTW/strings.xml index bf708a5f75..f40fdc2b9e 100644 --- a/ui/revenuecatui/src/main/res/values-zh-rTW/strings.xml +++ b/ui/revenuecatui/src/main/res/values-zh-rTW/strings.xml @@ -19,4 +19,5 @@ 繼續 試用期{{ sub_offer_duration }},屆滿後{{ total_price_and_per_month }}。 未安裝瀏覽器。連結無法打開。 + 連結無效,無法開啟。 diff --git a/ui/revenuecatui/src/main/res/values-zh/strings.xml b/ui/revenuecatui/src/main/res/values-zh/strings.xml index 988778c2b6..a079b71ab8 100644 --- a/ui/revenuecatui/src/main/res/values-zh/strings.xml +++ b/ui/revenuecatui/src/main/res/values-zh/strings.xml @@ -19,4 +19,5 @@ 继续 试用期{{ sub_offer_duration }},届满后{{ total_price_and_per_month }}。 未安装浏览器。链接无法打开。 + 链接无效,无法打开。 diff --git a/ui/revenuecatui/src/main/res/values/strings.xml b/ui/revenuecatui/src/main/res/values/strings.xml index 2008605eb2..d412a0660b 100644 --- a/ui/revenuecatui/src/main/res/values/strings.xml +++ b/ui/revenuecatui/src/main/res/values/strings.xml @@ -19,4 +19,5 @@ Weekly Lifetime No browser installed. Link could not be opened. + Link invalid. Could not be opened.