From cbcef63258b074b41d43d17fab2cd6438d28523f Mon Sep 17 00:00:00 2001 From: Pierre-Yves Lapersonne Date: Mon, 11 May 2026 16:39:48 +0200 Subject: [PATCH] fix: plural form of pinned toots header (Dimillian/IceCubesApp#2463) Fix the plural form of the header for pinned toots section. If there is only one pinned too, keep the previous wording in singular form without count. If there is at least two pinned toots, use a plural form witth a count. Thus it will improve the User eXperience by precising clearly there are several pinned toots and how many. Closes Dimillian/IceCubesApp#2463 Signed-off-by: Pierre-Yves Lapersonne --- .../Localization/Localizable.xcstrings | 338 +++++++++++++++--- .../Account/Detail/Tabs/StatusesTab.swift | 2 +- 2 files changed, 281 insertions(+), 59 deletions(-) diff --git a/IceCubesApp/Resources/Localization/Localizable.xcstrings b/IceCubesApp/Resources/Localization/Localizable.xcstrings index 862717ab9..c9e5050a0 100644 --- a/IceCubesApp/Resources/Localization/Localizable.xcstrings +++ b/IceCubesApp/Resources/Localization/Localizable.xcstrings @@ -17822,121 +17822,343 @@ } } }, - "account.post.pinned" : { + "account.post.pinned %lld" : { "extractionState" : "manual", "localizations" : { "be" : { - "stringUnit" : { - "state" : "translated", - "value" : "Замацаваны допіс" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Замацаваны допіс" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld замацаваныя допісы" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld замацаваных допісаў" + } + } + } } }, "ca" : { - "stringUnit" : { - "state" : "translated", - "value" : "Publicació fixada" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publicació fixada" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld publicacions fixades" + } + } + } } }, "de" : { - "stringUnit" : { - "state" : "translated", - "value" : "Angehefteter Beitrag" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Angehefteter Beitrag" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld angeheftete Beiträge" + } + } + } } }, "en" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pinned post" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pinned post" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld pinned posts" + } + } + } } }, "en-GB" : { - "stringUnit" : { - "state" : "translated", - "value" : "Pinned post" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Pinned post" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld pinned posts" + } + } + } } }, "es" : { - "stringUnit" : { - "state" : "translated", - "value" : "Publicación fijada" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publicación fijada" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld publicaciones fijadas" + } + } + } } }, "eu" : { - "stringUnit" : { - "state" : "translated", - "value" : "Finkatutako bidalketa" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Finkatutako bidalketa" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld finkatutako bidalketa" + } + } + } } }, "fr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Publication épinglée" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Publication épinglée" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld publications épinglées" + } + } + } } }, "it" : { - "stringUnit" : { - "state" : "translated", - "value" : "Post fissato" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Post fissato" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld post fissati" + } + } + } } }, "ja" : { - "stringUnit" : { - "state" : "translated", - "value" : "固定した投稿" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld件の固定した投稿" + } + } + } } }, "ko" : { - "stringUnit" : { - "state" : "translated", - "value" : "고정된 글" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld개의 고정된 글" + } + } + } } }, "nb" : { - "stringUnit" : { - "state" : "translated", - "value" : "Festet innlegg" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Festet innlegg" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld festede innlegg" + } + } + } } }, "nl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Vastgezette post" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Vastgezette post" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld vastgezette posts" + } + } + } } }, "pl" : { - "stringUnit" : { - "state" : "translated", - "value" : "Przypięty post" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Przypięty post" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld przypięte posty" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld przypiętych postów" + } + } + } } }, "pt-BR" : { - "stringUnit" : { - "state" : "translated", - "value" : "Postagem fixada" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Postagem fixada" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld postagens fixadas" + } + } + } } }, "tr" : { - "stringUnit" : { - "state" : "translated", - "value" : "Sabitlenmiş Gösteri" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Sabitlenmiş gönderi" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld sabitlenmiş gönderi" + } + } + } } }, "uk" : { - "stringUnit" : { - "state" : "translated", - "value" : "Закріплений допис" + "variations" : { + "plural" : { + "one" : { + "stringUnit" : { + "state" : "translated", + "value" : "Закріплений допис" + } + }, + "few" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld закріплені дописи" + } + }, + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld закріплених дописів" + } + } + } } }, "zh-Hans" : { - "stringUnit" : { - "state" : "translated", - "value" : "置顶嘟文" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld条置顶嘟文" + } + } + } } }, "zh-Hant" : { - "stringUnit" : { - "state" : "translated", - "value" : "釘選嘟文" + "variations" : { + "plural" : { + "other" : { + "stringUnit" : { + "state" : "translated", + "value" : "%lld則釘選嘟文" + } + } + } } } } diff --git a/Packages/Account/Sources/Account/Detail/Tabs/StatusesTab.swift b/Packages/Account/Sources/Account/Detail/Tabs/StatusesTab.swift index 8197a0fa2..bb40a75b2 100644 --- a/Packages/Account/Sources/Account/Detail/Tabs/StatusesTab.swift +++ b/Packages/Account/Sources/Account/Detail/Tabs/StatusesTab.swift @@ -125,7 +125,7 @@ private struct StatusesTabView: View { @ViewBuilder private var pinnedPostsView: some View { - Label("account.post.pinned", systemImage: "pin.fill") + Label("account.post.pinned \(fetcher.pinned.count)", systemImage: "pin.fill") .accessibilityAddTraits(.isHeader) .font(.scaledFootnote) .foregroundStyle(.secondary)