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": "Kopyalandı!",
"copy_failed": "Kopyalanamadı"
},
"send_now": "Şimdi gönder"
"send_now": "Şimdi gönder",
"create_appointment": "Randevu Oluştur"
},
"email_composer": {
"read_receipt_on": "Okundu bilgisi istendi (devre dışı bırakmak için tıklayın)",
@@ -712,7 +713,10 @@
"delete_table": "Tabloyu sil",
"pick_size": "Boyut seç"
},
"send_filing_warning": "Gönderildi - ancak sonrasındaki temizleme başarısız oldu, eski bir taslak kalabilir."
"send_filing_warning": "Gönderildi - ancak sonrasındaki temizleme başarısız oldu, eski bir taslak kalabilir.",
"insert_signature": "İmza ekle",
"no_signature": "İmza yok",
"select_signature": "İmza seç"
},
"confirm_dialog": {
"confirm": "Onayla",
@@ -888,7 +892,10 @@
"downloads": "İndirilenler",
"content_senders": "İçerik ve Göndericiler",
"about_data": "Hakkında ve Veriler",
"debug": "Hata Ayıklama"
"debug": "Hata Ayıklama",
"import": "İçe Aktar",
"sharing": "Paylaşım",
"signatures": "İmzalar"
},
"tab_groups": {
"general": "Genel",
@@ -2007,7 +2014,39 @@
"scoped": {
"back": "Hesabıma geri dön",
"managing": "Yönetiliyor: {name}"
}
},
"importer": {
"action_label": "İçe Aktar",
"cancel": "İptal",
"choose_files": "Dosya seç",
"conflict_copy": "İkisini de sakla",
"conflict_description": "İçe aktarılan bir ileti zaten mevcut olduğunda ne yapılacağını seçin.",
"conflict_label": "Yinelenen işleme",
"conflict_replace": "Yinelenenleri değiştir",
"conflict_skip": "Yinelenenleri atla",
"description": ".eml dosyalarından bir klasöre e-posta iletileri içe aktarın.",
"error_details": "{count, plural, one {# hata} other {# hata}}",
"fail": "İçe aktarma başarısız",
"file_description": "İçe aktarmak için bir veya daha fazla .eml dosyası seçin.",
"file_label": "Dosyalar",
"files_selected": "{count, plural, one {# dosya seçildi} other {# dosya seçildi}}",
"folder_description": "İletilerin içe aktarılacağı klasörü seçin.",
"folder_label": "Hedef klasör",
"import_complete": "İçe aktarma tamamlandı",
"import_more": "Daha fazla içe aktar",
"importing": "İçe aktarılıyor...",
"progress_failed": "{count} başarısız",
"progress_imported": "{count} içe aktarıldı",
"progress_skipped": "{count} atlandı",
"start_import": "{count, plural, one {# dosyayı içe aktar} other {# dosyayı içe aktar}}",
"success": "{count, plural, one {# ileti içe aktarıldı} other {# ileti içe aktarıldı}}",
"summary_failed": "{count, plural, one {# ileti başarısız oldu} other {# ileti başarısız oldu}}",
"summary_imported": "{count, plural, one {# ileti içe aktarıldı} other {# ileti içe aktarıldı}}",
"summary_skipped": "{count, plural, one {# ileti atlandı} other {# ileti atlandı}}",
"title": "Postayı İçe Aktar"
},
"loading": "Yükleniyor...",
"refresh": "Yenile"
},
"errors": {
"page_error_title": "Bir şeyler ters gitti",
@@ -2085,7 +2124,8 @@
"toast_error_rename": "Klasör yeniden adlandırılamadı",
"toast_error_delete": "Klasör silinemedi",
"toast_error_delete_has_children": "Klasörde alt klasörler var. Önce onları kaldırın.",
"toast_error_delete_has_email": "Klasör boş değil. Önce boşaltın."
"toast_error_delete_has_email": "Klasör boş değil. Önce boşaltın.",
"share_folder": "Klasörü paylaş..."
},
"shortcuts": {
"title": "Klavye Kısayolları",
@@ -2184,7 +2224,11 @@
"save": "Kimliği Kaydet",
"cancel": "İptal",
"creating": "Oluşturuluyor...",
"updating": "Güncelleniyor..."
"updating": "Güncelleniyor...",
"signature_store_default": "Varsayılan imza",
"signature_store_mapping": "İmza eşleştirmesi",
"signature_store_reply": "Yanıt imzası",
"use_global_default": "Genel varsayılanı kullan"
},
"sub_address": {
"button_tooltip": "Alt adres kullan",
@@ -2510,7 +2554,29 @@
"success": "{count, plural, one {1 kişi içe aktarıldı} other {# kişi içe aktarıldı}}",
"failed": "İçe aktarma başarısız",
"close": "Kapat",
"file_too_large": "Dosya çok büyük (maks. 5 MB)"
"file_too_large": "Dosya çok büyük (maks. 5 MB)",
"csv_address": "Adres",
"csv_address_book": "Adres defteri",
"csv_back": "Geri",
"csv_city": "Şehir",
"csv_company": "Şirket",
"csv_country": "Ülke",
"csv_email": "E-posta",
"csv_first_name": "Ad",
"csv_ignore": "Bu sütunu yoksay",
"csv_job_title": "İş unvanı",
"csv_last_name": "Soyadı",
"csv_load_all": "Tümünü yükle",
"csv_map_columns": "Sütunları eşleştir",
"csv_nickname": "Takma ad",
"csv_note": "Not",
"csv_phone": "Telefon",
"csv_postcode": "Posta kodu",
"csv_preview": "Önizleme",
"csv_preview_title": "Önizleme ({count, plural, one {# satır} other {# satır}})",
"csv_region": "İl / Bölge",
"csv_website": "Web sitesi",
"file_types_csv": ".csv dosyaları"
},
"export": {
"title": "Kişileri Dışa Aktar",
@@ -2569,7 +2635,10 @@
"has_phone": "Telefonu var",
"has_photo": "Fotoğrafı var"
},
"open_categories": "Kategorileri aç"
"open_categories": "Kategorileri aç",
"delete": "Sil",
"edit": "Düzenle",
"send_email": "E-posta gönder"
},
"calendar": {
"title": "Takvim",
@@ -2988,7 +3057,37 @@
"due_tomorrow": "Yarın",
"overdue": "Gecikmiş"
},
"nav_open_menu": "Menüyü aç"
"nav_open_menu": "Menüyü aç",
"delete": "Sil",
"duplicate": "Çoğalt",
"edit": "Düzenle",
"freeBusy": {
"busy": "Meşgul",
"check": "Müsaitliği kontrol et",
"click_to_select": "Bu saati seçmek için boş bir aralığa tıklayın",
"free": "Boş",
"hide": "Müsaitliği gizle",
"loading": "Yükleniyor...",
"no_participants": "Müsaitliği kontrol etmek için katılımcı ekleyin.",
"tentative": "Geçici",
"timezone": "Saat Dilimi",
"title": "Müsaitlik",
"unavailable": "Ofis dışında",
"unknown": "Bilgi yok"
},
"resources": {
"clear_all": "Tümünü temizle",
"filter_all": "Tümü",
"hide": "Kaynakları gizle",
"no_resources": "Kullanılabilir kaynak yok",
"remove": "{name} öğesini kaldır",
"search_placeholder": "Kaynaklarda ara...",
"title": "Kaynaklar",
"type_equipment": "Ekipman",
"type_other": "Diğer",
"type_room": "Odalar",
"type_vehicle": "Araçlar"
}
},
"sharing": {
"title": "\"{name}\" paylaş",
@@ -3011,7 +3110,14 @@
"readWrite": "Okuma ve yazma",
"manager": "Yönetici",
"custom": "Özel"
}
},
"accept": "Kabul et",
"decline": "Reddet",
"no_shares_by_me": "Henüz kimseyle paylaşım yapmadınız.",
"no_shares_with_me": "Sizinle henüz paylaşılan klasör yok.",
"shared_by": "Paylaşan",
"tab_shared_by_me": "Benim paylaştıklarım",
"tab_shared_with_me": "Benimle paylaşılanlar"
},
"advanced_search": {
"title": "Gelişmiş Arama",
@@ -3176,7 +3282,8 @@
"open_folder_tree": "Klasör ağacını aç",
"other_accounts": "Diğer hesaplar",
"migration_title": "Dosyalarınız güncelleniyor…",
"migration_description": "Klasörler ve dosyalar doğru yapıya göre düzenleniyor. Bu yalnızca bir kez gerçekleşir."
"migration_description": "Klasörler ve dosyalar doğru yapıya göre düzenleniyor. Bu yalnızca bir kez gerçekleşir.",
"send_as_attachment": "Ek Olarak Gönder"
},
"smime": {
"your_certificates": "Sertifikalarınız",
@@ -3324,5 +3431,55 @@
"install": "Yükle",
"dont_remind": "Bir daha hatırlatma",
"dismiss_aria": "Yükleme istemini kapat"
},
"signatures": {
"add_signature": "İmza ekle",
"default": "Varsayılan",
"default_signature": {
"description": "Kimlik başına geçersiz kılınmadığı sürece yeni iletiler için kullanılır.",
"label": "Varsayılan imza"
},
"delete_message": "\"{name}\" imzasını silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.",
"delete_title": "İmza silinsin mi?",
"description": "Yazarken veya yanıtlarken kullanmak üzere e-posta imzaları oluşturun ve yönetin.",
"duplicate": "Çoğalt",
"edit_signature": "İmzayı düzenle",
"editor_label": "İmza",
"html_preview_label": "HTML önizleme",
"name_label": "Ad",
"name_placeholder": "ör. İş, Kişisel",
"name_required": "Ad gerekli",
"new_signature": "Yeni imza",
"no_signature": "İmza yok",
"no_signatures": "Henüz imza yok",
"per_identity_signatures": {
"description": "Bireysel kimlikler için varsayılan ve yanıt imzasını geçersiz kılın.",
"label": "Kimlik başına imzalar"
},
"plain_text_preview_label": "Düz metin önizleme",
"reply": "Yanıt",
"reply_signature": {
"description": "Kimlik başına geçersiz kılınmadığı sürece yanıtlarken veya iletirken kullanılır.",
"label": "Yanıt imzası"
},
"show_editor": "Düzenleyiciyi göster",
"show_preview": "Önizlemeyi göster",
"title": "İmzalar",
"toolbar": {
"align_center": "Ortala",
"align_left": "Sola hizala",
"align_right": "Sağa hizala",
"bold": "Kalın",
"bullet_list": "Madde işaretli liste",
"italic": "İtalik",
"link": "Bağlantı",
"ordered_list": "Numaralı liste",
"remove_color": "Rengi kaldır",
"strikethrough": "Üstü çizili",
"text_color": "Metin rengi",
"underline": "Altı çizili"
},
"use_global_default": "Genel varsayılanı kullan",
"your_signatures": "İmzalarınız ({count})"
}
}