diff --git a/components/email/__tests__/thread-conversation-actions.test.tsx b/components/email/__tests__/thread-conversation-actions.test.tsx index 8baf6b74f..ae00644d1 100644 --- a/components/email/__tests__/thread-conversation-actions.test.tsx +++ b/components/email/__tests__/thread-conversation-actions.test.tsx @@ -70,3 +70,32 @@ describe('phone conversation header', () => { expect(screen.getByRole('heading', { level: 1 }).className).toContain('line-clamp-2'); }); }); + +// In Arabic the per-message "Reply all" and "Forward" were cut with no way to +// read them, and the count said "3 رسالة" (one form for every number). +describe('phone conversation messages', () => { + it('counts the messages with the plural message', () => { + renderView({}); + expect(screen.getByText('threads.messages_count')).toBeTruthy(); + }); + + it('wraps the reply buttons instead of cutting their names', () => { + render( + {}} + onReply={() => {}} + onReplyAll={() => {}} + onForward={() => {}} + />, + ); + const replyAll = screen.getByRole('button', { name: 'email_viewer.reply_all' }); + expect(replyAll.parentElement?.className).toContain('flex-wrap'); + for (const name of ['email_viewer.reply', 'email_viewer.reply_all', 'email_viewer.forward']) { + const button = screen.getByRole('button', { name }); + expect(button.className).not.toContain('min-w-0'); + expect(button.querySelector('.truncate')).toBeNull(); + } + }); +}); diff --git a/components/email/thread-conversation-view.tsx b/components/email/thread-conversation-view.tsx index de56fab90..fd4704675 100644 --- a/components/email/thread-conversation-view.tsx +++ b/components/email/thread-conversation-view.tsx @@ -263,7 +263,7 @@ export function ThreadConversationView({ {thread.latestEmail.subject || t("email_viewer.no_subject")}

- {t("threads.messages_other", { count: emails.length })} + {t("threads.messages_count", { count: emails.length })}

{actions && } @@ -436,8 +436,9 @@ function EmailCard({ {/* Action Buttons; plugin reader actions behind a "more" button, as - in the single reader's More panel on phones. */} -
+ in the single reader's More panel on phones. Long names (Arabic + "Reply all") wrap to a second line instead of being cut. */} +
{onReply && ( )} {onReplyAll && ( @@ -460,10 +461,10 @@ function EmailCard({ e.stopPropagation(); onReplyAll(); }} - className="flex-1 min-w-0 px-2 whitespace-nowrap" + className="flex-auto px-2 whitespace-nowrap" > - {t("email_viewer.reply_all")} + {t("email_viewer.reply_all")} )} {onForward && ( @@ -474,10 +475,10 @@ function EmailCard({ e.stopPropagation(); onForward(); }} - className="flex-1 min-w-0 px-2 whitespace-nowrap" + className="flex-auto px-2 whitespace-nowrap" > - {t("email_viewer.forward")} + {t("email_viewer.forward")} )} expect(threadFetch).toHaveBeenCalled()); - await screen.findByText('threads.messages_other'); + await screen.findByText('threads.messages_count'); return threadFetch; } diff --git a/lib/__tests__/translations.test.ts b/lib/__tests__/translations.test.ts index 46cde5bf8..962c2de79 100644 --- a/lib/__tests__/translations.test.ts +++ b/lib/__tests__/translations.test.ts @@ -241,3 +241,25 @@ describe('mail menu labels', () => { expect(resolveKey(loadLocale(locale), 'email_viewer.keyboard_shortcuts')).not.toMatch(/[((][??؟][))]/); }); }); + +describe('message counts', () => { + // The phone conversation said "3 رسالة": it used the hand-made "other" + // form for every count, and several plural messages missed the forms + // their language has (Arabic two/few/many, Russian few). + const KEYS = ['threads.messages_count', 'threads.messages_tooltip']; + const branches = (message: string) => new Set([...message.matchAll(/(?:^|[}\s,])(zero|one|two|few|many|other)\s*\{/g)].map((m) => m[1])); + + it.each(locales)('%s has a plural form for every whole count', (locale) => { + const table = loadLocale(locale); + const rules = new Intl.PluralRules(locale); + const needed = new Set(); + for (let n = 0; n <= 200; n++) needed.add(rules.select(n)); + const missing = KEYS.flatMap((key) => { + const message = resolveKey(table, key); + if (typeof message !== 'string' || !message.includes('plural')) return [`${key}: not a plural message`]; + const have = branches(message); + return [...needed].filter((form) => !have.has(form)).map((form) => `${key}: ${form}`); + }); + expect(missing).toEqual([]); + }); +}); diff --git a/locales/ar/common.json b/locales/ar/common.json index 4f6d1ad11..ddc9d4627 100644 --- a/locales/ar/common.json +++ b/locales/ar/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} رسالة", - "messages_other": "{count} رسالة", - "messages_tooltip": "{count, plural, one {# رسالة في هذه المحادثة} other {# رسالة في هذه المحادثة}}", + "messages_tooltip": "{count, plural, zero {لا رسائل في هذه المحادثة} one {رسالة واحدة في هذه المحادثة} two {رسالتان في هذه المحادثة} few {# رسائل في هذه المحادثة} many {# رسالة في هذه المحادثة} other {# رسالة في هذه المحادثة}}", "expand": "توسيع المحادثة", "collapse": "طي المحادثة", "loading": "جارٍ تحميل المحادثة...", @@ -3092,7 +3090,8 @@ "delete": "حذف المحادثة", "star": "تمييز المحادثة بنجمة", "unstar": "إزالة النجمة عن المحادثة", - "toggle_thread": "تبديل عرض المحادثة" + "toggle_thread": "تبديل عرض المحادثة", + "messages_count": "{count, plural, zero {لا رسائل} one {رسالة واحدة} two {رسالتان} few {# رسائل} many {# رسالة} other {# رسالة}}" }, "identities": { "modal_title": "إدارة هويات الإرسال", diff --git a/locales/ca/common.json b/locales/ca/common.json index a95d48080..76f386da0 100644 --- a/locales/ca/common.json +++ b/locales/ca/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} missatge", - "messages_other": "{count} missatges", "messages_tooltip": "{count, plural, one {# missatge en aquesta conversa} other {# missatges en aquesta conversa}}", "expand": "Desplega la conversa", "collapse": "Replega la conversa", @@ -3092,7 +3090,8 @@ "delete": "Suprimeix la conversa", "star": "Marca la conversa amb estrella", "unstar": "Treu l'estrella de la conversa", - "toggle_thread": "Commuta el fil" + "toggle_thread": "Commuta el fil", + "messages_count": "{count, plural, one {# missatge} other {# missatges}}" }, "identities": { "modal_title": "Gestiona les identitats d'enviament", diff --git a/locales/cs/common.json b/locales/cs/common.json index 7b96f5923..cbc653e45 100644 --- a/locales/cs/common.json +++ b/locales/cs/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} zpráva", - "messages_other": "{count} zpráv", - "messages_tooltip": "{count, plural, one {1 zpráva v této konverzaci} few {# zprávy v této konverzaci} other {# zpráv v této konverzaci}}", + "messages_tooltip": "{count, plural, one {# zpráva v této konverzaci} few {# zprávy v této konverzaci} many {# zprávy v této konverzaci} other {# zpráv v této konverzaci}}", "expand": "Rozbalit konverzaci", "collapse": "Sbalit konverzaci", "loading": "Načítání konverzace...", @@ -3092,7 +3090,8 @@ "delete": "Odstranit konverzaci", "star": "Označit konverzaci hvězdičkou", "unstar": "Odebrat hvězdičku z konverzace", - "toggle_thread": "Přepnout zobrazení vlákna" + "toggle_thread": "Přepnout zobrazení vlákna", + "messages_count": "{count, plural, one {# zpráva} few {# zprávy} many {# zprávy} other {# zpráv}}" }, "identities": { "modal_title": "Správa identit odesílatele", diff --git a/locales/da/common.json b/locales/da/common.json index e481430e3..8f6637971 100644 --- a/locales/da/common.json +++ b/locales/da/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} besked", - "messages_other": "{count} beskeder", "messages_tooltip": "{count, plural, one {# besked i denne samtale} other {# beskeder i denne samtale}}", "expand": "Udvid samtale", "collapse": "Skjul samtale", @@ -3092,7 +3090,8 @@ "delete": "Slet samtale", "star": "Stjernemarkér samtale", "unstar": "Fjern stjernemarkering", - "toggle_thread": "Slå tråd til/fra" + "toggle_thread": "Slå tråd til/fra", + "messages_count": "{count, plural, one {# besked} other {# beskeder}}" }, "identities": { "modal_title": "Administrér afsenderidentiteter", diff --git a/locales/de/common.json b/locales/de/common.json index 297eca3f2..446ee7df3 100644 --- a/locales/de/common.json +++ b/locales/de/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} Nachricht", - "messages_other": "{count} Nachrichten", "messages_tooltip": "{count, plural, one {# Nachricht in dieser Unterhaltung} other {# Nachrichten in dieser Unterhaltung}}", "expand": "Unterhaltung erweitern", "collapse": "Unterhaltung einklappen", @@ -3092,7 +3090,8 @@ "delete": "Unterhaltung löschen", "star": "Unterhaltung mit Stern markieren", "unstar": "Stern von Unterhaltung entfernen", - "toggle_thread": "Unterhaltung ein-/ausklappen" + "toggle_thread": "Unterhaltung ein-/ausklappen", + "messages_count": "{count, plural, one {# Nachricht} other {# Nachrichten}}" }, "identities": { "modal_title": "Sendeidentitäten verwalten", diff --git a/locales/en/common.json b/locales/en/common.json index e0fbf5beb..95a5c4986 100644 --- a/locales/en/common.json +++ b/locales/en/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} message", - "messages_other": "{count} messages", "messages_tooltip": "{count, plural, one {# message in this conversation} other {# messages in this conversation}}", "expand": "Expand conversation", "collapse": "Collapse conversation", @@ -3092,7 +3090,8 @@ "delete": "Delete conversation", "star": "Star conversation", "unstar": "Unstar conversation", - "toggle_thread": "Toggle thread" + "toggle_thread": "Toggle thread", + "messages_count": "{count, plural, one {# message} other {# messages}}" }, "identities": { "modal_title": "Manage sending identities", diff --git a/locales/es/common.json b/locales/es/common.json index 8de6c4b14..adde8f9b9 100644 --- a/locales/es/common.json +++ b/locales/es/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} mensaje", - "messages_other": "{count} mensajes", "messages_tooltip": "{count, plural, one {# mensaje en esta conversación} other {# mensajes en esta conversación}}", "expand": "Expandir conversación", "collapse": "Contraer conversación", @@ -3092,7 +3090,8 @@ "delete": "Eliminar conversación", "star": "Destacar conversación", "unstar": "Quitar destacado de conversación", - "toggle_thread": "Expandir/contraer hilo" + "toggle_thread": "Expandir/contraer hilo", + "messages_count": "{count, plural, one {# mensaje} other {# mensajes}}" }, "identities": { "modal_title": "Administrar Identidades de Envío", diff --git a/locales/et/common.json b/locales/et/common.json index 97cad7331..4de35a468 100644 --- a/locales/et/common.json +++ b/locales/et/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} sõnum", - "messages_other": "{count} sõnumit", "messages_tooltip": "{count, plural, one {# sõnum selles vestluses} other {# sõnumit selles vestluses}}", "expand": "Ava vestlus", "collapse": "Sulge vestlus", @@ -3092,7 +3090,8 @@ "delete": "Kustuta vestlus", "star": "Tähista vestlus", "unstar": "Eemalda vestluse tähistus", - "toggle_thread": "Lülita vestlus" + "toggle_thread": "Lülita vestlus", + "messages_count": "{count, plural, one {# sõnum} other {# sõnumit}}" }, "identities": { "modal_title": "Halda saatja identiteete", diff --git a/locales/fa/common.json b/locales/fa/common.json index c314a0dcc..2350ff9e0 100644 --- a/locales/fa/common.json +++ b/locales/fa/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} پیام", - "messages_other": "{count} پیام", "messages_tooltip": "{count, plural, one {# پیام در این مکالمه} other {# پیام در این مکالمه}}", "expand": "باز کردن مکالمه", "collapse": "جمع کردن مکالمه", @@ -3092,7 +3090,8 @@ "delete": "حذف مکالمه", "star": "ستاره‌دار کردن مکالمه", "unstar": "حذف ستاره مکالمه", - "toggle_thread": "تغییر وضعیت رشته" + "toggle_thread": "تغییر وضعیت رشته", + "messages_count": "{count, plural, one {# پیام} other {# پیام}}" }, "identities": { "modal_title": "مدیریت هویت‌های ارسال", diff --git a/locales/fr/common.json b/locales/fr/common.json index 48135dedd..a1d73edd6 100644 --- a/locales/fr/common.json +++ b/locales/fr/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} message", - "messages_other": "{count} messages", "messages_tooltip": "{count, plural, one {# message dans cette conversation} other {# messages dans cette conversation}}", "expand": "Développer la conversation", "collapse": "Réduire la conversation", @@ -3092,7 +3090,8 @@ "delete": "Supprimer la conversation", "star": "Marquer la conversation comme favorite", "unstar": "Retirer des favoris", - "toggle_thread": "Déplier/replier la discussion" + "toggle_thread": "Déplier/replier la discussion", + "messages_count": "{count, plural, one {# message} other {# messages}}" }, "identities": { "modal_title": "Gérer les identités d'envoi", diff --git a/locales/he/common.json b/locales/he/common.json index fde89865e..8e126417b 100644 --- a/locales/he/common.json +++ b/locales/he/common.json @@ -2998,9 +2998,7 @@ } }, "threads": { - "messages_one": "הודעת{count}", - "messages_other": "הודעות{count}", - "messages_tooltip": "{count, plural, one {הודעה אחת בשיחה זו} other {# הודעות בשיחה זו}}", + "messages_tooltip": "{count, plural, one {הודעה אחת בשיחה זו} two {שתי הודעות בשיחה זו} other {# הודעות בשיחה זו}}", "expand": "הרחב את השיחה", "collapse": "כווץ השיחה", "loading": "טוען שיחה...", @@ -3010,7 +3008,8 @@ "delete": "מחק את השיחה", "star": "שיחת כוכב", "unstar": "הסר שיחה בכוכב", - "toggle_thread": "החלף חוט" + "toggle_thread": "החלף חוט", + "messages_count": "{count, plural, one {הודעה אחת} two {שתי הודעות} other {# הודעות}}" }, "identities": { "modal_title": "ניהול זהויות שליחה", diff --git a/locales/hu/common.json b/locales/hu/common.json index ce0184d46..871bcbabf 100644 --- a/locales/hu/common.json +++ b/locales/hu/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} üzenet", - "messages_other": "{count} üzenet", "messages_tooltip": "{count, plural, one {# üzenet ebben a beszélgetésben} other {# üzenet ebben a beszélgetésben}}", "expand": "Beszélgetés kibontása", "collapse": "Beszélgetés összecsukása", @@ -3092,7 +3090,8 @@ "delete": "Beszélgetés törlése", "star": "Beszélgetés csillagozása", "unstar": "Beszélgetés csillagozásának megszüntetése", - "toggle_thread": "Beszélgetés váltása" + "toggle_thread": "Beszélgetés váltása", + "messages_count": "{count, plural, one {# üzenet} other {# üzenet}}" }, "identities": { "modal_title": "Küldő azonosságok kezelése", diff --git a/locales/it/common.json b/locales/it/common.json index 625e3b57b..7ce2a014d 100644 --- a/locales/it/common.json +++ b/locales/it/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} messaggio", - "messages_other": "{count} messaggi", "messages_tooltip": "{count, plural, one {# messaggio in questa conversazione} other {# messaggi in questa conversazione}}", "expand": "Espandi conversazione", "collapse": "Comprimi conversazione", @@ -3092,7 +3090,8 @@ "delete": "Elimina conversazione", "star": "Aggiungi stella alla conversazione", "unstar": "Rimuovi stella dalla conversazione", - "toggle_thread": "Espandi/comprimi discussione" + "toggle_thread": "Espandi/comprimi discussione", + "messages_count": "{count, plural, one {# messaggio} other {# messaggi}}" }, "identities": { "modal_title": "Gestisci identità di invio", diff --git a/locales/ja/common.json b/locales/ja/common.json index 691f68757..04027658c 100644 --- a/locales/ja/common.json +++ b/locales/ja/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count}件のメッセージ", - "messages_other": "{count}件のメッセージ", "messages_tooltip": "{count, plural, other {この会話の#件のメッセージ}}", "expand": "会話を展開", "collapse": "会話を折りたたむ", @@ -3092,7 +3090,8 @@ "delete": "会話を削除", "star": "会話にスターを付ける", "unstar": "会話のスターを外す", - "toggle_thread": "スレッドの展開/折りたたみ" + "toggle_thread": "スレッドの展開/折りたたみ", + "messages_count": "{count, plural, other {#件のメッセージ}}" }, "identities": { "modal_title": "送信者情報を管理", diff --git a/locales/ko/common.json b/locales/ko/common.json index f43975d7e..58993faee 100644 --- a/locales/ko/common.json +++ b/locales/ko/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "메시지 1개", - "messages_other": "메시지 {count}개", - "messages_tooltip": "이 대화에 {count}개의 메시지가 있어요", + "messages_tooltip": "{count, plural, other {이 대화에 #개의 메시지가 있어요}}", "expand": "대화 펼치기", "collapse": "대화 접기", "loading": "대화를 불러오는 중...", @@ -3092,7 +3090,8 @@ "delete": "대화 삭제", "star": "대화 전체에 별표 달기", "unstar": "대화 전체 별표 해제", - "toggle_thread": "스레드 켜기/끄기" + "toggle_thread": "스레드 켜기/끄기", + "messages_count": "{count, plural, other {메시지 #개}}" }, "identities": { "modal_title": "보내는 사람 관리", diff --git a/locales/lv/common.json b/locales/lv/common.json index 8bcf666fb..d2f338d2d 100644 --- a/locales/lv/common.json +++ b/locales/lv/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} ziņojums", - "messages_other": "{count} ziņojumi", - "messages_tooltip": "{count, plural, one {# ziņojums šajā sarunā} other {# ziņojumi šajā sarunā}}", + "messages_tooltip": "{count, plural, zero {# ziņojumu šajā sarunā} one {# ziņojums šajā sarunā} other {# ziņojumi šajā sarunā}}", "expand": "Izvērst sarunu", "collapse": "Sairt sarunu", "loading": "Ielādē sarunu...", @@ -3092,7 +3090,8 @@ "delete": "Dzēst sarunu", "star": "Pievienot zvaigznīti sarunai", "unstar": "Noņemt zvaigznīti sarunai", - "toggle_thread": "Pārslēgt sarunu" + "toggle_thread": "Pārslēgt sarunu", + "messages_count": "{count, plural, zero {# ziņojumu} one {# ziņojums} other {# ziņojumi}}" }, "identities": { "modal_title": "Pārvaldīt sūtītāja identitātes", diff --git a/locales/mn/common.json b/locales/mn/common.json index 4e8718b1d..60d873be8 100644 --- a/locales/mn/common.json +++ b/locales/mn/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} мессеж", - "messages_other": "{count} мессежүүд", "messages_tooltip": "{count, plural, one {Энэ харилцан ярианд # зурвас байна} other {Энэ харилцан ярианд # зурвас байна}}", "expand": "Харилцан яриаг өргөжүүлэх", "collapse": "Харилцан яриаг хураах", @@ -3092,7 +3090,8 @@ "delete": "Харилцан яриаг устгах", "star": "Харилцан яриаг одтой болгох", "unstar": "Харилцан ярианы одыг авах", - "toggle_thread": "Хэлхээсийг дэлгэх/хумих" + "toggle_thread": "Хэлхээсийг дэлгэх/хумих", + "messages_count": "{count, plural, one {# мессеж} other {# мессеж}}" }, "identities": { "modal_title": "Илгээж буй таниулбаруудыг удирдах", diff --git a/locales/nb/common.json b/locales/nb/common.json index 22078e294..3b34945e6 100644 --- a/locales/nb/common.json +++ b/locales/nb/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} melding", - "messages_other": "{count} meldinger", "messages_tooltip": "{count, plural, one {# melding i denne samtalen} other {# meldinger i denne samtalen}}", "expand": "Utvid samtalen", "collapse": "Fold sammen samtalen", @@ -3092,7 +3090,8 @@ "delete": "Slett samtalen", "star": "Stjernemerk samtalen", "unstar": "Fjern stjernemerking fra samtalen", - "toggle_thread": "Utvid eller fold sammen tråden" + "toggle_thread": "Utvid eller fold sammen tråden", + "messages_count": "{count, plural, one {# melding} other {# meldinger}}" }, "identities": { "modal_title": "Administrer avsenderidentiteter", diff --git a/locales/nl/common.json b/locales/nl/common.json index c4d48d64f..dfcf67118 100644 --- a/locales/nl/common.json +++ b/locales/nl/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} bericht", - "messages_other": "{count} berichten", "messages_tooltip": "{count, plural, one {# bericht in dit gesprek} other {# berichten in dit gesprek}}", "expand": "Gesprek uitklappen", "collapse": "Gesprek inklappen", @@ -3092,7 +3090,8 @@ "delete": "Gesprek verwijderen", "star": "Ster toevoegen aan gesprek", "unstar": "Ster verwijderen van gesprek", - "toggle_thread": "Gesprek in-/uitvouwen" + "toggle_thread": "Gesprek in-/uitvouwen", + "messages_count": "{count, plural, one {# bericht} other {# berichten}}" }, "identities": { "modal_title": "Verzendidentiteiten beheren", diff --git a/locales/pl/common.json b/locales/pl/common.json index b36b14b09..edf527d4f 100644 --- a/locales/pl/common.json +++ b/locales/pl/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} wiadomość", - "messages_other": "{count} wiadomości", - "messages_tooltip": "{count, plural, one {# wiadomość w tej konwersacji} other {# wiadomości w tej konwersacji}}", + "messages_tooltip": "{count, plural, one {# wiadomość w tej konwersacji} few {# wiadomości w tej konwersacji} many {# wiadomości w tej konwersacji} other {# wiadomości w tej konwersacji}}", "expand": "Rozwiń konwersację", "collapse": "Zwiń konwersację", "loading": "Ładowanie konwersacji...", @@ -3092,7 +3090,8 @@ "delete": "Usuń konwersację", "star": "Oznacz konwersację gwiazdką", "unstar": "Usuń gwiazdkę z konwersacji", - "toggle_thread": "Przełącz widok wątku" + "toggle_thread": "Przełącz widok wątku", + "messages_count": "{count, plural, one {# wiadomość} few {# wiadomości} many {# wiadomości} other {# wiadomości}}" }, "identities": { "modal_title": "Zarządzaj tożsamościami nadawcy", diff --git a/locales/pt/common.json b/locales/pt/common.json index d722947da..ff2c6e1ee 100644 --- a/locales/pt/common.json +++ b/locales/pt/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} mensagem", - "messages_other": "{count} mensagens", "messages_tooltip": "{count, plural, one {# mensagem nesta conversa} other {# mensagens nesta conversa}}", "expand": "Expandir conversa", "collapse": "Recolher conversa", @@ -3092,7 +3090,8 @@ "delete": "Excluir conversa", "star": "Adicionar estrela à conversa", "unstar": "Remover estrela da conversa", - "toggle_thread": "Expandir/recolher conversa" + "toggle_thread": "Expandir/recolher conversa", + "messages_count": "{count, plural, one {# mensagem} other {# mensagens}}" }, "identities": { "modal_title": "Gerenciar Identidades de Envio", diff --git a/locales/ro/common.json b/locales/ro/common.json index a9c013846..6e2a646d5 100644 --- a/locales/ro/common.json +++ b/locales/ro/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} mesaj", - "messages_other": "{count} mesaje", - "messages_tooltip": "{count, plural, one {# mesajul din această conversație} few {# mesaje din această conversație} other {# de mesaje din această conversație}}", + "messages_tooltip": "{count, plural, one {# mesaj în această conversație} few {# mesaje în această conversație} other {# de mesaje în această conversație}}", "expand": "Extinde conversația", "collapse": "Ascunde conversația", "loading": "Se încarcă conversația...", @@ -3092,7 +3090,8 @@ "delete": "Șterge conversația", "star": "Marcați conversația cu stea", "unstar": "Dezactivează marcajul conversației", - "toggle_thread": "Comutare fir de discuție" + "toggle_thread": "Comutare fir de discuție", + "messages_count": "{count, plural, one {# mesaj} few {# mesaje} other {# de mesaje}}" }, "identities": { "modal_title": "Gestionarea identităților de expediere", diff --git a/locales/ru/common.json b/locales/ru/common.json index 294e2b8e0..ce7dd6cc1 100644 --- a/locales/ru/common.json +++ b/locales/ru/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} сообщение", - "messages_other": "{count} сообщений", - "messages_tooltip": "{count, plural, one {# сообщение в этом разговоре} other {# сообщений в этом разговоре}}", + "messages_tooltip": "{count, plural, one {# сообщение в этом разговоре} few {# сообщения в этом разговоре} many {# сообщений в этом разговоре} other {# сообщения в этом разговоре}}", "expand": "Развернуть разговор", "collapse": "Свернуть разговор", "loading": "Загрузка разговора...", @@ -3092,7 +3090,8 @@ "delete": "Удалить разговор", "star": "Добавить звёздочку к разговору", "unstar": "Убрать звёздочку у разговора", - "toggle_thread": "Переключить цепочку" + "toggle_thread": "Переключить цепочку", + "messages_count": "{count, plural, one {# сообщение} few {# сообщения} many {# сообщений} other {# сообщения}}" }, "identities": { "modal_title": "Управление идентификациями отправителя", diff --git a/locales/sk/common.json b/locales/sk/common.json index 915e65d9f..1f79b8dca 100644 --- a/locales/sk/common.json +++ b/locales/sk/common.json @@ -3080,9 +3080,7 @@ } }, "threads": { - "messages_one": "{count} správa", - "messages_other": "{count} správ", - "messages_tooltip": "{count, plural, one {# správa v tejto konverzácii} other {# správ v tejto konverzácii}}", + "messages_tooltip": "{count, plural, one {# správa v tejto konverzácii} few {# správy v tejto konverzácii} many {# správy v tejto konverzácii} other {# správ v tejto konverzácii}}", "expand": "Rozbaliť konverzáciu", "collapse": "Zbaliť konverzáciu", "loading": "Načítavanie konverzácie...", @@ -3092,7 +3090,8 @@ "delete": "Odstrániť konverzáciu", "star": "Označiť konverzáciu hviezdičkou", "unstar": "Odstrániť hviezdičku z konverzácie", - "toggle_thread": "Prepnúť zobrazenie vlákna" + "toggle_thread": "Prepnúť zobrazenie vlákna", + "messages_count": "{count, plural, one {# správa} few {# správy} many {# správy} other {# správ}}" }, "identities": { "modal_title": "Správa identít odosielateľa", diff --git a/locales/th/common.json b/locales/th/common.json index 003871b21..f3506f0c7 100644 --- a/locales/th/common.json +++ b/locales/th/common.json @@ -383,8 +383,6 @@ "open_app": "เปิด {name}" }, "threads": { - "messages_one": "{count} ข้อความ", - "messages_other": "{count} ข้อความ", "messages_tooltip": "{count, plural, other {# ข้อความในการสนทนานี้}}", "expand": "ขยายการสนทนา", "collapse": "ย่อการสนทนา", @@ -395,7 +393,8 @@ "delete": "ลบการสนทนา", "star": "ติดดาวการสนทนา", "unstar": "ยกเลิกติดดาวการสนทนา", - "toggle_thread": "สลับมุมมองการสนทนา" + "toggle_thread": "สลับมุมมองการสนทนา", + "messages_count": "{count, plural, other {# ข้อความ}}" }, "notifications": { "email_sent": "ส่งอีเมลแล้ว", diff --git a/locales/tr/common.json b/locales/tr/common.json index e449f1dd2..73eb36bce 100644 --- a/locales/tr/common.json +++ b/locales/tr/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} ileti", - "messages_other": "{count} ileti", "messages_tooltip": "{count, plural, one {Bu konuşmada # ileti} other {Bu konuşmada # ileti}}", "expand": "Konuşmayı genişlet", "collapse": "Konuşmayı daralt", @@ -3092,7 +3090,8 @@ "delete": "Konuşmayı sil", "star": "Konuşmaya yıldız ekle", "unstar": "Konuşmanın yıldızını kaldır", - "toggle_thread": "İleti dizisini aç/kapat" + "toggle_thread": "İleti dizisini aç/kapat", + "messages_count": "{count, plural, one {# ileti} other {# ileti}}" }, "identities": { "modal_title": "Gönderme Kimliklerini Yönet", diff --git a/locales/uk/common.json b/locales/uk/common.json index fa48f7da5..ef9437a2b 100644 --- a/locales/uk/common.json +++ b/locales/uk/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} повідомлення", - "messages_other": "{count} повідомлень", "messages_tooltip": "{count, plural, one {# повідомлення в цій розмові} few {# повідомлення в цій розмові} many {# повідомлень у цій розмові} other {# повідомлень у цій розмові}}", "expand": "Розгорнути бесіду", "collapse": "Згорнути бесіду", @@ -3092,7 +3090,8 @@ "delete": "Видалити бесіду", "star": "Зоряна розмова", "unstar": "Зняти зірочку з розмови", - "toggle_thread": "Перемкнути потік" + "toggle_thread": "Перемкнути потік", + "messages_count": "{count, plural, one {# повідомлення} few {# повідомлення} many {# повідомлень} other {# повідомлення}}" }, "identities": { "modal_title": "Керування ідентифікаторами надсилання", diff --git a/locales/zh-TW/common.json b/locales/zh-TW/common.json index 7704c536b..50de3b706 100644 --- a/locales/zh-TW/common.json +++ b/locales/zh-TW/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} 封郵件", - "messages_other": "{count} 封郵件", "messages_tooltip": "{count, plural, one {此對話串有 # 封郵件} other {此對話串有 # 封郵件}}", "expand": "展開對話串", "collapse": "收合對話串", @@ -3092,7 +3090,8 @@ "delete": "刪除對話串", "star": "為對話串加上星號", "unstar": "移除對話串星號", - "toggle_thread": "展開/收合對話串" + "toggle_thread": "展開/收合對話串", + "messages_count": "{count, plural, other {# 封郵件}}" }, "identities": { "modal_title": "管理寄件身分", diff --git a/locales/zh/common.json b/locales/zh/common.json index feb82cb89..cfb776ff4 100644 --- a/locales/zh/common.json +++ b/locales/zh/common.json @@ -3080,8 +3080,6 @@ } }, "threads": { - "messages_one": "{count} 条消息", - "messages_other": "{count} 条消息", "messages_tooltip": "{count, plural, one {此会话中有 # 条消息} other {此会话中有 # 条消息}}", "expand": "展开会话", "collapse": "折叠会话", @@ -3092,7 +3090,8 @@ "delete": "删除会话", "star": "会话加星标", "unstar": "取消会话星标", - "toggle_thread": "展开/折叠会话" + "toggle_thread": "展开/折叠会话", + "messages_count": "{count, plural, other {# 条消息}}" }, "identities": { "modal_title": "管理发送身份",