fix(i18n): add missing translation keys for signatures and email import

Fixes 25 failing tests across translations and eml-import test suites:

- Add 141 missing i18n keys to en/common.json for P2.1 (extended signatures
  feature) and P2.5 (email import feature). Keys cover:
  - signatures.* (signature editor, toolbar labels, per-identity settings)
  - settings.importer.* (mail import UI labels and messages)
  - settings.tabs.signatures, settings.{loading,refresh}
  - email_composer.{insert_signature,no_signature,select_signature}
  - identities.form.{signature_store_*,use_global_default}
  - calendar.{edit,delete,duplicate}, contacts.{edit,delete,send_email}
  - contacts.import.csv_* (CSV column mapping labels)
  - Other related keys for sharing, mailbox context menu, file operations

- Propagate new keys to all 23 other locale files:
  - ar, ca, cs, da, de, es, fa, fr, he, hu, it, ja, ko, lv, nl, pl, pt, ro,
    ru, sk, tr, uk, zh
  - 19 locales with real, idiomatic translations matching existing tone
  - 4 locales (da, es, fa, zh) with English placeholders pending native
    translation

- Fix eml-import test: update accept-string expectation to match actual
  EML_IMPORT_ACCEPT constant (now includes .tgz, .tar.gz, application/gzip
  support added in P2.5)

All 53 tests now pass:
  - 48 translation completeness tests
  - 5 eml-import tests

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Bernd Rodler
2026-08-07 15:15:17 +02:00
co-authored by Claude Sonnet 5
parent a0bffa9467
commit 1189b146ef
26 changed files with 4123 additions and 253 deletions
+168 -11
View File
@@ -567,7 +567,8 @@
"copied": "Скопійовано!",
"copy_failed": "Не вдалося скопіювати"
},
"send_now": "Надіслати зараз"
"send_now": "Надіслати зараз",
"create_appointment": "Створити зустріч"
},
"email_composer": {
"read_receipt_on": "Запитано сповіщення про прочитання (натисніть, щоб вимкнути)",
@@ -712,7 +713,10 @@
"delete_table": "Видалити таблицю",
"pick_size": "Вибрати розмір"
},
"send_filing_warning": "Надіслано - але подальше очищення не вдалося, може залишитися застаріла чернетка."
"send_filing_warning": "Надіслано - але подальше очищення не вдалося, може залишитися застаріла чернетка.",
"insert_signature": "Вставити підпис",
"no_signature": "Без підпису",
"select_signature": "Виберіть підпис"
},
"confirm_dialog": {
"confirm": "Підтвердити",
@@ -888,7 +892,10 @@
"downloads": "Завантаження",
"content_senders": "Вміст і відправники",
"about_data": "Про програму та дані",
"debug": "Налагодження"
"debug": "Налагодження",
"import": "Імпорт",
"sharing": "Спільний доступ",
"signatures": "Підписи"
},
"tab_groups": {
"general": "Загальний",
@@ -2007,7 +2014,39 @@
"scoped": {
"back": "Назад до мого облікового запису",
"managing": "Керування: {name}"
}
},
"importer": {
"action_label": "Імпорт",
"cancel": "Скасувати",
"choose_files": "Вибрати файли",
"conflict_copy": "Зберегти обидва",
"conflict_description": "Виберіть, що робити, якщо імпортоване повідомлення вже існує.",
"conflict_label": "Обробка дублікатів",
"conflict_replace": "Замінювати дублікати",
"conflict_skip": "Пропускати дублікати",
"description": "Імпортуйте повідомлення електронної пошти з файлів .eml до папки.",
"error_details": "{count, plural, one {# помилка} other {# помилок}}",
"fail": "Не вдалося імпортувати",
"file_description": "Виберіть один або кілька файлів .eml для імпорту.",
"file_label": "Файли",
"files_selected": "{count, plural, one {# файл вибрано} other {# файлів вибрано}}",
"folder_description": "Виберіть папку, до якої імпортувати повідомлення.",
"folder_label": "Папка призначення",
"import_complete": "Імпорт завершено",
"import_more": "Імпортувати ще",
"importing": "Імпорт...",
"progress_failed": "Помилок: {count}",
"progress_imported": "Імпортовано: {count}",
"progress_skipped": "Пропущено: {count}",
"start_import": "{count, plural, one {Імпортувати # файл} other {Імпортувати # файлів}}",
"success": "{count, plural, one {# повідомлення імпортовано} other {# повідомлень імпортовано}}",
"summary_failed": "{count, plural, one {# повідомлення не вдалося імпортувати} other {# повідомлень не вдалося імпортувати}}",
"summary_imported": "{count, plural, one {# повідомлення імпортовано} other {# повідомлень імпортовано}}",
"summary_skipped": "{count, plural, one {# повідомлення пропущено} other {# повідомлень пропущено}}",
"title": "Імпортувати пошту"
},
"loading": "Завантаження...",
"refresh": "Оновити"
},
"errors": {
"page_error_title": "Щось пішло не так",
@@ -2085,7 +2124,8 @@
"toast_error_delete_has_email": "Папка не порожня. Спочатку очистіть її.",
"placeholder_folder_name": "Ім'я папки",
"create": "Створити",
"rename_confirm": "Перейменувати"
"rename_confirm": "Перейменувати",
"share_folder": "Поділитися папкою..."
},
"shortcuts": {
"title": "Комбінації клавіш",
@@ -2184,7 +2224,11 @@
"save": "Зберегти ідентифікатор",
"cancel": "Скасувати",
"creating": "Створення...",
"updating": "Оновлення..."
"updating": "Оновлення...",
"signature_store_default": "Підпис за замовчуванням",
"signature_store_mapping": "Зіставлення підписів",
"signature_store_reply": "Підпис для відповіді",
"use_global_default": "Використовувати загальне значення за замовчуванням"
},
"sub_address": {
"button_tooltip": "Використовуйте допоміжну адресу",
@@ -2510,7 +2554,29 @@
"success": "{count, plural, one {1 контакт імпортовано} few {# контакти імпортовано} many {# контактів імпортовано} other {# контактів імпортовано}}",
"failed": "Помилка імпорту",
"close": "Закрити",
"file_too_large": "Файл завеликий (макс. 5 МБ)"
"file_too_large": "Файл завеликий (макс. 5 МБ)",
"csv_address": "Адреса",
"csv_address_book": "Адресна книга",
"csv_back": "Назад",
"csv_city": "Місто",
"csv_company": "Компанія",
"csv_country": "Країна",
"csv_email": "Електронна пошта",
"csv_first_name": "Ім'я",
"csv_ignore": "Ігнорувати цей стовпець",
"csv_job_title": "Назва посади",
"csv_last_name": "Прізвище",
"csv_load_all": "Завантажити все",
"csv_map_columns": "Зіставлення стовпців",
"csv_nickname": "псевдонім",
"csv_note": "Примітка",
"csv_phone": "Телефон",
"csv_postcode": "Поштовий індекс",
"csv_preview": "Попередній перегляд",
"csv_preview_title": "Попередній перегляд ({count, plural, one {# рядок} other {# рядків}})",
"csv_region": "Штат / Регіон",
"csv_website": "Веб-сайт",
"file_types_csv": "файли .csv"
},
"export": {
"title": "Експортувати контакти",
@@ -2569,7 +2635,10 @@
"has_phone": "З телефоном",
"has_photo": "З фото"
},
"open_categories": "Відкрити категорії"
"open_categories": "Відкрити категорії",
"delete": "Видалити",
"edit": "Редагувати",
"send_email": "Надіслати лист"
},
"calendar": {
"title": "Календар",
@@ -2988,7 +3057,37 @@
"bah": "Bahman",
"esf": "Esfand"
},
"nav_open_menu": "Відкрити меню"
"nav_open_menu": "Відкрити меню",
"delete": "Видалити",
"duplicate": "Дублювати",
"edit": "Редагувати",
"freeBusy": {
"busy": "Зайнято",
"check": "Перевірити доступність",
"click_to_select": "Натисніть на вільний проміжок часу, щоб вибрати цей час",
"free": "Вільно",
"hide": "Приховати доступність",
"loading": "Завантаження...",
"no_participants": "Додайте учасників, щоб перевірити доступність.",
"tentative": "Орієнтовний",
"timezone": "Часовий пояс",
"title": "Доступність",
"unavailable": "Немає на місці",
"unknown": "Немає інформації"
},
"resources": {
"clear_all": "Очистити все",
"filter_all": "все",
"hide": "Приховати ресурси",
"no_resources": "Немає доступних ресурсів",
"remove": "Видалити {name}",
"search_placeholder": "Пошук ресурсів...",
"title": "Ресурси",
"type_equipment": "Обладнання",
"type_other": "інше",
"type_room": "Кімнати",
"type_vehicle": "Транспортні засоби"
}
},
"advanced_search": {
"title": "Розширений пошук",
@@ -3153,7 +3252,8 @@
"open_folder_tree": "Відкрити дерево тек",
"other_accounts": "Інші облікові записи",
"migration_title": "Оновлення ваших файлів…",
"migration_description": "Папки та файли впорядковуються у правильну структуру. Це відбувається лише один раз."
"migration_description": "Папки та файли впорядковуються у правильну структуру. Це відбувається лише один раз.",
"send_as_attachment": "Надіслати як вкладення"
},
"smime": {
"your_certificates": "Ваші сертифікати",
@@ -3308,7 +3408,14 @@
"readWrite": "Читання та запис",
"manager": "Керівник",
"custom": "Власне"
}
},
"accept": "Прийняти",
"decline": "Відхилити",
"no_shares_by_me": "Ви ще нічим не поділилися.",
"no_shares_with_me": "Поки що ніхто не поділився з вами папками.",
"shared_by": "Надав доступ",
"tab_shared_by_me": "Надані мною",
"tab_shared_with_me": "Надані мені"
},
"quote_header": {
"reply_line": "{date}, {from} написав:",
@@ -3324,5 +3431,55 @@
"install": "Встановити",
"dont_remind": "Більше не нагадувати",
"dismiss_aria": "Закрити запит на встановлення"
},
"signatures": {
"add_signature": "Додати підпис",
"default": "За замовчуванням",
"default_signature": {
"description": "Використовується для нових повідомлень, якщо не перевизначено для окремої ідентичності.",
"label": "Підпис за замовчуванням"
},
"delete_message": "Ви впевнені, що хочете видалити \"{name}\"? Це неможливо скасувати.",
"delete_title": "Видалити підпис?",
"description": "Створюйте підписи електронної пошти та керуйте ними для використання під час написання чи відповіді.",
"duplicate": "Дублювати",
"edit_signature": "Редагувати підпис",
"editor_label": "Підпис",
"html_preview_label": "Попередній перегляд HTML",
"name_label": "Назва",
"name_placeholder": "наприклад, Робота, Особисте",
"name_required": "Потрібно вказати назву",
"new_signature": "Новий підпис",
"no_signature": "Без підпису",
"no_signatures": "Підписів ще немає",
"per_identity_signatures": {
"description": "Перевизначте підпис за замовчуванням і підпис для відповіді для окремих ідентичностей.",
"label": "Підписи для окремих ідентичностей"
},
"plain_text_preview_label": "Попередній перегляд простого тексту",
"reply": "Відповідь",
"reply_signature": {
"description": "Використовується під час відповіді чи пересилання, якщо не перевизначено для окремої ідентичності.",
"label": "Підпис для відповіді"
},
"show_editor": "Показати редактор",
"show_preview": "Показати попередній перегляд",
"title": "Підписи",
"toolbar": {
"align_center": "По центру",
"align_left": "По лівому краю",
"align_right": "По правому краю",
"bold": "Жирний",
"bullet_list": "Маркований список",
"italic": "Курсив",
"link": "Посилання",
"ordered_list": "Нумерований список",
"remove_color": "Прибрати колір",
"strikethrough": "Закреслений",
"text_color": "Колір тексту",
"underline": "Підкреслений"
},
"use_global_default": "Використовувати загальне значення за замовчуванням",
"your_signatures": "Ваші підписи ({count})"
}
}