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:
co-authored by
Claude Sonnet 5
parent
a0bffa9467
commit
1189b146ef
+168
-11
@@ -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 контакт импортирован} 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": "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})"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user