diff --git a/components/email/__tests__/search-result-count.test.tsx b/components/email/__tests__/search-result-count.test.tsx
index 477e01c52..6f5067e03 100644
--- a/components/email/__tests__/search-result-count.test.tsx
+++ b/components/email/__tests__/search-result-count.test.tsx
@@ -36,9 +36,15 @@ describe('SearchResultCount', () => {
expect(container.textContent).toBe('mail_list_extra.search_count {"conversations":3,"messages":10}');
});
- it('counts messages when every result is its own conversation', () => {
+ // mail-p3-7: the rows are conversations, so the line says so.
+ it('counts conversations when every result is its own conversation', () => {
const { container } = render();
- expect(container.textContent).toBe('advanced_search.results_found {"count":1}');
+ expect(container.textContent).toBe('mail_p3_list.conversations_found {"count":1}');
+ });
+
+ it('says no results when nothing matched', () => {
+ const { container } = render();
+ expect(container.textContent).toBe('mail_p3_list.conversations_found {"count":0}');
});
it('counts messages when conversations are switched off', () => {
diff --git a/components/email/search-result-count.tsx b/components/email/search-result-count.tsx
index 5ccb21e7c..5b2fec9c5 100644
--- a/components/email/search-result-count.tsx
+++ b/components/email/search-result-count.tsx
@@ -22,6 +22,8 @@ export function SearchResultCount({ emails, hasMore }: { emails: Email[]; hasMor
// "100+ results" above them reads wrong as well (mail-16).
if (hasMore && !disableThreading) return <>{t("email_list.conversations_count_plus", { count: conversations })}>;
if (hasMore) return <>{t("advanced_search.results_found_more", { count: emails.length })}>;
+ // Grouped rows are conversations, even one message each (mail-p3-7).
+ if (!disableThreading && conversations === emails.length) return <>{t("mail_p3_list.conversations_found", { count: conversations })}>;
if (conversations === emails.length) return <>{t("advanced_search.results_found", { count: emails.length })}>;
return <>{t("mail_list_extra.search_count", { conversations, messages: emails.length })}>;
}
diff --git a/components/layout/sidebar.tsx b/components/layout/sidebar.tsx
index d215b7c36..fcb0339e7 100644
--- a/components/layout/sidebar.tsx
+++ b/components/layout/sidebar.tsx
@@ -103,6 +103,7 @@ import {
} from "@/lib/notification-mutes";
import { serverSupportsEmailPush } from "@/lib/web-push";
import { resolveFolderCounts } from "@/lib/folder-counts";
+import { batchToastTitle } from "@/lib/selection-toast";
interface SidebarProps {
mailboxes: Mailbox[];
@@ -833,6 +834,7 @@ function MailboxTreeItem({
}) {
const tNotifications = useTranslations('notifications');
const tListExtra = useTranslations('mail_list_extra');
+ const tRoot = useTranslations();
const tSidebar = useTranslations('sidebar');
const hasChildren = node.children.length > 0;
const isExpanded = expandedFolders.has(node.id);
@@ -875,7 +877,7 @@ function MailboxTreeItem({
toastWithUndo(
count === 1
? tListExtra('moved_to', { mailbox: mailboxName })
- : tListExtra('moved_count_to', { count, mailbox: mailboxName }),
+ : batchToastTitle(tRoot, 'move', count, useSettingsStore.getState().disableThreading, mailboxName),
undoMoveAction(useAuthStore.getState().client, restore, undoLabels(tNotifications), receipts),
);
},
diff --git a/components/mail/__tests__/mail-app-menu-selection.test.tsx b/components/mail/__tests__/mail-app-menu-selection.test.tsx
index 9234ef35e..32f995953 100644
--- a/components/mail/__tests__/mail-app-menu-selection.test.tsx
+++ b/components/mail/__tests__/mail-app-menu-selection.test.tsx
@@ -114,7 +114,7 @@ beforeEach(() => {
getClientForAccount: () => client as never,
getAllConnectedClients: () => new Map([['login-a', client]]) as never,
});
- useSettingsStore.setState({ enableUnifiedMailbox: false, interfaceLayout: 'default', mailLayout: 'split', proInterface: false } as never);
+ useSettingsStore.setState({ enableUnifiedMailbox: false, interfaceLayout: 'default', mailLayout: 'split', proInterface: false, disableThreading: false } as never);
batchMoveToMailbox = vi.fn().mockResolvedValue(true);
useEmailStore.setState({
emails: [a, b, c], selectedEmail: a, selectedMailbox: 'inbox', selectedKeyword: null, mailboxes: [inbox, later],
@@ -159,7 +159,17 @@ describe('the Message menu with three messages selected', () => {
expect(request?.emails.map((email) => email.id)).toEqual(['a', 'b', 'c']);
await act(async () => { request!.onMove('later'); });
await waitFor(() => expect(batchMoveToMailbox).toHaveBeenCalledWith(expect.anything(), 'later', undefined, expect.any(Array)));
- await waitFor(() => expect(useToastStore.getState().toasts.map((toast) => toast.title)).toContain('moved_count_to'));
+ // Three conversations are selected, so the toast counts conversations (mail-p3-7).
+ await waitFor(() => expect(useToastStore.getState().toasts.map((toast) => toast.title)).toContain('mail_p2_list.conversations_moved_to'));
+ });
+
+ it('with conversations off, Move to… counts emails', async () => {
+ useSettingsStore.setState({ disableThreading: true } as never);
+ render();
+ await waitFor(() => expect(reported['message.move']).toBe(true));
+ act(() => { runDesktopCommand('message.move'); });
+ await act(async () => { useMoveDialogStore.getState().request!.onMove('later'); });
+ await waitFor(() => expect(useToastStore.getState().toasts.map((toast) => toast.title)).toContain('mail_list_extra.moved_count_to'));
});
it('with one message open and none selected, Reply and Move are for that one', async () => {
diff --git a/components/mail/mail-app.tsx b/components/mail/mail-app.tsx
index 6d44c7ce3..aed9b5494 100644
--- a/components/mail/mail-app.tsx
+++ b/components/mail/mail-app.tsx
@@ -1442,18 +1442,16 @@ export function MailApp({ linkSegments: routeSegments }: MailAppProps = {}) {
// of seven, or Move for the open one only, would act on mail nobody picked.
const desktopMulti = selectedEmailKeys.size > 1;
const desktopSingle = !showComposer && !!selectedEmail && !desktopMulti;
- const tListExtra = useTranslations('mail_list_extra');
/** Message > Move to… on the selection, as the selection bar's Move does: one toast with the count. */
const moveSelectionTo = async (mailboxId: string) => {
if (!client) return;
- const count = selectedEmailKeys.size;
+ // Counted as the selection bar counts: conversations when it shows them (mail-p3-7).
+ const rows = selectionRowCount(resolveSelectedEmails(useEmailStore.getState()), selectedEmailKeys.size, disableThreading);
const restore = restoreBatchesForSelection(client);
const receipts: CrossAccountMoveReceipt[] = [];
const destination = mailboxes.find((m) => m.id === mailboxId);
await runBatchEmailAction(() => useEmailStore.getState().batchMoveToMailbox(client, mailboxId, undefined, receipts), {
- success: destination
- ? tListExtra('moved_count_to', { count, mailbox: getMailboxPath(destination, mailboxes) })
- : tNotifications('emails_moved', { count }),
+ success: batchToastTitle(t, 'move', rows, disableThreading, destination ? getMailboxPath(destination, mailboxes) : undefined),
error: tNotifications('move_failed'),
undo: undoMoveAction(client, restore, undo, receipts),
});
diff --git a/hooks/__tests__/use-mailbox-drop.test.tsx b/hooks/__tests__/use-mailbox-drop.test.tsx
index 222e579c5..1cf3b47f9 100644
--- a/hooks/__tests__/use-mailbox-drop.test.tsx
+++ b/hooks/__tests__/use-mailbox-drop.test.tsx
@@ -5,6 +5,7 @@ import type { Email, Mailbox } from '@/lib/jmap/types';
import type { IJMAPClient } from '@/lib/jmap/client-interface';
import { useEmailStore } from '@/stores/email-store';
import { useAuthStore } from '@/stores/auth-store';
+import { useSettingsStore } from '@/stores/settings-store';
const drag = vi.hoisted(() => ({
isDragging: true,
@@ -128,4 +129,22 @@ describe('useMailboxDrop', () => {
expect(moveEmailsToMailbox).toHaveBeenCalledWith(client016, ['m1'], 'f');
expect(crossAccountMoveEmails).not.toHaveBeenCalled();
});
+
+ // mail-p3-7: the toast counts what the list shows, conversations when it groups them.
+ it('counts the conversations dropped, or the emails with conversations off', async () => {
+ drag.draggedEmails = [
+ email({ id: 'a1', threadId: 'ta' }), email({ id: 'a2', threadId: 'ta' }),
+ email({ id: 'b1', threadId: 'tb' }), email({ id: 'b2', threadId: 'tb' }),
+ ];
+ const counts: number[] = [];
+ const dropCounting = async () => {
+ const { result } = renderHook(() => useMailboxDrop({ mailbox: mailbox({}), onSuccess: (count) => { counts.push(count); }, onError: () => {} }));
+ await act(async () => { result.current.dropHandlers.onDrop(dropEvent(['a1', 'a2', 'b1', 'b2'])); });
+ };
+ useSettingsStore.setState({ disableThreading: false });
+ await dropCounting();
+ useSettingsStore.setState({ disableThreading: true });
+ await dropCounting();
+ expect(counts).toEqual([2, 4]);
+ });
});
diff --git a/hooks/use-mailbox-drop.ts b/hooks/use-mailbox-drop.ts
index fff27cf6a..9843e453d 100644
--- a/hooks/use-mailbox-drop.ts
+++ b/hooks/use-mailbox-drop.ts
@@ -11,6 +11,8 @@ import { useDragDropContext } from "@/contexts/drag-drop-context";
import { dragDropHooks } from "@/lib/plugin-hooks";
import { toast } from "@/stores/toast-store";
import { getMailboxPath } from "@/lib/utils";
+import { batchToastTitle, selectionRowCount } from "@/lib/selection-toast";
+import { useSettingsStore } from "@/stores/settings-store";
/**
* Returns the source accountId for an email being dragged. In unified view
@@ -58,6 +60,7 @@ interface UseMailboxDropReturn {
export function useMailboxDrop({ mailbox, accountId, onDropComplete, onSuccess, onError }: UseMailboxDropOptions): UseMailboxDropReturn {
const tListExtra = useTranslations("mail_list_extra");
+ const tRoot = useTranslations();
const [isOver, setIsOver] = useState(false);
const { client } = useAuthStore(useShallow((state) => ({ client: state.client })));
const { moveEmailsToMailbox, crossAccountMoveEmails, selectedEmailKeys, clearSelection, refreshCurrentMailbox, mailboxes } = useEmailStore(useShallow((state) => ({
@@ -230,14 +233,17 @@ export function useMailboxDrop({ mailbox, accountId, onDropComplete, onSuccess,
}
const mailboxPath = getMailboxPath(mailbox, mailboxes);
+ // Counted as the list shows them: conversations when it groups (mail-p3-7).
+ const disableThreading = useSettingsStore.getState().disableThreading;
+ const rows = emailIds.length === 1 ? 1 : selectionRowCount(draggedEmails.filter((em) => emailIds.includes(em.id)), emailIds.length, disableThreading);
if (onSuccess) {
- onSuccess(emailIds.length, mailboxPath, restore, receipts);
+ onSuccess(rows, mailboxPath, restore, receipts);
} else {
if (emailIds.length === 1) {
toast.success(tListExtra("moved_to", { mailbox: mailboxPath }));
} else {
- toast.success(tListExtra("moved_count_to", { count: emailIds.length, mailbox: mailboxPath }));
+ toast.success(batchToastTitle(tRoot, "move", rows, disableThreading, mailboxPath));
}
}
@@ -255,7 +261,7 @@ export function useMailboxDrop({ mailbox, accountId, onDropComplete, onSuccess,
} finally {
endDrag();
}
- }, [client, mailbox, accountId, mailboxes, isValidTarget, moveEmailsToMailbox, crossAccountMoveEmails, draggedEmails, sourceMailboxId, selectedEmailKeys, clearSelection, refreshCurrentMailbox, endDrag, markDropped, onDropComplete, onSuccess, onError, tListExtra]);
+ }, [client, mailbox, accountId, mailboxes, isValidTarget, moveEmailsToMailbox, crossAccountMoveEmails, draggedEmails, sourceMailboxId, selectedEmailKeys, clearSelection, refreshCurrentMailbox, endDrag, markDropped, onDropComplete, onSuccess, onError, tListExtra, tRoot]);
const valid = isValidTarget();
diff --git a/locales/ar/common.json b/locales/ar/common.json
index 712102a81..5cef8ea5b 100644
--- a/locales/ar/common.json
+++ b/locales/ar/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}، {total} في كل الحسابات)",
"title_all_accounts_only": "{name} ({total} في كل الحسابات)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {لم يتم العثور على نتائج} one {تم العثور على محادثة واحدة} two {تم العثور على محادثتين} few {تم العثور على # محادثات} many {تم العثور على # محادثة} other {تم العثور على # محادثة}}"
+ },
"uxs_folders": {
"manage_accounts": "إدارة الحسابات…",
"apply_to_existing": "{count, plural, one {تطبيق على رسالة موجودة واحدة في {folder}} other {تطبيق على # رسائل موجودة في {folder}}}"
diff --git a/locales/ca/common.json b/locales/ca/common.json
index 8a57933a8..08df5c71d 100644
--- a/locales/ca/common.json
+++ b/locales/ca/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} a tots els comptes)",
"title_all_accounts_only": "{name} ({total} a tots els comptes)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {No s'ha trobat cap resultat} one {# conversa trobada} other {# converses trobades}}"
+ },
"uxs_folders": {
"manage_accounts": "Gestiona els comptes…",
"apply_to_existing": "{count, plural, one {Aplica a # missatge existent de {folder}} other {Aplica a # missatges existents de {folder}}}"
diff --git a/locales/cs/common.json b/locales/cs/common.json
index 6f33b69f8..a9cf1bce8 100644
--- a/locales/cs/common.json
+++ b/locales/cs/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} ve všech účtech)",
"title_all_accounts_only": "{name} ({total} ve všech účtech)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nenalezeny žádné výsledky} one {Nalezena # konverzace} few {Nalezeny # konverzace} many {Nalezeno # konverzace} other {Nalezeno # konverzací}}"
+ },
"uxs_folders": {
"manage_accounts": "Spravovat účty…",
"apply_to_existing": "{count, plural, one {Použít na # existující zprávu ve složce {folder}} few {Použít na # existující zprávy ve složce {folder}} many {Použít na # existující zprávy ve složce {folder}} other {Použít na # existujících zpráv ve složce {folder}}}"
diff --git a/locales/da/common.json b/locales/da/common.json
index 1570062fd..4137a78a1 100644
--- a/locales/da/common.json
+++ b/locales/da/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} i alle konti)",
"title_all_accounts_only": "{name} ({total} i alle konti)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Ingen resultater fundet} one {# samtale fundet} other {# samtaler fundet}}"
+ },
"uxs_folders": {
"manage_accounts": "Administrer konti…",
"apply_to_existing": "{count, plural, one {Anvend på # eksisterende besked i {folder}} other {Anvend på # eksisterende beskeder i {folder}}}"
diff --git a/locales/de/common.json b/locales/de/common.json
index 92afaa8ad..61c6197e3 100644
--- a/locales/de/common.json
+++ b/locales/de/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} in allen Konten)",
"title_all_accounts_only": "{name} ({total} in allen Konten)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Keine Ergebnisse gefunden} one {# Unterhaltung gefunden} other {# Unterhaltungen gefunden}}"
+ },
"uxs_folders": {
"manage_accounts": "Konten verwalten…",
"apply_to_existing": "{count, plural, one {Auf # vorhandene Nachricht in {folder} anwenden} other {Auf # vorhandene Nachrichten in {folder} anwenden}}"
diff --git a/locales/en/common.json b/locales/en/common.json
index 5e03c9837..aaba54ef7 100644
--- a/locales/en/common.json
+++ b/locales/en/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} in all accounts)",
"title_all_accounts_only": "{name} ({total} in all accounts)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {No results found} one {# conversation found} other {# conversations found}}"
+ },
"uxs_folders": {
"manage_accounts": "Manage accounts…",
"apply_to_existing": "{count, plural, one {Apply to # existing message in {folder}} other {Apply to # existing messages in {folder}}}"
diff --git a/locales/es/common.json b/locales/es/common.json
index f4f327d03..bbd755f8a 100644
--- a/locales/es/common.json
+++ b/locales/es/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} en todas las cuentas)",
"title_all_accounts_only": "{name} ({total} en todas las cuentas)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {No se encontraron resultados} one {# conversación encontrada} other {# conversaciones encontradas}}"
+ },
"uxs_folders": {
"manage_accounts": "Gestionar cuentas…",
"apply_to_existing": "{count, plural, one {Aplicar a # mensaje existente en {folder}} other {Aplicar a # mensajes existentes en {folder}}}"
diff --git a/locales/et/common.json b/locales/et/common.json
index f325d0038..3b74d572a 100644
--- a/locales/et/common.json
+++ b/locales/et/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} kõigil kontodel)",
"title_all_accounts_only": "{name} ({total} kõigil kontodel)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Tulemusi ei leitud} one {# vestlus leitud} other {# vestlust leitud}}"
+ },
"uxs_folders": {
"manage_accounts": "Halda kontosid…",
"apply_to_existing": "{count, plural, one {Rakenda # olemasolevale kirjale kaustas {folder}} other {Rakenda # olemasolevale kirjale kaustas {folder}}}"
diff --git a/locales/fa/common.json b/locales/fa/common.json
index 22220484a..703d5f7bc 100644
--- a/locales/fa/common.json
+++ b/locales/fa/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}، {total} در همه حسابها)",
"title_all_accounts_only": "{name} ({total} در همه حسابها)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {نتیجهای یافت نشد} one {# مکالمه یافت شد} other {# مکالمه یافت شد}}"
+ },
"uxs_folders": {
"manage_accounts": "مدیریت حسابها…",
"apply_to_existing": "{count, plural, one {اعمال روی # پیام موجود در {folder}} other {اعمال روی # پیام موجود در {folder}}}"
diff --git a/locales/fr/common.json b/locales/fr/common.json
index a054ec819..a77c3bdfc 100644
--- a/locales/fr/common.json
+++ b/locales/fr/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} dans tous les comptes)",
"title_all_accounts_only": "{name} ({total} dans tous les comptes)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Aucun résultat trouvé} one {# conversation trouvée} other {# conversations trouvées}}"
+ },
"uxs_folders": {
"manage_accounts": "Gérer les comptes…",
"apply_to_existing": "{count, plural, one {Appliquer à # message existant dans {folder}} other {Appliquer à # messages existants dans {folder}}}"
diff --git a/locales/he/common.json b/locales/he/common.json
index 48558ab17..4584beb8d 100644
--- a/locales/he/common.json
+++ b/locales/he/common.json
@@ -5713,6 +5713,9 @@
"title_all_accounts": "{name} ({count}, {total} בכל החשבונות)",
"title_all_accounts_only": "{name} ({total} בכל החשבונות)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {לא נמצאו תוצאות} one {נמצאה שיחה אחת} two {נמצאו שתי שיחות} other {נמצאו # שיחות}}"
+ },
"uxs_folders": {
"manage_accounts": "ניהול חשבונות…",
"apply_to_existing": "{count, plural, one {החלה על הודעה קיימת אחת בתיקייה {folder}} other {החלה על # הודעות קיימות בתיקייה {folder}}}"
diff --git a/locales/hu/common.json b/locales/hu/common.json
index 997fe444d..f19069591 100644
--- a/locales/hu/common.json
+++ b/locales/hu/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} az összes fiókban)",
"title_all_accounts_only": "{name} ({total} az összes fiókban)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nincs találat} one {# beszélgetés található} other {# beszélgetés található}}"
+ },
"uxs_folders": {
"manage_accounts": "Fiókok kezelése…",
"apply_to_existing": "{count, plural, one {Alkalmazás # meglévő üzenetre itt: {folder}} other {Alkalmazás # meglévő üzenetre itt: {folder}}}"
diff --git a/locales/it/common.json b/locales/it/common.json
index 14f82c818..b020c7ba9 100644
--- a/locales/it/common.json
+++ b/locales/it/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} in tutti gli account)",
"title_all_accounts_only": "{name} ({total} in tutti gli account)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nessun risultato trovato} one {# conversazione trovata} other {# conversazioni trovate}}"
+ },
"uxs_folders": {
"manage_accounts": "Gestisci account…",
"apply_to_existing": "{count, plural, one {Applica a # messaggio esistente in {folder}} other {Applica a # messaggi esistenti in {folder}}}"
diff --git a/locales/ja/common.json b/locales/ja/common.json
index e2d15c461..9f0bb1118 100644
--- a/locales/ja/common.json
+++ b/locales/ja/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}、すべてのアカウントで {total})",
"title_all_accounts_only": "{name} (すべてのアカウントで {total})"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {結果が見つかりません} other {#件の会話が見つかりました}}"
+ },
"uxs_folders": {
"manage_accounts": "アカウントを管理…",
"apply_to_existing": "{count, plural, other {{folder} の既存の # 件に適用}}"
diff --git a/locales/ko/common.json b/locales/ko/common.json
index ba7bf7122..bc9b2fbc4 100644
--- a/locales/ko/common.json
+++ b/locales/ko/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, 모든 계정에 {total})",
"title_all_accounts_only": "{name} (모든 계정에 {total})"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {검색 결과가 없습니다} other {대화 #개를 찾았습니다}}"
+ },
"uxs_folders": {
"manage_accounts": "계정 관리…",
"apply_to_existing": "{count, plural, other {{folder}의 기존 메일 #개에 적용}}"
diff --git a/locales/lv/common.json b/locales/lv/common.json
index 0735a79f7..6893b2972 100644
--- a/locales/lv/common.json
+++ b/locales/lv/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} visos kontos)",
"title_all_accounts_only": "{name} ({total} visos kontos)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nekas netika atrasts} zero {Atrastas # sarunas} one {Atrasta # saruna} other {Atrastas # sarunas}}"
+ },
"uxs_folders": {
"manage_accounts": "Pārvaldīt kontus…",
"apply_to_existing": "{count, plural, zero {Piemērot # esošajām vēstulēm mapē {folder}} one {Piemērot # esošajai vēstulei mapē {folder}} other {Piemērot # esošajām vēstulēm mapē {folder}}}"
diff --git a/locales/mn/common.json b/locales/mn/common.json
index f246584aa..65f97fbb1 100644
--- a/locales/mn/common.json
+++ b/locales/mn/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, бүх бүртгэлд {total})",
"title_all_accounts_only": "{name} (бүх бүртгэлд {total})"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Үр дүн олдсонгүй} one {# харилцан яриа олдлоо} other {# харилцан яриа олдлоо}}"
+ },
"uxs_folders": {
"manage_accounts": "Данснуудыг удирдах…",
"apply_to_existing": "{count, plural, one {{folder} доторх байгаа # захианд хэрэглэх} other {{folder} доторх байгаа # захианд хэрэглэх}}"
diff --git a/locales/nb/common.json b/locales/nb/common.json
index 122242bd1..d3fc4f26e 100644
--- a/locales/nb/common.json
+++ b/locales/nb/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} i alle kontoer)",
"title_all_accounts_only": "{name} ({total} i alle kontoer)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Ingen treff} one {# samtale funnet} other {# samtaler funnet}}"
+ },
"uxs_folders": {
"manage_accounts": "Administrer kontoer…",
"apply_to_existing": "{count, plural, one {Bruk på # eksisterende melding i {folder}} other {Bruk på # eksisterende meldinger i {folder}}}"
diff --git a/locales/nl/common.json b/locales/nl/common.json
index 850adae76..42ce61eb9 100644
--- a/locales/nl/common.json
+++ b/locales/nl/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} in alle accounts)",
"title_all_accounts_only": "{name} ({total} in alle accounts)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Geen resultaten gevonden} one {# gesprek gevonden} other {# gesprekken gevonden}}"
+ },
"uxs_folders": {
"manage_accounts": "Accounts beheren…",
"apply_to_existing": "{count, plural, one {Toepassen op # bestaand bericht in {folder}} other {Toepassen op # bestaande berichten in {folder}}}"
diff --git a/locales/pl/common.json b/locales/pl/common.json
index 4a2e1d145..e22e3f1b1 100644
--- a/locales/pl/common.json
+++ b/locales/pl/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} we wszystkich kontach)",
"title_all_accounts_only": "{name} ({total} we wszystkich kontach)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nie znaleziono wyników} one {Znaleziono # konwersację} few {Znaleziono # konwersacje} many {Znaleziono # konwersacji} other {Znaleziono # konwersacji}}"
+ },
"uxs_folders": {
"manage_accounts": "Zarządzaj kontami…",
"apply_to_existing": "{count, plural, one {Zastosuj do # istniejącej wiadomości w folderze {folder}} few {Zastosuj do # istniejących wiadomości w folderze {folder}} many {Zastosuj do # istniejących wiadomości w folderze {folder}} other {Zastosuj do # istniejącej wiadomości w folderze {folder}}}"
diff --git a/locales/pt/common.json b/locales/pt/common.json
index 2d1cb668f..1dd224224 100644
--- a/locales/pt/common.json
+++ b/locales/pt/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} em todas as contas)",
"title_all_accounts_only": "{name} ({total} em todas as contas)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nenhum resultado encontrado} one {# conversa encontrada} other {# conversas encontradas}}"
+ },
"uxs_folders": {
"manage_accounts": "Gerir contas…",
"apply_to_existing": "{count, plural, one {Aplicar a # mensagem existente em {folder}} other {Aplicar a # mensagens existentes em {folder}}}"
diff --git a/locales/ro/common.json b/locales/ro/common.json
index 13e536618..8addc45ef 100644
--- a/locales/ro/common.json
+++ b/locales/ro/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} în toate conturile)",
"title_all_accounts_only": "{name} ({total} în toate conturile)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Nu s-au găsit rezultate} one {# conversație găsită} few {# conversații găsite} other {# de conversații găsite}}"
+ },
"uxs_folders": {
"manage_accounts": "Gestionați conturile…",
"apply_to_existing": "{count, plural, one {Aplicați la # mesaj existent din {folder}} few {Aplicați la # mesaje existente din {folder}} other {Aplicați la # de mesaje existente din {folder}}}"
diff --git a/locales/ru/common.json b/locales/ru/common.json
index 363c7f451..3be2e3310 100644
--- a/locales/ru/common.json
+++ b/locales/ru/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} во всех аккаунтах)",
"title_all_accounts_only": "{name} ({total} во всех аккаунтах)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Ничего не найдено} one {Найдена # беседа} few {Найдено # беседы} many {Найдено # бесед} other {Найдено # беседы}}"
+ },
"uxs_folders": {
"manage_accounts": "Управление аккаунтами…",
"apply_to_existing": "{count, plural, one {Применить к # имеющемуся письму в папке {folder}} few {Применить к # имеющимся письмам в папке {folder}} many {Применить к # имеющимся письмам в папке {folder}} other {Применить к # имеющегося письма в папке {folder}}}"
diff --git a/locales/sk/common.json b/locales/sk/common.json
index 66a7851c7..769cd7da6 100644
--- a/locales/sk/common.json
+++ b/locales/sk/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} vo všetkých účtoch)",
"title_all_accounts_only": "{name} ({total} vo všetkých účtoch)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Neboli nájdené žiadne výsledky} one {Nájdená # konverzácia} few {Nájdené # konverzácie} many {Nájdených # konverzácií} other {Nájdených # konverzácií}}"
+ },
"uxs_folders": {
"manage_accounts": "Spravovať účty…",
"apply_to_existing": "{count, plural, one {Použiť na # existujúcu správu v priečinku {folder}} few {Použiť na # existujúce správy v priečinku {folder}} many {Použiť na # existujúcej správy v priečinku {folder}} other {Použiť na # existujúcich správ v priečinku {folder}}}"
diff --git a/locales/th/common.json b/locales/th/common.json
index 4486e56a2..e7587a8c9 100644
--- a/locales/th/common.json
+++ b/locales/th/common.json
@@ -1057,6 +1057,9 @@
"title_all_accounts": "{name} ({count}, {total} ในทุกบัญชี)",
"title_all_accounts_only": "{name} ({total} ในทุกบัญชี)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {ไม่พบผลการค้นหา} other {พบ # การสนทนา}}"
+ },
"uxs_folders": {
"manage_accounts": "จัดการบัญชี…",
"apply_to_existing": "{count, plural, other {นำไปใช้กับข้อความเดิม # ฉบับใน {folder}}}"
diff --git a/locales/tr/common.json b/locales/tr/common.json
index 45f0af1c7..b6a75e67c 100644
--- a/locales/tr/common.json
+++ b/locales/tr/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, tüm hesaplarda {total})",
"title_all_accounts_only": "{name} (tüm hesaplarda {total})"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Sonuç bulunamadı} one {# konuşma bulundu} other {# konuşma bulundu}}"
+ },
"uxs_folders": {
"manage_accounts": "Hesapları yönet…",
"apply_to_existing": "{count, plural, one {{folder} içindeki # mevcut iletiye uygula} other {{folder} içindeki # mevcut iletiye uygula}}"
diff --git a/locales/uk/common.json b/locales/uk/common.json
index 25201fbf8..56a9935e7 100644
--- a/locales/uk/common.json
+++ b/locales/uk/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}, {total} в усіх акаунтах)",
"title_all_accounts_only": "{name} ({total} в усіх акаунтах)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Результатів не знайдено} one {Знайдено # розмову} few {Знайдено # розмови} many {Знайдено # розмов} other {Знайдено # розмови}}"
+ },
"uxs_folders": {
"manage_accounts": "Керувати обліковими записами…",
"apply_to_existing": "{count, plural, one {Застосувати до # наявного листа в теці {folder}} few {Застосувати до # наявних листів у теці {folder}} many {Застосувати до # наявних листів у теці {folder}} other {Застосувати до # наявного листа в теці {folder}}}"
diff --git a/locales/vi/common.json b/locales/vi/common.json
index b89b0e71c..37c76e534 100644
--- a/locales/vi/common.json
+++ b/locales/vi/common.json
@@ -3919,6 +3919,9 @@
"title_all_accounts": "{name} ({count}, {total} trong mọi tài khoản)",
"title_all_accounts_only": "{name} ({total} trong mọi tài khoản)"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {Không tìm thấy kết quả nào} other {Tìm thấy # cuộc trò chuyện}}"
+ },
"uxs_folders": {
"manage_accounts": "Quản lý tài khoản…",
"apply_to_existing": "{count, plural, one {Áp dụng cho # thư hiện có trong {folder}} other {Áp dụng cho # thư hiện có trong {folder}}}"
diff --git a/locales/zh-TW/common.json b/locales/zh-TW/common.json
index 763cc8226..f06f0863f 100644
--- a/locales/zh-TW/common.json
+++ b/locales/zh-TW/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}、所有帳號共 {total})",
"title_all_accounts_only": "{name} (所有帳號共 {total})"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {找不到結果} other {找到 # 個對話串}}"
+ },
"uxs_folders": {
"manage_accounts": "管理帳號…",
"apply_to_existing": "{count, plural, other {套用到{folder}中的 # 封既有郵件}}"
diff --git a/locales/zh/common.json b/locales/zh/common.json
index 0dc7de7df..08cadccaa 100644
--- a/locales/zh/common.json
+++ b/locales/zh/common.json
@@ -3907,6 +3907,9 @@
"title_all_accounts": "{name} ({count}、所有账户共 {total})",
"title_all_accounts_only": "{name} (所有账户共 {total})"
},
+ "mail_p3_list": {
+ "conversations_found": "{count, plural, =0 {未找到结果} other {找到 # 个会话}}"
+ },
"uxs_folders": {
"manage_accounts": "管理账户…",
"apply_to_existing": "{count, plural, other {应用于{folder}中的 # 封已有邮件}}"