diff --git a/components/mail-transfer/__tests__/mail-import-dialog.test.tsx b/components/mail-transfer/__tests__/mail-import-dialog.test.tsx
index ceab01aec..7efef411c 100644
--- a/components/mail-transfer/__tests__/mail-import-dialog.test.tsx
+++ b/components/mail-transfer/__tests__/mail-import-dialog.test.tsx
@@ -127,6 +127,32 @@ describe('MailImportDialog', () => {
expect(screen.getByRole('heading', { name: 'running_title' })).toBeTruthy();
});
+ it('says when a hidden import ends, with a way back to its summary', async () => {
+ const { useToastStore } = await import('@/stores/toast-store');
+ useToastStore.setState({ toasts: [] });
+ render();
+ act(() => {
+ openMailImport();
+ useMailTransferStore.getState().startJob({ kind: 'import', controller: new AbortController(), progress: progress() });
+ useMailTransferStore.getState().hide();
+ });
+ act(() => useMailTransferStore.getState().updateProgress(progress({ phase: 'done', imported: 12, failed: 1 })));
+ const toastShown = useToastStore.getState().toasts.find((x) => x.title === 'toast_done');
+ expect(toastShown?.action?.label).toBe('toast_show');
+ act(() => toastShown!.action!.onClick());
+ expect(screen.getByRole('heading', { name: 'done_title' })).toBeTruthy();
+ });
+
+ it('keeps the focus in the dialog when Import turns into the progress view and then the summary', async () => {
+ render();
+ act(() => openMailImport());
+ (document.activeElement as HTMLElement | null)?.blur();
+ act(() => useMailTransferStore.getState().startJob({ kind: 'import', controller: new AbortController(), progress: progress() }));
+ await waitFor(() => expect(document.activeElement?.textContent).toBe('background'));
+ act(() => useMailTransferStore.getState().updateProgress(progress({ phase: 'done' })));
+ await waitFor(() => expect(document.activeElement?.textContent).toBe('close'));
+ });
+
it('lists what was skipped and what failed when it ends', () => {
render();
act(() => {
diff --git a/components/mail-transfer/mail-export-dialog.tsx b/components/mail-transfer/mail-export-dialog.tsx
index 0f7ecf6c3..c3e7b6b99 100644
--- a/components/mail-transfer/mail-export-dialog.tsx
+++ b/components/mail-transfer/mail-export-dialog.tsx
@@ -1,6 +1,6 @@
"use client";
-import { useId, useState } from "react";
+import { useId, useRef, useState } from "react";
import { useLocale, useTranslations } from "next-intl";
import { Dialog } from "@/components/ui/dialog";
import { Button } from "@/components/ui/button";
@@ -11,7 +11,7 @@ import type { ExportFormat, ExportProgress } from "@/lib/mail-export/engine";
import { safeName } from "@/lib/mail-export/engine";
import { canPickSaveFile, canWritePrivateFile, memorySink, pickSaveFile, privateFileSink, sweepPrivateExports, type ExportSink } from "@/lib/mail-export/sinks";
import { formatFileSize } from "@/lib/utils";
-import { formatClock, TransferBar } from "./transfer-progress";
+import { formatClock, TransferBar, useFocusOnStage } from "./transfer-progress";
import { startExport } from "./start-export";
function today(): string {
@@ -44,6 +44,8 @@ export function MailExportDialog({ request }: { request: ExportRequest }) {
const folder = !!request.mailboxId;
const progress = job?.kind === "export" ? job.progress : null;
const active = isJobActive(job);
+ const stageButton = useRef(null);
+ useFocusOnStage(stageButton, progress ? (active ? "running" : "ended") : "setup");
if (!visible) return null;
@@ -94,7 +96,7 @@ export function MailExportDialog({ request }: { request: ExportRequest }) {
testId="mail-export-dialog"
footer={active ? (
<>
-
+
>
) : (
@@ -102,7 +104,7 @@ export function MailExportDialog({ request }: { request: ExportRequest }) {
{progress.phase === "done" && progress.file?.download && (
)}
-
+
>
)}
>
diff --git a/components/mail-transfer/mail-import-dialog.tsx b/components/mail-transfer/mail-import-dialog.tsx
index 099d29e6a..aba661d07 100644
--- a/components/mail-transfer/mail-import-dialog.tsx
+++ b/components/mail-transfer/mail-import-dialog.tsx
@@ -14,7 +14,7 @@ import { hasFolders, sniffFormat, type ImportFormat, type SkipReason } from "@/l
import type { ImportProgress } from "@/lib/mail-import/engine";
import type { Mailbox } from "@/lib/jmap/types";
import { formatFileSize, getMailboxPath } from "@/lib/utils";
-import { formatClock, TransferBar } from "./transfer-progress";
+import { formatClock, TransferBar, useFocusOnStage } from "./transfer-progress";
import { startImport } from "./start-import";
const ACCEPT = ".eml,.zip,.mbox,.mbx,.pst,.ost,message/rfc822,application/zip,application/mbox";
@@ -112,6 +112,8 @@ export function MailImportDialog({ request }: { request: ImportRequest }) {
const formatName = (format: ImportFormat) => t(`format_${format}`);
const progress = job?.kind === "import" ? job.progress : null;
const active = isJobActive(job);
+ const stageButton = useRef(null);
+ useFocusOnStage(stageButton, progress ? (active ? "running" : "ended") : "setup");
const onStart = () => {
if (picked.length === 0 || !accountId) return;
@@ -140,11 +142,11 @@ export function MailImportDialog({ request }: { request: ImportRequest }) {
testId="mail-import-dialog"
footer={active ? (
<>
-
+
>
) : (
-
+
)}
>
diff --git a/components/mail-transfer/mail-transfer-host.tsx b/components/mail-transfer/mail-transfer-host.tsx
index 7819390a2..981fb2bdf 100644
--- a/components/mail-transfer/mail-transfer-host.tsx
+++ b/components/mail-transfer/mail-transfer-host.tsx
@@ -1,6 +1,6 @@
"use client";
-import { useEffect } from "react";
+import { useEffect, useRef } from "react";
import { useLocale, useTranslations } from "next-intl";
import { Loader2, Pause } from "@/components/icons";
import { isJobActive, useMailTransferStore } from "@/stores/mail-transfer-store";
@@ -8,6 +8,7 @@ import { onBeforeSignOut } from "@/lib/sign-out-cleanup";
import { clearCheckpointsFor } from "@/lib/mail-import/checkpoints";
import { sweepPrivateExports } from "@/lib/mail-export/sinks";
import { useAuthStore } from "@/stores/auth-store";
+import { toast } from "@/stores/toast-store";
import { MailImportDialog } from "./mail-import-dialog";
import { MailExportDialog } from "./mail-export-dialog";
import { formatClock } from "./transfer-progress";
@@ -49,6 +50,29 @@ export function MailTransferHost() {
if (!isJobActive(useMailTransferStore.getState().job)) void sweepPrivateExports();
}, [activeAccountId]);
+ // A job that ends while its dialog is hidden says so, with a way back to its summary.
+ const tImport = useTranslations("mail_import");
+ const tExport = useTranslations("mail_export");
+ const lastPhase = useRef(undefined);
+ useEffect(() => {
+ const phase = job?.progress.phase;
+ const was = lastPhase.current;
+ lastPhase.current = phase;
+ if (!job || visible || (was !== "running" && was !== "paused")) return;
+ if (phase !== "done" && phase !== "failed") return;
+ const action = { label: (job.kind === "import" ? tImport : tExport)("toast_show"), onClick: () => useMailTransferStore.getState().show() };
+ if (job.kind === "import") {
+ if (phase === "done") toast.success(tImport("toast_done", { imported: job.progress.imported, failed: job.progress.failed }), { action });
+ else toast.warning(tImport("toast_stopped"), { action });
+ } else if (phase === "done") {
+ toast.success(tExport("toast_done", { name: job.progress.file?.name ?? "" }), { action });
+ } else {
+ toast.warning(tExport("toast_stopped"), { action });
+ }
+ // The translators are new functions on every render in tests; the phase is what matters.
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [job, visible]);
+
return (
<>
{request?.kind === "import" && }
diff --git a/components/mail-transfer/transfer-progress.tsx b/components/mail-transfer/transfer-progress.tsx
index a0c6aba3e..208810343 100644
--- a/components/mail-transfer/transfer-progress.tsx
+++ b/components/mail-transfer/transfer-progress.tsx
@@ -1,7 +1,23 @@
"use client";
+import { useEffect, type RefObject } from "react";
import { cn } from "@/lib/utils";
+/**
+ * Keeps the focus in the dialog when its buttons change under it: Import or
+ * Export turns into the progress view, then into the summary, and the button
+ * that had the focus is gone. `stage` names the view; `target` is the button
+ * to focus in it.
+ */
+export function useFocusOnStage(target: RefObject, stage: string): void {
+ useEffect(() => {
+ const el = target.current;
+ if (!el) return;
+ const dialog = el.closest('[role="dialog"], [role="alertdialog"]');
+ if (!dialog || !dialog.contains(document.activeElement)) el.focus();
+ }, [target, stage]);
+}
+
/** The bar of an import or export, 0 to 1; indeterminate while nothing is known. */
export function TransferBar({ fraction, label, paused }: { fraction: number | null; label: string; paused?: boolean }) {
const percent = fraction === null ? null : Math.round(Math.max(0, Math.min(1, fraction)) * 100);
diff --git a/locales/ar/common.json b/locales/ar/common.json
index c49b07ecf..279fdd81a 100644
--- a/locales/ar/common.json
+++ b/locales/ar/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "يجري استيراد هذه الملفات في علامة تبويب أخرى بالفعل.",
"retry_hint": "استورد الملفات نفسها إلى المجلد نفسه مرة أخرى لإعادة محاولة الرسائل التي فشلت.",
"skip_unreadable": "غير مقروءة في ملف Outlook: {count}",
- "keep_folders_top_hint": "في المستوى الأعلى تذهب علبة الوارد والعناصر المرسلة والعناصر المحذوفة وما شابهها إلى مجلداتك."
+ "keep_folders_top_hint": "في المستوى الأعلى تذهب علبة الوارد والعناصر المرسلة والعناصر المحذوفة وما شابهها إلى مجلداتك.",
+ "toast_done": "انتهى الاستيراد. المستورد: {imported}، الفاشل: {failed}.",
+ "toast_stopped": "توقف الاستيراد.",
+ "toast_show": "عرض"
},
"mail_export": {
"menu_export": "تصدير المجلد…",
@@ -5481,7 +5484,10 @@
"download_again": "التنزيل مرة أخرى",
"too_large": "التصدير أكبر مما يستطيع هذا المتصفح حفظه في الذاكرة. استخدم Chrome أو Edge، أو صدّر مجلدًا مجلدًا.",
"close": "إغلاق",
- "untitled": "(بلا موضوع)"
+ "untitled": "(بلا موضوع)",
+ "toast_done": "انتهى التصدير: {name}",
+ "toast_stopped": "توقف التصدير.",
+ "toast_show": "عرض"
},
"recover_deleted": {
"tab": "استعادة العناصر المحذوفة",
diff --git a/locales/ca/common.json b/locales/ca/common.json
index 5a834fd3c..fa6c36b15 100644
--- a/locales/ca/common.json
+++ b/locales/ca/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Aquests fitxers ja s'estan important en una altra pestanya.",
"retry_hint": "Torneu a importar els mateixos fitxers a la mateixa carpeta per tornar a provar els que han fallat.",
"skip_unreadable": "Il·legibles al fitxer d'Outlook: {count}",
- "keep_folders_top_hint": "Al nivell superior, Safata d'entrada, Elements enviats, Elements suprimits i similars van a les vostres."
+ "keep_folders_top_hint": "Al nivell superior, Safata d'entrada, Elements enviats, Elements suprimits i similars van a les vostres.",
+ "toast_done": "Importació acabada. Importats: {imported}, fallats: {failed}.",
+ "toast_stopped": "La importació s'ha aturat.",
+ "toast_show": "Mostra"
},
"mail_export": {
"menu_export": "Exporta la carpeta…",
@@ -5481,7 +5484,10 @@
"download_again": "Torna a baixar",
"too_large": "L'exportació és més gran del que aquest navegador pot guardar a la memòria. Feu servir Chrome o Edge, o exporteu carpeta per carpeta.",
"close": "Tanca",
- "untitled": "(sense assumpte)"
+ "untitled": "(sense assumpte)",
+ "toast_done": "Exportació acabada: {name}",
+ "toast_stopped": "L'exportació s'ha aturat.",
+ "toast_show": "Mostra"
},
"recover_deleted": {
"tab": "Recupera elements suprimits",
diff --git a/locales/cs/common.json b/locales/cs/common.json
index c7296a926..23fca3431 100644
--- a/locales/cs/common.json
+++ b/locales/cs/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Tyto soubory se už importují v jiné kartě.",
"retry_hint": "Importujte stejné soubory znovu do stejné složky, abyste zkusili neúspěšné ještě jednou.",
"skip_unreadable": "V souboru Outlooku nečitelné: {count}",
- "keep_folders_top_hint": "Na nejvyšší úrovni skončí Doručená pošta, Odeslaná pošta, Odstraněná pošta a podobné ve vašich vlastních."
+ "keep_folders_top_hint": "Na nejvyšší úrovni skončí Doručená pošta, Odeslaná pošta, Odstraněná pošta a podobné ve vašich vlastních.",
+ "toast_done": "Import dokončen. Importováno: {imported}, selhalo: {failed}.",
+ "toast_stopped": "Import se zastavil.",
+ "toast_show": "Zobrazit"
},
"mail_export": {
"menu_export": "Exportovat složku…",
@@ -5351,7 +5354,10 @@
"download_again": "Stáhnout znovu",
"too_large": "Export je větší, než tento prohlížeč udrží v paměti. Použijte Chrome nebo Edge, nebo exportujte složku po složce.",
"close": "Zavřít",
- "untitled": "(bez předmětu)"
+ "untitled": "(bez předmětu)",
+ "toast_done": "Export dokončen: {name}",
+ "toast_stopped": "Export se zastavil.",
+ "toast_show": "Zobrazit"
},
"recover_deleted": {
"tab": "Obnovit smazané položky",
diff --git a/locales/da/common.json b/locales/da/common.json
index 7aaa9a13e..490a5f8ec 100644
--- a/locales/da/common.json
+++ b/locales/da/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Disse filer importeres allerede i en anden fane.",
"retry_hint": "Importér de samme filer til samme mappe igen for at prøve dem, der mislykkedes, en gang til.",
"skip_unreadable": "Ulæselige i Outlook-filen: {count}",
- "keep_folders_top_hint": "På øverste niveau havner Indbakke, Sendt post, Slettet post og lignende i dine egne."
+ "keep_folders_top_hint": "På øverste niveau havner Indbakke, Sendt post, Slettet post og lignende i dine egne.",
+ "toast_done": "Import færdig. Importeret: {imported}, mislykkedes: {failed}.",
+ "toast_stopped": "Importen stoppede.",
+ "toast_show": "Vis"
},
"mail_export": {
"menu_export": "Eksportér mappe…",
@@ -5481,7 +5484,10 @@
"download_again": "Download igen",
"too_large": "Eksporten er større, end denne browser kan holde i hukommelsen. Brug Chrome eller Edge, eller eksportér mappe for mappe.",
"close": "Luk",
- "untitled": "(intet emne)"
+ "untitled": "(intet emne)",
+ "toast_done": "Eksport færdig: {name}",
+ "toast_stopped": "Eksporten stoppede.",
+ "toast_show": "Vis"
},
"recover_deleted": {
"tab": "Gendan slettede elementer",
diff --git a/locales/de/common.json b/locales/de/common.json
index 848f58402..232674cdb 100644
--- a/locales/de/common.json
+++ b/locales/de/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Diese Dateien werden bereits in einem anderen Tab importiert.",
"retry_hint": "Importieren Sie dieselben Dateien erneut in denselben Ordner, um die fehlgeschlagenen noch einmal zu versuchen.",
"skip_unreadable": "In der Outlook-Datei nicht lesbar: {count}",
- "keep_folders_top_hint": "Auf oberster Ebene landen Posteingang, Gesendete Elemente, Gelöschte Elemente und Ähnliche in Ihren eigenen Ordnern."
+ "keep_folders_top_hint": "Auf oberster Ebene landen Posteingang, Gesendete Elemente, Gelöschte Elemente und Ähnliche in Ihren eigenen Ordnern.",
+ "toast_done": "Import abgeschlossen. Importiert: {imported}, fehlgeschlagen: {failed}.",
+ "toast_stopped": "Der Import wurde angehalten.",
+ "toast_show": "Anzeigen"
},
"mail_export": {
"menu_export": "Ordner exportieren…",
@@ -5351,7 +5354,10 @@
"download_again": "Erneut herunterladen",
"too_large": "Der Export ist größer, als dieser Browser im Speicher halten kann. Nutzen Sie Chrome oder Edge, oder exportieren Sie Ordner für Ordner.",
"close": "Schließen",
- "untitled": "(kein Betreff)"
+ "untitled": "(kein Betreff)",
+ "toast_done": "Export abgeschlossen: {name}",
+ "toast_stopped": "Der Export wurde angehalten.",
+ "toast_show": "Anzeigen"
},
"recover_deleted": {
"tab": "Gelöschte E-Mails",
diff --git a/locales/en/common.json b/locales/en/common.json
index 547f3587e..662729721 100644
--- a/locales/en/common.json
+++ b/locales/en/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "These files are being imported in another tab already.",
"retry_hint": "Import the same files into the same folder again to try the ones that failed once more.",
"skip_unreadable": "Unreadable in the Outlook file: {count}",
- "keep_folders_top_hint": "At the top level, Inbox, Sent Items, Deleted Items and the like go into your own."
+ "keep_folders_top_hint": "At the top level, Inbox, Sent Items, Deleted Items and the like go into your own.",
+ "toast_done": "Import finished. Imported: {imported}, failed: {failed}.",
+ "toast_stopped": "The import stopped.",
+ "toast_show": "Show"
},
"mail_export": {
"menu_export": "Export folder…",
@@ -5481,7 +5484,10 @@
"download_again": "Download again",
"too_large": "The export is larger than this browser can keep in memory. Use Chrome or Edge, or export folder by folder.",
"close": "Close",
- "untitled": "(no subject)"
+ "untitled": "(no subject)",
+ "toast_done": "Export finished: {name}",
+ "toast_stopped": "The export stopped.",
+ "toast_show": "Show"
},
"recover_deleted": {
"tab": "Recover deleted items",
diff --git a/locales/es/common.json b/locales/es/common.json
index dca463886..d8b292157 100644
--- a/locales/es/common.json
+++ b/locales/es/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Estos archivos ya se están importando en otra pestaña.",
"retry_hint": "Importe los mismos archivos en la misma carpeta otra vez para reintentar los que fallaron.",
"skip_unreadable": "Ilegibles en el archivo de Outlook: {count}",
- "keep_folders_top_hint": "En el nivel superior, Bandeja de entrada, Elementos enviados, Elementos eliminados y similares van a las suyas."
+ "keep_folders_top_hint": "En el nivel superior, Bandeja de entrada, Elementos enviados, Elementos eliminados y similares van a las suyas.",
+ "toast_done": "Importación terminada. Importados: {imported}, fallidos: {failed}.",
+ "toast_stopped": "La importación se detuvo.",
+ "toast_show": "Mostrar"
},
"mail_export": {
"menu_export": "Exportar carpeta…",
@@ -5351,7 +5354,10 @@
"download_again": "Descargar de nuevo",
"too_large": "La exportación es mayor de lo que este navegador puede guardar en memoria. Use Chrome o Edge, o exporte carpeta por carpeta.",
"close": "Cerrar",
- "untitled": "(sin asunto)"
+ "untitled": "(sin asunto)",
+ "toast_done": "Exportación terminada: {name}",
+ "toast_stopped": "La exportación se detuvo.",
+ "toast_show": "Mostrar"
},
"recover_deleted": {
"tab": "Recuperar elementos eliminados",
diff --git a/locales/et/common.json b/locales/et/common.json
index 881a92474..4895fbb39 100644
--- a/locales/et/common.json
+++ b/locales/et/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Neid faile imporditakse juba teisel vahelehel.",
"retry_hint": "Importige samad failid uuesti samasse kausta, et ebaõnnestunud kirju veel kord proovida.",
"skip_unreadable": "Outlooki failis loetamatud: {count}",
- "keep_folders_top_hint": "Ülemisel tasemel lähevad Sisendkaust, Saadetud, Kustutatud ja muud sellised teie omadesse."
+ "keep_folders_top_hint": "Ülemisel tasemel lähevad Sisendkaust, Saadetud, Kustutatud ja muud sellised teie omadesse.",
+ "toast_done": "Import lõpetatud. Imporditud: {imported}, ebaõnnestunud: {failed}.",
+ "toast_stopped": "Import peatus.",
+ "toast_show": "Näita"
},
"mail_export": {
"menu_export": "Ekspordi kaust…",
@@ -5481,7 +5484,10 @@
"download_again": "Laadi uuesti alla",
"too_large": "Eksport on suurem, kui see brauser mälus hoida suudab. Kasutage Chrome'i või Edge'i või eksportige kaust kaupa.",
"close": "Sulge",
- "untitled": "(teemata)"
+ "untitled": "(teemata)",
+ "toast_done": "Eksport lõpetatud: {name}",
+ "toast_stopped": "Eksport peatus.",
+ "toast_show": "Näita"
},
"recover_deleted": {
"tab": "Taasta kustutatud üksused",
diff --git a/locales/fa/common.json b/locales/fa/common.json
index 6af851e47..71df22a92 100644
--- a/locales/fa/common.json
+++ b/locales/fa/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "این فایلها هماکنون در زبانه دیگری درونریزی میشوند.",
"retry_hint": "برای امتحان دوباره پیامهای ناموفق، همان فایلها را دوباره در همان پوشه درونریزی کنید.",
"skip_unreadable": "خوانا نیست در فایل اوتلوک: {count}",
- "keep_folders_top_hint": "در بالاترین سطح، صندوق ورودی، موارد ارسالشده، موارد حذفشده و مانند آنها به پوشههای خودتان میروند."
+ "keep_folders_top_hint": "در بالاترین سطح، صندوق ورودی، موارد ارسالشده، موارد حذفشده و مانند آنها به پوشههای خودتان میروند.",
+ "toast_done": "درونریزی تمام شد. درونریزیشده: {imported}، ناموفق: {failed}.",
+ "toast_stopped": "درونریزی متوقف شد.",
+ "toast_show": "نمایش"
},
"mail_export": {
"menu_export": "برونبری پوشه…",
@@ -5481,7 +5484,10 @@
"download_again": "دانلود دوباره",
"too_large": "برونبری بزرگتر از آن است که این مرورگر در حافظه نگه دارد. از Chrome یا Edge استفاده کنید یا پوشه به پوشه برونبری کنید.",
"close": "بستن",
- "untitled": "(بدون موضوع)"
+ "untitled": "(بدون موضوع)",
+ "toast_done": "برونبری تمام شد: {name}",
+ "toast_stopped": "برونبری متوقف شد.",
+ "toast_show": "نمایش"
},
"recover_deleted": {
"tab": "بازیابی موارد حذفشده",
diff --git a/locales/fr/common.json b/locales/fr/common.json
index 4da3ec0a0..cb8f24412 100644
--- a/locales/fr/common.json
+++ b/locales/fr/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Ces fichiers sont déjà en cours d'import dans un autre onglet.",
"retry_hint": "Importez à nouveau les mêmes fichiers dans le même dossier pour réessayer ceux qui ont échoué.",
"skip_unreadable": "Illisibles dans le fichier Outlook : {count}",
- "keep_folders_top_hint": "Au niveau supérieur, Boîte de réception, Éléments envoyés, Éléments supprimés et les autres vont dans les vôtres."
+ "keep_folders_top_hint": "Au niveau supérieur, Boîte de réception, Éléments envoyés, Éléments supprimés et les autres vont dans les vôtres.",
+ "toast_done": "Import terminé. Importés : {imported}, échecs : {failed}.",
+ "toast_stopped": "L'import s'est arrêté.",
+ "toast_show": "Afficher"
},
"mail_export": {
"menu_export": "Exporter le dossier…",
@@ -5351,7 +5354,10 @@
"download_again": "Télécharger à nouveau",
"too_large": "L'export est plus grand que ce que ce navigateur peut garder en mémoire. Utilisez Chrome ou Edge, ou exportez dossier par dossier.",
"close": "Fermer",
- "untitled": "(sans objet)"
+ "untitled": "(sans objet)",
+ "toast_done": "Export terminé : {name}",
+ "toast_stopped": "L'export s'est arrêté.",
+ "toast_show": "Afficher"
},
"recover_deleted": {
"tab": "Récupérer des éléments supprimés",
diff --git a/locales/he/common.json b/locales/he/common.json
index 52d2e767e..28af6451b 100644
--- a/locales/he/common.json
+++ b/locales/he/common.json
@@ -5442,7 +5442,10 @@
"error_busy": "הקבצים האלה כבר מיובאים בכרטיסייה אחרת.",
"retry_hint": "ייבאו שוב את אותם קבצים לאותה תיקייה כדי לנסות שוב את אלה שנכשלו.",
"skip_unreadable": "לא קריאות בקובץ ה-Outlook: {count}",
- "keep_folders_top_hint": "ברמה העליונה, דואר נכנס, פריטים שנשלחו, פריטים שנמחקו ודומיהם נכנסים לתיקיות שלכם."
+ "keep_folders_top_hint": "ברמה העליונה, דואר נכנס, פריטים שנשלחו, פריטים שנמחקו ודומיהם נכנסים לתיקיות שלכם.",
+ "toast_done": "הייבוא הסתיים. יובאו: {imported}, נכשלו: {failed}.",
+ "toast_stopped": "הייבוא נעצר.",
+ "toast_show": "הצגה"
},
"mail_export": {
"menu_export": "ייצוא תיקייה…",
@@ -5482,7 +5485,10 @@
"download_again": "הורדה מחדש",
"too_large": "הייצוא גדול ממה שדפדפן זה יכול להחזיק בזיכרון. השתמשו ב-Chrome או ב-Edge, או ייצאו תיקייה אחר תיקייה.",
"close": "סגירה",
- "untitled": "(ללא נושא)"
+ "untitled": "(ללא נושא)",
+ "toast_done": "הייצוא הסתיים: {name}",
+ "toast_stopped": "הייצוא נעצר.",
+ "toast_show": "הצגה"
},
"recover_deleted": {
"tab": "שחזור פריטים שנמחקו",
diff --git a/locales/hu/common.json b/locales/hu/common.json
index da80ac27e..a3e93dc52 100644
--- a/locales/hu/common.json
+++ b/locales/hu/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Ezeket a fájlokat már importálja egy másik lap.",
"retry_hint": "Importálja újra ugyanazokat a fájlokat ugyanabba a mappába, hogy a sikertelenekkel újra próbálkozzon.",
"skip_unreadable": "Olvashatatlan az Outlook-fájlban: {count}",
- "keep_folders_top_hint": "A legfelső szinten a Beérkezett üzenetek, az Elküldött elemek, a Törölt elemek és a hasonlók a saját mappáiba kerülnek."
+ "keep_folders_top_hint": "A legfelső szinten a Beérkezett üzenetek, az Elküldött elemek, a Törölt elemek és a hasonlók a saját mappáiba kerülnek.",
+ "toast_done": "Az importálás befejeződött. Importált: {imported}, sikertelen: {failed}.",
+ "toast_stopped": "Az importálás leállt.",
+ "toast_show": "Megjelenítés"
},
"mail_export": {
"menu_export": "Mappa exportálása…",
@@ -5481,7 +5484,10 @@
"download_again": "Letöltés újra",
"too_large": "Az export nagyobb, mint amit ez a böngésző a memóriában tarthat. Használja a Chrome-ot vagy az Edge-et, vagy exportáljon mappánként.",
"close": "Bezárás",
- "untitled": "(nincs tárgy)"
+ "untitled": "(nincs tárgy)",
+ "toast_done": "Az exportálás befejeződött: {name}",
+ "toast_stopped": "Az exportálás leállt.",
+ "toast_show": "Megjelenítés"
},
"recover_deleted": {
"tab": "Törölt elemek visszaállítása",
diff --git a/locales/it/common.json b/locales/it/common.json
index aec4abfe5..a7a60b51d 100644
--- a/locales/it/common.json
+++ b/locales/it/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Questi file sono già in importazione in un'altra scheda.",
"retry_hint": "Importa di nuovo gli stessi file nella stessa cartella per riprovare quelli non riusciti.",
"skip_unreadable": "Illeggibili nel file di Outlook: {count}",
- "keep_folders_top_hint": "Al livello principale, Posta in arrivo, Posta inviata, Elementi eliminati e simili finiscono nelle tue."
+ "keep_folders_top_hint": "Al livello principale, Posta in arrivo, Posta inviata, Elementi eliminati e simili finiscono nelle tue.",
+ "toast_done": "Importazione completata. Importati: {imported}, non riusciti: {failed}.",
+ "toast_stopped": "L'importazione si è fermata.",
+ "toast_show": "Mostra"
},
"mail_export": {
"menu_export": "Esporta cartella…",
@@ -5351,7 +5354,10 @@
"download_again": "Scarica di nuovo",
"too_large": "L'esportazione è più grande di quanto questo browser possa tenere in memoria. Usa Chrome o Edge, oppure esporta una cartella alla volta.",
"close": "Chiudi",
- "untitled": "(nessun oggetto)"
+ "untitled": "(nessun oggetto)",
+ "toast_done": "Esportazione completata: {name}",
+ "toast_stopped": "L'esportazione si è fermata.",
+ "toast_show": "Mostra"
},
"recover_deleted": {
"tab": "Recupera elementi eliminati",
diff --git a/locales/ja/common.json b/locales/ja/common.json
index f5b9e1ce9..a6d9fa5e0 100644
--- a/locales/ja/common.json
+++ b/locales/ja/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "これらのファイルは別のタブですでにインポート中です。",
"retry_hint": "失敗したものをもう一度試すには、同じファイルを同じフォルダーにもう一度インポートしてください。",
"skip_unreadable": "Outlook ファイル内で読めないもの: {count}",
- "keep_folders_top_hint": "最上位では、受信トレイ、送信済みアイテム、削除済みアイテムなどはご自身のフォルダーに入ります。"
+ "keep_folders_top_hint": "最上位では、受信トレイ、送信済みアイテム、削除済みアイテムなどはご自身のフォルダーに入ります。",
+ "toast_done": "インポートが完了しました。インポート: {imported}、失敗: {failed}。",
+ "toast_stopped": "インポートが止まりました。",
+ "toast_show": "表示"
},
"mail_export": {
"menu_export": "フォルダーをエクスポート…",
@@ -5351,7 +5354,10 @@
"download_again": "もう一度ダウンロード",
"too_large": "エクスポートがこのブラウザーでメモリーに保持できる量を超えています。Chrome か Edge を使うか、フォルダーごとにエクスポートしてください。",
"close": "閉じる",
- "untitled": "(件名なし)"
+ "untitled": "(件名なし)",
+ "toast_done": "エクスポートが完了しました: {name}",
+ "toast_stopped": "エクスポートが止まりました。",
+ "toast_show": "表示"
},
"recover_deleted": {
"tab": "削除済みアイテムの復元",
diff --git a/locales/ko/common.json b/locales/ko/common.json
index b30157e11..475bc796e 100644
--- a/locales/ko/common.json
+++ b/locales/ko/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "이 파일은 이미 다른 탭에서 가져오는 중입니다.",
"retry_hint": "실패한 메시지를 다시 시도하려면 같은 파일을 같은 폴더로 다시 가져오세요.",
"skip_unreadable": "Outlook 파일에서 읽을 수 없음: {count}",
- "keep_folders_top_hint": "최상위에서는 받은 편지함, 보낸 편지함, 지운 편지함 등이 사용자의 폴더로 들어갑니다."
+ "keep_folders_top_hint": "최상위에서는 받은 편지함, 보낸 편지함, 지운 편지함 등이 사용자의 폴더로 들어갑니다.",
+ "toast_done": "가져오기 완료. 가져옴: {imported}, 실패: {failed}.",
+ "toast_stopped": "가져오기가 멈췄습니다.",
+ "toast_show": "보기"
},
"mail_export": {
"menu_export": "폴더 내보내기…",
@@ -5351,7 +5354,10 @@
"download_again": "다시 다운로드",
"too_large": "내보내기가 이 브라우저가 메모리에 담을 수 있는 크기보다 큽니다. Chrome이나 Edge를 쓰거나 폴더별로 내보내세요.",
"close": "닫기",
- "untitled": "(제목 없음)"
+ "untitled": "(제목 없음)",
+ "toast_done": "내보내기 완료: {name}",
+ "toast_stopped": "내보내기가 멈췄습니다.",
+ "toast_show": "보기"
},
"recover_deleted": {
"tab": "삭제된 항목 복구",
diff --git a/locales/lv/common.json b/locales/lv/common.json
index 6c7228cf4..6bba8b3d0 100644
--- a/locales/lv/common.json
+++ b/locales/lv/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Šie faili jau tiek importēti citā cilnē.",
"retry_hint": "Vēlreiz importējiet tos pašus failus tajā pašā mapē, lai vēlreiz mēģinātu neizdevušos.",
"skip_unreadable": "Outlook failā nenolasāmi: {count}",
- "keep_folders_top_hint": "Augšējā līmenī Iesūtne, Nosūtītie, Dzēstie un līdzīgi nonāk jūsu pašu mapēs."
+ "keep_folders_top_hint": "Augšējā līmenī Iesūtne, Nosūtītie, Dzēstie un līdzīgi nonāk jūsu pašu mapēs.",
+ "toast_done": "Importēšana pabeigta. Importēti: {imported}, neizdevās: {failed}.",
+ "toast_stopped": "Importēšana apstājās.",
+ "toast_show": "Rādīt"
},
"mail_export": {
"menu_export": "Eksportēt mapi…",
@@ -5351,7 +5354,10 @@
"download_again": "Lejupielādēt vēlreiz",
"too_large": "Eksports ir lielāks, nekā šī pārlūkprogramma var noturēt atmiņā. Izmantojiet Chrome vai Edge vai eksportējiet pa mapei.",
"close": "Aizvērt",
- "untitled": "(bez temata)"
+ "untitled": "(bez temata)",
+ "toast_done": "Eksportēšana pabeigta: {name}",
+ "toast_stopped": "Eksportēšana apstājās.",
+ "toast_show": "Rādīt"
},
"recover_deleted": {
"tab": "Atjaunot dzēstos vienumus",
diff --git a/locales/mn/common.json b/locales/mn/common.json
index 4c3add596..3d25d08da 100644
--- a/locales/mn/common.json
+++ b/locales/mn/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Эдгээр файлыг өөр табд аль хэдийн импортлож байна.",
"retry_hint": "Амжилтгүй болсон захидлуудыг дахин оролдохын тулд ижил файлуудыг ижил хавтас руу дахин импортлоно уу.",
"skip_unreadable": "Outlook файлд уншигдахгүй: {count}",
- "keep_folders_top_hint": "Дээд түвшинд Ирсэн, Илгээсэн, Устгасан болон түүнтэй адил хавтаснууд таны өөрийнх рүү орно."
+ "keep_folders_top_hint": "Дээд түвшинд Ирсэн, Илгээсэн, Устгасан болон түүнтэй адил хавтаснууд таны өөрийнх рүү орно.",
+ "toast_done": "Импорт дууслаа. Импортолсон: {imported}, амжилтгүй: {failed}.",
+ "toast_stopped": "Импорт зогслоо.",
+ "toast_show": "Харуулах"
},
"mail_export": {
"menu_export": "Хавтас экспортлох…",
@@ -5481,7 +5484,10 @@
"download_again": "Дахин татах",
"too_large": "Экспорт энэ хөтчийн санах ойд багтахаас том байна. Chrome эсвэл Edge ашиглах, эсвэл хавтас тус бүрээр экспортлоно уу.",
"close": "Хаах",
- "untitled": "(гарчиггүй)"
+ "untitled": "(гарчиггүй)",
+ "toast_done": "Экспорт дууслаа: {name}",
+ "toast_stopped": "Экспорт зогслоо.",
+ "toast_show": "Харуулах"
},
"recover_deleted": {
"tab": "Устгасан зүйлсийг сэргээх",
diff --git a/locales/nb/common.json b/locales/nb/common.json
index 835c30835..5c464be1e 100644
--- a/locales/nb/common.json
+++ b/locales/nb/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Disse filene importeres allerede i en annen fane.",
"retry_hint": "Importer de samme filene til samme mappe igjen for å prøve de som mislyktes, på nytt.",
"skip_unreadable": "Uleselige i Outlook-filen: {count}",
- "keep_folders_top_hint": "På øverste nivå havner Innboks, Sendte elementer, Slettede elementer og lignende i dine egne."
+ "keep_folders_top_hint": "På øverste nivå havner Innboks, Sendte elementer, Slettede elementer og lignende i dine egne.",
+ "toast_done": "Import fullført. Importert: {imported}, mislyktes: {failed}.",
+ "toast_stopped": "Importen stoppet.",
+ "toast_show": "Vis"
},
"mail_export": {
"menu_export": "Eksporter mappe…",
@@ -5481,7 +5484,10 @@
"download_again": "Last ned på nytt",
"too_large": "Eksporten er større enn denne nettleseren kan holde i minnet. Bruk Chrome eller Edge, eller eksporter mappe for mappe.",
"close": "Lukk",
- "untitled": "(uten emne)"
+ "untitled": "(uten emne)",
+ "toast_done": "Eksport fullført: {name}",
+ "toast_stopped": "Eksporten stoppet.",
+ "toast_show": "Vis"
},
"recover_deleted": {
"tab": "Gjenopprett slettede elementer",
diff --git a/locales/nl/common.json b/locales/nl/common.json
index 064c3eb48..226e049cd 100644
--- a/locales/nl/common.json
+++ b/locales/nl/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Deze bestanden worden al in een ander tabblad geïmporteerd.",
"retry_hint": "Importeer dezelfde bestanden opnieuw in dezelfde map om de mislukte nog eens te proberen.",
"skip_unreadable": "Onleesbaar in het Outlook-bestand: {count}",
- "keep_folders_top_hint": "Op het hoogste niveau gaan Postvak IN, Verzonden items, Verwijderde items en dergelijke naar die van u."
+ "keep_folders_top_hint": "Op het hoogste niveau gaan Postvak IN, Verzonden items, Verwijderde items en dergelijke naar die van u.",
+ "toast_done": "Import voltooid. Geïmporteerd: {imported}, mislukt: {failed}.",
+ "toast_stopped": "De import is gestopt.",
+ "toast_show": "Tonen"
},
"mail_export": {
"menu_export": "Map exporteren…",
@@ -5351,7 +5354,10 @@
"download_again": "Opnieuw downloaden",
"too_large": "De export is groter dan deze browser in het geheugen kan houden. Gebruik Chrome of Edge, of exporteer map voor map.",
"close": "Sluiten",
- "untitled": "(geen onderwerp)"
+ "untitled": "(geen onderwerp)",
+ "toast_done": "Export voltooid: {name}",
+ "toast_stopped": "De export is gestopt.",
+ "toast_show": "Tonen"
},
"recover_deleted": {
"tab": "Verwijderde items herstellen",
diff --git a/locales/pl/common.json b/locales/pl/common.json
index 69309dec6..062e268a1 100644
--- a/locales/pl/common.json
+++ b/locales/pl/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Te pliki są już importowane w innej karcie.",
"retry_hint": "Zaimportuj te same pliki ponownie do tego samego folderu, aby jeszcze raz spróbować tych, które się nie udały.",
"skip_unreadable": "Nieczytelne w pliku programu Outlook: {count}",
- "keep_folders_top_hint": "Na najwyższym poziomie Skrzynka odbiorcza, Elementy wysłane, Elementy usunięte i podobne trafiają do Twoich własnych."
+ "keep_folders_top_hint": "Na najwyższym poziomie Skrzynka odbiorcza, Elementy wysłane, Elementy usunięte i podobne trafiają do Twoich własnych.",
+ "toast_done": "Import zakończony. Zaimportowano: {imported}, nie udało się: {failed}.",
+ "toast_stopped": "Import się zatrzymał.",
+ "toast_show": "Pokaż"
},
"mail_export": {
"menu_export": "Eksportuj folder…",
@@ -5351,7 +5354,10 @@
"download_again": "Pobierz ponownie",
"too_large": "Eksport jest większy, niż ta przeglądarka może trzymać w pamięci. Użyj Chrome lub Edge albo eksportuj folder po folderze.",
"close": "Zamknij",
- "untitled": "(bez tematu)"
+ "untitled": "(bez tematu)",
+ "toast_done": "Eksport zakończony: {name}",
+ "toast_stopped": "Eksport się zatrzymał.",
+ "toast_show": "Pokaż"
},
"recover_deleted": {
"tab": "Odzyskaj usunięte elementy",
diff --git a/locales/pt/common.json b/locales/pt/common.json
index c526a3494..0cd8b0aa0 100644
--- a/locales/pt/common.json
+++ b/locales/pt/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Estes arquivos já estão sendo importados em outra aba.",
"retry_hint": "Importe os mesmos arquivos na mesma pasta outra vez para tentar de novo os que falharam.",
"skip_unreadable": "Ilegíveis no arquivo do Outlook: {count}",
- "keep_folders_top_hint": "No nível superior, Caixa de entrada, Itens enviados, Itens excluídos e similares vão para as suas."
+ "keep_folders_top_hint": "No nível superior, Caixa de entrada, Itens enviados, Itens excluídos e similares vão para as suas.",
+ "toast_done": "Importação concluída. Importados: {imported}, com falha: {failed}.",
+ "toast_stopped": "A importação parou.",
+ "toast_show": "Mostrar"
},
"mail_export": {
"menu_export": "Exportar pasta…",
@@ -5351,7 +5354,10 @@
"download_again": "Baixar de novo",
"too_large": "A exportação é maior do que este navegador consegue guardar na memória. Use o Chrome ou o Edge, ou exporte pasta por pasta.",
"close": "Fechar",
- "untitled": "(sem assunto)"
+ "untitled": "(sem assunto)",
+ "toast_done": "Exportação concluída: {name}",
+ "toast_stopped": "A exportação parou.",
+ "toast_show": "Mostrar"
},
"recover_deleted": {
"tab": "Recuperar itens excluídos",
diff --git a/locales/ro/common.json b/locales/ro/common.json
index 3ce4c4f98..8233b6b61 100644
--- a/locales/ro/common.json
+++ b/locales/ro/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Aceste fișiere se importă deja în altă filă.",
"retry_hint": "Importați din nou aceleași fișiere în același dosar pentru a reîncerca mesajele care au eșuat.",
"skip_unreadable": "Ilizibile în fișierul Outlook: {count}",
- "keep_folders_top_hint": "La nivelul de sus, Inbox, Elemente trimise, Elemente șterse și altele asemenea ajung în ale dumneavoastră."
+ "keep_folders_top_hint": "La nivelul de sus, Inbox, Elemente trimise, Elemente șterse și altele asemenea ajung în ale dumneavoastră.",
+ "toast_done": "Import încheiat. Importate: {imported}, eșuate: {failed}.",
+ "toast_stopped": "Importul s-a oprit.",
+ "toast_show": "Afișează"
},
"mail_export": {
"menu_export": "Exportă dosarul…",
@@ -5481,7 +5484,10 @@
"download_again": "Descarcă din nou",
"too_large": "Exportul este mai mare decât poate ține acest browser în memorie. Folosiți Chrome sau Edge sau exportați dosar cu dosar.",
"close": "Închide",
- "untitled": "(fără subiect)"
+ "untitled": "(fără subiect)",
+ "toast_done": "Export încheiat: {name}",
+ "toast_stopped": "Exportul s-a oprit.",
+ "toast_show": "Afișează"
},
"recover_deleted": {
"tab": "Recuperați elementele șterse",
diff --git a/locales/ru/common.json b/locales/ru/common.json
index dd7684803..7e955e5ef 100644
--- a/locales/ru/common.json
+++ b/locales/ru/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Эти файлы уже импортируются в другой вкладке.",
"retry_hint": "Снова импортируйте те же файлы в ту же папку, чтобы ещё раз попробовать неудавшиеся.",
"skip_unreadable": "Не читаются в файле Outlook: {count}",
- "keep_folders_top_hint": "На верхнем уровне Входящие, Отправленные, Удалённые и подобные попадают в ваши собственные."
+ "keep_folders_top_hint": "На верхнем уровне Входящие, Отправленные, Удалённые и подобные попадают в ваши собственные.",
+ "toast_done": "Импорт завершён. Импортировано: {imported}, не удалось: {failed}.",
+ "toast_stopped": "Импорт остановлен.",
+ "toast_show": "Показать"
},
"mail_export": {
"menu_export": "Экспортировать папку…",
@@ -5351,7 +5354,10 @@
"download_again": "Скачать снова",
"too_large": "Экспорт больше, чем этот браузер может держать в памяти. Используйте Chrome или Edge либо экспортируйте по одной папке.",
"close": "Закрыть",
- "untitled": "(без темы)"
+ "untitled": "(без темы)",
+ "toast_done": "Экспорт завершён: {name}",
+ "toast_stopped": "Экспорт остановлен.",
+ "toast_show": "Показать"
},
"recover_deleted": {
"tab": "Восстановить удалённое",
diff --git a/locales/sk/common.json b/locales/sk/common.json
index f44c36f36..39b4dcb65 100644
--- a/locales/sk/common.json
+++ b/locales/sk/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Tieto súbory sa už importujú na inej karte.",
"retry_hint": "Importujte rovnaké súbory znova do rovnakého priečinka, aby ste skúsili neúspešné ešte raz.",
"skip_unreadable": "V súbore Outlooku nečitateľné: {count}",
- "keep_folders_top_hint": "Na najvyššej úrovni skončia Doručená pošta, Odoslaná pošta, Odstránená pošta a podobné vo vašich vlastných."
+ "keep_folders_top_hint": "Na najvyššej úrovni skončia Doručená pošta, Odoslaná pošta, Odstránená pošta a podobné vo vašich vlastných.",
+ "toast_done": "Import dokončený. Importované: {imported}, zlyhalo: {failed}.",
+ "toast_stopped": "Import sa zastavil.",
+ "toast_show": "Zobraziť"
},
"mail_export": {
"menu_export": "Exportovať priečinok…",
@@ -5481,7 +5484,10 @@
"download_again": "Stiahnuť znova",
"too_large": "Export je väčší, než tento prehliadač udrží v pamäti. Použite Chrome alebo Edge, alebo exportujte priečinok po priečinku.",
"close": "Zavrieť",
- "untitled": "(bez predmetu)"
+ "untitled": "(bez predmetu)",
+ "toast_done": "Export dokončený: {name}",
+ "toast_stopped": "Export sa zastavil.",
+ "toast_show": "Zobraziť"
},
"recover_deleted": {
"tab": "Obnoviť odstránené položky",
diff --git a/locales/th/common.json b/locales/th/common.json
index 39a645601..ec27c5a32 100644
--- a/locales/th/common.json
+++ b/locales/th/common.json
@@ -458,7 +458,10 @@
"error_busy": "ไฟล์เหล่านี้กำลังถูกนำเข้าในอีกแท็บหนึ่งอยู่แล้ว",
"retry_hint": "นำเข้าไฟล์เดิมไปยังโฟลเดอร์เดิมอีกครั้งเพื่อลองข้อความที่ล้มเหลวอีกรอบ",
"skip_unreadable": "อ่านไม่ได้ในไฟล์ Outlook: {count}",
- "keep_folders_top_hint": "ในระดับบนสุด กล่องจดหมายเข้า รายการที่ส่ง รายการที่ลบ และที่คล้ายกันจะเข้าไปในโฟลเดอร์ของคุณเอง"
+ "keep_folders_top_hint": "ในระดับบนสุด กล่องจดหมายเข้า รายการที่ส่ง รายการที่ลบ และที่คล้ายกันจะเข้าไปในโฟลเดอร์ของคุณเอง",
+ "toast_done": "นำเข้าเสร็จแล้ว นำเข้าแล้ว: {imported} ล้มเหลว: {failed}",
+ "toast_stopped": "การนำเข้าหยุดลง",
+ "toast_show": "แสดง"
},
"mail_export": {
"menu_export": "ส่งออกโฟลเดอร์…",
@@ -498,7 +501,10 @@
"download_again": "ดาวน์โหลดอีกครั้ง",
"too_large": "การส่งออกใหญ่เกินกว่าที่เบราว์เซอร์นี้เก็บไว้ในหน่วยความจำได้ ให้ใช้ Chrome หรือ Edge หรือส่งออกทีละโฟลเดอร์",
"close": "ปิด",
- "untitled": "(ไม่มีหัวเรื่อง)"
+ "untitled": "(ไม่มีหัวเรื่อง)",
+ "toast_done": "ส่งออกเสร็จแล้ว: {name}",
+ "toast_stopped": "การส่งออกหยุดลง",
+ "toast_show": "แสดง"
},
"recover_deleted": {
"tab": "กู้คืนรายการที่ลบ",
diff --git a/locales/tr/common.json b/locales/tr/common.json
index 8fea33739..8848419b8 100644
--- a/locales/tr/common.json
+++ b/locales/tr/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "Bu dosyalar zaten başka bir sekmede içe aktarılıyor.",
"retry_hint": "Başarısız olanları bir kez daha denemek için aynı dosyaları aynı klasöre yeniden içe aktarın.",
"skip_unreadable": "Outlook dosyasında okunamayan: {count}",
- "keep_folders_top_hint": "En üst düzeyde Gelen Kutusu, Gönderilmiş Öğeler, Silinmiş Öğeler ve benzerleri sizinkilere gider."
+ "keep_folders_top_hint": "En üst düzeyde Gelen Kutusu, Gönderilmiş Öğeler, Silinmiş Öğeler ve benzerleri sizinkilere gider.",
+ "toast_done": "İçe aktarım tamamlandı. İçe aktarılan: {imported}, başarısız: {failed}.",
+ "toast_stopped": "İçe aktarım durdu.",
+ "toast_show": "Göster"
},
"mail_export": {
"menu_export": "Klasörü dışa aktar…",
@@ -5481,7 +5484,10 @@
"download_again": "Yeniden indir",
"too_large": "Dışa aktarım, bu tarayıcının bellekte tutabileceğinden büyük. Chrome veya Edge kullanın ya da klasör klasör dışa aktarın.",
"close": "Kapat",
- "untitled": "(konu yok)"
+ "untitled": "(konu yok)",
+ "toast_done": "Dışa aktarım tamamlandı: {name}",
+ "toast_stopped": "Dışa aktarım durdu.",
+ "toast_show": "Göster"
},
"recover_deleted": {
"tab": "Silinen öğeleri kurtar",
diff --git a/locales/uk/common.json b/locales/uk/common.json
index 4a64a248d..780f91a5d 100644
--- a/locales/uk/common.json
+++ b/locales/uk/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "Ці файли вже імпортуються в іншій вкладці.",
"retry_hint": "Знову імпортуйте ті самі файли до тієї самої теки, щоб ще раз спробувати невдалі.",
"skip_unreadable": "Не читаються у файлі Outlook: {count}",
- "keep_folders_top_hint": "На верхньому рівні Вхідні, Надіслані, Видалені й подібні потрапляють до ваших власних."
+ "keep_folders_top_hint": "На верхньому рівні Вхідні, Надіслані, Видалені й подібні потрапляють до ваших власних.",
+ "toast_done": "Імпорт завершено. Імпортовано: {imported}, не вдалося: {failed}.",
+ "toast_stopped": "Імпорт зупинено.",
+ "toast_show": "Показати"
},
"mail_export": {
"menu_export": "Експортувати теку…",
@@ -5351,7 +5354,10 @@
"download_again": "Завантажити знову",
"too_large": "Експорт більший, ніж цей браузер може тримати в пам'яті. Використовуйте Chrome або Edge чи експортуйте по одній теці.",
"close": "Закрити",
- "untitled": "(без теми)"
+ "untitled": "(без теми)",
+ "toast_done": "Експорт завершено: {name}",
+ "toast_stopped": "Експорт зупинено.",
+ "toast_show": "Показати"
},
"recover_deleted": {
"tab": "Відновити видалене",
diff --git a/locales/vi/common.json b/locales/vi/common.json
index 6c71133cf..d5aa50ea2 100644
--- a/locales/vi/common.json
+++ b/locales/vi/common.json
@@ -5453,7 +5453,10 @@
"error_busy": "Các tệp này đang được nhập ở một thẻ khác.",
"retry_hint": "Nhập lại cùng các tệp vào cùng thư mục để thử lại những thư không nhập được.",
"skip_unreadable": "Không đọc được trong tệp Outlook: {count}",
- "keep_folders_top_hint": "Ở cấp cao nhất, Hộp thư đến, Thư đã gửi, Thư đã xóa và các thư mục tương tự sẽ vào thư mục của bạn."
+ "keep_folders_top_hint": "Ở cấp cao nhất, Hộp thư đến, Thư đã gửi, Thư đã xóa và các thư mục tương tự sẽ vào thư mục của bạn.",
+ "toast_done": "Đã nhập xong. Đã nhập: {imported}, thất bại: {failed}.",
+ "toast_stopped": "Việc nhập đã dừng.",
+ "toast_show": "Hiện"
},
"mail_export": {
"menu_export": "Xuất thư mục…",
@@ -5493,7 +5496,10 @@
"download_again": "Tải xuống lại",
"too_large": "Bản xuất lớn hơn mức trình duyệt này giữ được trong bộ nhớ. Hãy dùng Chrome hoặc Edge, hoặc xuất từng thư mục.",
"close": "Đóng",
- "untitled": "(không có tiêu đề)"
+ "untitled": "(không có tiêu đề)",
+ "toast_done": "Đã xuất xong: {name}",
+ "toast_stopped": "Việc xuất đã dừng.",
+ "toast_show": "Hiện"
},
"recover_deleted": {
"tab": "Khôi phục các mục đã xóa",
diff --git a/locales/zh-TW/common.json b/locales/zh-TW/common.json
index d4daa93f8..b06a30f3a 100644
--- a/locales/zh-TW/common.json
+++ b/locales/zh-TW/common.json
@@ -5441,7 +5441,10 @@
"error_busy": "這些檔案已在另一個分頁中匯入。",
"retry_hint": "把相同的檔案再次匯入同一個資料夾,即可重試失敗的郵件。",
"skip_unreadable": "Outlook 檔案中無法讀取:{count}",
- "keep_folders_top_hint": "在最上層,收件匣、寄件備份、刪除的郵件等會進入您自己的資料夾。"
+ "keep_folders_top_hint": "在最上層,收件匣、寄件備份、刪除的郵件等會進入您自己的資料夾。",
+ "toast_done": "匯入完成。已匯入:{imported},失敗:{failed}。",
+ "toast_stopped": "匯入已停止。",
+ "toast_show": "顯示"
},
"mail_export": {
"menu_export": "匯出資料夾…",
@@ -5481,7 +5484,10 @@
"download_again": "重新下載",
"too_large": "匯出內容超過此瀏覽器能放在記憶體中的大小。請使用 Chrome 或 Edge,或逐一匯出資料夾。",
"close": "關閉",
- "untitled": "(無主旨)"
+ "untitled": "(無主旨)",
+ "toast_done": "匯出完成:{name}",
+ "toast_stopped": "匯出已停止。",
+ "toast_show": "顯示"
},
"recover_deleted": {
"tab": "復原已刪除的項目",
diff --git a/locales/zh/common.json b/locales/zh/common.json
index abf66607f..aed16a955 100644
--- a/locales/zh/common.json
+++ b/locales/zh/common.json
@@ -5311,7 +5311,10 @@
"error_busy": "这些文件已在另一个标签页中导入。",
"retry_hint": "把相同的文件再次导入同一个文件夹,即可重试失败的邮件。",
"skip_unreadable": "Outlook 文件中无法读取:{count}",
- "keep_folders_top_hint": "在顶层,收件箱、已发送邮件、已删除邮件等会进入您自己的文件夹。"
+ "keep_folders_top_hint": "在顶层,收件箱、已发送邮件、已删除邮件等会进入您自己的文件夹。",
+ "toast_done": "导入完成。已导入:{imported},失败:{failed}。",
+ "toast_stopped": "导入已停止。",
+ "toast_show": "显示"
},
"mail_export": {
"menu_export": "导出文件夹…",
@@ -5351,7 +5354,10 @@
"download_again": "重新下载",
"too_large": "导出内容超过了此浏览器能放在内存中的大小。请使用 Chrome 或 Edge,或逐个文件夹导出。",
"close": "关闭",
- "untitled": "(无主题)"
+ "untitled": "(无主题)",
+ "toast_done": "导出完成:{name}",
+ "toast_stopped": "导出已停止。",
+ "toast_show": "显示"
},
"recover_deleted": {
"tab": "恢复已删除项目",