Fix french plurals (#464)

* Fix french plurals

* Fix english

---------

Co-authored-by: Thomas Ricouard <ricouard77@gmail.com>
This commit is contained in:
Jérôme Danthinne 2023-01-28 10:14:07 +01:00 committed by GitHub
parent ffcb0574cc
commit 5b310842a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 131 additions and 71 deletions

View file

@ -18,21 +18,85 @@
<string>%lld nouveaux postes</string>
</dict>
</dict>
<key>notifications-others-count %lld</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@noficationsOthersCount@</string>
<key>noficationsOthersCount</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>lld</string>
<key>one</key>
<string> et %lld autre </string>
<key>other</key>
<string> et %lld autres </string>
</dict>
</dict>
<key>notifications-others-count %lld</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@noficationsOthersCount@</string>
<key>noficationsOthersCount</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>lld</string>
<key>one</key>
<string> et %lld autre </string>
<key>other</key>
<string> et %lld autres </string>
</dict>
</dict>
<key>notifications.label.mention %lld</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@count@</string>
<key>count</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>lld</string>
<key>one</key>
<string>vous a mentionné</string>
<key>other</key>
<string>vous ont mentionné</string>
</dict>
</dict>
<key>notifications.label.follow %lld</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@count@</string>
<key>count</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>lld</string>
<key>one</key>
<string>vous suit</string>
<key>other</key>
<string>vous suivent</string>
</dict>
</dict>
<key>notifications.label.reblog %lld</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@count@</string>
<key>count</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>lld</string>
<key>one</key>
<string>a boosté</string>
<key>other</key>
<string>ont boosté</string>
</dict>
</dict>
<key>notifications.label.favorite %lld</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>%#@count@</string>
<key>count</key>
<dict>
<key>NSStringFormatSpecTypeKey</key>
<string>NSStringPluralRuleType</string>
<key>NSStringFormatValueTypeKey</key>
<string>lld</string>
<key>one</key>
<string>aime</string>
<key>other</key>
<string>aiment</string>
</dict>
</dict>
</dict>
</plist>

View file

@ -260,12 +260,12 @@
"notifications.empty.title" = "Keine Benachrichtigungen";
"notifications.error.message" = "Beim Laden deiner Benachrichtigungen ist ein Fehler aufgetreten, bitte versuch es erneut.";
"notifications.error.title" = "Ein Fehler ist aufgetreten";
"notifications.label.favorite" = "hat favorisiert";
"notifications.label.follow" = "folgt dir jetzt";
"notifications.label.favorite %lld" = "hat favorisiert";
"notifications.label.follow %lld" = "folgt dir jetzt";
"notifications.label.follow-request" = "möchte dir folgen";
"notifications.label.mention" = "hat dich erwähnt";
"notifications.label.mention %lld" = "hat dich erwähnt";
"notifications.label.poll" = "Umfrage beendet";
"notifications.label.reblog" = "hat geboostet";
"notifications.label.reblog %lld" = "hat geboostet";
"notifications.label.status" = "hat einen Beitrag gepostet";
"notifications.label.update" = "hat einen Beitrag geändert";
"notifications.menu-title.favorite" = "Favorit";

View file

@ -258,12 +258,12 @@
"notifications.empty.title" = "No notifications";
"notifications.error.message" = "An error occurred while loading your notifications, please try again.";
"notifications.error.title" = "An error occurred";
"notifications.label.favorite" = "starred";
"notifications.label.follow" = "followed you";
"notifications.label.follow-request" = "requested to follow you";
"notifications.label.mention" = "mentioned you";
"notifications.label.favorite %lld" = "starred";
"notifications.label.follow %lld" = "followed you";
"notifications.label.mention %lld" = "mentioned you";
"notifications.label.reblog %lld" = "boosted";
"notifications.label.poll" = "poll ended";
"notifications.label.reblog" = "boosted";
"notifications.label.follow-request" = "requested to follow you";
"notifications.label.status" = "posted a status";
"notifications.label.update" = "edited a post";
"notifications.menu-title.favorite" = "Favorite";

View file

@ -258,12 +258,12 @@
"notifications.empty.title" = "No hay notificaciones";
"notifications.error.message" = "Ha ocurrido un error al cargar tus notificaciones, por favor vuelve a intentarlo.";
"notifications.error.title" = "Ha ocurrido un error";
"notifications.label.favorite" = "marcó como favorito";
"notifications.label.follow" = "te siguió";
"notifications.label.favorite %lld" = "marcó como favorito";
"notifications.label.follow %lld" = "te siguió";
"notifications.label.follow-request" = "solicitó seguirte";
"notifications.label.mention" = "te mencionó";
"notifications.label.mention %lld" = "te mencionó";
"notifications.label.poll" = "terminó una encuesta";
"notifications.label.reblog" = "retooteó";
"notifications.label.reblog %lld" = "retooteó";
"notifications.label.status" = "publicó un estado";
"notifications.label.update" = "editó una publicación";
"notifications.menu-title.favorite" = "Favoritos";

View file

@ -258,12 +258,8 @@
"notifications.empty.title" = "Aucune notification";
"notifications.error.message" = "Une erreur s'est produite lors du chargement de vos notifications, veuillez réessayer.";
"notifications.error.title" = "Une erreur s'est produite";
"notifications.label.favorite" = "aime";
"notifications.label.follow" = "vous suive";
"notifications.label.follow-request" = "a demandé à vous suivre";
"notifications.label.mention" = "vous a mentionné";
"notifications.label.poll" = "sondage terminé";
"notifications.label.reblog" = "boosté";
"notifications.label.status" = "a posté un statut";
"notifications.label.update" = "a modifié un post";
"notifications.menu-title.favorite" = "Favori";
@ -347,7 +343,7 @@
"status.poll.frequency" = "Fréquence de sondage";
"status.poll.option-n %lld" = "Option %lld";
"status.post-from-%@" = "Publication de %@";
"status.row.was-boosted" = "boostée";
"status.row.was-boosted" = "a boosté";
"status.row.was-reply" = "Répondu à";
"status.row.you-boosted" = "Vous avez boosté";
"status.show-less" = "Afficher moins";

View file

@ -259,12 +259,12 @@
"notifications.empty.title" = "Nessuna notifica";
"notifications.error.message" = "Si è verificato un errore durante il caricamento delle notifiche, per favore riprova.";
"notifications.error.title" = "Si è verificato un errore";
"notifications.label.favorite" = "ha apprezzato il tuo post";
"notifications.label.follow" = "ti segue";
"notifications.label.favorite %lld" = "ha apprezzato il tuo post";
"notifications.label.follow %lld" = "ti segue";
"notifications.label.follow-request" = "ha chiesto di seguirti";
"notifications.label.mention" = "ti ha menzionato";
"notifications.label.mention %lld" = "ti ha menzionato";
"notifications.label.poll" = "votazione conclusa";
"notifications.label.reblog" = "ha condiviso";
"notifications.label.reblog %lld" = "ha condiviso";
"notifications.label.status" = "ha pubblicato uno stato";
"notifications.label.update" = "ha modificato un post";
"notifications.menu-title.favorite" = "Preferiti";

View file

@ -241,12 +241,12 @@
"notifications.empty.title" = "通知無し";
"notifications.error.message" = "通知の読み込み中にエラーが発生しました、もう一度試してください";
"notifications.error.title" = "エラーが発生しました";
"notifications.label.favorite" = "お気に入り";
"notifications.label.follow" = "フォローされました";
"notifications.label.favorite %lld" = "お気に入り";
"notifications.label.follow %lld" = "フォローされました";
"notifications.label.follow-request" = "フォローリクエストが届いています";
"notifications.label.mention" = "あなたについて言及されています";
"notifications.label.mention %lld" = "あなたについて言及されています";
"notifications.label.poll" = "投票終了";
"notifications.label.reblog" = "ブーストしました";
"notifications.label.reblog %lld" = "ブーストしました";
"notifications.label.status" = "投稿されたステータス";
"notifications.label.update" = "編集済み";
"notifications.menu-title.favorite" = "お気に入り";

View file

@ -258,12 +258,12 @@
"notifications.empty.title" = "Ingen varsler";
"notifications.error.message" = "Det oppsto en feil under innlasting av varslene dine. Prøv på nytt.";
"notifications.error.title" = "En feil oppstod";
"notifications.label.favorite" = "stjernet";
"notifications.label.follow" = "fulgte deg";
"notifications.label.favorite %lld" = "stjernet";
"notifications.label.follow %lld" = "fulgte deg";
"notifications.label.follow-request" = "ba om å følge deg";
"notifications.label.mention" = "nevnte deg";
"notifications.label.mention %lld" = "nevnte deg";
"notifications.label.poll" = "avstemningen avsluttet";
"notifications.label.reblog" = "forsterket";
"notifications.label.reblog %lld" = "forsterket";
"notifications.label.status" = "har lagt ut en status";
"notifications.label.update" = "redigerte et innlegg";
"notifications.menu-title.favorite" = "Favoritt";

View file

@ -256,12 +256,12 @@
"notifications.empty.title" = "Geen notificaties";
"notifications.error.message" = "Er heeft zich een fout voorgedaan tijdens het laden van je notificaties. Probeer het nogmaals.";
"notifications.error.title" = "Er heeft zich een fout voorgedaan";
"notifications.label.favorite" = "gefavoriet";
"notifications.label.follow" = "volgt jou";
"notifications.label.favorite %lld" = "gefavoriet";
"notifications.label.follow %lld" = "volgt jou";
"notifications.label.follow-request" = "wil je volgen";
"notifications.label.mention" = "heeft jou vermeld";
"notifications.label.mention %lld" = "heeft jou vermeld";
"notifications.label.poll" = "poll beëindigd";
"notifications.label.reblog" = "boostte";
"notifications.label.reblog %lld" = "boostte";
"notifications.label.status" = "nieuwe status";
"notifications.label.update" = "wijzigde een post";
"notifications.menu-title.favorite" = "Favoriet";

View file

@ -258,12 +258,12 @@
"notifications.empty.title" = "Brak powiadomień";
"notifications.error.message" = "Podczas ładowania powiadomień wystąpił błąd, proszę spróbować ponownie.";
"notifications.error.title" = "Wystąpił błąd";
"notifications.label.favorite" = "polubiony";
"notifications.label.follow" = "obserwuje cię";
"notifications.label.favorite %lld" = "polubiony";
"notifications.label.follow %lld" = "obserwuje cię";
"notifications.label.follow-request" = "prosił(a) o obserwowanie cię";
"notifications.label.mention" = "wymienił cię";
"notifications.label.mention %lld" = "wymienił cię";
"notifications.label.poll" = "sondaż zakończony";
"notifications.label.reblog" = "podbił";
"notifications.label.reblog %lld" = "podbił";
"notifications.label.status" = "opublikował status";
"notifications.label.update" = "edytował(a) post";
"notifications.menu-title.favorite" = "Polubione";

View file

@ -258,12 +258,12 @@
"notifications.empty.title" = "Sem notificações";
"notifications.error.message" = "Ocorreu um erro enquanto suas notificações eram carregadas, por favor, tente novamente.";
"notifications.error.title" = "Ocorreu um erro";
"notifications.label.favorite" = "favoritou";
"notifications.label.follow" = "seguiu você";
"notifications.label.favorite %lld" = "favoritou";
"notifications.label.follow %lld" = "seguiu você";
"notifications.label.follow-request" = "pediu para te seguir";
"notifications.label.mention" = "mencionou você";
"notifications.label.mention %lld" = "mencionou você";
"notifications.label.poll" = "votação encerrada";
"notifications.label.reblog" = "boosted";
"notifications.label.reblog %lld" = "boosted";
"notifications.label.status" = "postou um status";
"notifications.label.update" = "editou uma postagem";
"notifications.menu-title.favorite" = "Favorito";

View file

@ -240,12 +240,12 @@
"notifications.empty.title" = "Yeni bildirim yok";
"notifications.error.message" = "Bildirimlerinizi yüklerken bir hata oluştu, lütfen tekrar deneyin.";
"notifications.error.title" = "Bir hata oluştu";
"notifications.label.favorite" = "favorilendi";
"notifications.label.follow" = "seni takip etti";
"notifications.label.favorite %lld" = "favorilendi";
"notifications.label.follow %lld" = "seni takip etti";
"notifications.label.follow-request" = "seni takip etmek istiyor";
"notifications.label.mention" = "senden bahsetti";
"notifications.label.mention %lld" = "senden bahsetti";
"notifications.label.poll" = "anket sona erdi";
"notifications.label.reblog" = "yükseltildi";
"notifications.label.reblog %lld" = "yükseltildi";
"notifications.label.status" = "bir durum paylaştı";
"notifications.label.update" = "bir gönderiyi düzenledi";
"notifications.menu-title.favorite" = "Favori";

View file

@ -258,12 +258,12 @@
"notifications.empty.title" = "没有更早的通知";
"notifications.error.message" = "加载通知时出错,请重试。";
"notifications.error.title" = "出现了一个错误";
"notifications.label.favorite" = "星标";
"notifications.label.follow" = "关注了你";
"notifications.label.favorite %lld" = "星标";
"notifications.label.follow %lld" = "关注了你";
"notifications.label.follow-request" = "关注申请";
"notifications.label.mention" = "提及了你";
"notifications.label.mention %lld" = "提及了你";
"notifications.label.poll" = "投票结束";
"notifications.label.reblog" = "已转发";
"notifications.label.reblog %lld" = "已转发";
"notifications.label.status" = "嘟嘟了一个状态";
"notifications.label.update" = "编辑了一个嘟文";
"notifications.menu-title.favorite" = "收藏";

View file

@ -86,7 +86,7 @@ struct NotificationRowView: View {
.font(.scaledSubheadline)
.fontWeight(.regular)
: Text(" ")) +
Text(type.label())
Text(type.label(count: notification.accounts.count))
.font(.scaledSubheadline)
.fontWeight(.regular) +
Text("")

View file

@ -2,20 +2,20 @@ import Models
import SwiftUI
extension Models.Notification.NotificationType {
func label() -> LocalizedStringKey {
func label(count: Int) -> LocalizedStringKey {
switch self {
case .status:
return "notifications.label.status"
case .mention:
return ""
case .reblog:
return "notifications.label.reblog"
return "notifications.label.reblog \(count)"
case .follow:
return "notifications.label.follow"
return "notifications.label.follow \(count)"
case .follow_request:
return "notifications.label.follow-request"
case .favourite:
return "notifications.label.favorite"
return "notifications.label.favorite \(count)"
case .poll:
return "notifications.label.poll"
case .update: