Skip to content

Commit 0017e03

Browse files
nalcalagdaxmobile
andauthored
Rebranding translations (#6488)
Task/Issue URL: https://app.asana.com/1/137249556945/project/1201807753394693/task/1210832122593773?focus=true ### Description Translations for Privacy Pro rebranding and an onboarding copy update ### Steps to test this PR _(Optional)_ _Onboarding_ - [ ] Apply patch on https://app.asana.com/1/137249556945/project/1209991789468715/task/1210448620621729?focus=true - [ ] Change your device language to something different to English - [ ] Fresh install - [ ] Smoke test all subscription related text is translated ### No UI changes --------- Co-authored-by: Dax The Translator <[email protected]>
1 parent a70d799 commit 0017e03

File tree

82 files changed

+617
-70
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+617
-70
lines changed

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,6 +285,7 @@ import com.duckduckgo.site.permissions.api.SitePermissionsManager.LocationPermis
285285
import com.duckduckgo.site.permissions.api.SitePermissionsManager.SitePermissionQueryResponse
286286
import com.duckduckgo.site.permissions.api.SitePermissionsManager.SitePermissions
287287
import com.duckduckgo.subscriptions.api.SUBSCRIPTIONS_FEATURE_NAME
288+
import com.duckduckgo.subscriptions.api.SubscriptionRebrandingFeatureToggle
288289
import com.duckduckgo.subscriptions.api.Subscriptions
289290
import com.duckduckgo.subscriptions.api.SubscriptionsJSHelper
290291
import com.duckduckgo.sync.api.favicons.FaviconsFetchingPrompt
@@ -566,6 +567,7 @@ class BrowserTabViewModelTest {
566567
private val mockSubscriptionsJSHelper: SubscriptionsJSHelper = mock()
567568
private val mockReactivateUsersExperiment: ReactivateUsersExperiment = mock()
568569
private val mockOnboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment = mock()
570+
private val mockRebrandingFeatureToggle: SubscriptionRebrandingFeatureToggle = mock()
569571
private val tabManager: TabManager = mock()
570572

571573
private val mockAddressDisplayFormatter: AddressDisplayFormatter by lazy {
@@ -671,6 +673,7 @@ class BrowserTabViewModelTest {
671673
senseOfProtectionExperiment = mockSenseOfProtectionExperiment,
672674
onboardingHomeScreenWidgetExperiment = mockOnboardingHomeScreenWidgetExperiment,
673675
onboardingDesignExperimentToggles = mockOnboardingDesignExperimentToggles,
676+
rebrandingFeatureToggle = mockRebrandingFeatureToggle,
674677
)
675678

676679
val siteFactory = SiteFactoryImpl(

app/src/androidTest/java/com/duckduckgo/app/cta/ui/CtaViewModelTest.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ import com.duckduckgo.duckplayer.api.DuckPlayer.DuckPlayerState.ENABLED
6262
import com.duckduckgo.duckplayer.api.DuckPlayer.UserPreferences
6363
import com.duckduckgo.duckplayer.api.PrivatePlayerMode.AlwaysAsk
6464
import com.duckduckgo.feature.toggles.api.Toggle
65+
import com.duckduckgo.subscriptions.api.SubscriptionRebrandingFeatureToggle
6566
import com.duckduckgo.subscriptions.api.Subscriptions
6667
import java.util.concurrent.TimeUnit
6768
import kotlinx.coroutines.FlowPreview
@@ -126,6 +127,8 @@ class CtaViewModelTest {
126127

127128
private val mockOnboardingDesignExperimentToggles: OnboardingDesignExperimentToggles = mock()
128129

130+
private val mockRebrandingFeatureToggle: SubscriptionRebrandingFeatureToggle = mock()
131+
129132
private val requiredDaxOnboardingCtas: List<CtaId> = listOf(
130133
CtaId.DAX_INTRO,
131134
CtaId.DAX_DIALOG_SERP,
@@ -185,6 +188,7 @@ class CtaViewModelTest {
185188
senseOfProtectionExperiment = mockSenseOfProtectionExperiment,
186189
onboardingHomeScreenWidgetExperiment = mockOnboardingHomeScreenWidgetExperiment,
187190
onboardingDesignExperimentToggles = mockOnboardingDesignExperimentToggles,
191+
rebrandingFeatureToggle = mockRebrandingFeatureToggle,
188192
)
189193
}
190194

app/src/main/java/com/duckduckgo/app/cta/ui/CtaViewModel.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ import com.duckduckgo.di.scopes.AppScope
5151
import com.duckduckgo.duckplayer.api.DuckPlayer
5252
import com.duckduckgo.duckplayer.api.DuckPlayer.DuckPlayerState
5353
import com.duckduckgo.duckplayer.api.PrivatePlayerMode.AlwaysAsk
54+
import com.duckduckgo.subscriptions.api.SubscriptionRebrandingFeatureToggle
5455
import com.duckduckgo.subscriptions.api.Subscriptions
5556
import dagger.SingleInstanceIn
5657
import javax.inject.Inject
@@ -88,6 +89,7 @@ class CtaViewModel @Inject constructor(
8889
private val senseOfProtectionExperiment: SenseOfProtectionExperiment,
8990
private val onboardingHomeScreenWidgetExperiment: OnboardingHomeScreenWidgetExperiment,
9091
private val onboardingDesignExperimentToggles: OnboardingDesignExperimentToggles,
92+
private val rebrandingFeatureToggle: SubscriptionRebrandingFeatureToggle,
9193
) {
9294
@ExperimentalCoroutinesApi
9395
@VisibleForTesting
@@ -264,7 +266,11 @@ class CtaViewModel @Inject constructor(
264266
// Privacy Pro
265267
canShowPrivacyProCta() && !isOnboardingExperimentEnabled() -> {
266268
val titleRes: Int = R.string.onboardingPrivacyProDaxDialogTitle
267-
val descriptionRes: Int = R.string.onboardingPrivacyProDaxDialogDescriptionRebranding
269+
val descriptionRes: Int = if (rebrandingFeatureToggle.isSubscriptionRebrandingEnabled()) {
270+
R.string.onboardingPrivacyProDaxDialogDescriptionRebranding
271+
} else {
272+
R.string.onboardingPrivacyProDaxDialogDescription
273+
}
268274
val primaryCtaRes: Int = if (freeTrialCopyAvailable()) {
269275
R.string.onboardingPrivacyProDaxDialogFreeTrialOkButton
270276
} else {

app/src/main/res/values-bg/strings.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -797,8 +797,7 @@
797797
<string name="onboardingEndDaxDialogDescription">Запомнете: всеки път, когато сърфирате с мен, аз ще подрязвам крилцата на досадните реклами. 👌</string>
798798
<string name="onboardingEndDaxDialogButton">Готово!</string>
799799
<string name="onboardingPrivacyProDaxDialogTitle">О, преди да забравя…</string>
800-
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo има и вграден <b>VPN</b>!<br/><br/>Активирайте го с <b>платен абонамент за Privacy Pro.</b>]]></string>
801-
<string name="onboardingPrivacyProDaxDialogFreeTrialDescription"><![CDATA[DuckDuckGo има и защитена <b>VPN услуга + още 2 премиум защити</b>, достъпни с <b>допълнителен платен абонамент</b>.]]></string>
800+
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo има и защитена <b>VPN услуга + още 2 премиум защити</b>, достъпни с <b>допълнителен платен абонамент</b>.]]></string>
802801
<string name="onboardingPrivacyProDaxDialogOkButton">Научете повече</string>
803802
<string name="onboardingPrivacyProDaxDialogFreeTrialOkButton">Пробвайте безплатно!</string>
804803
<string name="onboardingPrivacyProDaxDialogCancelButton">Пропускане</string>
@@ -913,4 +912,10 @@
913912

914913
<string name="bbOnboardingTrackersBlockedDialogDescription">☝️Докоснете щита за повече информация.️</string>
915914

915+
<!-- Privacy Pro Rebranding-->
916+
<string name="aboutDescriptionBrandUpdate2025Rebranding">Welcome to the Duck Side!\n\nDuckDuckGo е независима компания за онлайн защита за всеки, който иска да си върне контрола върху личната информация.\n\nНие вярваме, че най-добрият начин за защита на личната информация от хакери, измамници и компании, които не зачитат поверителността, е тя изобщо да не бъде събирана. Ето защо милиони хора <annotation type="chart_comparison">избират DuckDuckGo пред Chrome и други браузъри</annotation> за търсене и сърфиране онлайн. Нашата вградена търсачка е като Google, но никога не следи какво търсите. А нашите защити при сърфиране, като блокиране на рекламни тракери и блокиране на бисквитки, помагат да спрем събирането на Вашите данни от други компании. Освен това нашият браузър е безплатен — ние печелим от <annotation type="privacy_respecting_ads">зачитащи поверителността реклами при търсене</annotation>, а не като използваме Вашите данни.\n\nВ допълнение към това предлагаме и <annotation type="ppro_help_page">абонамент за DuckDuckGo</annotation>, интегриран в нашия браузър. Абонатите получават още по-добра защита на личните данни с бърза и лесна <annotation type="vpn_help_page">VPN</annotation> услуга, която помага да защитите дейността си онлайн; достъп до усъвършенствани AI модели в нашата услуга за поверителен AI чат Duck.ai; услуга, която намира и премахва личната Ви информация от сайтове за търсене на хора; и услуга, която възстановява самоличността Ви, ако бъде открадната.\n\nВърнете си контрола върху личната информация с браузъра, предназначен за защита на данните, а не за събиране на данните.</string>
917+
<string name="onboardingPrivacyProDaxDialogDescriptionRebranding"><![CDATA[DuckDuckGo също предлага <b>опция за платен абонамент</b> със защитена <b>VPN</b> услуга и поверителен чат с усъвършенстван AI.]]></string>
918+
<string name="settingsDuckAiRebranding">Функции с изкуствен интелект</string>
919+
<string name="settingsDuckAi">Duck.ai</string>
920+
916921
</resources>

app/src/main/res/values-cs/strings.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -829,8 +829,7 @@
829829
<string name="onboardingEndDaxDialogDescription">Pamatuj: Když se mnou na webu surfuješ, příšerné reklamy zaženeš. 👌</string>
830830
<string name="onboardingEndDaxDialogButton">Všechno je hotové!</string>
831831
<string name="onboardingPrivacyProDaxDialogTitle">Než to zapomenu...</string>
832-
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo má také integrovanou <b>VPN</b>!<br/><br/>Můžete ji aktivovat pomocí <b>placeného předplatného Privacy Pro.</b>]]></string>
833-
<string name="onboardingPrivacyProDaxDialogFreeTrialDescription"><![CDATA[DuckDuckGo má taky bezpečnou <b>VPN a dvě další prémiové ochranné funkce</b>, které jsou dostupné v rámci <b>volitelného předplatného</b>.]]></string>
832+
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo má taky bezpečnou <b>VPN a dvě další prémiové ochranné funkce</b>, které jsou dostupné v rámci <b>volitelného předplatného</b>.]]></string>
834833
<string name="onboardingPrivacyProDaxDialogOkButton">Více informací</string>
835834
<string name="onboardingPrivacyProDaxDialogFreeTrialOkButton">Vyzkoušej to zdarma!</string>
836835
<string name="onboardingPrivacyProDaxDialogCancelButton">Přeskočit</string>
@@ -949,4 +948,10 @@
949948

950949
<string name="bbOnboardingTrackersBlockedDialogDescription">☝️ Klepnutím na štít si zobrazíš další informace.️</string>
951950

951+
<!-- Privacy Pro Rebranding-->
952+
<string name="aboutDescriptionBrandUpdate2025Rebranding">Welcome to the Duck Side!\n\nDuckDuckGo je nezávislá společnost zaměřená na ochranu soukromí na internetu pro každého, kdo chce mít své osobní údaje zase pod kontrolou.\n\nVěříme, že nejlepší způsob, jak ochránit tvoje osobní údaje před hackery, podvodníky a společnostmi, co jim soukromí moc neříká, je vůbec jim přístup k tvým údajům neumožnit. Proto milióny lidí při prohlížení webu <annotation type="chart_comparison">dávají přednost DuckDuckGo před Chromem a dalšími prohlížeči</annotation>. Náš vyhledávač integrovaný v prohlížeči je jako Google, ale nikdy nesleduje, co hledáš. A naše sada funkcí na ochranu soukromí, která zahrnuje blokování reklamních trackerů a cookies, brání firmám ve sběru tvých dat. Náš prohlížeč je navíc zdarma – vyděláváme na <annotation type="privacy_respecting_ads">reklamách ve vyhledávání, které respektují soukromí</annotation> a nezneužívají tvé údaje.\n\nKromě toho nabízíme také <annotation type="ppro_help_page">předplatné DuckDuckGo</annotation>, které je integrované v našem prohlížeči. Předplatitelé získají ještě větší ochranu soukromí díky rychlé a jednoduché <annotation type="vpn_help_page">VPN</annotation>, která pomáhá zabezpečit tvoje online aktivity, přístup k pokročilým modelům umělé inteligence v naší soukromé chatovací službě Duck.ai, službu, která vyhledává a odstraňuje tvoje osobní údaje ze stránek pro vyhledávání lidí, a službě, která obnoví tvoji identitu, pokud by byla odcizena.\n\nPřevezmi kontrolu nad svými osobními údaji a pořiď si prohlížeč navržený tak, aby tvoje data neshromažďoval, ale chránil.</string>
953+
<string name="onboardingPrivacyProDaxDialogDescriptionRebranding"><![CDATA[DuckDuckGo má také <b>volitelné placené předplatné</b> s bezpečnou <b>VPN</b> a špičkovou soukromou umělou inteligencí.]]></string>
954+
<string name="settingsDuckAiRebranding">Funkce AI</string>
955+
<string name="settingsDuckAi">Duck.ai</string>
956+
952957
</resources>

app/src/main/res/values-da/strings.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -797,8 +797,7 @@
797797
<string name="onboardingEndDaxDialogDescription">Husk: hver gang du browser med mig, mister en uhyggelig annonce sine vinger. 👌</string>
798798
<string name="onboardingEndDaxDialogButton">Helt færdig!</string>
799799
<string name="onboardingPrivacyProDaxDialogTitle">Åh, før jeg glemmer det...</string>
800-
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo har også en indbygget <b>VPN</b>!<br/><br/>Aktiver den med et <b>betalt Privacy Pro-abonnement.</b>]]></string>
801-
<string name="onboardingPrivacyProDaxDialogFreeTrialDescription"><![CDATA[DuckDuckGo har også en sikker <b>VPN + 2 ekstra premium-beskyttelser</b>, tilgængelige med et <b>valgfrit betalt abonnement</b>.]]></string>
800+
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo har også en sikker <b>VPN + 2 ekstra premium-beskyttelser</b>, tilgængelige med et <b>valgfrit betalt abonnement</b>.]]></string>
802801
<string name="onboardingPrivacyProDaxDialogOkButton">Mere info</string>
803802
<string name="onboardingPrivacyProDaxDialogFreeTrialOkButton">Prøv gratis!</string>
804803
<string name="onboardingPrivacyProDaxDialogCancelButton">Spring over</string>
@@ -913,4 +912,10 @@
913912

914913
<string name="bbOnboardingTrackersBlockedDialogDescription">☝️Tryk på skjoldet for at få mere information.️</string>
915914

915+
<!-- Privacy Pro Rebranding-->
916+
<string name="aboutDescriptionBrandUpdate2025Rebranding">Welcome to the Duck Side!\n\nDuckDuckGo er den uafhængige online-beskyttelsesvirksomhed for alle, der vil tage kontrollen over deres personlige oplysninger tilbage.\n\nVi mener, at den bedste måde at beskytte dine personlige oplysninger mod hackere, svindlere og virksomheder, der krænker privatlivets fred, er at forhindre, at de overhovedet bliver indsamlet. Derfor vælger millioner af mennesker <annotation type="chart_comparison">DuckDuckGo frem for Chrome og andre browsere</annotation> til at søge og surfe på nettet. Vores indbyggede søgemaskine er som Google, men sporer aldrig dine søgninger. Og vores browserbeskyttelse, som f.eks. blokering af reklametrackere og cookies, hjælper med at forhindre andre virksomheder i at indsamle dine data. Forresten er vores browser gratis — vi tjener penge på <annotation type="privacy_respecting_ads">søgeannoncer, der respekterer privatlivets fred</annotation>, ikke ved at udnytte dine data.Derudover tilbyder vi også et <annotation type="ppro_help_page">DuckDuckGo-abonnement</annotation>, der er integreret i vores browser. Abonnenter får endnu mere beskyttelse af privatlivet med en hurtig og enkel <annotation type="vpn_help_page">VPN</annotation>, der hjælper med at sikre din onlineaktivitet, adgang til avancerede AI-modeller i vores private AI-chattjeneste Duck.ai, en tjeneste, der finder og fjerner dine personlige oplysninger fra personfinderwebsteder, og en tjeneste, der gendanner din identitet, hvis den bliver stjålet.\n\nTag kontrollen over dine personlige oplysninger tilbage med browseren, der er designet til databeskyttelse, ikke dataindsamling.</string>
917+
<string name="onboardingPrivacyProDaxDialogDescriptionRebranding"><![CDATA[DuckDuckGo har også et <b>valgfrit betalt abonnement</b> med en sikker <b>VPN</b> og avanceret, privat AI.]]></string>
918+
<string name="settingsDuckAiRebranding">AI-funktioner</string>
919+
<string name="settingsDuckAi">Duck.ai</string>
920+
916921
</resources>

app/src/main/res/values-de/strings.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -797,8 +797,7 @@
797797
<string name="onboardingEndDaxDialogDescription">Hinweis: Jedes Mal, wenn du mit mir browst, verliert eine gruselige Anzeige ihren Schrecken. 👌</string>
798798
<string name="onboardingEndDaxDialogButton">Alles erledigt!</string>
799799
<string name="onboardingPrivacyProDaxDialogTitle">Oh, bevor ich es vergesse ...</string>
800-
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo hat auch ein integriertes <b>VPN</b>!<br/><br/>Aktiviere es mit einem <b>kostenpflichtigen Privacy Pro Abonnement.</b>]]></string>
801-
<string name="onboardingPrivacyProDaxDialogFreeTrialDescription"><![CDATA[DuckDuckGo bietet auch ein sicheres <b>VPN + 2 weitere Premium-Schutzmaßnahmen</b>, die mit einem <b>optionalen kostenpflichtigen Abonnement</b> verfügbar sind.]]></string>
800+
<string name="onboardingPrivacyProDaxDialogDescription"><![CDATA[DuckDuckGo bietet auch ein sicheres <b>VPN + 2 weitere Premium-Schutzmaßnahmen</b>, die mit einem <b>optionalen kostenpflichtigen Abonnement</b> verfügbar sind.]]></string>
802801
<string name="onboardingPrivacyProDaxDialogOkButton">Mehr erfahren</string>
803802
<string name="onboardingPrivacyProDaxDialogFreeTrialOkButton">Kostenlos testen!</string>
804803
<string name="onboardingPrivacyProDaxDialogCancelButton">Überspringen</string>
@@ -913,4 +912,10 @@
913912

914913
<string name="bbOnboardingTrackersBlockedDialogDescription">☝️Tippe auf das Schild, um mehr Informationen zu erhalten.️</string>
915914

915+
<!-- Privacy Pro Rebranding-->
916+
<string name="aboutDescriptionBrandUpdate2025Rebranding">Welcome to the Duck Side!\n\nDuckDuckGo ist das unabhängige Unternehmen im Bereich Online-Schutz für alle, die die Kontrolle über ihre persönlichen Daten zurückerlangen möchten.\n\nWir glauben, dass der beste Weg, deine persönlichen Daten vor Hackern, Betrügern und Unternehmen, die deine Privatsphäre verletzen, zu schützen, darin besteht, gar nicht erst zuzulassen, dass sie gesammelt werden. Deshalb entscheiden sich Millionen von Menschen <annotation type="chart_comparison">für DuckDuckGo anstelle von Chrome und anderen Browsern</annotation>, um online zu suchen und zu surfen. Unsere integrierte Suchmaschine ähnelt Google, trackt deine Suchanfragen jedoch nie. Und unsere Browsing-Schutzfunktionen, wie die Tracker-Blockade von Werbung und das Blockieren von Cookies, verhindern, dass andere Unternehmen deine Daten sammeln. Ach ja, und unser Browser ist kostenlos – wir verdienen unser Geld mit <annotation type="privacy_respecting_ads">datenschutzfreundlichen Suchanzeigen</annotation> und nicht durch die Ausbeutung deiner Daten.\n\nDarüber hinaus bieten wir auch ein <annotation type="ppro_help_page">DuckDuckGo-Abo</annotation>, das in unseren Browser integriert ist. Abonnenten erhalten noch mehr Datenschutz mit einem schnellen und einfachen <annotation type="vpn_help_page">VPN</annotation>, das deine Online-Aktivitäten schützt, Zugriff auf fortschrittliche KI-Modelle in unserem privaten KI-Chatdienst Duck.ai, einem Dienst, der deine persönlichen Daten in Personensuchmaschinen findet und entfernt, und einem Dienst, der deine Identität wiederherstellt, falls sie gestohlen wird.\n\nGewinne mit dem Browser, der für den Datenschutz und nicht für die Datensammlung entwickelt wurde, die Kontrolle über deine persönlichen Daten zurück.</string>
917+
<string name="onboardingPrivacyProDaxDialogDescriptionRebranding"><![CDATA[DuckDuckGo bietet auch ein <b>optionales kostenpflichtiges Abonnement</b> mit einem sicheren <b>VPN</b> und fortschrittlicher, privater KI.]]></string>
918+
<string name="settingsDuckAiRebranding">KI-Funktionen</string>
919+
<string name="settingsDuckAi">Duck.ai</string>
920+
916921
</resources>

0 commit comments

Comments
 (0)