From 5fdf54914038954adb5c13d4e167e7420d51f58f Mon Sep 17 00:00:00 2001 From: williamrai Date: Fri, 6 Nov 2026 16:31:23 -0500 Subject: [PATCH 1/2] - adds end-screen CTA for top-read articles --- .../yearinreview/presentation/YearInReviewActivity.kt | 4 ++++ .../yearinreview/presentation/YearInReviewEndSlide.kt | 6 ++++++ .../yearinreview/presentation/YearInReviewScreen.kt | 2 ++ app/src/main/res/values-qq/strings.xml | 3 +++ app/src/main/res/values/strings.xml | 3 +++ app/src/main/res/values/strings_no_translate.xml | 1 + 6 files changed, 19 insertions(+) diff --git a/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewActivity.kt b/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewActivity.kt index d02c23e2df2..bbca927f219 100644 --- a/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewActivity.kt +++ b/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewActivity.kt @@ -119,6 +119,10 @@ class YearInReviewActivity : BaseActivity() { submitInteraction(uiState, action = "click", elementId = "visit_store_button") UriUtil.visitInExternalBrowser(context = this, uri = getString(R.string.year_in_review_store_discount_url).toUri()) } + YearInReviewEndCard.TOP_READ -> { + submitInteraction(uiState, action = "click", elementId = "explore_top_read_button") + UriUtil.visitInExternalBrowser(context = this, uri = getString(R.string.year_in_review_top_read_url).toUri()) + } YearInReviewEndCard.QUIZ -> { submitInteraction(uiState, action = "click", elementId = "take_quiz_button") UriUtil.visitInExternalBrowser(context = this, uri = getString(R.string.year_in_review_quiz_url, WikipediaApp.instance.appOrSystemLanguageCode).toUri()) diff --git a/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewEndSlide.kt b/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewEndSlide.kt index 50cd5da1342..8a55412c91c 100644 --- a/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewEndSlide.kt +++ b/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewEndSlide.kt @@ -81,6 +81,7 @@ enum class YearInReviewEndCard( STORE_DISCOUNT(R.string.yir_store_discount_headline, R.string.yir_store_discount_action), GAMES(R.string.yir_games_headline, R.string.yir_games_action), CUSTOMIZE_HOME(R.string.yir_customize_home_headline, R.string.yir_customize_home_action), + TOP_READ(R.string.yir_top_read_headline, R.string.yir_top_read_action), QUIZ(R.string.yir_quiz_headline, R.string.yir_quiz_action) } @@ -89,6 +90,7 @@ private fun YearInReviewEndCard.supportingText(): String = when (this) { YearInReviewEndCard.STORE_DISCOUNT -> pluralStringResource(R.plurals.yir_store_discount_supporting, STORE_DISCOUNT_PERCENT, STORE_DISCOUNT_PERCENT) YearInReviewEndCard.GAMES -> stringResource(R.string.yir_games_supporting) YearInReviewEndCard.CUSTOMIZE_HOME -> stringResource(R.string.yir_customize_home_supporting) + YearInReviewEndCard.TOP_READ -> stringResource(R.string.yir_top_read_supporting) YearInReviewEndCard.QUIZ -> stringResource(R.string.yir_quiz_supporting) } @@ -97,6 +99,7 @@ fun YearInReviewEndSlide( modifier: Modifier = Modifier, isDonor: Boolean = false, isTestGroupUser: Boolean = true, + hasEnglishAppLanguage: Boolean = true, canShareHighlights: Boolean = true, onCardActionClick: (YearInReviewEndCard) -> Unit = {}, onShareHighlightsClick: () -> Unit = {} @@ -110,6 +113,9 @@ fun YearInReviewEndSlide( add(YearInReviewEndCard.GAMES) add(YearInReviewEndCard.CUSTOMIZE_HOME) } + if (hasEnglishAppLanguage) { + add(YearInReviewEndCard.TOP_READ) + } add(YearInReviewEndCard.QUIZ) } BoxWithConstraints( diff --git a/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewScreen.kt b/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewScreen.kt index eb2a10dcce8..2a374fb89f0 100644 --- a/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewScreen.kt +++ b/app/src/main/java/org/wikipedia/yearinreview/presentation/YearInReviewScreen.kt @@ -72,6 +72,7 @@ import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import kotlinx.coroutines.withTimeoutOrNull import org.wikipedia.R +import org.wikipedia.WikipediaApp import org.wikipedia.compose.ComposeColors import org.wikipedia.compose.components.AppButton import org.wikipedia.compose.components.WikipediaAlertDialog @@ -356,6 +357,7 @@ private fun YearInReviewContent( YearInReviewEndSlide( isDonor = page.isDonor, isTestGroupUser = YearInReviewEndScreenABTest().isUserEligible() && YearInReviewEndScreenABTest().isTestGroupUser(), + hasEnglishAppLanguage = WikipediaApp.instance.languageState.appLanguageCodes.contains("en"), canShareHighlights = canShareHighlights, onCardActionClick = onEndCardClick, onShareHighlightsClick = { isRenderingShareCard = true } diff --git a/app/src/main/res/values-qq/strings.xml b/app/src/main/res/values-qq/strings.xml index 2b66c5c7ea4..d0e80963372 100644 --- a/app/src/main/res/values-qq/strings.xml +++ b/app/src/main/res/values-qq/strings.xml @@ -2069,6 +2069,9 @@ Headline of the Year in Review card that leads to the community Year in Review. Supporting text of the Year in Review card that leads to the community Year in Review. Button label on the Year in Review card that leads to the community Year in Review. + Headline of the Year in Review card that leads to a blog post about the most-read English Wikipedia articles of 2026. + Supporting text of the Year in Review most-read articles card. + Button label on the Year in Review most-read articles card. Headline of the Year in Review quiz card. Supporting text of the Year in Review quiz card. Button label on the Year in Review quiz card. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 389b523109a..13294e5ddae 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2174,6 +2174,9 @@ Our Year in Review Rediscover how much the world read, edited, and explored together. Explore now + 2026\'s most-read articles + Learn what everyone read about on Wikipedia this year. Did the World Cup make the list? + Explore the top 25 Which Wikipedia are you? From dial-up days to now, travel through Wikipedia\'s history. Take the quiz diff --git a/app/src/main/res/values/strings_no_translate.xml b/app/src/main/res/values/strings_no_translate.xml index 21a1e5b8b68..991db70f5d9 100644 --- a/app/src/main/res/values/strings_no_translate.xml +++ b/app/src/main/res/values/strings_no_translate.xml @@ -35,6 +35,7 @@ wikimediafoundation.org/yir25 wikimediafoundation.org/2025articles https://store.wikimedia.org/discount/WikiLove?utm_campaign=bf45f7&utm_source=discount_shareable_link + https://wikimediafoundation.org/news/2026/12/01/wikipedia-most-read-articles-2026/?utm_campaign=26yir&utm_source=26appyir&utm_medium=26andcard https://wikipedia25.org/%1$s/which-wikipedia-of-the-future-are-you https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Rabbit_Holes https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Customizable_Donation_Reminder_Experiment From 337a8c2a9b986125289f143af99448d2c8aa51d4 Mon Sep 17 00:00:00 2001 From: williamrai Date: Mon, 9 Nov 2026 09:13:33 -0500 Subject: [PATCH 2/2] - moves english only string to strings_no_translate.xml --- app/src/main/res/values-qq/strings.xml | 3 --- app/src/main/res/values/strings.xml | 3 --- app/src/main/res/values/strings_no_translate.xml | 5 +++++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/src/main/res/values-qq/strings.xml b/app/src/main/res/values-qq/strings.xml index d0e80963372..2b66c5c7ea4 100644 --- a/app/src/main/res/values-qq/strings.xml +++ b/app/src/main/res/values-qq/strings.xml @@ -2069,9 +2069,6 @@ Headline of the Year in Review card that leads to the community Year in Review. Supporting text of the Year in Review card that leads to the community Year in Review. Button label on the Year in Review card that leads to the community Year in Review. - Headline of the Year in Review card that leads to a blog post about the most-read English Wikipedia articles of 2026. - Supporting text of the Year in Review most-read articles card. - Button label on the Year in Review most-read articles card. Headline of the Year in Review quiz card. Supporting text of the Year in Review quiz card. Button label on the Year in Review quiz card. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 13294e5ddae..389b523109a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -2174,9 +2174,6 @@ Our Year in Review Rediscover how much the world read, edited, and explored together. Explore now - 2026\'s most-read articles - Learn what everyone read about on Wikipedia this year. Did the World Cup make the list? - Explore the top 25 Which Wikipedia are you? From dial-up days to now, travel through Wikipedia\'s history. Take the quiz diff --git a/app/src/main/res/values/strings_no_translate.xml b/app/src/main/res/values/strings_no_translate.xml index 991db70f5d9..b0d8bcf9166 100644 --- a/app/src/main/res/values/strings_no_translate.xml +++ b/app/src/main/res/values/strings_no_translate.xml @@ -142,4 +142,9 @@ 約45億5000万年前に誕生したこと、月の高地が斜長岩からなることから月はその歴史の初期に高温だったことが明らかとなった。これらの証拠から、有力視されるようになったのが巨大衝突説である。]]> https://thumb.wikimedia.org/wikipedia/commons/thumb/e/e1/FullMoon2010.jpg/60px-FullMoon2010.jpg 月はどのように形成されたのか? + + + 2026\'s most-read articles + Learn what everyone read about on Wikipedia this year. Did the World Cup make the list? + Explore the top 25