fix: use one word per action across Mail: Report spam, Not spam, Mark as read, Reply all, Remove for a recipient, Filters

This commit is contained in:
Linus Rath
2026-10-28 05:45:50 +01:00
parent 656cb26ae2
commit c736ab1f3c
33 changed files with 103 additions and 43 deletions
@@ -0,0 +1,27 @@
import { render, screen } from '@testing-library/react';
import { beforeEach, describe, expect, it, vi } from 'vitest';
import type { Email } from '@/lib/jmap/types';
import { useSettingsStore } from '@/stores/settings-store';
import { EmailHoverActions } from '../email-hover-actions';
vi.mock('@/components/plugins/plugin-actions', () => ({ PluginActions: () => null, usePluginActions: () => [] }));
// R10: one word per action. The row's quick actions say what the row's menu
// says ("Report spam", "Mark as unread"), not "Mark as Spam" or "Mark Read /
// Unread", and they are named for screen readers.
const email = { id: 'e1', keywords: { $seen: true, $flagged: true }, mailboxIds: { inbox: true } } as unknown as Email;
beforeEach(() => {
useSettingsStore.setState({ hoverActions: ['markRead', 'star', 'spam', 'delete'], interfaceLayout: 'default', hoverActionsMode: 'inline' } as never);
});
describe('row quick actions', () => {
it('use the menu words for the row as it is', () => {
render(<EmailHoverActions email={email} onMarkAsRead={vi.fn()} onToggleStar={vi.fn()} onMarkAsSpam={vi.fn()} onDelete={vi.fn()} />);
expect(screen.getByRole('button', { name: 'mark_unread' })).toBeTruthy();
expect(screen.getByRole('button', { name: 'unstar' })).toBeTruthy();
expect(screen.getByRole('button', { name: 'mark_as_spam' })).toBeTruthy();
expect(screen.getByRole('button', { name: 'delete' })).toBeTruthy();
});
});
+1 -2
View File
@@ -5079,7 +5079,6 @@ function RecipientChipInput({
onMoveChip: (recipient: Recipient, fromField: 'to' | 'cc' | 'bcc', toField: 'to' | 'cc' | 'bcc', toIndex?: number) => void;
}) {
const t = useTranslations('email_composer');
const tCommon = useTranslations('common');
const { contextMenu, openContextMenu, closeContextMenu, menuRef } = useContextMenu<{ index: number; recipient: Recipient }>();
const [editingChip, setEditingChip] = useState<{ index: number; editType: 'email' | 'name' } | null>(null);
const [editValue, setEditValue] = useState('');
@@ -5567,7 +5566,7 @@ function RecipientChipInput({
)}
<ContextMenuItem label={t('recipient_edit_name')} onClick={handleEditName} />
<ContextMenuSeparator />
<ContextMenuItem label={tCommon('delete')} onClick={() => {
<ContextMenuItem label={t('recipient_remove')} onClick={() => {
if (contextMenu.data) {
handleChipRemove(contextMenu.data.index, { stopPropagation: () => {} } as React.MouseEvent);
}
+8 -2
View File
@@ -120,7 +120,8 @@ export function EmailHoverActions({
);
const hoverActionsMode = useSettingsStore((state) => state.hoverActionsMode);
const hoverActionsCorner = useSettingsStore((state) => state.hoverActionsCorner);
const t = useTranslations("settings.email_behavior.hover_actions");
// The words the row's menu uses for the same actions (R10).
const t = useTranslations("context_menu");
const isMobile = useIsMobile();
// Buttons plugins add to the row (message-row-actions), after the app's own.
const pluginActionCount = usePluginActions("message-row-actions", { mailboxRole }).length;
@@ -233,7 +234,11 @@ export function EmailHoverActions({
: isNotSpam
? ShieldCheck
: Icon;
const title = isNotSpam ? t("not_spam") : t(config.titleKey);
const title = isNotSpam ? t("not_spam")
: actionId === "markRead" ? t(isUnread ? "mark_read" : "mark_unread")
: actionId === "star" ? t(isStarred ? "unstar" : "star")
: actionId === "spam" ? t("mark_as_spam")
: t(config.titleKey);
const className = isNotSpam
? "hover:text-green-600 dark:hover:text-green-400"
: config.className;
@@ -246,6 +251,7 @@ export function EmailHoverActions({
onClick={(e) => handleAction(e, actionId)}
onDoubleClick={(e) => { e.stopPropagation(); e.preventDefault(); }}
title={title}
aria-label={title}
aria-haspopup={actionId === "tag" ? "menu" : undefined}
aria-expanded={actionId === "tag" ? tagPickerPos !== null : undefined}
className={cn(
+2 -3
View File
@@ -108,7 +108,6 @@ export function MvListToolbar({
}: MvListToolbarProps) {
const t = useTranslations("email_list");
const tBatch = useTranslations("email_list.batch_actions");
const tActions = useTranslations("settings.email_behavior.hover_actions");
const archiveActionEnabled = useArchiveActionEnabled();
const tFolder = useTranslations("mailbox_context_menu");
const tMenu = useTranslations("context_menu");
@@ -511,7 +510,7 @@ export function MvListToolbar({
{archiveActionEnabled && (
<ToolbarButton
icon={Archive}
label={tActions("archive")}
label={tMenu("archive")}
onClick={() => run(async () => (client ? batchArchive(client) : false), {
success: tNotifications("emails_archived", { count: selectionCount }),
error: tNotifications("error_archiving"),
@@ -527,7 +526,7 @@ export function MvListToolbar({
{spamApplicable && (
<ToolbarButton
icon={isInJunk ? ShieldCheck : ShieldAlert}
label={isInJunk ? tActions("not_spam") : tActions("spam")}
label={isInJunk ? tMenu("not_spam") : tMenu("mark_as_spam")}
onClick={handleSpam}
disabled={isProcessing}
/>
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "الإرسال دون تأخير؟",
"recipient_edit_email": "تعديل عنوان البريد الإلكتروني",
"recipient_edit_name": "تعديل الاسم المعروض",
"recipient_remove": "إزالة",
"recipient_email_placeholder": "عنوان البريد الإلكتروني",
"recipient_name_placeholder": "الاسم المعروض",
"invalid_recipient": "ليس عنوان بريد إلكتروني صالحًا",
@@ -3885,7 +3886,7 @@
"clear_all": "مسح الكل",
"filters_active": "{count} مرشح",
"filters_active_plural": "{count} مرشحات",
"toggle_filters": "المزيد",
"toggle_filters": "عوامل التصفية",
"search_hint": "استخدم المرشحات المتقدمة لبحث دقيق",
"advanced_filters_tooltip": "مرشحات البحث المتقدم",
"results_found": "{count, plural, =0 {لم يتم العثور على نتائج} one {تم العثور على # نتيجة} other {تم العثور على # نتيجة}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Vols enviar-lo sense retard?",
"recipient_edit_email": "Edita l'adreça electrònica",
"recipient_edit_name": "Edita el nom mostrat",
"recipient_remove": "Treu",
"recipient_email_placeholder": "Adreça electrònica",
"recipient_name_placeholder": "Nom mostrat",
"invalid_recipient": "No és una adreça de correu vàlida",
@@ -3885,7 +3886,7 @@
"clear_all": "Neteja-ho tot",
"filters_active": "{count} filtre",
"filters_active_plural": "{count} filtres",
"toggle_filters": "Més",
"toggle_filters": "Filtres",
"search_hint": "Utilitzeu els filtres avançats per a una cerca precisa",
"advanced_filters_tooltip": "Filtres de cerca avançada",
"results_found": "{count, plural, =0 {No s'ha trobat cap resultat} one {# resultat trobat} other {# resultats trobats}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Odeslat bez zpoždění?",
"recipient_edit_email": "Upravit e-mailovou adresu",
"recipient_edit_name": "Upravit zobrazované jméno",
"recipient_remove": "Odebrat",
"recipient_email_placeholder": "E-mailová adresa",
"recipient_name_placeholder": "Zobrazované jméno",
"invalid_recipient": "Neplatná e-mailová adresa",
@@ -3839,7 +3840,7 @@
"clear_all": "Vymazat vše",
"filters_active": "{count} filtr",
"filters_active_plural": "{count} filtry",
"toggle_filters": "Více",
"toggle_filters": "Filtry",
"search_hint": "Použijte pokročilé filtry pro přesné vyhledávání",
"advanced_filters_tooltip": "Pokročilé filtry hledání",
"results_found": "{count, plural, =0 {Nenalezeny žádné výsledky} one {Nalezen 1 výsledek} few {Nalezeny # výsledky} other {Nalezeno # výsledků}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Send uden forsinkelse?",
"recipient_edit_email": "Rediger e-mailadresse",
"recipient_edit_name": "Rediger visningsnavn",
"recipient_remove": "Fjern",
"recipient_email_placeholder": "E-mailadresse",
"recipient_name_placeholder": "Visningsnavn",
"invalid_recipient": "Ikke en gyldig e-mailadresse",
@@ -3885,7 +3886,7 @@
"clear_all": "Ryd alle",
"filters_active": "{count} filter",
"filters_active_plural": "{count} filtre",
"toggle_filters": "Mere",
"toggle_filters": "Filtre",
"search_hint": "Brug avancerede filtre til præcis søgning",
"advanced_filters_tooltip": "Avancerede søgefiltre",
"results_found": "{count, plural, =0 {Ingen resultater fundet} one {# resultat fundet} other {# resultater fundet}}",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Ohne Verzögerung senden?",
"recipient_edit_email": "E-Mail-Adresse bearbeiten",
"recipient_edit_name": "Anzeigenamen bearbeiten",
"recipient_remove": "Entfernen",
"recipient_email_placeholder": "E-Mail-Adresse",
"recipient_name_placeholder": "Anzeigename",
"invalid_recipient": "Keine gültige E-Mail-Adresse",
+16 -15
View File
@@ -372,7 +372,7 @@
"loading_email": "Loading email...",
"loading": "Loading...",
"reply": "Reply",
"reply_all": "Reply All",
"reply_all": "Reply all",
"forward": "Forward",
"delete": "Delete",
"archive": "Archive",
@@ -394,8 +394,8 @@
"view_in_light_mode": "View in light mode",
"export_email": "Export as .eml",
"forward_as_attachment": "Forward as attachment",
"import_email": "Import .eml or .zip",
"keyboard_shortcuts": "Keyboard shortcuts (?)",
"import_email": "Import .eml or .zip…",
"keyboard_shortcuts": "Keyboard shortcuts",
"email_source": "Email source",
"draft_banner": "This message is a draft",
"edit_draft": "Edit",
@@ -438,7 +438,7 @@
"more_actions": "More actions",
"previous": "Prev",
"next": "Next",
"move_to": "Move to...",
"move_to": "Move to",
"remove_tag": "Remove tag",
"tag_filter_placeholder": "Filter tags",
"tag_no_matches": "No matching tags",
@@ -537,7 +537,7 @@
},
"tooltips": {
"reply": "Reply (r)",
"reply_all": "Reply All (a)",
"reply_all": "Reply all (a)",
"forward": "Forward (f)",
"archive": "Archive (e)",
"delete": "Delete (# or Del)",
@@ -550,7 +550,7 @@
},
"spam": {
"button_title": "Report spam",
"not_spam_title": "Mark as legitimate",
"not_spam_title": "Not spam",
"toast_success": "Moved to Junk",
"toast_batch": "{count} emails moved to Junk",
"toast_undo": "Undo",
@@ -719,10 +719,10 @@
"new_message": "New Message",
"signature_edit_hint": "Double-click to edit the signature",
"reply": "Reply",
"reply_all": "Reply All",
"reply_all": "Reply all",
"forward": "Forward",
"reply_to": "Reply",
"reply_all_to": "Reply All",
"reply_all_to": "Reply all",
"forward_message": "Forward",
"from": "From",
"to": "To",
@@ -887,6 +887,7 @@
"send_delay_unsupported_title": "Send without a delay?",
"recipient_edit_email": "Edit email address",
"recipient_edit_name": "Edit display name",
"recipient_remove": "Remove",
"recipient_email_placeholder": "Email address",
"recipient_name_placeholder": "Display name",
"invalid_recipient": "Not a valid email address",
@@ -2676,15 +2677,15 @@
},
"context_menu": {
"reply": "Reply",
"reply_all": "Reply All",
"reply_all": "Reply all",
"forward": "Forward",
"mark_read": "Mark as Read",
"mark_unread": "Mark as Unread",
"mark_read": "Mark as read",
"mark_unread": "Mark as unread",
"star": "Star",
"unstar": "Unstar",
"pin": "Pin",
"unpin": "Unpin",
"move_to": "Move to...",
"move_to": "Move to",
"move_to_dialog": "Move to…",
"go_to_folder": "Go to {folder}",
"copy_to_account": "Copy to account...",
@@ -2696,7 +2697,7 @@
"tag": "Tag",
"items_selected": "{count} emails selected",
"forward_as_attachments": "Forward as attachments",
"edit_draft": "Edit Draft",
"edit_draft": "Edit draft",
"cancel_scheduled_send": "Cancel send",
"reschedule_send": "Reschedule",
"cancel_and_edit": "Cancel and edit",
@@ -2731,7 +2732,7 @@
"new_folder": "New folder...",
"rename": "Rename...",
"share": "Share...",
"import_email": "Import .eml or .zip...",
"import_email": "Import .eml or .zip…",
"empty_folder": "Empty folder",
"empty_folder_generic": "Empty folder",
"delete_folder": "Delete folder",
@@ -3885,7 +3886,7 @@
"clear_all": "Clear all",
"filters_active": "{count} filter",
"filters_active_plural": "{count} filters",
"toggle_filters": "More",
"toggle_filters": "Filters",
"search_hint": "Use advanced filters for precise search",
"advanced_filters_tooltip": "Advanced search filters",
"results_found": "{count, plural, =0 {No results found} one {# result found} other {# results found}}",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "¿Enviar sin retraso?",
"recipient_edit_email": "Editar dirección de correo",
"recipient_edit_name": "Editar nombre para mostrar",
"recipient_remove": "Quitar",
"recipient_email_placeholder": "Dirección de correo",
"recipient_name_placeholder": "Nombre para mostrar",
"invalid_recipient": "No es una dirección de correo válida",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Kas saata viivituseta?",
"recipient_edit_email": "Muuda e-posti aadressi",
"recipient_edit_name": "Muuda kuvatavat nime",
"recipient_remove": "Eemalda",
"recipient_email_placeholder": "E-posti aadress",
"recipient_name_placeholder": "Kuvatav nimi",
"invalid_recipient": "Pole kehtiv e-posti aadress",
@@ -3885,7 +3886,7 @@
"clear_all": "Tühjenda kõik",
"filters_active": "{count} filter",
"filters_active_plural": "{count} filtrit",
"toggle_filters": "Rohkem",
"toggle_filters": "Filtrid",
"search_hint": "Kasuta täpseks otsinguks täiendavaid filtreid",
"advanced_filters_tooltip": "Täpsema otsingu filtrid",
"results_found": "{count, plural, =0 {Tulemusi ei leitud} one {# tulemus leitud} other {# tulemust leitud}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "بدون تأخیر ارسال شود؟",
"recipient_edit_email": "ویرایش آدرس ایمیل",
"recipient_edit_name": "ویرایش نام نمایشی",
"recipient_remove": "حذف از فهرست",
"recipient_email_placeholder": "آدرس ایمیل",
"recipient_name_placeholder": "نام نمایشی",
"invalid_recipient": "نشانی ایمیل معتبر نیست",
@@ -3885,7 +3886,7 @@
"clear_all": "پاک کردن همه",
"filters_active": "{count} فیلتر",
"filters_active_plural": "{count} فیلتر",
"toggle_filters": "بیشتر",
"toggle_filters": "فیلترها",
"search_hint": "از فیلترهای پیشرفته برای جستجوی دقیق استفاده کنید",
"advanced_filters_tooltip": "فیلترهای جستجوی پیشرفته",
"results_found": "{count, plural, =0 {نتیجه‌ای یافت نشد} one {# نتیجه یافت شد} other {# نتیجه یافت شد}}",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Envoyer sans délai ?",
"recipient_edit_email": "Modifier l'adresse e-mail",
"recipient_edit_name": "Modifier le nom d'affichage",
"recipient_remove": "Retirer",
"recipient_email_placeholder": "Adresse e-mail",
"recipient_name_placeholder": "Nom d'affichage",
"invalid_recipient": "Adresse e-mail non valide",
+2 -1
View File
@@ -850,6 +850,7 @@
"send_delay_unsupported_title": "לשלוח ללא השהיה?",
"recipient_edit_email": "ערוך כתובת דוא״ל",
"recipient_edit_name": "ערוך שם תצוגה",
"recipient_remove": "הסרה",
"recipient_email_placeholder": "כתובת דוא״ל",
"recipient_name_placeholder": "שם תצוגה",
"invalid_recipient": "כתובת דוא\"ל לא תקינה",
@@ -3757,7 +3758,7 @@
"clear_all": "נקה הכל",
"filters_active": "מסנן{count}",
"filters_active_plural": "מסנני{count}",
"toggle_filters": "עוד",
"toggle_filters": "מסננים",
"search_hint": "השתמש במסננים מתקדמים לחיפוש מדויק",
"advanced_filters_tooltip": "מסנני חיפוש מתקדמים",
"results_found": "{count, plural, =0 {לא נמצאו תוצאות} one {נמצאה תוצאה אחת} other {נמצאו # תוצאות}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Küldés késleltetés nélkül?",
"recipient_edit_email": "E-mail-cím szerkesztése",
"recipient_edit_name": "Megjelenített név szerkesztése",
"recipient_remove": "Eltávolítás",
"recipient_email_placeholder": "E-mail-cím",
"recipient_name_placeholder": "Megjelenített név",
"invalid_recipient": "Érvénytelen e-mail-cím",
@@ -3885,7 +3886,7 @@
"clear_all": "Összes törlése",
"filters_active": "{count} szűrő",
"filters_active_plural": "{count} szűrő",
"toggle_filters": "Továbbiak",
"toggle_filters": "Szűrők",
"search_hint": "Használj speciális szűrőket a pontos kereséshez",
"advanced_filters_tooltip": "Speciális keresőszűrők",
"results_found": "{count, plural, =0 {Nincs találat} one {# találat} other {# találat}}",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Inviare senza ritardo?",
"recipient_edit_email": "Modifica indirizzo email",
"recipient_edit_name": "Modifica nome visualizzato",
"recipient_remove": "Rimuovi",
"recipient_email_placeholder": "Indirizzo email",
"recipient_name_placeholder": "Nome visualizzato",
"invalid_recipient": "Indirizzo email non valido",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "遅延なしで送信しますか?",
"recipient_edit_email": "メールアドレスを編集",
"recipient_edit_name": "表示名を編集",
"recipient_remove": "削除",
"recipient_email_placeholder": "メールアドレス",
"recipient_name_placeholder": "表示名",
"invalid_recipient": "有効なメールアドレスではありません",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "지연 없이 보낼까요?",
"recipient_edit_email": "이메일 주소 편집",
"recipient_edit_name": "표시 이름 편집",
"recipient_remove": "제거",
"recipient_email_placeholder": "이메일 주소",
"recipient_name_placeholder": "표시 이름",
"invalid_recipient": "올바른 이메일 주소가 아닙니다",
@@ -3839,7 +3840,7 @@
"clear_all": "모두 초기화",
"filters_active": "{count}개의 필터 적용됨",
"filters_active_plural": "{count}개의 필터 적용됨",
"toggle_filters": "더보기",
"toggle_filters": "필터",
"search_hint": "고급 필터로 더 정확하게 검색해 보세요",
"advanced_filters_tooltip": "상세 검색 필터",
"results_found": "{count}개의 검색 결과",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Sūtīt bez aizkaves?",
"recipient_edit_email": "Rediģēt e-pasta adresi",
"recipient_edit_name": "Rediģēt parādāmo vārdu",
"recipient_remove": "Noņemt",
"recipient_email_placeholder": "E-pasta adrese",
"recipient_name_placeholder": "Parādāmais vārds",
"invalid_recipient": "Nederīga e-pasta adrese",
@@ -3839,7 +3840,7 @@
"clear_all": "Notīrīt visu",
"filters_active": "{count} filtrs",
"filters_active_plural": "{count} filtri",
"toggle_filters": "Vairāk",
"toggle_filters": "Filtri",
"search_hint": "Izmantojiet filtrus precīzākai meklēšanai",
"advanced_filters_tooltip": "Izvērstie meklēšanas filtri",
"results_found": "{count, plural, =0 {Nekas netika atrasts} one {# rezultāts} other {# rezultāti}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Хүлээлтгүйгээр илгээх үү?",
"recipient_edit_email": "Имэйл хаягийг засах",
"recipient_edit_name": "Дэлгэцийн нэрийг засах",
"recipient_remove": "Хасах",
"recipient_email_placeholder": "Имэйл хаяг",
"recipient_name_placeholder": "Дэлгэцийн нэр",
"invalid_recipient": "Хүчинтэй имэйл хаяг биш",
@@ -3885,7 +3886,7 @@
"clear_all": "Бүгдийг арилгах",
"filters_active": "{count} шүүлтүүр",
"filters_active_plural": "{count} шүүлтүүрүүд",
"toggle_filters": "Илүү",
"toggle_filters": "Шүүлтүүр",
"search_hint": "Нарийвчилсан хайлт хийхийн тулд дэвшилтэт шүүлтүүр ашиглах",
"advanced_filters_tooltip": "Дэвшилтэт хайлтын шүүлтүүрүүд",
"results_found": "{count, plural, =0 {Үр дүн олдсонгүй} one {# үр дүн олдлоо} other {# үр дүн олдлоо}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Sende uten forsinkelse?",
"recipient_edit_email": "Rediger e-postadresse",
"recipient_edit_name": "Rediger visningsnavn",
"recipient_remove": "Fjern",
"recipient_email_placeholder": "E-postadresse",
"recipient_name_placeholder": "Visningsnavn",
"invalid_recipient": "Ikke en gyldig e-postadresse",
@@ -3885,7 +3886,7 @@
"clear_all": "Fjern alle",
"filters_active": "{count} filter",
"filters_active_plural": "{count} filtre",
"toggle_filters": "Flere",
"toggle_filters": "Filtre",
"search_hint": "Bruk avanserte filtre for mer presise søk",
"advanced_filters_tooltip": "Avanserte søkefiltre",
"results_found": "{count, plural, =0 {Ingen treff} one {# treff} other {# treff}}",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Verzenden zonder vertraging?",
"recipient_edit_email": "E-mailadres bewerken",
"recipient_edit_name": "Weergavenaam bewerken",
"recipient_remove": "Verwijderen",
"recipient_email_placeholder": "E-mailadres",
"recipient_name_placeholder": "Weergavenaam",
"invalid_recipient": "Geen geldig e-mailadres",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Wysłać bez opóźnienia?",
"recipient_edit_email": "Edytuj adres e-mail",
"recipient_edit_name": "Edytuj wyświetlaną nazwę",
"recipient_remove": "Usuń",
"recipient_email_placeholder": "Adres e-mail",
"recipient_name_placeholder": "Wyświetlana nazwa",
"invalid_recipient": "Nieprawidłowy adres e-mail",
@@ -3839,7 +3840,7 @@
"clear_all": "Wyczyść wszystko",
"filters_active": "{count} filtr",
"filters_active_plural": "{count} filtry",
"toggle_filters": "Więcej",
"toggle_filters": "Filtry",
"search_hint": "Użyj zaawansowanych filtrów, aby precyzyjnie wyszukiwać",
"advanced_filters_tooltip": "Zaawansowane filtry wyszukiwania",
"results_found": "{count, plural, =0 {Nie znaleziono wyników} one {Znaleziono # wynik} other {Znaleziono # wyników}}",
+1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Enviar sem atraso?",
"recipient_edit_email": "Editar endereço de e-mail",
"recipient_edit_name": "Editar nome de exibição",
"recipient_remove": "Remover",
"recipient_email_placeholder": "Endereço de e-mail",
"recipient_name_placeholder": "Nome de exibição",
"invalid_recipient": "Endereço de e-mail inválido",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Trimiți fără întârziere?",
"recipient_edit_email": "Editați adresa de e-mail",
"recipient_edit_name": "Editați numele afișat",
"recipient_remove": "Elimină",
"recipient_email_placeholder": "Adresă de e-mail",
"recipient_name_placeholder": "Numele afișat",
"invalid_recipient": "Adresă de e-mail nevalidă",
@@ -3885,7 +3886,7 @@
"clear_all": "Șterge tot",
"filters_active": "{count} filtru",
"filters_active_plural": "{count} filtre",
"toggle_filters": "Mai mult",
"toggle_filters": "Filtre",
"search_hint": "Folosiți filtre avansate pentru o căutare precisă",
"advanced_filters_tooltip": "Filtre de căutare avansate",
"results_found": "{count, plural, =0 {Nu s-au găsit rezultate} one {# rezultat găsit} few {# rezultate găsite} other {# de rezultate găsite}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Отправить без задержки?",
"recipient_edit_email": "Изменить адрес эл. почты",
"recipient_edit_name": "Изменить отображаемое имя",
"recipient_remove": "Убрать",
"recipient_email_placeholder": "Адрес эл. почты",
"recipient_name_placeholder": "Отображаемое имя",
"invalid_recipient": "Недействительный адрес электронной почты",
@@ -3839,7 +3840,7 @@
"clear_all": "Очистить всё",
"filters_active": "{count} фильтр",
"filters_active_plural": "{count} фильтров",
"toggle_filters": "Ещё",
"toggle_filters": "Фильтры",
"search_hint": "Используйте расширенные фильтры для точного поиска",
"advanced_filters_tooltip": "Расширенные фильтры поиска",
"results_found": "{count, plural, =0 {Ничего не найдено} one {# результат} other {# результатов}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Odoslať bez oneskorenia?",
"recipient_edit_email": "Upraviť e-mailovú adresu",
"recipient_edit_name": "Upraviť zobrazené meno",
"recipient_remove": "Odstrániť",
"recipient_email_placeholder": "E-mailová adresa",
"recipient_name_placeholder": "Zobrazené meno",
"invalid_recipient": "Neplatná e-mailová adresa",
@@ -3885,7 +3886,7 @@
"clear_all": "Vymazať všetko",
"filters_active": "{count} filter",
"filters_active_plural": "{count} filtre",
"toggle_filters": "Viac",
"toggle_filters": "Filtre",
"search_hint": "Použite pokročilé filtre na presné vyhľadávanie",
"advanced_filters_tooltip": "Pokročilé filtre hľadania",
"results_found": "{count, plural, =0 {Neboli nájdené žiadne výsledky} one {# výsledok nájdený} other {# výsledkov nájdených}}",
+2 -1
View File
@@ -821,7 +821,7 @@
"clear_all": "ล้างทั้งหมด",
"filters_active": "ใช้งาน {count} ตัวกรอง",
"filters_active_plural": "ใช้งาน {count} ตัวกรอง",
"toggle_filters": "เพิ่มเติม",
"toggle_filters": "ตัวกรอง",
"search_hint": "ใช้ตัวกรองขั้นสูงเพื่อการค้นหาที่แม่นยำยิ่งขึ้น",
"advanced_filters_tooltip": "ตัวกรองการค้นหาขั้นสูง",
"results_found": "{count, plural, =0 {ไม่พบผลการค้นหา} other {พบผลการค้นหา # รายการ}}",
@@ -1038,6 +1038,7 @@
"send_delay_unsupported_title": "ส่งโดยไม่หน่วงเวลาไหม",
"recipient_edit_email": "แก้ไขที่อยู่อีเมล",
"recipient_edit_name": "แก้ไขชื่อที่แสดง",
"recipient_remove": "นำออก",
"recipient_email_placeholder": "ที่อยู่อีเมล",
"recipient_name_placeholder": "ชื่อที่แสดง",
"invalid_recipient": "ที่อยู่อีเมลไม่ถูกต้อง",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Gecikme olmadan gönderilsin mi?",
"recipient_edit_email": "E-posta adresini düzenle",
"recipient_edit_name": "Görünen adı düzenle",
"recipient_remove": "Kaldır",
"recipient_email_placeholder": "E-posta adresi",
"recipient_name_placeholder": "Görünen ad",
"invalid_recipient": "Geçerli bir e-posta adresi değil",
@@ -3885,7 +3886,7 @@
"clear_all": "Tümünü temizle",
"filters_active": "{count} filtre",
"filters_active_plural": "{count} filtre",
"toggle_filters": "Daha fazla",
"toggle_filters": "Filtreler",
"search_hint": "Kesin arama için gelişmiş filtreleri kullanın",
"advanced_filters_tooltip": "Gelişmiş arama filtreleri",
"results_found": "{count, plural, =0 {Sonuç bulunamadı} one {# sonuç bulundu} other {# sonuç bulundu}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "Надіслати без затримки?",
"recipient_edit_email": "Змінити адресу ел. пошти",
"recipient_edit_name": "Змінити відображуване ім'я",
"recipient_remove": "Прибрати",
"recipient_email_placeholder": "Адреса ел. пошти",
"recipient_name_placeholder": "Відображуване ім'я",
"invalid_recipient": "Недійсна адреса електронної пошти",
@@ -3839,7 +3840,7 @@
"clear_all": "Очистити все",
"filters_active": "фільтр {count}",
"filters_active_plural": "{count} фільтрів",
"toggle_filters": "більше",
"toggle_filters": "Фільтри",
"search_hint": "Використовуйте розширені фільтри для точного пошуку",
"advanced_filters_tooltip": "Розширені фільтри пошуку",
"results_found": "{count, plural, =0 {Результатів не знайдено} one {# результат знайдено} few {# результати знайдено} many {# результатів знайдено} other {# результатів знайдено}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "不延遲直接傳送?",
"recipient_edit_email": "編輯電子郵件地址",
"recipient_edit_name": "編輯顯示名稱",
"recipient_remove": "移除",
"recipient_email_placeholder": "電子郵件地址",
"recipient_name_placeholder": "顯示名稱",
"invalid_recipient": "不是有效的電子郵件地址",
@@ -3885,7 +3886,7 @@
"clear_all": "全部清除",
"filters_active": "{count} 個篩選條件",
"filters_active_plural": "{count} 個篩選條件",
"toggle_filters": "更多",
"toggle_filters": "篩選",
"search_hint": "使用進階篩選條件進行精確搜尋",
"advanced_filters_tooltip": "進階搜尋篩選條件",
"results_found": "{count, plural, =0 {找不到結果} one {找到 # 個結果} other {找到 # 個結果}}",
+2 -1
View File
@@ -885,6 +885,7 @@
"send_delay_unsupported_title": "不延迟直接发送?",
"recipient_edit_email": "编辑电子邮件地址",
"recipient_edit_name": "编辑显示名称",
"recipient_remove": "移除",
"recipient_email_placeholder": "电子邮件地址",
"recipient_name_placeholder": "显示名称",
"invalid_recipient": "不是有效的邮箱地址",
@@ -3839,7 +3840,7 @@
"clear_all": "全部清除",
"filters_active": "{count} 个筛选条件",
"filters_active_plural": "{count} 个筛选条件",
"toggle_filters": "更多",
"toggle_filters": "筛选",
"search_hint": "使用高级过滤器进行精确搜索",
"advanced_filters_tooltip": "高级搜索过滤器",
"results_found": "{count, plural, =0 {未找到结果} one {找到 # 条结果} other {找到 # 条结果}}",