From b3793f25072bf1323695f50333c9331102c8402b Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 19 Jul 2025 07:49:11 +0530 Subject: [PATCH 1/5] Refactor on this day game to use LocalDate --- .../wikipedia/games/db/DailyGameHistory.kt | 7 +- .../games/onthisday/DateDecorator.kt | 61 +++----------- .../onthisday/OnThisDayGameBaseFragment.kt | 84 +++++++------------ .../games/onthisday/OnThisDayGameViewModel.kt | 11 ++- 4 files changed, 51 insertions(+), 112 deletions(-) diff --git a/app/src/main/java/org/wikipedia/games/db/DailyGameHistory.kt b/app/src/main/java/org/wikipedia/games/db/DailyGameHistory.kt index a3f2e4ac7d2..4776c85bbed 100644 --- a/app/src/main/java/org/wikipedia/games/db/DailyGameHistory.kt +++ b/app/src/main/java/org/wikipedia/games/db/DailyGameHistory.kt @@ -1,7 +1,9 @@ package org.wikipedia.games.db import androidx.room.Entity +import androidx.room.Ignore import androidx.room.PrimaryKey +import java.time.LocalDate @Entity data class DailyGameHistory( @@ -14,4 +16,7 @@ data class DailyGameHistory( var score: Int, var playType: Int, var gameData: String? -) +) { + @Ignore + val date: LocalDate = LocalDate.of(year, month, day) +} diff --git a/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt b/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt index 36d4e7b3c85..e9f005e78de 100644 --- a/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt +++ b/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt @@ -2,31 +2,18 @@ package org.wikipedia.games.onthisday import android.content.Context import android.content.res.ColorStateList -import android.os.Parcel -import android.os.Parcelable import androidx.core.content.ContextCompat import com.google.android.material.datepicker.DayViewDecorator +import kotlinx.parcelize.Parcelize import org.wikipedia.R -import java.util.Calendar -import java.util.Date +import java.time.LocalDate +@Parcelize class DateDecorator( - private val startDate: Date, - private val endDate: Date, - private val scoreData: Map + private val startDate: LocalDate, + private val endDate: LocalDate, + private val scoreData: Map ) : DayViewDecorator() { - - private val calendar = Calendar.getInstance() - - private fun isDateInRange(year: Int, month: Int, day: Int): Boolean { - synchronized(calendar) { - calendar.set(year, month, day, 0, 0, 0) - calendar.set(Calendar.MILLISECOND, 0) - - return !calendar.before(startDate) && !calendar.after(endDate) - } - } - override fun getBackgroundColor( context: Context, year: Int, @@ -35,14 +22,12 @@ class DateDecorator( valid: Boolean, selected: Boolean ): ColorStateList? { - if (!isDateInRange(year, month, day)) { + val date = LocalDate.of(year, month + 1, day) + if (date !in startDate..endDate) { return null } - val dateKey = getDateKey(year, month + 1, day) - val score = scoreData[dateKey] - - return when (score) { + return when (scoreData[date]) { 0, 1, 2 -> ColorStateList.valueOf(ContextCompat.getColor(context, R.color.yellow200)) 3, 4 -> ColorStateList.valueOf(ContextCompat.getColor(context, R.color.orange200)) 5 -> ColorStateList.valueOf(ContextCompat.getColor(context, R.color.green600)) @@ -58,36 +43,12 @@ class DateDecorator( valid: Boolean, selected: Boolean ): ColorStateList? { - val dateKey = getDateKey(year, month + 1, day) - val score = scoreData[dateKey] + val date = LocalDate.of(year, month + 1, day) + val score = scoreData[date] return when (score) { null -> super.getTextColor(context, year, month, day, valid, selected) else -> ColorStateList.valueOf(ContextCompat.getColor(context, R.color.gray700)) } } - - constructor(parcel: Parcel) : this( - Date(), - Date(), - hashMapOf() - ) - - override fun describeContents(): Int { return 0 } - - override fun writeToParcel(dest: Parcel, flags: Int) {} - - companion object CREATOR : Parcelable.Creator { - override fun createFromParcel(parcel: Parcel): DateDecorator { - return DateDecorator(parcel) - } - - override fun newArray(size: Int): Array { - return arrayOfNulls(size) - } - - fun getDateKey(year: Int, month: Int, day: Int): Long { - return (year * 10000 + month * 100 + day).toLong() - } - } } diff --git a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt index 65f052b4f87..986bbd9b475 100644 --- a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt +++ b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt @@ -19,15 +19,13 @@ import org.wikipedia.analytics.eventplatform.WikiGamesEvent import org.wikipedia.games.onthisday.OnThisDayGameViewModel.Companion.LANG_CODES_SUPPORTED import org.wikipedia.games.onthisday.OnThisDayGameViewModel.Companion.dateReleasedForLang import org.wikipedia.util.log.L +import java.time.Instant import java.time.LocalDate import java.time.ZoneId -import java.time.ZoneOffset -import java.util.Calendar -import java.util.Date -import java.util.TimeZone +import java.time.temporal.ChronoUnit abstract class OnThisDayGameBaseFragment : Fragment() { - private var scoreData: Map = emptyMap() + private var scoreData = emptyMap() private val fragmentLifecycleCallbacks = object : FragmentManager.FragmentLifecycleCallbacks() { @SuppressLint("RestrictedApi") @@ -38,7 +36,7 @@ abstract class OnThisDayGameBaseFragment : Fragment() { (calendar as MaterialCalendar?)?.addOnSelectionChangedListener(object : OnSelectionChangedListener() { override fun onSelectionChanged(selection: Long) { - maybeShowToastForDate(selection, scoreData) + maybeShowToastForDate(selection) } }) } @@ -58,90 +56,66 @@ abstract class OnThisDayGameBaseFragment : Fragment() { protected fun prepareAndOpenArchiveCalendar(viewModel: OnThisDayGameViewModel) { lifecycleScope.launch { val startDateBasedOnLanguage = LANG_CODES_SUPPORTED.associateWith { dateReleasedForLang(it) } - val localDate = startDateBasedOnLanguage[viewModel.wikiSite.languageCode] - val startDate = Date.from(localDate?.atStartOfDay(ZoneId.systemDefault())?.toInstant()) + val startDate = startDateBasedOnLanguage[viewModel.wikiSite.languageCode]!! scoreData = viewModel.getDataForArchiveCalendar(language = viewModel.wikiSite.languageCode) - showArchiveCalendar( - startDate, - Date(), - scoreData, - onDateSelected = { selectedDateInMillis -> - handleDateSelection(selectedDateInMillis) - } - ) + showArchiveCalendar(startDate, onDateSelected = ::handleDateSelection) } } - private fun showArchiveCalendar(startDate: Date, endDate: Date, scoreData: Map, onDateSelected: (Long) -> Unit) { - val startTimeInMillis = startDate.time - val endTimeInMillis = endDate.time + private fun showArchiveCalendar(startDate: LocalDate, onDateSelected: (Long) -> Unit) { + val startInstant = startDate.atStartOfDay(ZoneId.systemDefault()).toInstant() + val startTimeInMillis = startInstant.toEpochMilli() + val endInstant = Instant.now() + val endTimeInMillis = endInstant.toEpochMilli() + val oneDayBeforeStart = startInstant.minus(1, ChronoUnit.DAYS).toEpochMilli() val calendarConstraints = CalendarConstraints.Builder() - .setStart(startDate.time) + .setStart(startTimeInMillis) .setEnd(endTimeInMillis) .setValidator( CompositeDateValidator.allOf( listOf( - DateValidatorPointForward.from(startTimeInMillis - (24 * 60 * 60 * 1000)), + DateValidatorPointForward.from(oneDayBeforeStart), DateValidatorPointBackward.before(endTimeInMillis) ) ) ) .build() + val endDate = LocalDate.ofInstant(endInstant, ZoneId.systemDefault()) val datePicker = MaterialDatePicker.Builder.datePicker() .setTitleText(getString(R.string.on_this_day_game_archive_calendar_title)) .setTheme(R.style.MaterialDatePickerStyle) - .setDayViewDecorator( - DateDecorator( - startDate, - endDate, - scoreData - ) - ) + .setDayViewDecorator(DateDecorator(startDate, endDate, scoreData)) .setCalendarConstraints(calendarConstraints) .setSelection(endTimeInMillis) .build() .apply { - addOnPositiveButtonClickListener { selectedDateInMillis -> - onDateSelected(selectedDateInMillis) - } + addOnPositiveButtonClickListener(onDateSelected) } datePicker.show(childFragmentManager, "datePicker") } private fun handleDateSelection(selectedDateInMillis: Long) { - val calendar = Calendar.getInstance(TimeZone.getTimeZone(ZoneOffset.UTC)) - calendar.timeInMillis = selectedDateInMillis - val year = calendar.get(Calendar.YEAR) - val month = calendar.get(Calendar.MONTH) + 1 - val day = calendar.get(Calendar.DAY_OF_MONTH) - val scoreDataKey = DateDecorator.getDateKey(year, month, day) - if (scoreData[scoreDataKey] != null) { + val localDate = LocalDate.ofInstant(Instant.ofEpochMilli(selectedDateInMillis), + ZoneId.systemDefault()) + if (scoreData[localDate] != null) { return } WikiGamesEvent.submit("date_select", "game_play", slideName = "archive_calendar") - onArchiveDateSelected(LocalDate.of(year, month, day)) + onArchiveDateSelected(localDate) } abstract fun onArchiveDateSelected(date: LocalDate) - private fun maybeShowToastForDate(selectedDateInMillis: Long, scoreData: Map) { - val calendar = Calendar.getInstance(TimeZone.getTimeZone(ZoneOffset.UTC)) - calendar.timeInMillis = selectedDateInMillis - val year = calendar.get(Calendar.YEAR) - val month = calendar.get(Calendar.MONTH) - val day = calendar.get(Calendar.DAY_OF_MONTH) - val scoreDataKey = DateDecorator.getDateKey(year, month + 1, day) - if (scoreData[scoreDataKey] != null) { - Toast.makeText( - requireContext(), - getString( - R.string.on_this_day_game_score_toast_message, - scoreData[scoreDataKey], - OnThisDayGameViewModel.MAX_QUESTIONS - ), Toast.LENGTH_SHORT - ).show() + private fun maybeShowToastForDate(selectedDateInMillis: Long) { + val localDate = LocalDate.ofInstant(Instant.ofEpochMilli(selectedDateInMillis), + ZoneId.systemDefault()) + val score = scoreData[localDate] + if (score != null) { + val message = getString(R.string.on_this_day_game_score_toast_message, score, + OnThisDayGameViewModel.MAX_QUESTIONS) + Toast.makeText(requireContext(), message, Toast.LENGTH_SHORT).show() } } diff --git a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameViewModel.kt b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameViewModel.kt index c33c9c9dc1b..29b195330e2 100644 --- a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameViewModel.kt +++ b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameViewModel.kt @@ -312,13 +312,12 @@ class OnThisDayGameViewModel(savedStateHandle: SavedStateHandle) : ViewModel() { return event.pages.firstOrNull { !it.thumbnailUrl.isNullOrEmpty() }?.thumbnailUrl } - suspend fun getDataForArchiveCalendar(gameName: Int = WikiGames.WHICH_CAME_FIRST.ordinal, language: String): Map { + suspend fun getDataForArchiveCalendar( + gameName: Int = WikiGames.WHICH_CAME_FIRST.ordinal, + language: String + ): Map { val history = AppDatabase.instance.dailyGameHistoryDao().getGameHistory(gameName, language) - val map = history.associate { - val scoreKey = DateDecorator.getDateKey(it.year, it.month, it.day) - scoreKey to it.score - } - return map + return history.associate { it.date to it.score } } fun getCurrentGameState(): GameState { From 6fb7cc111505ff7531295b730687a2d6ff67db11 Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Sat, 19 Jul 2025 10:42:33 +0530 Subject: [PATCH 2/5] Inline variable --- .../main/java/org/wikipedia/games/onthisday/DateDecorator.kt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt b/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt index e9f005e78de..063216c19c9 100644 --- a/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt +++ b/app/src/main/java/org/wikipedia/games/onthisday/DateDecorator.kt @@ -44,9 +44,7 @@ class DateDecorator( selected: Boolean ): ColorStateList? { val date = LocalDate.of(year, month + 1, day) - val score = scoreData[date] - - return when (score) { + return when (scoreData[date]) { null -> super.getTextColor(context, year, month, day, valid, selected) else -> ColorStateList.valueOf(ContextCompat.getColor(context, R.color.gray700)) } From e53c2889fa83a1d44772f4b81f1234318e584f7b Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Fri, 8 Aug 2025 01:37:40 +0530 Subject: [PATCH 3/5] Use elvis operator --- .../org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt index 986bbd9b475..d073bd71833 100644 --- a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt +++ b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt @@ -56,7 +56,7 @@ abstract class OnThisDayGameBaseFragment : Fragment() { protected fun prepareAndOpenArchiveCalendar(viewModel: OnThisDayGameViewModel) { lifecycleScope.launch { val startDateBasedOnLanguage = LANG_CODES_SUPPORTED.associateWith { dateReleasedForLang(it) } - val startDate = startDateBasedOnLanguage[viewModel.wikiSite.languageCode]!! + val startDate = startDateBasedOnLanguage[viewModel.wikiSite.languageCode] ?: return@launch scoreData = viewModel.getDataForArchiveCalendar(language = viewModel.wikiSite.languageCode) showArchiveCalendar(startDate, onDateSelected = ::handleDateSelection) } From 8e83a900204044daaa2c2f510fdb1b35e2ae5933 Mon Sep 17 00:00:00 2001 From: "translatewiki.net" Date: Thu, 7 Aug 2025 19:26:04 +0530 Subject: [PATCH 4/5] Localisation updates from https://translatewiki.net. (#5821) * Localisation updates from https://translatewiki.net. * - string fix --------- Co-authored-by: williamrai --- app/src/main/res/values-az/strings.xml | 32 +++++++++++++ .../main/res/values-b+isv+Latn/strings.xml | 10 ++++ app/src/main/res/values-b+tt+Cyrl/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 1 + app/src/main/res/values-fi/strings.xml | 4 +- app/src/main/res/values-ja/strings.xml | 37 ++++++++++++-- app/src/main/res/values-mk/strings.xml | 3 ++ app/src/main/res/values-mnw/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 26 ++++++++++ app/src/main/res/values-ru/strings.xml | 12 ++++- app/src/main/res/values-sh/strings.xml | 30 ++++++++++-- app/src/main/res/values-sl/strings.xml | 2 +- app/src/main/res/values-tr/strings.xml | 28 +++++++---- app/src/main/res/values-uk/strings.xml | 48 +++++++++++++++++-- app/src/main/res/values-zh-rTW/strings.xml | 2 + app/src/main/res/values-zh/strings.xml | 31 ++++++++++++ 16 files changed, 242 insertions(+), 27 deletions(-) diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml index b1500cee39b..cacfffe148a 100644 --- a/app/src/main/res/values-az/strings.xml +++ b/app/src/main/res/values-az/strings.xml @@ -1881,4 +1881,36 @@ Ən son tövsiyələrinizə baxmaq üçün toxunun. Kəşf et bölməsi yeniləndikdə, Vikipediya sizə bildiriş göndərəcək. Kəşf etmə aktivdir. Vikipediya sizə oxumağınız üçün məqalələr tövsiyə edəcək. + Eksperimental + Oxuduğunuz zaman Vikipediyaya dəstək olun + Vikipediyanın reklamsız, aktual və hamı üçün əlçatan olmasına kömək etmək üçün oxuduğunuz məqalələrin sayına əsasən ianə xatırladıcısı qurun. + Başla + İndi yox + İanə xatırlatmaları istənilən vaxt Parametrlərdə dəyişdirilə bilər. + İanələr + İanə xatırlatmaları + Vikipediyanı reklamsız, aktual və hamı üçün əlçatan saxlamaq üçün əllərindən gələni edən oxucuların 2%%-nə qoşulun. İanə xatırladıcınızı indi qurun. + İanələr Vikimedia Fonduna, filiallarına və onun digər saytlarına gedir. + Mən oxuyanda + Mənə ianə etməyi xatırlat + Xatırlatmanı təsdiqlə + Bu təcrübə haqqında + məqalə + Təşəkkürlər! Bu sınaq davam edərkən %2$s məqalə oxuduğunuz zaman %1$s ianə etməyi sizə xatırladacağıq. + %2$s vəd etdiyinizdən bəri %1$s məqalə oxumusunuz + %1$s tarixində siz %2$s məqalə oxuduqdan sonra ianə etməyi sizə xatırlatmağımızı xahiş etdiniz. Əgər Vikipediya sizə %3$s dəyərində məlumat veribsə, zəhmət olmasa, bu gün vədinizi yerinə yetirib oxucuların 2%%-nə qoşulun. + İndi ianə et + İndi yox + Google Pay ilə %s ianə et + Google Pay ilə fərqli məbləğdə ianə et + İanə xatırlatmalarını təkmilləşdirməyə kömək edin. + Bu funksiya sizi qane edir? + İanə xatırlatmaları aktivdir. Vikipediya sizə bu eksperiment zamanı oxuduğunuz hər %2$s məqalədə %1$s ianə etməyi xatırladacaq. + İanə xatırlatmaları deaktivdir. + Məqalələrin sayı cihazınızda lokal olaraq saxlanılır + Təşəkkürlər! Vikipediyaya olan səxavətiniz bizim üçün çox şey deməkdir. + + %d məqalə + %d məqalə + diff --git a/app/src/main/res/values-b+isv+Latn/strings.xml b/app/src/main/res/values-b+isv+Latn/strings.xml index f64e4c7e5b0..0ce2b432eb2 100644 --- a/app/src/main/res/values-b+isv+Latn/strings.xml +++ b/app/src/main/res/values-b+isv+Latn/strings.xml @@ -1061,6 +1061,9 @@ Totalna kolikost vaših pravok dotud. Koliko dnjev pod red vy jeste vnosili vklad. Ako vy od někakogo časa ne jeste dělali nijednu pravku, pokazyvaje se data vašej poslědnjej pravky. Cělkovita kolikost izobraženij stranic, ktore vy jeste pravili v tečenju poslědnjih 30 dnjev. + Osnovano na tom, kolikokratno vaše pravky byli odčinjene drugym redaktorom. Kolikost odčinjenyh pravok: %d. + Prědlagajeme pravky sut zadržane do %1$s. Izvinite %2$s, ale někoje iz vaših poslědnjih pravok byli odčinjene. + Prědlagajeme pravky sut izključene. Izvinite %s, ale prěmnogo iz vaših poslědnjih pravok bylo odčinjenyh. Izgledaje, kako že vašemu IP-adresu (ili obsegu IP-adresov) pravjenje Vikipedije nyně jest zablokovano. Izvinite, %s, da byste mogli koristati tutu funkciju, trěba, že sdělajete minimalno tri pravjenja v jednom članku. Sověty i prěporuky za pravjenje @@ -1130,6 +1133,10 @@ Včera Znajete li vy, že vsekto može praviti Vikipediju? + Prědlagajeme pravky sut novy sposob pravjenja Vikipedije na Androidu. One pomogut vami vnesti neveliky ale sučstveny vklad v Vikipediju.\nNaš cělj jest, že pravjenje bude legče i pristupnějše za vsih! Prijavite ili priključite se v Vikipediju i začnite. + Prijavite se / prisjedinite se do Vikipedije + Značek obrazka + Vaša pravka jest nyně vidima na Vikipediji Veče prědlagajemyh pravok Prědlagajeme opisy Čto vy htěli by soobčiti? @@ -1179,4 +1186,7 @@ Ja ne znaju tutoj prědmet Ine Odpraviti + Dodajte odsutne obrazky v članky v razdělu «Prědlagajeme pravky» + Obrazky pomagajut ljudam srazuměti, ale v mnogyh člankah jih nemaje. + Vy sami rěšite, trěba li uměstiti prědloženy obrazok v članok Vikipedije. diff --git a/app/src/main/res/values-b+tt+Cyrl/strings.xml b/app/src/main/res/values-b+tt+Cyrl/strings.xml index 75d927e4cce..d7a847247e2 100644 --- a/app/src/main/res/values-b+tt+Cyrl/strings.xml +++ b/app/src/main/res/values-b+tt+Cyrl/strings.xml @@ -84,7 +84,7 @@ Тарихын карау Үзгәртү тарихы Күзәтү исемлегеннән алып атырга - Күзәтүчеләр + Күзәтелә Биттә табу Шрифтны һәм бизәлешне үзгәртү Уку исемлегенә өстәү diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index b6ce0a6048a..197e3f880b8 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -36,6 +36,7 @@ * Walter Klosse * Want * WikipedistaOndra +* Wrai --> Wikipedie diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 91f8ffd1463..c4dfe3f8627 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -294,7 +294,7 @@ Ei Estetty Käyttäjätunnuksesi on estetty tässä wikissä. - IP-osoitteesi on estetty. + IP-osoitteellesi on asetettu muokkausesto. Miten paransit sivua? Seuraava Julkaise @@ -423,6 +423,7 @@ Supista taulukot Supista taulukot automaattisesti artikkeleissa, kuten tietolaatikot, viitteet ja huomautukset. Lahjoita + Vuosikatsaus Pahoittelut, puheentunnistus ei ole käytettävissä. Sijaintipalvelut eivät ole käytössä. Ota käyttöön @@ -1776,6 +1777,7 @@ Lahjoita Tietoa-kuvake Tutustu Wikipedia-vuoteesi + Jatka Maapallo-kuvake Löydä artikkeleita Löydä juuri sinulle valittuja artikkeleita diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 5efa09ee80f..762ce7a8115 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -303,15 +303,15 @@ 利用規約 https://ja.wikipedia.org/wiki/Wikipedia:ウィキペディアについて https://foundation.wikimedia.org/wiki/Privacy_policy - https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/ja#オフラインでの閲覧とデータ - https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/ja + https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ/ja#オフラインでの閲覧とデータ + https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ/ja https://foundation.wikimedia.org/wiki/Terms_of_Use //ja.wikipedia.org/wiki/Help:ログイン#アカウントの作成 https://creativecommons.org/licenses/by-sa/4.0/deed.ja https://creativecommons.org/publicdomain/zero/1.0/deed.ja 使用しているライブラリ 貢献者 - <a href=\"https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android\">チームページ</a> + <a href=\"https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Team/Android\">チームページ</a> 翻訳者 このアプリは<a href=\"https://translatewiki.net\">translatewiki.net</a>で、ボランティアの翻訳者によって翻訳されました。 ライセンス @@ -380,6 +380,7 @@ ウィキペディアの秀逸な記事 今日の秀逸な記事 ウィキペディアを検索 + ウィキペディアを検索する最速の方法 語釈が見つかりませんでした。 新しいアルファアップデートが利用可能 タップでダウンロード @@ -619,8 +620,8 @@ 複数のリストに記事が表示されます すべての閲覧リストに対して、%sはオフラインで利用できなくなります: あとで読むリストの同期を停止しますか? - あとで読むリストに保存された記事を、あなたのウィキペディアアカウントで同期することができるようになりました。<a href=\"https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/ja#Synced_reading_lists\">さらに詳しく</a> - あとで読むリストはデバイスをまたいで同期できるようになりました。ウィキペディアアカウントにログインして、あなたのリストを保存しましょう。<a href=\"https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/ja#Synced_reading_lists\">さらに詳しく</a> + あとで読むリストに保存された記事を、あなたのウィキペディアアカウントで同期することができるようになりました。<a href=\"https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ/ja#Synced_reading_lists\">さらに詳しく</a> + あとで読むリストはデバイスをまたいで同期できるようになりました。ウィキペディアアカウントにログインして、あなたのリストを保存しましょう。<a href=\"https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ/ja#Synced_reading_lists\">さらに詳しく</a> 同期を有効にする あとで読むリストを同期する あとで読むリストはデバイス間で同期できるようになりました。ウィキペディアのアカウントにログインして、リストの保存を許可してください。 @@ -1691,16 +1692,29 @@ フィードバックが送信されました。ありがとうございます! ウィキペディアゲーム 再生 + 送信 共有 わかりました 詳細 機能の問題 記事を読む + いいえ、そのままにします + オフにする + はい、オンにします + オフのまま 取り消す 寄付 情報アイコン + この機能に満足しましたか? + 非常に満足 + 満足 + どちらともいえない + 不満 + 非常に不満 + 他に何かご意見はありますか? キャンセル 送信 + カスタマイズ この機能について @@ -1713,6 +1727,19 @@ 毎日 毎週 毎月 + 通知 + 通知をオフにしますか? + オフにする + いいえ、そのままにします + 始める + 今はしない 寄付 寄付のリマインダー + 記事 + 今すぐ寄付する + 今はしない + Google Payで %s 寄付する + Google Payで別の金額を寄付する + 寄付リマインダーの改善にご協力ください。 + 寄付リマインダーはオフです。 diff --git a/app/src/main/res/values-mk/strings.xml b/app/src/main/res/values-mk/strings.xml index b6d57538a23..de0dea2974b 100644 --- a/app/src/main/res/values-mk/strings.xml +++ b/app/src/main/res/values-mk/strings.xml @@ -5,6 +5,7 @@ * Dbrant * Violetova * Vlad5250 +* Wrai * Монтехристо --> @@ -1901,6 +1902,8 @@ Потврди го потсетникот За овој опит статии + Внесете барем %s + Дозволено е највеќе %s Ви благодариме! Ќе ве потсетуваме да дарувате %1$s кога ќе прочитате %2$s додека трае овој опит. Прочитавте %1$s откако дарувавте %2$s На %1$s ни побаравте да ве потсетиме да дарувате откако ќе прочитате %2$s. Ако Википедија ви овозможи %3$s знаење, приклучете се на 2%% читатели кои даруваат и исполнете го даденото ветување денес. diff --git a/app/src/main/res/values-mnw/strings.xml b/app/src/main/res/values-mnw/strings.xml index 2506a15082c..0c264a8e5fe 100644 --- a/app/src/main/res/values-mnw/strings.xml +++ b/app/src/main/res/values-mnw/strings.xml @@ -995,6 +995,7 @@ ဘာသာ ကလေင်ချူပတိုန်ထ္ၜး လညာတ် ချူ လညာတ် + ပၠောပ်စရၚ်ညိ ပါ်ပရအ် ပလေဝ်ဒါန် မကၠောန်လဝ် %sဂမၠိုင် ဗဵု diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 55f0925a6db..a056c7e7aff 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1933,4 +1933,30 @@ Toque para ver suas recomendações mais recentes. Quando o seu Descobrir for atualizado, a Wikipedia enviará uma notificação. O Descobrir está ativado. A Wikipédia irá recomendar artigos para você ler. + Experimento + Apoie a Wikipédia enquanto lê + Configure um lembrete de doação com base no número de artigos que você lê para ajudar a manter a Wikipédia livre de anúncios, atualizada e disponível para todos. + Começar + Agora não + Os lembretes de doação podem ser modificados a qualquer momento em Configurações. + Doações + Lembretes de doações + As doações vão para a Fundação Wikimedia e suas afiliadas, orgulhosas anfitriãs da Wikipédia e seus sites irmãos. + Quando eu li + Lembre-me de fazer uma doação + Confirmar lembrete + Sobre esse experimento + artigos + Doar agora + Agora não + Doar %s com Google Pay + Doe um valor diferente com o Google Pay + Ajude a melhorar os lembretes de doações. + Você está satisfeito com essa experiência? + A contagem de artigos é armazenada localmente no seu dispositivo. + Obrigado! Sua generosidade com a Wikipédia significa muito para nós. + + %d artigo + %d artigos + diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 14ed5ad6cee..262a138d6e9 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -521,7 +521,7 @@ Настройте свою панель инструментов Вы можете связаться с <a href=\"https://ru.wikipedia.org/wiki/Википедия:Администраторы\">администратором</a> для обсуждения блокировки. Вы не вошли в систему - После создания правки ваш IP-адрес будет связан с вашими правками.<br /><br /> <a href=\"https://#login\">Войдите в систему</a> или <a href=\"https://#createaccount\">создайте учётную запись</a>, чтобы сохранять историю будущих правок и получить доступ к другим функциям. + После сохранения правки ваш IP-адрес будет виден всем в истории изменений страницы.<br /><br /> <a href=\"https://#login\">Войдите в систему</a> или <a href=\"https://#createaccount\">создайте учётную запись</a>, чтобы сохранять историю будущих правок и получить доступ к другим функциям. После внесения правки для вас будет создана <b>временная учётная запись</b> для защиты вашей конфиденциальности. <a href=\"<span class=\"notranslate\" translate=\"no\">%1$s \">Узнайте об этом подробнее</a> .<br /><br /> <a href=\"https://#login\">Войдите в систему</a> или <a href=\"https://#createaccount\">создайте учётную запись</a>, чтобы получить признание за будущие правки и получить доступ к другим функциям. Ваша правка будет отнесена к %1$s . Ваш IP-адрес будет виден администраторам.<br /><br /> Если вы <a href=\"https://#login\">войдёте в систему</a> или <a href=\"https://#createaccount\">создадите учётную запись</a>, помимо других преимуществ ваши правки будут связаны с выбранным вами именем. Понятно @@ -1765,6 +1765,7 @@ Назад Открыть в системном браузере Пожертвовать через Google Pay? + Сделайте пожертвование через Google Pay или выберите другой способ оплаты. Пожертвовать через Google Pay Другой способ оплаты Выберите сумму @@ -1800,6 +1801,7 @@ Введение Игры Википедии Сыграть в сегодняшнюю игру + Игры Википедии доступны в ленте Что произошло раньше? Играть Угадайте, какое событие произошло первым в истории в этот день. @@ -1813,6 +1815,7 @@ Финальный результат Поделиться Поставить игру на паузу? + Ваши результаты будут сохранёны на сегодня. В дальнейшем вы можете вернуться к игре через свою ленту. Продолжить играть Понятно Игры Википедии @@ -1821,6 +1824,7 @@ Следующая игра через %s Ваша статистика Средний балл + Текущая серия Статьи, упомянутые в сегодняшней игре Спасибо, что играли. Новая игра \"Что было первым?\" доступна ежедневно в ленте Уведомления об игре @@ -1874,6 +1878,12 @@ Что вас интересует? Поиск статьи Отменить + День + Неделя + Месяц Рекомендации Список для чтения + Начать + Не сейчас + Не сейчас diff --git a/app/src/main/res/values-sh/strings.xml b/app/src/main/res/values-sh/strings.xml index 24200063901..a3092748c71 100644 --- a/app/src/main/res/values-sh/strings.xml +++ b/app/src/main/res/values-sh/strings.xml @@ -16,11 +16,15 @@ Pretraži Wikipediju Pretraga glasom Pronađi jezik + Nazad + Obriši upit + Pretraga Filtriraj moje liste Izmjene Više Traži - Ne mogu se povezati sa svemrežjem. + Doprinesite + Nije moguće povezati se na internet. Pokušaj ponovo Pokušaj ponovo Pokušaj ponovo @@ -55,7 +59,7 @@ Filtriraj po Sve izmjene (%s) Korisničke izmjene (%s) - Anonimne izmjene (%s) + Izmjene neprijavljenih (%s) Izmjene botova (%s) Metrika od %1$s do %2$s @@ -96,6 +100,7 @@ Nedavno pregledano Arhiva Otvori + Otvori u Mjestima Otvori novu karticu Kopiraj adresu veze U rječnik @@ -120,12 +125,15 @@ Vaši jezici Wikipedije Objavi promjene Izmjena je objavljena! + Izmjena je objavljena. Trebat će neko vrijeme da postane vidljiva. Uređivanje nije uspelo! Pokušaj ponovo Otkaži Vaše promjene još uvijek nisu objavljene. Želite li zaista da napustite ovu stranicu? Napusti Ostani + Izbriši + Otkaži Sadržaj Nisam ništa našao Nisam pronašao ništa za \"%s\" @@ -253,6 +261,7 @@ Vrati Ponovi Vraćanje + Upozori %s bajt %s bajta @@ -353,10 +362,25 @@ Dodaj na listu za čitanje Članak se ne može učitati dok ste van mreže. Savjet: Dodajte članak na listu za čitanje i bit će preuzet čim se ponovo povežete. + Došlo je do greške + Odbaci + Prikaži + Sačuvaj + Sačuvano + Podijeli + Nije moguće povezati se na internet + Referenca %s + Reference Uređivanje Isticanje sintakse Sačuvaj Otkaži + U redu + Otkaži + U redu + Otkaži + Došli ste do kraja dotoka. + Učitaj još Podvučeno Precrtano Eksponent @@ -365,7 +389,7 @@ Formatiranje Promijeni trajno - 1 sedmica + 1 sedmica Trajno 1 sedmica Sve diff --git a/app/src/main/res/values-sl/strings.xml b/app/src/main/res/values-sl/strings.xml index c3490484039..52702a8fe27 100644 --- a/app/src/main/res/values-sl/strings.xml +++ b/app/src/main/res/values-sl/strings.xml @@ -1309,7 +1309,7 @@ Podnaslovi Vstavi predstavnost Označen seznam - Oštevilčen seznam + Oštevilčeni seznam Predloga Sklic Predogled povezave diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 34e3714c504..708ecd825a5 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -51,6 +51,7 @@ * Velg * Vito Genovese * Watermelon juice +* İmmortalance --> Vikipedi @@ -289,21 +290,22 @@ Kullanım şartları https://tr.wikipedia.org/wiki/Vikipedi:Hakkında https://meta.wikimedia.org/wiki/Privacy_policy/tr - https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/tr#Offline_reading_and_data - https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/tr + https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/tr#Offline_reading_and_data + https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ https://foundation.wikimedia.org/wiki/Terms_of_Use https://en.wikipedia.org/wiki/Wikipedia:Request_an_account https://creativecommons.org/licenses/by-sa/4.0/deed.tr https://creativecommons.org/publicdomain/zero/1.0/deed.tr Kullanılan kütüphaneler Katkıda bulunanlar - <a href=\"https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/tr\">Ekip sayfası</a> + <a href=\"https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Team/Android\">Ekip sayfası</a> Çevirmenler Bu uygulama <a href=\"https://translatewiki.net\">translatewiki.net</a>\'teki gönüllü çevirmenler tarafından tercüme edilmiştir. Lisans Kaynak koduna <a href=\"https://github.com/wikimedia/apps-android-wikipedia\">GitHub</a>\'da <a href=\"https://www.apache.org/licenses/LICENSE-2.0\">Apache 2.0 Lisansı</a> ile ulaşılabilir. Aksi belirtilmediği sürece, içerikler <a href=\"https://creativecommons.org/licenses/by-sa/4.0\">Creative Commons Atıf-BenzerPaylaşım Lisansı</a> ile sunulmaktadır. <a href=\"https://wikimediafoundation.org/\">Wikimedia Vakfı</a> ürünüdür Hakkında + Wikipedia puzzle globe logosu Sayfa değiştirildi. Değişikliklerinizi kaydetmeden çıkmak istediğinizden emin misiniz? Evet Hayır @@ -438,6 +440,7 @@ Tabloları daralt Bilgi kutuları, kaynakça ve notlar gibi maddelerdeki tabloları otomatik olarak daralt. Bağış yap + İnceleme Yılı Üzgünüz, ses tanıma kullanılabilir değil. Konum hizmetleri devre dışı. Etkinleştir @@ -449,7 +452,7 @@ %d seçildi %d seçildi - Bir hata oluştu + Bir hata meydana geldi Reddet Oku Sakla @@ -615,8 +618,8 @@ Madde birden çok listede yer alıyor %s artık şu listelerde çevrimdışı erişilebilir olmayacak: Okuma listesi senkronizasyonunu etkinleştirilsin mi? - Okuma listelerine kaydedilen maddeler artık Vikipedi hesabınıza senkronize edilebilir. <a href=\"https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/tr#Synced_reading_lists\">Daha fazla bilgi</a> - Okuma listeleri artık cihazlar arasında senkronize edilebilir. Vikipedi hesabınıza oturum açın ve listelerinizin kaydedilmesine izin verin. <a href=\"https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/tr#Synced_reading_lists\">Daha fazla bilgi</a> + Okuma listelerine kaydedilen maddeler artık Vikipedi hesabınıza senkronize edilebilir. <a href=\"https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ#Synced_reading_lists\">Daha fazla bilgi</a> + Okuma listeleri artık cihazlar arasında senkronize edilebilir. Vikipedi hesabınıza oturum açın ve listelerinizin kaydedilmesine izin verin. <a href=\"https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ#Synced_reading_lists\">Daha fazla bilgi</a> Senkronizasyonu etkinleştir Okuma listelerini eşitle Okuma listeleri artık cihazlar arasında senkronize edilebilir. Vikipedi hesabınıza giriş yapın ve listelerinizin kaydedilmesine izin verin. @@ -1295,6 +1298,8 @@ %s (İsteğe bağlı) %s (Önerilen) Daha fazla bilgi edin + Şablonlar kullanıcılar tarafından oluşturulur ve tam tanımlar eksik olabilir. + \" %s \" şablonunun henüz bir açıklaması yok. Yardım Vikipedi\'ye oturum açın / katılın Merhaba %s, herkesin Vikipedi\'yi düzenleyebileceğini biliyor muydun? @@ -1332,6 +1337,7 @@ Mesaj oluştur Mesaj boş olamaz. Konu boş olamaz. + Konu adı zaten mevcut. Farklı bir ad deneyin. Yanıt gönderildi. Geri al <b>Son düzenleme %1$s tarihinde</b> %2$s tarafından yapıldı @@ -1419,10 +1425,10 @@ Yalnızca iki sürüm seçilebilir Değiştir kalıcı olarak - 1 haftalık - 1 aylık - 3 aylık - 6 aylık + 1 hafta + 1 aylık + 3 aylık + 6 aylık İzleme listesi dönemini seçin Kalıcı 1 hafta @@ -1636,9 +1642,11 @@ Vandalizm uyarısı Tarafsız bakış açısı Otomatik çeviri + Çıkar çatışması hatırlatıcısı Son uyarı Telif hakkı ihlali uyarısı Düzenleme özeti bırakın + Sansürlemeyin Madde iyileştirme önerisi Düzenle Kabul et diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 99250b4613c..6dca442d27e 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -268,10 +268,10 @@ Політика конфіденційності Умови використання https://uk.wikipedia.org/wiki/Вікіпедія:Про - https://foundation.wikimedia.org/wiki/Privacy_policy/uk + https://foundation.wikimedia.org/wiki/Special:MyLanguage/Privacy_policy https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_FAQ#Offline_reading_and_data https://www.mediawiki.org/wiki/Wikimedia_Apps/Android_FAQ/uk - https://foundation.wikimedia.org/wiki/Terms_of_Use/uk + https://foundation.wikimedia.org/wiki/Special:MyLanguage/Terms_of_Use https://en.wikipedia.org/wiki/Wikipedia:Request_an_account https://creativecommons.org/licenses/by-sa/4.0/deed.uk https://creativecommons.org/publicdomain/zero/1.0/deed.uk @@ -539,7 +539,7 @@ Додати до списку 1 стаття - %d статі + %d статті %d статей %d статей @@ -960,7 +960,7 @@ Інформація: Описи статей Про Вікідані Посібник Вікіданих з написання описів - https://www.wikidata.org/wiki/Help:Description#Guidelines_for_descriptions_in_English + https://www.wikidata.org/wiki/Special:MyLanguage/Help:Description#Guidelines_for_descriptions_in_English Дякуємо за Ваш незмінний інтерес до редагування описів статей! Щоб здійснити додаткові редагування, будь ласка, увійдіть зі свого облікового запису у Вікіпедії. Змінюючи опис статті, я погоджуюсь з <a href=\"%1$s\">Умовами використання</a> та на невідкличну публікацію моїх редагувань на умовах ліцензії <a href=\"%2$s\">Creative Commons CC0</a>. зазвичай починається з маленької літери @@ -1164,6 +1164,7 @@ Ви додали %d тегів Ви додали %d тегів + %2$s: %1$d Вчора Чи знаєте ви, що будь-хто може редагувати Вікіпедію? Пропоновані редагування — це новий спосіб редагувати Вікіпедію з Android. Він допомагає робити невеликі, але життєво важливі внески у Вікіпедію.\nНаша мета — зробити редагування простішим і доступнішим на всіх! Увійдіть або зареєструйтеся у Вікіпедії, щоб розпочати. @@ -1743,6 +1744,7 @@ Привіт, {{{username}}}! Схоже, що ви вилучили контент з Вікіпедії, не давши опису свого редагування. Будь ласка, додавайте опис редагування, коли додаєте чи вилучаєте щось із Вікіпедії. Привіт, {{{username}}}! Схоже, що ви прибрали зі статті контент, не обговоривши цього на її сторінці обговорення. Зверніть, будь ласка, увагу, що Вікіпедія нецензурована, і вміст статей не повинен вилучатися через його контроверсійність. Якщо ви вважаєте, що інформація недостовірна, будь ласка, заручіться підтримкою на сторінці обговорення статті й зійдіться на компромісі. Дізнатися більше про шаблонні повідомлення + https://www.mediawiki.org/wiki/Special:MyLanguage/Wikimedia_Apps/Android_Suggested_edits#Message_placeholders Використайте приклад повідомлення нижче, щоб налаштувати його, надіслати і зберегти у свої повідомлення. Привіт, {{{username}}}! Ви створили статтю — це чудовий початок! Щоб зробити її кращою, ви можете додати примітки з посиланнями на надійні джерела. Це допомагає перевіряти інформацію у статті і покращує її якість. Детальніше про це можна почитати у настановах Вікіпедії [[Вікіпедія:Авторитетні_джерела|надійних джерел]]. Редагувати @@ -1961,7 +1963,7 @@ Зроблено для вас • 1 стаття - • %d статі + • %d статті • %d статей • %d статей @@ -2016,4 +2018,40 @@ Натисніть, щоб переглянути свої останні рекомендації. Коли рекомендації оновляться, Вікіпедія надішле вам сповіщення. Рекомендації увімкнено. Вікіпедія підказуватиме вам статті для читання. + Експеримент + Підтримуйте Вікіпедію, читаючи + Налаштуйте нагадування про пожертвування на основі кількості прочитаних вами статей, щоб Вікіпедія залишалася актуальною, без реклами та доступною для всіх. + Розпочати + Не зараз + Нагадування про пожертви можна змінити будь-коли в налаштуваннях. + Пожертви + Нагадування про пожертви + Приєднуйтесь до 2%% читачів, які жертвують скільки можуть, щоб Вікіпедія була безкоштовною, актуальною та доступною для всіх. Налаштуйте нагадування про пожертву зараз. + Пожертви надходять до Фонду Вікімедіа та його афілійованих організацій, які мають честь уможливлювати існування Вікіпедії та її дочірніх сайтів. + Коли я читаю + Нагадати мені зробити пожертву + Підтвердити нагадування + Про цей експеримент + статті/ей + Будь ласка, введіть щонайменше %s + Дозволено максимум %s + Дякуємо! Ми нагадаємо вам пожертвувати %1$s, коли ви прочитаєте %2$s під час цього експерименту. + Ви прочитали %1$s з моменту, як пообіцяли %2$s + %1$s ви попросили нас нагадати вам про пожертву після прочитання %2$s. Якщо Вікіпедія надала вам %3$s знань, будь ласка, приєднайтесь до 2%% читачів, які роблять пожертви, та виконайте свою обіцянку. + Пожертвувати зараз + Не зараз + Пожертвувати %s за допомогою Google Pay + Пожертвуйте іншу суму за допомогою Google Pay + Допоможіть покращити нагадування про пожертви. + Ви задоволені цією функцією? + Нагадування про пожертви ввімкнено. Вікіпедія нагадуватиме вам пожертвувати %1$s кожні %2$s, які ви прочитали, поки триває цей експеримент. + Нагадування про пожертви вимкнено. + Кількість статей зберігається локально на вашому пристрої + Дякуємо! Ваша щедрість до Вікіпедії дуже цінна для нас. + + 1 стаття + %d статті + %d статей + %d статей + diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 10e7fc3a474..ba98206c69d 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1930,6 +1930,8 @@ 確認提醒 關於此實驗功能 條目 + 請最少輸入 %s + 最多只允許 %s 感謝您!在此實驗功能運作期間,當您閱讀了 %2$s 篇條目時,我們會提醒您捐贈 %1$s。 自從您承諾捐款 %2$s,您已閱讀了 %1$s 篇條目 在 %1$s,您向我們提出當您閱讀了 %2$s 篇條目後,提醒您進行捐款。如果維基百科能以您的 %3$s 來提供知識,請加入 2%% 的讀者行列,來在今日完成您的捐贈承諾。 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index bc6090428bc..190489ac487 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -1782,6 +1782,37 @@ 感謝您的遊玩。新的「猜先後」遊戲每日會在探索摘要中提供。 遊戲通知 了解更多 + 功能问题 + 阅读条目 + 與此條目相關的事件 + 您答對了這個問題 + 你答错了这个问题 + 关闭游戏通知? + 若您關閉推播通知,您將不再每天收到當有新遊戲可玩時的提醒。 + 開啟遊戲通知? + 当有新游戏可玩时,游戏通知每天都会提醒您。 + 不,保持開啟 + 關閉它們 + 是的,開啟它們 + 保持關閉 + 游戏通知关闭。 + 游戏通知开启。 + 今天的「猜先後」遊戲已準備好開始。 + 問題報告 - 維基百科遊戲 + 我遇到了維基百科遊戲功能的問題:\n- [描述具體問題]\n\n我希望看到的結果是:\n- [描述建議的解決方案] + 撤销 + 我正在遊玩維基百科 Android 應用程式上的每日小知識遊戲「猜先後」%s + 我今天在「猜先後」遊戲答對了 %1$d 題(全部 %2$d 題)。 + 主題包含: + 按日期选择要玩的游戏。 + 您今天答對了 %1$d 題(全部 %2$d 題)。 + 繼續今天的遊戲 + 您目前在問題 %d。 + 遊玩舊檔 + 查看結果 + 您在今天的遊戲答對了 %1$d 題(全部 %2$d 題)。 + 繼續遊玩 + 打開音效 入门 向左导航 心形图标 From 0ff70608140d42da9aeea7670cd271cc909ae43b Mon Sep 17 00:00:00 2001 From: Isira Seneviratne Date: Fri, 8 Aug 2025 01:44:28 +0530 Subject: [PATCH 5/5] Remove unnecessary lambda parameter --- .../wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt index d073bd71833..9089c4d72f4 100644 --- a/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt +++ b/app/src/main/java/org/wikipedia/games/onthisday/OnThisDayGameBaseFragment.kt @@ -58,11 +58,11 @@ abstract class OnThisDayGameBaseFragment : Fragment() { val startDateBasedOnLanguage = LANG_CODES_SUPPORTED.associateWith { dateReleasedForLang(it) } val startDate = startDateBasedOnLanguage[viewModel.wikiSite.languageCode] ?: return@launch scoreData = viewModel.getDataForArchiveCalendar(language = viewModel.wikiSite.languageCode) - showArchiveCalendar(startDate, onDateSelected = ::handleDateSelection) + showArchiveCalendar(startDate) } } - private fun showArchiveCalendar(startDate: LocalDate, onDateSelected: (Long) -> Unit) { + private fun showArchiveCalendar(startDate: LocalDate) { val startInstant = startDate.atStartOfDay(ZoneId.systemDefault()).toInstant() val startTimeInMillis = startInstant.toEpochMilli() val endInstant = Instant.now() @@ -90,7 +90,7 @@ abstract class OnThisDayGameBaseFragment : Fragment() { .setSelection(endTimeInMillis) .build() .apply { - addOnPositiveButtonClickListener(onDateSelected) + addOnPositiveButtonClickListener(::handleDateSelection) } datePicker.show(childFragmentManager, "datePicker")