From a9ff6f5fbb954eb28a5929beebc9a784613aa37b Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 17 Jul 2026 17:49:57 +0000 Subject: [PATCH] refactor(commons): extract Birdstar Birdex/detection cards to commons Fourth batch of the note-ui-commons extraction. The two Birdstar cards (Birdex kind 12473, bird detection kind 2473) are pure value-in renderers: they only read decoded tag values and open one Wikidata link, with no AccountViewModel/INav. - commons/ui/note/BirdexCard.kt: BirdexCard(BirdexEvent) and BirdDetectionCard(BirdDetectionEvent). The scientific-name link reuses the commons ClickableUrl atom; labels resolve via commons Res. - amethyst keeps thin RenderBirdex(Note) / RenderBirdDetection(Note) entries that decode the event and call the shared cards. - Migrated bird_detection_title (string) plus birdex_species_count and birdex_species_preview_more (plurals) with all locale translations from amethyst/res into commons/composeResources; deleted the amethyst copies. Verified: :commons:compileKotlinJvm and :amethyst:compileFdroidDebugKotlin both pass; every touched strings.xml is well-formed. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01Gmrt3jwYPDJ38MJGJ6GaNr --- .../amethyst/ui/note/types/Birdex.kt | 120 +------------- .../src/main/res/values-ar-rSA/strings.xml | 16 -- .../src/main/res/values-bn-rBD/strings.xml | 8 - amethyst/src/main/res/values-cs/strings.xml | 13 -- .../src/main/res/values-de-rDE/strings.xml | 9 -- amethyst/src/main/res/values-de/strings.xml | 8 - .../src/main/res/values-el-rGR/strings.xml | 8 - .../src/main/res/values-eo-rUY/strings.xml | 8 - amethyst/src/main/res/values-eo/strings.xml | 8 - .../src/main/res/values-es-rES/strings.xml | 8 - .../src/main/res/values-es-rMX/strings.xml | 8 - .../src/main/res/values-es-rUS/strings.xml | 8 - amethyst/src/main/res/values-es/strings.xml | 8 - .../src/main/res/values-fa-rIR/strings.xml | 8 - amethyst/src/main/res/values-fa/strings.xml | 8 - .../src/main/res/values-fi-rFI/strings.xml | 8 - .../src/main/res/values-fr-rCA/strings.xml | 8 - .../src/main/res/values-fr-rFR/strings.xml | 8 - amethyst/src/main/res/values-fr/strings.xml | 8 - .../src/main/res/values-hi-rIN/strings.xml | 9 -- .../src/main/res/values-hu-rHU/strings.xml | 9 -- .../src/main/res/values-in-rID/strings.xml | 6 - amethyst/src/main/res/values-in/strings.xml | 6 - .../src/main/res/values-it-rIT/strings.xml | 8 - .../src/main/res/values-ja-rJP/strings.xml | 6 - amethyst/src/main/res/values-ja/strings.xml | 6 - .../src/main/res/values-ko-rKR/strings.xml | 6 - .../src/main/res/values-lv-rLV/strings.xml | 10 -- .../src/main/res/values-nl-rBE/strings.xml | 8 - .../src/main/res/values-nl-rNL/strings.xml | 9 -- amethyst/src/main/res/values-nl/strings.xml | 8 - .../src/main/res/values-pl-rPL/strings.xml | 12 -- .../src/main/res/values-pt-rBR/strings.xml | 9 -- .../src/main/res/values-pt-rPT/strings.xml | 8 - .../src/main/res/values-ru-rRU/strings.xml | 12 -- .../src/main/res/values-ru-rUA/strings.xml | 12 -- amethyst/src/main/res/values-ru/strings.xml | 12 -- .../src/main/res/values-sl-rSI/strings.xml | 13 -- .../src/main/res/values-sr-rSP/strings.xml | 10 -- .../src/main/res/values-sv-rSE/strings.xml | 9 -- amethyst/src/main/res/values-sw/strings.xml | 8 - .../src/main/res/values-ta-rIN/strings.xml | 8 - amethyst/src/main/res/values-ta/strings.xml | 8 - .../src/main/res/values-th-rTH/strings.xml | 6 - amethyst/src/main/res/values-th/strings.xml | 6 - .../src/main/res/values-tr-rTR/strings.xml | 8 - amethyst/src/main/res/values-tr/strings.xml | 8 - .../src/main/res/values-uk-rUA/strings.xml | 12 -- amethyst/src/main/res/values-uk/strings.xml | 12 -- .../src/main/res/values-uz-rUZ/strings.xml | 8 - .../src/main/res/values-vi-rVN/strings.xml | 6 - .../src/main/res/values-zh-rCN/strings.xml | 7 - .../src/main/res/values-zh-rHK/strings.xml | 6 - .../src/main/res/values-zh-rSG/strings.xml | 6 - .../src/main/res/values-zh-rTW/strings.xml | 6 - amethyst/src/main/res/values-zh/strings.xml | 6 - amethyst/src/main/res/values/strings.xml | 9 -- .../values-ar-rSA/strings.xml | 16 ++ .../values-bn-rBD/strings.xml | 8 + .../composeResources/values-cs/strings.xml | 13 ++ .../values-de-rDE/strings.xml | 9 ++ .../composeResources/values-de/strings.xml | 8 + .../values-el-rGR/strings.xml | 8 + .../values-eo-rUY/strings.xml | 8 + .../composeResources/values-eo/strings.xml | 8 + .../values-es-rES/strings.xml | 8 + .../values-es-rMX/strings.xml | 8 + .../values-es-rUS/strings.xml | 8 + .../composeResources/values-es/strings.xml | 8 + .../values-fa-rIR/strings.xml | 8 + .../composeResources/values-fa/strings.xml | 8 + .../values-fi-rFI/strings.xml | 8 + .../values-fr-rCA/strings.xml | 8 + .../values-fr-rFR/strings.xml | 8 + .../composeResources/values-fr/strings.xml | 8 + .../values-hi-rIN/strings.xml | 9 ++ .../values-hu-rHU/strings.xml | 9 ++ .../values-in-rID/strings.xml | 6 + .../composeResources/values-in/strings.xml | 6 + .../values-it-rIT/strings.xml | 8 + .../values-ja-rJP/strings.xml | 6 + .../composeResources/values-ja/strings.xml | 6 + .../values-ko-rKR/strings.xml | 6 + .../values-lv-rLV/strings.xml | 10 ++ .../values-nl-rBE/strings.xml | 8 + .../values-nl-rNL/strings.xml | 9 ++ .../composeResources/values-nl/strings.xml | 8 + .../values-pl-rPL/strings.xml | 12 ++ .../values-pt-rBR/strings.xml | 9 ++ .../values-pt-rPT/strings.xml | 8 + .../values-ru-rRU/strings.xml | 12 ++ .../values-ru-rUA/strings.xml | 12 ++ .../composeResources/values-ru/strings.xml | 12 ++ .../values-sl-rSI/strings.xml | 13 ++ .../values-sr-rSP/strings.xml | 10 ++ .../values-sv-rSE/strings.xml | 9 ++ .../composeResources/values-sw/strings.xml | 8 + .../values-ta-rIN/strings.xml | 8 + .../composeResources/values-ta/strings.xml | 8 + .../values-th-rTH/strings.xml | 6 + .../composeResources/values-th/strings.xml | 6 + .../values-tr-rTR/strings.xml | 8 + .../composeResources/values-tr/strings.xml | 8 + .../values-uk-rUA/strings.xml | 12 ++ .../composeResources/values-uk/strings.xml | 12 ++ .../values-uz-rUZ/strings.xml | 8 + .../values-vi-rVN/strings.xml | 6 + .../values-zh-rCN/strings.xml | 7 + .../values-zh-rHK/strings.xml | 6 + .../values-zh-rSG/strings.xml | 6 + .../values-zh-rTW/strings.xml | 6 + .../composeResources/values-zh/strings.xml | 6 + .../composeResources/values/strings.xml | 9 ++ .../amethyst/commons/ui/note/BirdexCard.kt | 150 ++++++++++++++++++ 114 files changed, 632 insertions(+), 590 deletions(-) create mode 100644 commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/ui/note/BirdexCard.kt diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Birdex.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Birdex.kt index a73f3a2532..edc115f7dd 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Birdex.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/note/types/Birdex.kt @@ -20,133 +20,25 @@ */ package com.vitorpamplona.amethyst.ui.note.types -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text import androidx.compose.runtime.Composable -import androidx.compose.runtime.remember -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.pluralStringResource -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.font.FontStyle -import androidx.compose.ui.text.style.TextOverflow -import androidx.compose.ui.unit.dp -import com.vitorpamplona.amethyst.R +import com.vitorpamplona.amethyst.commons.ui.note.BirdDetectionCard +import com.vitorpamplona.amethyst.commons.ui.note.BirdexCard import com.vitorpamplona.amethyst.model.Note -import com.vitorpamplona.amethyst.ui.components.ClickableUrl -import com.vitorpamplona.amethyst.ui.theme.placeholderText -import com.vitorpamplona.amethyst.ui.theme.replyModifier import com.vitorpamplona.quartz.experimental.birdstar.BirdDetectionEvent import com.vitorpamplona.quartz.experimental.birdstar.BirdexEvent -/** How many species names to list before collapsing into a "+N more" suffix. */ -private const val SPECIES_PREVIEW_LIMIT = 6 - -/** Bird emoji prefix shared by both Birdstar card titles. */ -private const val BIRD_PREFIX = "\uD83D\uDC26 " - -/** - * Minimal, fixed-size summary card for a Birdstar "Birdex" (kind 12473). - * - * The event has no body and no images, only a species list. To keep the card - * bounded regardless of how many species a Birdex holds, we show the count and a - * short preview of scientific names with a "+N more" suffix — no images, no - * expansion, no network calls. The card is identical in the feed and the opened - * view, so it takes no makeItShort flag. - */ +/** Entry: decodes a Birdstar Birdex [Note] and renders the shared commons [BirdexCard]. */ @Composable fun RenderBirdex(baseNote: Note) { val noteEvent = baseNote.event as? BirdexEvent ?: return - val names = remember(noteEvent) { noteEvent.speciesNames() } - val preview = remember(names) { names.take(SPECIES_PREVIEW_LIMIT) } - val remaining = names.size - preview.size - val joined = remember(preview) { preview.joinToString(", ") } - - Column(MaterialTheme.colorScheme.replyModifier.padding(10.dp)) { - Text( - text = BIRD_PREFIX + pluralStringResource(R.plurals.birdex_species_count, names.size, names.size), - style = MaterialTheme.typography.titleMedium, - ) - - if (preview.isNotEmpty()) { - Spacer(Modifier.height(6.dp)) - Text( - text = - if (remaining > 0) { - pluralStringResource(R.plurals.birdex_species_preview_more, remaining, joined, remaining) - } else { - joined - }, - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.placeholderText, - maxLines = 2, - overflow = TextOverflow.Ellipsis, - ) - } - } + BirdexCard(noteEvent) } -/** - * Minimal card for a single Birdstar bird detection (kind 2473). - * - * The event has no body and no images. The title is the common name parsed from - * the publisher's `alt` tag (a generic label when absent), and the scientific - * name renders as an italic link to the Wikidata species entry from the `i` tag - * when one is present. The `g` geohash is surfaced by the generic note-location - * UI, not here. - */ +/** Entry: decodes a Birdstar detection [Note] and renders the shared commons [BirdDetectionCard]. */ @Composable fun RenderBirdDetection(baseNote: Note) { val noteEvent = baseNote.event as? BirdDetectionEvent ?: return - val detection = - remember(noteEvent) { - BirdDetectionInfo( - commonName = noteEvent.commonName(), - species = noteEvent.speciesName(), - reference = noteEvent.speciesReference(), - ) - } - - Column(MaterialTheme.colorScheme.replyModifier.padding(10.dp)) { - Text( - text = BIRD_PREFIX + (detection.commonName ?: stringResource(R.string.bird_detection_title)), - style = MaterialTheme.typography.titleMedium, - maxLines = 2, - overflow = TextOverflow.Ellipsis, - ) - - if (detection.species != null) { - Spacer(Modifier.height(6.dp)) - if (detection.reference != null) { - val typography = MaterialTheme.typography - val speciesStyle = remember(typography) { typography.bodyMedium.copy(fontStyle = FontStyle.Italic) } - ClickableUrl( - urlText = detection.species, - url = detection.reference, - style = speciesStyle, - ) - } else { - Text( - text = detection.species, - style = MaterialTheme.typography.bodyMedium, - fontStyle = FontStyle.Italic, - color = MaterialTheme.colorScheme.placeholderText, - maxLines = 1, - overflow = TextOverflow.Ellipsis, - ) - } - } - } + BirdDetectionCard(noteEvent) } - -/** Tag values parsed once per event for the detection card. */ -private class BirdDetectionInfo( - val commonName: String?, - val species: String?, - val reference: String?, -) diff --git a/amethyst/src/main/res/values-ar-rSA/strings.xml b/amethyst/src/main/res/values-ar-rSA/strings.xml index 80900017b2..6e94016085 100644 --- a/amethyst/src/main/res/values-ar-rSA/strings.xml +++ b/amethyst/src/main/res/values-ar-rSA/strings.xml @@ -2905,22 +2905,6 @@ %1$s ممولة من هدف %2$s sat ينتهي %1$s تبرع على السلسلة - - Birdex · لا أنواع - Birdex · نوع واحد - Birdex · نوعان - Birdex · %1$d أنواع - Birdex · %1$d نوعًا - Birdex · %1$d نوع - - - %1$s - %1$s +%2$d آخر - %1$s +%2$d آخران - %1$s +%2$d أخرى - %1$s +%2$d آخرين - %1$s +%2$d آخرين - شرطة diff --git a/amethyst/src/main/res/values-bn-rBD/strings.xml b/amethyst/src/main/res/values-bn-rBD/strings.xml index 95c019850d..e57b411714 100644 --- a/amethyst/src/main/res/values-bn-rBD/strings.xml +++ b/amethyst/src/main/res/values-bn-rBD/strings.xml @@ -2784,14 +2784,6 @@ %2$s sats লক্ষ্যমাত্রার মধ্যে %1$s সংগ্রহ হয়েছে %1$s-এ শেষ হবে অন-চেইন দান - - Birdex · %1$d প্রজাতি - Birdex · %1$d প্রজাতি - - - %1$s +%2$d টি আরও - %1$s +%2$d টি আরও - পুলিশ diff --git a/amethyst/src/main/res/values-cs/strings.xml b/amethyst/src/main/res/values-cs/strings.xml index fc0f84d2a5..d54d5ca6ff 100644 --- a/amethyst/src/main/res/values-cs/strings.xml +++ b/amethyst/src/main/res/values-cs/strings.xml @@ -3799,19 +3799,6 @@ %1$s financováno z %2$s sats cíle Končí %1$s On-chain dar - Detekce ptáků - - Birdex · %1$d druh - Birdex · %1$d druhy - Birdex · %1$d druhů - Birdex · %1$d druhů - - - %1$s +%2$d další - %1$s +%2$d další - %1$s +%2$d dalších - %1$s +%2$d dalších - Uložení na paměťovou kartu PS1 blok %1$d diff --git a/amethyst/src/main/res/values-de-rDE/strings.xml b/amethyst/src/main/res/values-de-rDE/strings.xml index 695227a396..1298b253f4 100644 --- a/amethyst/src/main/res/values-de-rDE/strings.xml +++ b/amethyst/src/main/res/values-de-rDE/strings.xml @@ -3691,15 +3691,6 @@ %1$s finanziert von %2$s Sats Ziel Endet %1$s On-Chain-Spende - Vogelerkennung - - Birdex · %1$d Art - Birdex · %1$d Arten - - - %1$s +%2$d weitere - %1$s +%2$d weitere - PS1-Memory-Card-Spielstand Block %1$d diff --git a/amethyst/src/main/res/values-de/strings.xml b/amethyst/src/main/res/values-de/strings.xml index 19d5c1ac0f..e5cc1eee07 100644 --- a/amethyst/src/main/res/values-de/strings.xml +++ b/amethyst/src/main/res/values-de/strings.xml @@ -4417,15 +4417,7 @@ anz der Bedingungen ist erforderlich On-Chain-Spende - - Birdex · %1$d Art - Birdex · %1$d Arten - - - %1$s +%2$d weitere - %1$s +%2$d weitere - Zielbetrag (Sats) diff --git a/amethyst/src/main/res/values-el-rGR/strings.xml b/amethyst/src/main/res/values-el-rGR/strings.xml index c2369dfec2..83c031e22e 100644 --- a/amethyst/src/main/res/values-el-rGR/strings.xml +++ b/amethyst/src/main/res/values-el-rGR/strings.xml @@ -2730,14 +2730,6 @@ %1$s χρηματοδοτήθηκαν από στόχο %2$s sats Λήγει %1$s Δωρεά on-chain - - Birdex · %1$d είδος - Birdex · %1$d είδη - - - %1$s +%2$d ακόμη - %1$s +%2$d ακόμη - Αστυνομία diff --git a/amethyst/src/main/res/values-eo-rUY/strings.xml b/amethyst/src/main/res/values-eo-rUY/strings.xml index b6543ffadb..e4ea3609ae 100644 --- a/amethyst/src/main/res/values-eo-rUY/strings.xml +++ b/amethyst/src/main/res/values-eo-rUY/strings.xml @@ -2787,14 +2787,6 @@ %1$s financita el %2$s sats celo Finiĝas %1$s Donaco en ĉeno - - Birdex · %1$d specio - Birdex · %1$d specioj - - - %1$s +%2$d plia - %1$s +%2$d pliaj - Polico diff --git a/amethyst/src/main/res/values-eo/strings.xml b/amethyst/src/main/res/values-eo/strings.xml index 2c90f06423..fe9d344f1e 100644 --- a/amethyst/src/main/res/values-eo/strings.xml +++ b/amethyst/src/main/res/values-eo/strings.xml @@ -3048,14 +3048,6 @@ Financoj konservitaj ĉe %1$d monfarejo, kiun vi ne uzas Financoj konservitaj ĉe %1$d monfarioj, kiujn vi ne uzas - - Birdex · %1$d specio - Birdex · %1$d specioj - - - %1$s +%2$d plia - %1$s +%2$d pliaj - %1$d msg %1$d msgs diff --git a/amethyst/src/main/res/values-es-rES/strings.xml b/amethyst/src/main/res/values-es-rES/strings.xml index d1b3c3952b..ada38428e5 100644 --- a/amethyst/src/main/res/values-es-rES/strings.xml +++ b/amethyst/src/main/res/values-es-rES/strings.xml @@ -2851,14 +2851,6 @@ %1$s financiados del objetivo de %2$s sats Termina el %1$s Donación on-chain - - Birdex · %1$d especie - Birdex · %1$d especies - - - %1$s +%2$d más - %1$s +%2$d más - Policía diff --git a/amethyst/src/main/res/values-es-rMX/strings.xml b/amethyst/src/main/res/values-es-rMX/strings.xml index 6dff168e6a..40b8cf1444 100644 --- a/amethyst/src/main/res/values-es-rMX/strings.xml +++ b/amethyst/src/main/res/values-es-rMX/strings.xml @@ -2842,14 +2842,6 @@ %1$s financiados del objetivo de %2$s sats Termina el %1$s Donación on-chain - - Birdex · %1$d especie - Birdex · %1$d especies - - - %1$s +%2$d más - %1$s +%2$d más - Policía diff --git a/amethyst/src/main/res/values-es-rUS/strings.xml b/amethyst/src/main/res/values-es-rUS/strings.xml index ccf62ecc52..4245ad759f 100644 --- a/amethyst/src/main/res/values-es-rUS/strings.xml +++ b/amethyst/src/main/res/values-es-rUS/strings.xml @@ -2842,14 +2842,6 @@ %1$s financiados del objetivo de %2$s sats Termina el %1$s Donación on-chain - - Birdex · %1$d especie - Birdex · %1$d especies - - - %1$s +%2$d más - %1$s +%2$d más - Policía diff --git a/amethyst/src/main/res/values-es/strings.xml b/amethyst/src/main/res/values-es/strings.xml index 316b35924e..74a91294eb 100644 --- a/amethyst/src/main/res/values-es/strings.xml +++ b/amethyst/src/main/res/values-es/strings.xml @@ -5905,14 +5905,6 @@ Donación on-chain - - Birdex · %1$d especie - Birdex · %1$d especies - - - %1$s +%2$d más - %1$s +%2$d más - diff --git a/amethyst/src/main/res/values-fa-rIR/strings.xml b/amethyst/src/main/res/values-fa-rIR/strings.xml index ab4d4bd819..844289070b 100644 --- a/amethyst/src/main/res/values-fa-rIR/strings.xml +++ b/amethyst/src/main/res/values-fa-rIR/strings.xml @@ -2799,14 +2799,6 @@ %1$s از هدف %2$s sat تأمین شده پایان %1$s اهدای آن‌چین - - Birdex · %1$d گونه - Birdex · %1$d گونه - - - %1$s و %2$d مورد بیشتر - %1$s و %2$d مورد بیشتر - پلیس diff --git a/amethyst/src/main/res/values-fa/strings.xml b/amethyst/src/main/res/values-fa/strings.xml index 8db85f6334..2364a0154e 100644 --- a/amethyst/src/main/res/values-fa/strings.xml +++ b/amethyst/src/main/res/values-fa/strings.xml @@ -3477,16 +3477,8 @@ اهدای آن‌چین - - Birdex · %1$d گونه - Birdex · %1$d گونه - - - %1$s و %2$d مورد بیشتر - %1$s و %2$d مورد بیشتر - پلیس diff --git a/amethyst/src/main/res/values-fi-rFI/strings.xml b/amethyst/src/main/res/values-fi-rFI/strings.xml index 4eb06ba507..af67847c05 100644 --- a/amethyst/src/main/res/values-fi-rFI/strings.xml +++ b/amethyst/src/main/res/values-fi-rFI/strings.xml @@ -2759,14 +2759,6 @@ %1$s rahoitettu tavoitteesta %2$s sat Päättyy %1$s On-chain-lahjoitus - - Birdex · %1$d laji - Birdex · %1$d lajia - - - %1$s +%2$d lisää - %1$s +%2$d lisää - Poliisi diff --git a/amethyst/src/main/res/values-fr-rCA/strings.xml b/amethyst/src/main/res/values-fr-rCA/strings.xml index b2d283248b..73d4df5320 100644 --- a/amethyst/src/main/res/values-fr-rCA/strings.xml +++ b/amethyst/src/main/res/values-fr-rCA/strings.xml @@ -2684,14 +2684,6 @@ %1$s financés sur un objectif de %2$s sats Se termine le %1$s Don on-chain - - Birdex · %1$d espèce - Birdex · %1$d espèces - - - %1$s +%2$d de plus - %1$s +%2$d de plus - Radar diff --git a/amethyst/src/main/res/values-fr-rFR/strings.xml b/amethyst/src/main/res/values-fr-rFR/strings.xml index 3b74e80ccd..5c330ac37d 100644 --- a/amethyst/src/main/res/values-fr-rFR/strings.xml +++ b/amethyst/src/main/res/values-fr-rFR/strings.xml @@ -3068,14 +3068,6 @@ %1$s financés sur un objectif de %2$s sats Se termine le %1$s Don on-chain - - Birdex · %1$d espèce - Birdex · %1$d espèces - - - %1$s +%2$d de plus - %1$s +%2$d de plus - Police diff --git a/amethyst/src/main/res/values-fr/strings.xml b/amethyst/src/main/res/values-fr/strings.xml index 3e8f9f2525..2ed988aab9 100644 --- a/amethyst/src/main/res/values-fr/strings.xml +++ b/amethyst/src/main/res/values-fr/strings.xml @@ -4805,15 +4805,7 @@ Don on-chain - - Birdex · %1$d espèce - Birdex · %1$d espèces - - - %1$s +%2$d de plus - %1$s +%2$d de plus - Police diff --git a/amethyst/src/main/res/values-hi-rIN/strings.xml b/amethyst/src/main/res/values-hi-rIN/strings.xml index c589ab37a0..0d4b6151d1 100644 --- a/amethyst/src/main/res/values-hi-rIN/strings.xml +++ b/amethyst/src/main/res/values-hi-rIN/strings.xml @@ -3605,15 +3605,6 @@ %1$s वित्तपोषित %2$s साट्स उद्देश्य में से समाप्ति %1$s खण्डश्रृंखलाबद्ध दान - पक्षी खोज - - बिर्डेक्स। %1$d प्रजाति - बिर्डेक्स। %1$d प्रजातियाँ - - - %1$s सं॰ %2$d अधिक - %1$s सं॰ %2$d अधिक - पीएस१ स्मृति पत्रक अभिलेखन खण्ड %1$d diff --git a/amethyst/src/main/res/values-hu-rHU/strings.xml b/amethyst/src/main/res/values-hu-rHU/strings.xml index 8c22bf0667..6c1fb314ee 100644 --- a/amethyst/src/main/res/values-hu-rHU/strings.xml +++ b/amethyst/src/main/res/values-hu-rHU/strings.xml @@ -3577,15 +3577,6 @@ %1$s gyűlt össze a(z) %2$s satoshis célból Véget ér ekkor: %1$s Láncon belüli adomány - Madárfelismerés - - Madárnapló · %1$d faj - Madárnapló · %1$d faj - - - %1$s +%2$d további - %1$s +%2$d további - PS1 memóriakártya-mentés %1$d blokk diff --git a/amethyst/src/main/res/values-in-rID/strings.xml b/amethyst/src/main/res/values-in-rID/strings.xml index ef893d4ebe..cd5144079c 100644 --- a/amethyst/src/main/res/values-in-rID/strings.xml +++ b/amethyst/src/main/res/values-in-rID/strings.xml @@ -2687,12 +2687,6 @@ Seharusnya %3$s %1$s didanai dari target %2$s sats Berakhir %1$s Donasi on-chain - - Birdex · %1$d spesies - - - %1$s +%2$d lainnya - Polisi diff --git a/amethyst/src/main/res/values-in/strings.xml b/amethyst/src/main/res/values-in/strings.xml index 70e14ce2cf..5c2ba9d348 100644 --- a/amethyst/src/main/res/values-in/strings.xml +++ b/amethyst/src/main/res/values-in/strings.xml @@ -3804,13 +3804,7 @@ Donasi on-chain - - Birdex · %1$d spesies - - - %1$s +%2$d lainnya - Polisi diff --git a/amethyst/src/main/res/values-it-rIT/strings.xml b/amethyst/src/main/res/values-it-rIT/strings.xml index 53498d61f9..1d5002ef96 100644 --- a/amethyst/src/main/res/values-it-rIT/strings.xml +++ b/amethyst/src/main/res/values-it-rIT/strings.xml @@ -2726,14 +2726,6 @@ %1$s finanziati su un obiettivo di %2$s sats Termina il %1$s Donazione on-chain - - Birdex · %1$d specie - Birdex · %1$d specie - - - %1$s +%2$d altro - %1$s +%2$d altri - Polizia diff --git a/amethyst/src/main/res/values-ja-rJP/strings.xml b/amethyst/src/main/res/values-ja-rJP/strings.xml index 3a3b391055..43c33590d1 100644 --- a/amethyst/src/main/res/values-ja-rJP/strings.xml +++ b/amethyst/src/main/res/values-ja-rJP/strings.xml @@ -2742,12 +2742,6 @@ %2$s sats のゴールに対して %1$s を達成 %1$s 終了 オンチェーン寄付 - - Birdex · %1$d 種 - - - %1$s 他 %2$d 件 - 警察 diff --git a/amethyst/src/main/res/values-ja/strings.xml b/amethyst/src/main/res/values-ja/strings.xml index d04500a0b8..8b70154c94 100644 --- a/amethyst/src/main/res/values-ja/strings.xml +++ b/amethyst/src/main/res/values-ja/strings.xml @@ -3893,13 +3893,7 @@ オンチェーン寄付 - - Birdex · %1$d 種 - - - %1$s 他 %2$d 件 - 警察 diff --git a/amethyst/src/main/res/values-ko-rKR/strings.xml b/amethyst/src/main/res/values-ko-rKR/strings.xml index 715a17f30f..a718ae79cb 100644 --- a/amethyst/src/main/res/values-ko-rKR/strings.xml +++ b/amethyst/src/main/res/values-ko-rKR/strings.xml @@ -2729,12 +2729,6 @@ %2$s sats 목표 중 %1$s 달성 %1$s 종료 온체인 기부 - - Birdex · %1$d종 - - - %1$s 외 %2$d개 더 - 경찰 diff --git a/amethyst/src/main/res/values-lv-rLV/strings.xml b/amethyst/src/main/res/values-lv-rLV/strings.xml index 6be68eb7d4..12afe31ffb 100644 --- a/amethyst/src/main/res/values-lv-rLV/strings.xml +++ b/amethyst/src/main/res/values-lv-rLV/strings.xml @@ -2803,16 +2803,6 @@ %1$s finansēts no %2$s sats mērķa Beidzas %1$s Ziedojums ķēdē - - Birdex · %1$d sugas - Birdex · %1$d suga - Birdex · %1$d sugas - - - %1$s +%2$d vairāk - %1$s +%2$d vairāk - %1$s +%2$d vairāk - Policija diff --git a/amethyst/src/main/res/values-nl-rBE/strings.xml b/amethyst/src/main/res/values-nl-rBE/strings.xml index 3e218b02ce..288acfca93 100644 --- a/amethyst/src/main/res/values-nl-rBE/strings.xml +++ b/amethyst/src/main/res/values-nl-rBE/strings.xml @@ -4874,15 +4874,7 @@ On-chain donatie - - Birdex · %1$d soorten - Birdex · %1$d soorten - - - %1$s +%2$d meer - %1$s +%2$d meer - Doelbedrag (sats) diff --git a/amethyst/src/main/res/values-nl-rNL/strings.xml b/amethyst/src/main/res/values-nl-rNL/strings.xml index c9432c516f..ea089f4835 100644 --- a/amethyst/src/main/res/values-nl-rNL/strings.xml +++ b/amethyst/src/main/res/values-nl-rNL/strings.xml @@ -3132,15 +3132,6 @@ %1$s gefinancierd van %2$s sats doel Eindigt %1$s On-chain donatie - Vogeldetectie - - Birdex · %1$d soorten - Birdex · %1$d soorten - - - %1$s +%2$d meer - %1$s +%2$d meer - PS1 memory card-save blok %1$d diff --git a/amethyst/src/main/res/values-nl/strings.xml b/amethyst/src/main/res/values-nl/strings.xml index 5d58a78f70..1cfaf42c21 100644 --- a/amethyst/src/main/res/values-nl/strings.xml +++ b/amethyst/src/main/res/values-nl/strings.xml @@ -4167,15 +4167,7 @@ On-chain donatie - - Birdex · %1$d soorten - Birdex · %1$d soorten - - - %1$s +%2$d meer - %1$s +%2$d meer - Doelbedrag (sats) diff --git a/amethyst/src/main/res/values-pl-rPL/strings.xml b/amethyst/src/main/res/values-pl-rPL/strings.xml index d892336f6e..cef2a0446c 100644 --- a/amethyst/src/main/res/values-pl-rPL/strings.xml +++ b/amethyst/src/main/res/values-pl-rPL/strings.xml @@ -3794,18 +3794,6 @@ Zaplanowane posty z innych kont nie zostaną opublikowane, dopóki to konto jest Sfinansowano %1$s z %2$s satoszów Kończy się %1$s Darowizna on-chain - - Birdex · %1$d gatunek - Birdex · %1$d gatunków - Birdex · %1$d gatunków - Birdex · %1$d gatunki - - - %1$s +%2$d więcej - %1$s +%2$d więcej - %1$s +%2$d więcej - %1$s +%2$d więcej - Zapis karty pamięci PS1 blok %1$d diff --git a/amethyst/src/main/res/values-pt-rBR/strings.xml b/amethyst/src/main/res/values-pt-rBR/strings.xml index 905cbb2f4d..3712af6f63 100644 --- a/amethyst/src/main/res/values-pt-rBR/strings.xml +++ b/amethyst/src/main/res/values-pt-rBR/strings.xml @@ -3689,15 +3689,6 @@ %1$s financiado de %2$s sats da meta Termina %1$s Doação on-chain - Detecção de pássaros - - Birdex · %1$d espécie - Birdex · %1$d espécies - - - %1$s +%2$d a mais - %1$s +%2$d a mais - Salvamento em cartão de memória PS1 bloco %1$d diff --git a/amethyst/src/main/res/values-pt-rPT/strings.xml b/amethyst/src/main/res/values-pt-rPT/strings.xml index afbea9652c..267ea97e22 100644 --- a/amethyst/src/main/res/values-pt-rPT/strings.xml +++ b/amethyst/src/main/res/values-pt-rPT/strings.xml @@ -2746,14 +2746,6 @@ %1$s financiado de %2$s sats da meta Termina %1$s Doação on-chain - - Birdex · %1$d espécie - Birdex · %1$d espécies - - - %1$s +%2$d a mais - %1$s +%2$d a mais - Polícia diff --git a/amethyst/src/main/res/values-ru-rRU/strings.xml b/amethyst/src/main/res/values-ru-rRU/strings.xml index 0a62663656..12a429c16d 100644 --- a/amethyst/src/main/res/values-ru-rRU/strings.xml +++ b/amethyst/src/main/res/values-ru-rRU/strings.xml @@ -2824,18 +2824,6 @@ %1$s собрано из %2$s sat Завершается %1$s Пожертвование on-chain - - Birdex · %1$d вид - Birdex · %1$d вида - Birdex · %1$d видов - Birdex · %1$d вида - - - %1$s +%2$d ещё - %1$s +%2$d ещё - %1$s +%2$d ещё - %1$s +%2$d ещё - Полиция diff --git a/amethyst/src/main/res/values-ru-rUA/strings.xml b/amethyst/src/main/res/values-ru-rUA/strings.xml index fcf1ab807d..481a04ba07 100644 --- a/amethyst/src/main/res/values-ru-rUA/strings.xml +++ b/amethyst/src/main/res/values-ru-rUA/strings.xml @@ -2807,18 +2807,6 @@ %1$s собрано из %2$s sat Завершается %1$s Пожертвование on-chain - - Birdex · %1$d вид - Birdex · %1$d вида - Birdex · %1$d видов - Birdex · %1$d вида - - - %1$s +%2$d ещё - %1$s +%2$d ещё - %1$s +%2$d ещё - %1$s +%2$d ещё - Полиция diff --git a/amethyst/src/main/res/values-ru/strings.xml b/amethyst/src/main/res/values-ru/strings.xml index ca347029c6..6976b3aec9 100644 --- a/amethyst/src/main/res/values-ru/strings.xml +++ b/amethyst/src/main/res/values-ru/strings.xml @@ -3648,19 +3648,7 @@ Пожертвование on-chain - - Birdex · %1$d вид - Birdex · %1$d вида - Birdex · %1$d видов - Birdex · %1$d вида - - - %1$s +%2$d ещё - %1$s +%2$d ещё - %1$s +%2$d ещё - %1$s +%2$d ещё - Полиция diff --git a/amethyst/src/main/res/values-sl-rSI/strings.xml b/amethyst/src/main/res/values-sl-rSI/strings.xml index e50d41f3bb..a9cb466b6b 100644 --- a/amethyst/src/main/res/values-sl-rSI/strings.xml +++ b/amethyst/src/main/res/values-sl-rSI/strings.xml @@ -3395,19 +3395,6 @@ Za ohranitev zasebnosti to denarnico polni in prazni prek ne-zasebnih računov, Zbranih %1$s od ciljnih %2$s satov Izteče se: %1$s On-chain donacija - Zaznana ptica - - Birdex · %1$d vrsta - Birdex · %1$d vrsti - Birdex · %1$d vrste - Birdex · %1$d vrst - - - %1$s in še %2$d druga - %1$s in še %2$d drugi - %1$s in še %2$d druge - %1$s in še %2$d drugih - Shrani na pomnilniško kartico PS1 %1$d blok diff --git a/amethyst/src/main/res/values-sr-rSP/strings.xml b/amethyst/src/main/res/values-sr-rSP/strings.xml index 1df33820b3..808dc2f386 100644 --- a/amethyst/src/main/res/values-sr-rSP/strings.xml +++ b/amethyst/src/main/res/values-sr-rSP/strings.xml @@ -2785,16 +2785,6 @@ %1$s prikupljeno od cilja od %2$s sats Završava se %1$s Donacija na lancu - - Birdex · %1$d vrsta - Birdex · %1$d vrste - Birdex · %1$d vrsta - - - %1$s +%2$d više - %1$s +%2$d više - %1$s +%2$d više - Policija diff --git a/amethyst/src/main/res/values-sv-rSE/strings.xml b/amethyst/src/main/res/values-sv-rSE/strings.xml index a49fc3ef1d..95df130236 100644 --- a/amethyst/src/main/res/values-sv-rSE/strings.xml +++ b/amethyst/src/main/res/values-sv-rSE/strings.xml @@ -3689,15 +3689,6 @@ %1$s finansierat av %2$s sats mål Slutar %1$s On-chain-donation - Fågeldetektering - - Birdex · %1$d art - Birdex · %1$d arter - - - %1$s +%2$d till - %1$s +%2$d till - PS1-minneskortsparning block %1$d diff --git a/amethyst/src/main/res/values-sw/strings.xml b/amethyst/src/main/res/values-sw/strings.xml index 08a937498f..9d15db4bea 100644 --- a/amethyst/src/main/res/values-sw/strings.xml +++ b/amethyst/src/main/res/values-sw/strings.xml @@ -2767,14 +2767,6 @@ %1$s imefadhiliwa kati ya lengo la %2$s sats Inaisha %1$s Mchango wa on-chain - - Birdex · spishi %1$d - Birdex · spishi %1$d - - - %1$s +%2$d zaidi - %1$s +%2$d zaidi - Polisi diff --git a/amethyst/src/main/res/values-ta-rIN/strings.xml b/amethyst/src/main/res/values-ta-rIN/strings.xml index c26b0d1706..8bb35e614a 100644 --- a/amethyst/src/main/res/values-ta-rIN/strings.xml +++ b/amethyst/src/main/res/values-ta-rIN/strings.xml @@ -2755,14 +2755,6 @@ %2$s sats இலக்கில் %1$s நிதியளிக்கப்பட்டது %1$s அன்று முடிகிறது ஆன்-சேயின் நன்கொடை - - Birdex · %1$d இனம் - Birdex · %1$d இனங்கள் - - - %1$s +%2$d மேலும் - %1$s +%2$d மேலும் - காவல்துறை diff --git a/amethyst/src/main/res/values-ta/strings.xml b/amethyst/src/main/res/values-ta/strings.xml index e925434ffc..c40f864409 100644 --- a/amethyst/src/main/res/values-ta/strings.xml +++ b/amethyst/src/main/res/values-ta/strings.xml @@ -3048,14 +3048,6 @@ நீங்கள் பயன்படுத்தாத %1$d mint-ல் நிதி உள்ளது நீங்கள் பயன்படுத்தாத %1$d mints-ல் நிதி உள்ளது - - Birdex · %1$d இனம் - Birdex · %1$d இனங்கள் - - - %1$s +%2$d மேலும் - %1$s +%2$d மேலும் - %1$d செய்தி %1$d செய்திகள் diff --git a/amethyst/src/main/res/values-th-rTH/strings.xml b/amethyst/src/main/res/values-th-rTH/strings.xml index 067bbff63c..cb19a8b4de 100644 --- a/amethyst/src/main/res/values-th-rTH/strings.xml +++ b/amethyst/src/main/res/values-th-rTH/strings.xml @@ -2591,12 +2591,6 @@ ได้รับทุน %1$s จากเป้าหมาย %2$s sats สิ้นสุด %1$s การบริจาคบน on-chain - - Birdex · %1$d สายพันธุ์ - - - %1$s +%2$d รายการเพิ่มเติม - ตำรวจ diff --git a/amethyst/src/main/res/values-th/strings.xml b/amethyst/src/main/res/values-th/strings.xml index 66c94e6356..dfeb0f3c6e 100644 --- a/amethyst/src/main/res/values-th/strings.xml +++ b/amethyst/src/main/res/values-th/strings.xml @@ -3566,13 +3566,7 @@ การบริจาคบน on-chain - - Birdex · %1$d สายพันธุ์ - - - %1$s +%2$d รายการเพิ่มเติม - ตำรวจ diff --git a/amethyst/src/main/res/values-tr-rTR/strings.xml b/amethyst/src/main/res/values-tr-rTR/strings.xml index 4528e30a8d..596b24b1f5 100644 --- a/amethyst/src/main/res/values-tr-rTR/strings.xml +++ b/amethyst/src/main/res/values-tr-rTR/strings.xml @@ -2767,14 +2767,6 @@ %2$s sats hedefinin %1$s\'i finanse edildi Bitiş: %1$s Zincir üstü bağış - - Birdex · %1$d tür - Birdex · %1$d tür - - - %1$s +%2$d daha - %1$s +%2$d daha - Polis diff --git a/amethyst/src/main/res/values-tr/strings.xml b/amethyst/src/main/res/values-tr/strings.xml index 4fb2fbe90e..432e09f9be 100644 --- a/amethyst/src/main/res/values-tr/strings.xml +++ b/amethyst/src/main/res/values-tr/strings.xml @@ -4083,15 +4083,7 @@ Zincir üstü bağış - - Birdex · %1$d tür - Birdex · %1$d tür - - - %1$s +%2$d daha - %1$s +%2$d daha - Polis diff --git a/amethyst/src/main/res/values-uk-rUA/strings.xml b/amethyst/src/main/res/values-uk-rUA/strings.xml index 3e4e8495b5..61ee6522e1 100644 --- a/amethyst/src/main/res/values-uk-rUA/strings.xml +++ b/amethyst/src/main/res/values-uk-rUA/strings.xml @@ -2814,18 +2814,6 @@ %1$s зібрано з %2$s sats мети Завершується %1$s Пожертва on-chain - - Birdex · %1$d вид - Birdex · %1$d види - Birdex · %1$d видів - Birdex · %1$d виду - - - %1$s +%2$d більше - %1$s +%2$d більше - %1$s +%2$d більше - %1$s +%2$d більше - Поліція diff --git a/amethyst/src/main/res/values-uk/strings.xml b/amethyst/src/main/res/values-uk/strings.xml index c5eb8de526..c1c7cc8a09 100644 --- a/amethyst/src/main/res/values-uk/strings.xml +++ b/amethyst/src/main/res/values-uk/strings.xml @@ -3892,20 +3892,8 @@ Пожертва on-chain - - Birdex · %1$d вид - Birdex · %1$d види - Birdex · %1$d видів - Birdex · %1$d виду - - - %1$s +%2$d більше - %1$s +%2$d більше - %1$s +%2$d більше - %1$s +%2$d більше - Поліція diff --git a/amethyst/src/main/res/values-uz-rUZ/strings.xml b/amethyst/src/main/res/values-uz-rUZ/strings.xml index b77f179707..4ad2eddc91 100644 --- a/amethyst/src/main/res/values-uz-rUZ/strings.xml +++ b/amethyst/src/main/res/values-uz-rUZ/strings.xml @@ -2771,14 +2771,6 @@ %2$s sats maqsadidan %1$s moliyalashtirildi %1$s da tugaydi Zanjirdagi xayriya - - Birdex · %1$d tur - Birdex · %1$d tur - - - %1$s +%2$d ta ko\'proq - %1$s +%2$d ta ko\'proq - Politsiya diff --git a/amethyst/src/main/res/values-vi-rVN/strings.xml b/amethyst/src/main/res/values-vi-rVN/strings.xml index 278326e181..edea957786 100644 --- a/amethyst/src/main/res/values-vi-rVN/strings.xml +++ b/amethyst/src/main/res/values-vi-rVN/strings.xml @@ -2711,12 +2711,6 @@ %1$s đã được tài trợ trong mục tiêu %2$s sats Kết thúc %1$s Đóng góp on-chain - - Birdex · %1$d loài - - - %1$s +%2$d khác - Cảnh sát diff --git a/amethyst/src/main/res/values-zh-rCN/strings.xml b/amethyst/src/main/res/values-zh-rCN/strings.xml index 6e99dc283d..008fb3b150 100644 --- a/amethyst/src/main/res/values-zh-rCN/strings.xml +++ b/amethyst/src/main/res/values-zh-rCN/strings.xml @@ -3555,13 +3555,6 @@ 设定目标为 %2$s sats,筹集到 %1$s 结束 %1$s 链上捐助 - 鸟类检测 - - Birdex · %1$d 个物种 - - - %1$s + 另%2$d - PS1 内存卡保存 块 %1$d diff --git a/amethyst/src/main/res/values-zh-rHK/strings.xml b/amethyst/src/main/res/values-zh-rHK/strings.xml index bdac623cc1..509f7feeaf 100644 --- a/amethyst/src/main/res/values-zh-rHK/strings.xml +++ b/amethyst/src/main/res/values-zh-rHK/strings.xml @@ -2780,12 +2780,6 @@ 设定目标为 %2$s sats,筹集到 %1$s 结束 %1$s 链上捐助 - - Birdex · %1$d 个物种 - - - %1$s + 另%2$d - 警察 diff --git a/amethyst/src/main/res/values-zh-rSG/strings.xml b/amethyst/src/main/res/values-zh-rSG/strings.xml index 01f5ebdacd..fffa856954 100644 --- a/amethyst/src/main/res/values-zh-rSG/strings.xml +++ b/amethyst/src/main/res/values-zh-rSG/strings.xml @@ -2780,12 +2780,6 @@ 设定目标为 %2$s sats,筹集到 %1$s 结束 %1$s 链上捐助 - - Birdex · %1$d 个物种 - - - %1$s + 另%2$d - 警察 diff --git a/amethyst/src/main/res/values-zh-rTW/strings.xml b/amethyst/src/main/res/values-zh-rTW/strings.xml index ebb565d297..85868bed6e 100644 --- a/amethyst/src/main/res/values-zh-rTW/strings.xml +++ b/amethyst/src/main/res/values-zh-rTW/strings.xml @@ -2746,12 +2746,6 @@ %2$s sats 目標中已籌得 %1$s 結束於 %1$s 鏈上捐款 - - Birdex · %1$d 個物種 - - - %1$s 還有 %2$d 個 - 警察 diff --git a/amethyst/src/main/res/values-zh/strings.xml b/amethyst/src/main/res/values-zh/strings.xml index f066007832..e638dc6b37 100644 --- a/amethyst/src/main/res/values-zh/strings.xml +++ b/amethyst/src/main/res/values-zh/strings.xml @@ -5294,13 +5294,7 @@ 链上捐助 - - Birdex · %1$d 个物种 - - - %1$s + 另%2$d - 警察 diff --git a/amethyst/src/main/res/values/strings.xml b/amethyst/src/main/res/values/strings.xml index c0179a8821..d0466056f7 100644 --- a/amethyst/src/main/res/values/strings.xml +++ b/amethyst/src/main/res/values/strings.xml @@ -4057,15 +4057,6 @@ %1$s funded of %2$s sats goal Ends %1$s On-chain donation - Bird detection - - Birdex · %1$d species - Birdex · %1$d species - - - %1$s +%2$d more - %1$s +%2$d more - PS1 memory card save block %1$d diff --git a/commons/src/commonMain/composeResources/values-ar-rSA/strings.xml b/commons/src/commonMain/composeResources/values-ar-rSA/strings.xml index d80ea2de82..03e6a1e4d0 100644 --- a/commons/src/commonMain/composeResources/values-ar-rSA/strings.xml +++ b/commons/src/commonMain/composeResources/values-ar-rSA/strings.xml @@ -4,4 +4,20 @@ مدمج مغلق مسودة + + Birdex · لا أنواع + Birdex · نوع واحد + Birdex · نوعان + Birdex · %1$d أنواع + Birdex · %1$d نوعًا + Birdex · %1$d نوع + + + %1$s + %1$s +%2$d آخر + %1$s +%2$d آخران + %1$s +%2$d أخرى + %1$s +%2$d آخرين + %1$s +%2$d آخرين + diff --git a/commons/src/commonMain/composeResources/values-bn-rBD/strings.xml b/commons/src/commonMain/composeResources/values-bn-rBD/strings.xml index 849203b83f..89129f41a4 100644 --- a/commons/src/commonMain/composeResources/values-bn-rBD/strings.xml +++ b/commons/src/commonMain/composeResources/values-bn-rBD/strings.xml @@ -4,4 +4,12 @@ মার্জ করা হয়েছে বন্ধ ড্রাফট + + Birdex · %1$d প্রজাতি + Birdex · %1$d প্রজাতি + + + %1$s +%2$d টি আরও + %1$s +%2$d টি আরও + diff --git a/commons/src/commonMain/composeResources/values-cs/strings.xml b/commons/src/commonMain/composeResources/values-cs/strings.xml index e7f32bd1e3..be6387a03d 100644 --- a/commons/src/commonMain/composeResources/values-cs/strings.xml +++ b/commons/src/commonMain/composeResources/values-cs/strings.xml @@ -11,4 +11,17 @@ %1$d souboru změněno %1$d souborů změněno + Detekce ptáků + + Birdex · %1$d druh + Birdex · %1$d druhy + Birdex · %1$d druhů + Birdex · %1$d druhů + + + %1$s +%2$d další + %1$s +%2$d další + %1$s +%2$d dalších + %1$s +%2$d dalších + diff --git a/commons/src/commonMain/composeResources/values-de-rDE/strings.xml b/commons/src/commonMain/composeResources/values-de-rDE/strings.xml index 743ff81945..b0fcb8ca97 100644 --- a/commons/src/commonMain/composeResources/values-de-rDE/strings.xml +++ b/commons/src/commonMain/composeResources/values-de-rDE/strings.xml @@ -9,4 +9,13 @@ Datei geändert Dateien geändert + Vogelerkennung + + Birdex · %1$d Art + Birdex · %1$d Arten + + + %1$s +%2$d weitere + %1$s +%2$d weitere + diff --git a/commons/src/commonMain/composeResources/values-de/strings.xml b/commons/src/commonMain/composeResources/values-de/strings.xml index b0cb49c7fe..8c031d883f 100644 --- a/commons/src/commonMain/composeResources/values-de/strings.xml +++ b/commons/src/commonMain/composeResources/values-de/strings.xml @@ -4,4 +4,12 @@ Zusammengeführt Geschlossen Entwurf + + Birdex · %1$d Art + Birdex · %1$d Arten + + + %1$s +%2$d weitere + %1$s +%2$d weitere + diff --git a/commons/src/commonMain/composeResources/values-el-rGR/strings.xml b/commons/src/commonMain/composeResources/values-el-rGR/strings.xml index 36a988d85e..a4fc928d08 100644 --- a/commons/src/commonMain/composeResources/values-el-rGR/strings.xml +++ b/commons/src/commonMain/composeResources/values-el-rGR/strings.xml @@ -4,4 +4,12 @@ Συγχωνευμένο Κλειστό Πρόχειρο + + Birdex · %1$d είδος + Birdex · %1$d είδη + + + %1$s +%2$d ακόμη + %1$s +%2$d ακόμη + diff --git a/commons/src/commonMain/composeResources/values-eo-rUY/strings.xml b/commons/src/commonMain/composeResources/values-eo-rUY/strings.xml index 88e735147f..fda08ef703 100644 --- a/commons/src/commonMain/composeResources/values-eo-rUY/strings.xml +++ b/commons/src/commonMain/composeResources/values-eo-rUY/strings.xml @@ -4,4 +4,12 @@ Kunfandita Fermita Malneto + + Birdex · %1$d specio + Birdex · %1$d specioj + + + %1$s +%2$d plia + %1$s +%2$d pliaj + diff --git a/commons/src/commonMain/composeResources/values-eo/strings.xml b/commons/src/commonMain/composeResources/values-eo/strings.xml index 88e735147f..fda08ef703 100644 --- a/commons/src/commonMain/composeResources/values-eo/strings.xml +++ b/commons/src/commonMain/composeResources/values-eo/strings.xml @@ -4,4 +4,12 @@ Kunfandita Fermita Malneto + + Birdex · %1$d specio + Birdex · %1$d specioj + + + %1$s +%2$d plia + %1$s +%2$d pliaj + diff --git a/commons/src/commonMain/composeResources/values-es-rES/strings.xml b/commons/src/commonMain/composeResources/values-es-rES/strings.xml index e25c34e1f3..bfa915d31a 100644 --- a/commons/src/commonMain/composeResources/values-es-rES/strings.xml +++ b/commons/src/commonMain/composeResources/values-es-rES/strings.xml @@ -4,4 +4,12 @@ Fusionado Cerrado Borrador + + Birdex · %1$d especie + Birdex · %1$d especies + + + %1$s +%2$d más + %1$s +%2$d más + diff --git a/commons/src/commonMain/composeResources/values-es-rMX/strings.xml b/commons/src/commonMain/composeResources/values-es-rMX/strings.xml index e25c34e1f3..bfa915d31a 100644 --- a/commons/src/commonMain/composeResources/values-es-rMX/strings.xml +++ b/commons/src/commonMain/composeResources/values-es-rMX/strings.xml @@ -4,4 +4,12 @@ Fusionado Cerrado Borrador + + Birdex · %1$d especie + Birdex · %1$d especies + + + %1$s +%2$d más + %1$s +%2$d más + diff --git a/commons/src/commonMain/composeResources/values-es-rUS/strings.xml b/commons/src/commonMain/composeResources/values-es-rUS/strings.xml index e25c34e1f3..bfa915d31a 100644 --- a/commons/src/commonMain/composeResources/values-es-rUS/strings.xml +++ b/commons/src/commonMain/composeResources/values-es-rUS/strings.xml @@ -4,4 +4,12 @@ Fusionado Cerrado Borrador + + Birdex · %1$d especie + Birdex · %1$d especies + + + %1$s +%2$d más + %1$s +%2$d más + diff --git a/commons/src/commonMain/composeResources/values-es/strings.xml b/commons/src/commonMain/composeResources/values-es/strings.xml index e25c34e1f3..bfa915d31a 100644 --- a/commons/src/commonMain/composeResources/values-es/strings.xml +++ b/commons/src/commonMain/composeResources/values-es/strings.xml @@ -4,4 +4,12 @@ Fusionado Cerrado Borrador + + Birdex · %1$d especie + Birdex · %1$d especies + + + %1$s +%2$d más + %1$s +%2$d más + diff --git a/commons/src/commonMain/composeResources/values-fa-rIR/strings.xml b/commons/src/commonMain/composeResources/values-fa-rIR/strings.xml index 660ab2a9d7..d2ca2dff9e 100644 --- a/commons/src/commonMain/composeResources/values-fa-rIR/strings.xml +++ b/commons/src/commonMain/composeResources/values-fa-rIR/strings.xml @@ -4,4 +4,12 @@ ادغام شده بسته پیش‌نویس + + Birdex · %1$d گونه + Birdex · %1$d گونه + + + %1$s و %2$d مورد بیشتر + %1$s و %2$d مورد بیشتر + diff --git a/commons/src/commonMain/composeResources/values-fa/strings.xml b/commons/src/commonMain/composeResources/values-fa/strings.xml index 660ab2a9d7..d2ca2dff9e 100644 --- a/commons/src/commonMain/composeResources/values-fa/strings.xml +++ b/commons/src/commonMain/composeResources/values-fa/strings.xml @@ -4,4 +4,12 @@ ادغام شده بسته پیش‌نویس + + Birdex · %1$d گونه + Birdex · %1$d گونه + + + %1$s و %2$d مورد بیشتر + %1$s و %2$d مورد بیشتر + diff --git a/commons/src/commonMain/composeResources/values-fi-rFI/strings.xml b/commons/src/commonMain/composeResources/values-fi-rFI/strings.xml index 87d641593c..201b3fcb69 100644 --- a/commons/src/commonMain/composeResources/values-fi-rFI/strings.xml +++ b/commons/src/commonMain/composeResources/values-fi-rFI/strings.xml @@ -4,4 +4,12 @@ Yhdistetty Suljettu Luonnos + + Birdex · %1$d laji + Birdex · %1$d lajia + + + %1$s +%2$d lisää + %1$s +%2$d lisää + diff --git a/commons/src/commonMain/composeResources/values-fr-rCA/strings.xml b/commons/src/commonMain/composeResources/values-fr-rCA/strings.xml index 101c73c43e..8fd3780081 100644 --- a/commons/src/commonMain/composeResources/values-fr-rCA/strings.xml +++ b/commons/src/commonMain/composeResources/values-fr-rCA/strings.xml @@ -4,4 +4,12 @@ Fusionné Fermé Brouillon + + Birdex · %1$d espèce + Birdex · %1$d espèces + + + %1$s +%2$d de plus + %1$s +%2$d de plus + diff --git a/commons/src/commonMain/composeResources/values-fr-rFR/strings.xml b/commons/src/commonMain/composeResources/values-fr-rFR/strings.xml index 101c73c43e..8fd3780081 100644 --- a/commons/src/commonMain/composeResources/values-fr-rFR/strings.xml +++ b/commons/src/commonMain/composeResources/values-fr-rFR/strings.xml @@ -4,4 +4,12 @@ Fusionné Fermé Brouillon + + Birdex · %1$d espèce + Birdex · %1$d espèces + + + %1$s +%2$d de plus + %1$s +%2$d de plus + diff --git a/commons/src/commonMain/composeResources/values-fr/strings.xml b/commons/src/commonMain/composeResources/values-fr/strings.xml index 101c73c43e..8fd3780081 100644 --- a/commons/src/commonMain/composeResources/values-fr/strings.xml +++ b/commons/src/commonMain/composeResources/values-fr/strings.xml @@ -4,4 +4,12 @@ Fusionné Fermé Brouillon + + Birdex · %1$d espèce + Birdex · %1$d espèces + + + %1$s +%2$d de plus + %1$s +%2$d de plus + diff --git a/commons/src/commonMain/composeResources/values-hi-rIN/strings.xml b/commons/src/commonMain/composeResources/values-hi-rIN/strings.xml index c89acb6149..d807fe64de 100644 --- a/commons/src/commonMain/composeResources/values-hi-rIN/strings.xml +++ b/commons/src/commonMain/composeResources/values-hi-rIN/strings.xml @@ -9,4 +9,13 @@ %1$d अभिलेख परिवर्तित %1$d अभिलेख परिवर्तित + पक्षी खोज + + बिर्डेक्स। %1$d प्रजाति + बिर्डेक्स। %1$d प्रजातियाँ + + + %1$s सं॰ %2$d अधिक + %1$s सं॰ %2$d अधिक + diff --git a/commons/src/commonMain/composeResources/values-hu-rHU/strings.xml b/commons/src/commonMain/composeResources/values-hu-rHU/strings.xml index 8c633a49fb..58c1d912f6 100644 --- a/commons/src/commonMain/composeResources/values-hu-rHU/strings.xml +++ b/commons/src/commonMain/composeResources/values-hu-rHU/strings.xml @@ -9,4 +9,13 @@ %1$d fájl módosult %1$d fájl módosult + Madárfelismerés + + Madárnapló · %1$d faj + Madárnapló · %1$d faj + + + %1$s +%2$d további + %1$s +%2$d további + diff --git a/commons/src/commonMain/composeResources/values-in-rID/strings.xml b/commons/src/commonMain/composeResources/values-in-rID/strings.xml index 1b36915807..98927c5d4d 100644 --- a/commons/src/commonMain/composeResources/values-in-rID/strings.xml +++ b/commons/src/commonMain/composeResources/values-in-rID/strings.xml @@ -3,4 +3,10 @@ Terbuka Digabungkan Ditutup + + Birdex · %1$d spesies + + + %1$s +%2$d lainnya + diff --git a/commons/src/commonMain/composeResources/values-in/strings.xml b/commons/src/commonMain/composeResources/values-in/strings.xml index 9ee3f92f6e..b5e85da21b 100644 --- a/commons/src/commonMain/composeResources/values-in/strings.xml +++ b/commons/src/commonMain/composeResources/values-in/strings.xml @@ -4,4 +4,10 @@ Digabungkan Ditutup Draft + + Birdex · %1$d spesies + + + %1$s +%2$d lainnya + diff --git a/commons/src/commonMain/composeResources/values-it-rIT/strings.xml b/commons/src/commonMain/composeResources/values-it-rIT/strings.xml index ccc3eb9755..326410d1e1 100644 --- a/commons/src/commonMain/composeResources/values-it-rIT/strings.xml +++ b/commons/src/commonMain/composeResources/values-it-rIT/strings.xml @@ -4,4 +4,12 @@ Unito Chiuso Bozza + + Birdex · %1$d specie + Birdex · %1$d specie + + + %1$s +%2$d altro + %1$s +%2$d altri + diff --git a/commons/src/commonMain/composeResources/values-ja-rJP/strings.xml b/commons/src/commonMain/composeResources/values-ja-rJP/strings.xml index cdfa2c9ad5..1fa7ad0ca5 100644 --- a/commons/src/commonMain/composeResources/values-ja-rJP/strings.xml +++ b/commons/src/commonMain/composeResources/values-ja-rJP/strings.xml @@ -4,4 +4,10 @@ マージ済み クローズ済み 下書き + + Birdex · %1$d 種 + + + %1$s 他 %2$d 件 + diff --git a/commons/src/commonMain/composeResources/values-ja/strings.xml b/commons/src/commonMain/composeResources/values-ja/strings.xml index cdfa2c9ad5..1fa7ad0ca5 100644 --- a/commons/src/commonMain/composeResources/values-ja/strings.xml +++ b/commons/src/commonMain/composeResources/values-ja/strings.xml @@ -4,4 +4,10 @@ マージ済み クローズ済み 下書き + + Birdex · %1$d 種 + + + %1$s 他 %2$d 件 + diff --git a/commons/src/commonMain/composeResources/values-ko-rKR/strings.xml b/commons/src/commonMain/composeResources/values-ko-rKR/strings.xml index 6046412e40..cbf5512e15 100644 --- a/commons/src/commonMain/composeResources/values-ko-rKR/strings.xml +++ b/commons/src/commonMain/composeResources/values-ko-rKR/strings.xml @@ -4,4 +4,10 @@ 병합됨 닫힘 초안 + + Birdex · %1$d종 + + + %1$s 외 %2$d개 더 + diff --git a/commons/src/commonMain/composeResources/values-lv-rLV/strings.xml b/commons/src/commonMain/composeResources/values-lv-rLV/strings.xml index a5d95bf7de..b1d4b8adf4 100644 --- a/commons/src/commonMain/composeResources/values-lv-rLV/strings.xml +++ b/commons/src/commonMain/composeResources/values-lv-rLV/strings.xml @@ -4,4 +4,14 @@ Sapludināts Slēgts Melnraksts + + Birdex · %1$d sugas + Birdex · %1$d suga + Birdex · %1$d sugas + + + %1$s +%2$d vairāk + %1$s +%2$d vairāk + %1$s +%2$d vairāk + diff --git a/commons/src/commonMain/composeResources/values-nl-rBE/strings.xml b/commons/src/commonMain/composeResources/values-nl-rBE/strings.xml index ca95a6505b..ac891c1182 100644 --- a/commons/src/commonMain/composeResources/values-nl-rBE/strings.xml +++ b/commons/src/commonMain/composeResources/values-nl-rBE/strings.xml @@ -4,4 +4,12 @@ Samengevoegd Gesloten Concept + + Birdex · %1$d soorten + Birdex · %1$d soorten + + + %1$s +%2$d meer + %1$s +%2$d meer + diff --git a/commons/src/commonMain/composeResources/values-nl-rNL/strings.xml b/commons/src/commonMain/composeResources/values-nl-rNL/strings.xml index 1687933c99..6b7f3932a2 100644 --- a/commons/src/commonMain/composeResources/values-nl-rNL/strings.xml +++ b/commons/src/commonMain/composeResources/values-nl-rNL/strings.xml @@ -9,4 +9,13 @@ %1$d bestand gewijzigd %1$d bestanden gewijzigd + Vogeldetectie + + Birdex · %1$d soorten + Birdex · %1$d soorten + + + %1$s +%2$d meer + %1$s +%2$d meer + diff --git a/commons/src/commonMain/composeResources/values-nl/strings.xml b/commons/src/commonMain/composeResources/values-nl/strings.xml index ca95a6505b..ac891c1182 100644 --- a/commons/src/commonMain/composeResources/values-nl/strings.xml +++ b/commons/src/commonMain/composeResources/values-nl/strings.xml @@ -4,4 +4,12 @@ Samengevoegd Gesloten Concept + + Birdex · %1$d soorten + Birdex · %1$d soorten + + + %1$s +%2$d meer + %1$s +%2$d meer + diff --git a/commons/src/commonMain/composeResources/values-pl-rPL/strings.xml b/commons/src/commonMain/composeResources/values-pl-rPL/strings.xml index 511f84779b..cbc3b51b7b 100644 --- a/commons/src/commonMain/composeResources/values-pl-rPL/strings.xml +++ b/commons/src/commonMain/composeResources/values-pl-rPL/strings.xml @@ -11,4 +11,16 @@ Plików %1$d zmienionych %1$d pliki zostały zmienione + + Birdex · %1$d gatunek + Birdex · %1$d gatunków + Birdex · %1$d gatunków + Birdex · %1$d gatunki + + + %1$s +%2$d więcej + %1$s +%2$d więcej + %1$s +%2$d więcej + %1$s +%2$d więcej + diff --git a/commons/src/commonMain/composeResources/values-pt-rBR/strings.xml b/commons/src/commonMain/composeResources/values-pt-rBR/strings.xml index ed010b9076..b99f46e723 100644 --- a/commons/src/commonMain/composeResources/values-pt-rBR/strings.xml +++ b/commons/src/commonMain/composeResources/values-pt-rBR/strings.xml @@ -9,4 +9,13 @@ %1$d arquivo alterado %1$d arquivos alterados + Detecção de pássaros + + Birdex · %1$d espécie + Birdex · %1$d espécies + + + %1$s +%2$d a mais + %1$s +%2$d a mais + diff --git a/commons/src/commonMain/composeResources/values-pt-rPT/strings.xml b/commons/src/commonMain/composeResources/values-pt-rPT/strings.xml index b96ac87c78..2293e1c454 100644 --- a/commons/src/commonMain/composeResources/values-pt-rPT/strings.xml +++ b/commons/src/commonMain/composeResources/values-pt-rPT/strings.xml @@ -4,4 +4,12 @@ Mesclado Fechado Rascunho + + Birdex · %1$d espécie + Birdex · %1$d espécies + + + %1$s +%2$d a mais + %1$s +%2$d a mais + diff --git a/commons/src/commonMain/composeResources/values-ru-rRU/strings.xml b/commons/src/commonMain/composeResources/values-ru-rRU/strings.xml index b5e1deb4c5..2256b4cb5e 100644 --- a/commons/src/commonMain/composeResources/values-ru-rRU/strings.xml +++ b/commons/src/commonMain/composeResources/values-ru-rRU/strings.xml @@ -4,4 +4,16 @@ Объединён Закрыт Черновик + + Birdex · %1$d вид + Birdex · %1$d вида + Birdex · %1$d видов + Birdex · %1$d вида + + + %1$s +%2$d ещё + %1$s +%2$d ещё + %1$s +%2$d ещё + %1$s +%2$d ещё + diff --git a/commons/src/commonMain/composeResources/values-ru-rUA/strings.xml b/commons/src/commonMain/composeResources/values-ru-rUA/strings.xml index b5e1deb4c5..2256b4cb5e 100644 --- a/commons/src/commonMain/composeResources/values-ru-rUA/strings.xml +++ b/commons/src/commonMain/composeResources/values-ru-rUA/strings.xml @@ -4,4 +4,16 @@ Объединён Закрыт Черновик + + Birdex · %1$d вид + Birdex · %1$d вида + Birdex · %1$d видов + Birdex · %1$d вида + + + %1$s +%2$d ещё + %1$s +%2$d ещё + %1$s +%2$d ещё + %1$s +%2$d ещё + diff --git a/commons/src/commonMain/composeResources/values-ru/strings.xml b/commons/src/commonMain/composeResources/values-ru/strings.xml index b5e1deb4c5..2256b4cb5e 100644 --- a/commons/src/commonMain/composeResources/values-ru/strings.xml +++ b/commons/src/commonMain/composeResources/values-ru/strings.xml @@ -4,4 +4,16 @@ Объединён Закрыт Черновик + + Birdex · %1$d вид + Birdex · %1$d вида + Birdex · %1$d видов + Birdex · %1$d вида + + + %1$s +%2$d ещё + %1$s +%2$d ещё + %1$s +%2$d ещё + %1$s +%2$d ещё + diff --git a/commons/src/commonMain/composeResources/values-sl-rSI/strings.xml b/commons/src/commonMain/composeResources/values-sl-rSI/strings.xml index fd816da6d4..abeb6f5f26 100644 --- a/commons/src/commonMain/composeResources/values-sl-rSI/strings.xml +++ b/commons/src/commonMain/composeResources/values-sl-rSI/strings.xml @@ -11,4 +11,17 @@ %1$d datoteke spremenjene %1$d datotek spremenjenih + Zaznana ptica + + Birdex · %1$d vrsta + Birdex · %1$d vrsti + Birdex · %1$d vrste + Birdex · %1$d vrst + + + %1$s in še %2$d druga + %1$s in še %2$d drugi + %1$s in še %2$d druge + %1$s in še %2$d drugih + diff --git a/commons/src/commonMain/composeResources/values-sr-rSP/strings.xml b/commons/src/commonMain/composeResources/values-sr-rSP/strings.xml index 8c74c4df01..1e171cb57f 100644 --- a/commons/src/commonMain/composeResources/values-sr-rSP/strings.xml +++ b/commons/src/commonMain/composeResources/values-sr-rSP/strings.xml @@ -4,4 +4,14 @@ Spojeno Zatvoreno Nacrt + + Birdex · %1$d vrsta + Birdex · %1$d vrste + Birdex · %1$d vrsta + + + %1$s +%2$d više + %1$s +%2$d više + %1$s +%2$d više + diff --git a/commons/src/commonMain/composeResources/values-sv-rSE/strings.xml b/commons/src/commonMain/composeResources/values-sv-rSE/strings.xml index a63ec0461a..9bd2051608 100644 --- a/commons/src/commonMain/composeResources/values-sv-rSE/strings.xml +++ b/commons/src/commonMain/composeResources/values-sv-rSE/strings.xml @@ -9,4 +9,13 @@ %1$d fil ändrad %1$d filer ändrade + Fågeldetektering + + Birdex · %1$d art + Birdex · %1$d arter + + + %1$s +%2$d till + %1$s +%2$d till + diff --git a/commons/src/commonMain/composeResources/values-sw/strings.xml b/commons/src/commonMain/composeResources/values-sw/strings.xml index 5e13e7da00..8e0d37c1d3 100644 --- a/commons/src/commonMain/composeResources/values-sw/strings.xml +++ b/commons/src/commonMain/composeResources/values-sw/strings.xml @@ -4,4 +4,12 @@ Imeunganishwa Imefungwa Rasimu + + Birdex · spishi %1$d + Birdex · spishi %1$d + + + %1$s +%2$d zaidi + %1$s +%2$d zaidi + diff --git a/commons/src/commonMain/composeResources/values-ta-rIN/strings.xml b/commons/src/commonMain/composeResources/values-ta-rIN/strings.xml index 3231502436..cabd6d8f2f 100644 --- a/commons/src/commonMain/composeResources/values-ta-rIN/strings.xml +++ b/commons/src/commonMain/composeResources/values-ta-rIN/strings.xml @@ -4,4 +4,12 @@ இணைக்கப்பட்ட மூடப்பட்ட வரைவு + + Birdex · %1$d இனம் + Birdex · %1$d இனங்கள் + + + %1$s +%2$d மேலும் + %1$s +%2$d மேலும் + diff --git a/commons/src/commonMain/composeResources/values-ta/strings.xml b/commons/src/commonMain/composeResources/values-ta/strings.xml index 3231502436..cabd6d8f2f 100644 --- a/commons/src/commonMain/composeResources/values-ta/strings.xml +++ b/commons/src/commonMain/composeResources/values-ta/strings.xml @@ -4,4 +4,12 @@ இணைக்கப்பட்ட மூடப்பட்ட வரைவு + + Birdex · %1$d இனம் + Birdex · %1$d இனங்கள் + + + %1$s +%2$d மேலும் + %1$s +%2$d மேலும் + diff --git a/commons/src/commonMain/composeResources/values-th-rTH/strings.xml b/commons/src/commonMain/composeResources/values-th-rTH/strings.xml index 5091d03b13..1d113c28e7 100644 --- a/commons/src/commonMain/composeResources/values-th-rTH/strings.xml +++ b/commons/src/commonMain/composeResources/values-th-rTH/strings.xml @@ -4,4 +4,10 @@ ผสานแล้ว ปิด ร่าง + + Birdex · %1$d สายพันธุ์ + + + %1$s +%2$d รายการเพิ่มเติม + diff --git a/commons/src/commonMain/composeResources/values-th/strings.xml b/commons/src/commonMain/composeResources/values-th/strings.xml index 5091d03b13..1d113c28e7 100644 --- a/commons/src/commonMain/composeResources/values-th/strings.xml +++ b/commons/src/commonMain/composeResources/values-th/strings.xml @@ -4,4 +4,10 @@ ผสานแล้ว ปิด ร่าง + + Birdex · %1$d สายพันธุ์ + + + %1$s +%2$d รายการเพิ่มเติม + diff --git a/commons/src/commonMain/composeResources/values-tr-rTR/strings.xml b/commons/src/commonMain/composeResources/values-tr-rTR/strings.xml index 6128b40b6b..d48d718803 100644 --- a/commons/src/commonMain/composeResources/values-tr-rTR/strings.xml +++ b/commons/src/commonMain/composeResources/values-tr-rTR/strings.xml @@ -4,4 +4,12 @@ Birleştirildi Kapalı Taslak + + Birdex · %1$d tür + Birdex · %1$d tür + + + %1$s +%2$d daha + %1$s +%2$d daha + diff --git a/commons/src/commonMain/composeResources/values-tr/strings.xml b/commons/src/commonMain/composeResources/values-tr/strings.xml index 6128b40b6b..d48d718803 100644 --- a/commons/src/commonMain/composeResources/values-tr/strings.xml +++ b/commons/src/commonMain/composeResources/values-tr/strings.xml @@ -4,4 +4,12 @@ Birleştirildi Kapalı Taslak + + Birdex · %1$d tür + Birdex · %1$d tür + + + %1$s +%2$d daha + %1$s +%2$d daha + diff --git a/commons/src/commonMain/composeResources/values-uk-rUA/strings.xml b/commons/src/commonMain/composeResources/values-uk-rUA/strings.xml index 0823c5228c..1f7736989d 100644 --- a/commons/src/commonMain/composeResources/values-uk-rUA/strings.xml +++ b/commons/src/commonMain/composeResources/values-uk-rUA/strings.xml @@ -4,4 +4,16 @@ Злито Закрито Чернетка + + Birdex · %1$d вид + Birdex · %1$d види + Birdex · %1$d видів + Birdex · %1$d виду + + + %1$s +%2$d більше + %1$s +%2$d більше + %1$s +%2$d більше + %1$s +%2$d більше + diff --git a/commons/src/commonMain/composeResources/values-uk/strings.xml b/commons/src/commonMain/composeResources/values-uk/strings.xml index 0823c5228c..1f7736989d 100644 --- a/commons/src/commonMain/composeResources/values-uk/strings.xml +++ b/commons/src/commonMain/composeResources/values-uk/strings.xml @@ -4,4 +4,16 @@ Злито Закрито Чернетка + + Birdex · %1$d вид + Birdex · %1$d види + Birdex · %1$d видів + Birdex · %1$d виду + + + %1$s +%2$d більше + %1$s +%2$d більше + %1$s +%2$d більше + %1$s +%2$d більше + diff --git a/commons/src/commonMain/composeResources/values-uz-rUZ/strings.xml b/commons/src/commonMain/composeResources/values-uz-rUZ/strings.xml index 3df95765ab..f867cfee8b 100644 --- a/commons/src/commonMain/composeResources/values-uz-rUZ/strings.xml +++ b/commons/src/commonMain/composeResources/values-uz-rUZ/strings.xml @@ -4,4 +4,12 @@ Birlashtirilgan Yopiq Qoralama + + Birdex · %1$d tur + Birdex · %1$d tur + + + %1$s +%2$d ta ko\'proq + %1$s +%2$d ta ko\'proq + diff --git a/commons/src/commonMain/composeResources/values-vi-rVN/strings.xml b/commons/src/commonMain/composeResources/values-vi-rVN/strings.xml index 62dec03f44..d579a83919 100644 --- a/commons/src/commonMain/composeResources/values-vi-rVN/strings.xml +++ b/commons/src/commonMain/composeResources/values-vi-rVN/strings.xml @@ -4,4 +4,10 @@ Đã hợp nhất Đã đóng Nháp + + Birdex · %1$d loài + + + %1$s +%2$d khác + diff --git a/commons/src/commonMain/composeResources/values-zh-rCN/strings.xml b/commons/src/commonMain/composeResources/values-zh-rCN/strings.xml index e3af404d54..d2d301218a 100644 --- a/commons/src/commonMain/composeResources/values-zh-rCN/strings.xml +++ b/commons/src/commonMain/composeResources/values-zh-rCN/strings.xml @@ -8,4 +8,11 @@ %1$d 个文件已更改 + 鸟类检测 + + Birdex · %1$d 个物种 + + + %1$s + 另%2$d + diff --git a/commons/src/commonMain/composeResources/values-zh-rHK/strings.xml b/commons/src/commonMain/composeResources/values-zh-rHK/strings.xml index 99aa70ec8b..ae163eb439 100644 --- a/commons/src/commonMain/composeResources/values-zh-rHK/strings.xml +++ b/commons/src/commonMain/composeResources/values-zh-rHK/strings.xml @@ -4,4 +4,10 @@ 已合并 已关闭 草稿 + + Birdex · %1$d 个物种 + + + %1$s + 另%2$d + diff --git a/commons/src/commonMain/composeResources/values-zh-rSG/strings.xml b/commons/src/commonMain/composeResources/values-zh-rSG/strings.xml index 99aa70ec8b..ae163eb439 100644 --- a/commons/src/commonMain/composeResources/values-zh-rSG/strings.xml +++ b/commons/src/commonMain/composeResources/values-zh-rSG/strings.xml @@ -4,4 +4,10 @@ 已合并 已关闭 草稿 + + Birdex · %1$d 个物种 + + + %1$s + 另%2$d + diff --git a/commons/src/commonMain/composeResources/values-zh-rTW/strings.xml b/commons/src/commonMain/composeResources/values-zh-rTW/strings.xml index 9afbc81bb3..f9e7f500f6 100644 --- a/commons/src/commonMain/composeResources/values-zh-rTW/strings.xml +++ b/commons/src/commonMain/composeResources/values-zh-rTW/strings.xml @@ -4,4 +4,10 @@ 已合併 已關閉 草稿 + + Birdex · %1$d 個物種 + + + %1$s 還有 %2$d 個 + diff --git a/commons/src/commonMain/composeResources/values-zh/strings.xml b/commons/src/commonMain/composeResources/values-zh/strings.xml index 99aa70ec8b..ae163eb439 100644 --- a/commons/src/commonMain/composeResources/values-zh/strings.xml +++ b/commons/src/commonMain/composeResources/values-zh/strings.xml @@ -4,4 +4,10 @@ 已合并 已关闭 草稿 + + Birdex · %1$d 个物种 + + + %1$s + 另%2$d + diff --git a/commons/src/commonMain/composeResources/values/strings.xml b/commons/src/commonMain/composeResources/values/strings.xml index ad9b6f87f7..c284b6612f 100644 --- a/commons/src/commonMain/composeResources/values/strings.xml +++ b/commons/src/commonMain/composeResources/values/strings.xml @@ -110,4 +110,13 @@ %1$d file changed %1$d files changed + Bird detection + + Birdex · %1$d species + Birdex · %1$d species + + + %1$s +%2$d more + %1$s +%2$d more + diff --git a/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/ui/note/BirdexCard.kt b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/ui/note/BirdexCard.kt new file mode 100644 index 0000000000..4c8542156c --- /dev/null +++ b/commons/src/commonMain/kotlin/com/vitorpamplona/amethyst/commons/ui/note/BirdexCard.kt @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2025 Vitor Pamplona + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to use, + * copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the + * Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ +package com.vitorpamplona.amethyst.commons.ui.note + +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text +import androidx.compose.runtime.Composable +import androidx.compose.runtime.remember +import androidx.compose.ui.Modifier +import androidx.compose.ui.text.font.FontStyle +import androidx.compose.ui.text.style.TextOverflow +import androidx.compose.ui.unit.dp +import com.vitorpamplona.amethyst.commons.resources.Res +import com.vitorpamplona.amethyst.commons.resources.bird_detection_title +import com.vitorpamplona.amethyst.commons.resources.birdex_species_count +import com.vitorpamplona.amethyst.commons.resources.birdex_species_preview_more +import com.vitorpamplona.amethyst.commons.ui.components.ClickableUrl +import com.vitorpamplona.amethyst.commons.ui.theme.placeholderText +import com.vitorpamplona.amethyst.commons.ui.theme.replyModifier +import com.vitorpamplona.quartz.experimental.birdstar.BirdDetectionEvent +import com.vitorpamplona.quartz.experimental.birdstar.BirdexEvent +import org.jetbrains.compose.resources.pluralStringResource +import org.jetbrains.compose.resources.stringResource + +/** How many species names to list before collapsing into a "+N more" suffix. */ +private const val SPECIES_PREVIEW_LIMIT = 6 + +/** Bird emoji prefix shared by both Birdstar card titles. */ +private const val BIRD_PREFIX = "🐦 " + +/** + * Minimal, fixed-size summary card for a Birdstar "Birdex" (kind 12473). + * + * The event has no body and no images, only a species list. To keep the card + * bounded regardless of how many species a Birdex holds, we show the count and a + * short preview of scientific names with a "+N more" suffix — no images, no + * expansion, no network calls. The card is identical in the feed and the opened + * view, so it takes no makeItShort flag. + */ +@Composable +fun BirdexCard(noteEvent: BirdexEvent) { + val names = remember(noteEvent) { noteEvent.speciesNames() } + val preview = remember(names) { names.take(SPECIES_PREVIEW_LIMIT) } + val remaining = names.size - preview.size + val joined = remember(preview) { preview.joinToString(", ") } + + Column(MaterialTheme.colorScheme.replyModifier.padding(10.dp)) { + Text( + text = BIRD_PREFIX + pluralStringResource(Res.plurals.birdex_species_count, names.size, names.size), + style = MaterialTheme.typography.titleMedium, + ) + + if (preview.isNotEmpty()) { + Spacer(Modifier.height(6.dp)) + Text( + text = + if (remaining > 0) { + pluralStringResource(Res.plurals.birdex_species_preview_more, remaining, joined, remaining) + } else { + joined + }, + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.placeholderText, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + ) + } + } +} + +/** + * Minimal card for a single Birdstar bird detection (kind 2473). + * + * The event has no body and no images. The title is the common name parsed from + * the publisher's `alt` tag (a generic label when absent), and the scientific + * name renders as an italic link to the Wikidata species entry from the `i` tag + * when one is present. The `g` geohash is surfaced by the generic note-location + * UI, not here. + */ +@Composable +fun BirdDetectionCard(noteEvent: BirdDetectionEvent) { + val detection = + remember(noteEvent) { + BirdDetectionInfo( + commonName = noteEvent.commonName(), + species = noteEvent.speciesName(), + reference = noteEvent.speciesReference(), + ) + } + + Column(MaterialTheme.colorScheme.replyModifier.padding(10.dp)) { + Text( + text = BIRD_PREFIX + (detection.commonName ?: stringResource(Res.string.bird_detection_title)), + style = MaterialTheme.typography.titleMedium, + maxLines = 2, + overflow = TextOverflow.Ellipsis, + ) + + if (detection.species != null) { + Spacer(Modifier.height(6.dp)) + if (detection.reference != null) { + val typography = MaterialTheme.typography + val speciesStyle = remember(typography) { typography.bodyMedium.copy(fontStyle = FontStyle.Italic) } + ClickableUrl( + url = detection.reference, + displayText = detection.species, + style = speciesStyle, + ) + } else { + Text( + text = detection.species, + style = MaterialTheme.typography.bodyMedium, + fontStyle = FontStyle.Italic, + color = MaterialTheme.colorScheme.placeholderText, + maxLines = 1, + overflow = TextOverflow.Ellipsis, + ) + } + } + } +} + +/** Tag values parsed once per event for the detection card. */ +private class BirdDetectionInfo( + val commonName: String?, + val species: String?, + val reference: String?, +)