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
+167
-10
@@ -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": "تأكيد",
|
||||
@@ -891,7 +895,10 @@
|
||||
"downloads": "التنزيلات",
|
||||
"content_senders": "المحتوى والمرسلون",
|
||||
"about_data": "حول والبيانات",
|
||||
"debug": "التصحيح"
|
||||
"debug": "التصحيح",
|
||||
"import": "استيراد",
|
||||
"sharing": "المشاركة",
|
||||
"signatures": "التوقيعات"
|
||||
},
|
||||
"tab_groups": {
|
||||
"general": "عام",
|
||||
@@ -2007,7 +2014,39 @@
|
||||
"preview": {
|
||||
"label": "معاينة"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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_rename": "فشلت إعادة تسمية المجلد",
|
||||
"toast_error_delete": "فشل حذف المجلد",
|
||||
"toast_error_delete_has_children": "المجلد يحتوي على مجلدات فرعية. أزلها أولًا.",
|
||||
"toast_error_delete_has_email": "المجلد ليس فارغًا. أفرغه أولًا."
|
||||
"toast_error_delete_has_email": "المجلد ليس فارغًا. أفرغه أولًا.",
|
||||
"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": "استخدام عنوان فرعي",
|
||||
@@ -2511,7 +2555,29 @@
|
||||
"success": "{count, plural, one {تم استيراد جهة اتصال واحدة} 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_email": "لديه بريد إلكتروني",
|
||||
"has_phone": "لديه هاتف",
|
||||
"has_photo": "لديه صورة"
|
||||
}
|
||||
},
|
||||
"delete": "حذف",
|
||||
"edit": "تعديل",
|
||||
"send_email": "إرسال بريد إلكتروني"
|
||||
},
|
||||
"calendar": {
|
||||
"title": "التقويم",
|
||||
@@ -2988,6 +3057,36 @@
|
||||
"due_today": "اليوم",
|
||||
"due_tomorrow": "غدًا",
|
||||
"overdue": "متأخرة"
|
||||
},
|
||||
"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": "المركبات"
|
||||
}
|
||||
},
|
||||
"sharing": {
|
||||
@@ -3011,7 +3110,14 @@
|
||||
"readWrite": "قراءة وكتابة",
|
||||
"manager": "مدير",
|
||||
"custom": "مخصص"
|
||||
}
|
||||
},
|
||||
"accept": "قبول",
|
||||
"decline": "رفض",
|
||||
"no_shares_by_me": "لم تشارك أي شيء بعد.",
|
||||
"no_shares_with_me": "لا توجد مجلدات مشتركة معك بعد.",
|
||||
"shared_by": "شارك بواسطة",
|
||||
"tab_shared_by_me": "مشترك مني",
|
||||
"tab_shared_with_me": "مشترك معي"
|
||||
},
|
||||
"advanced_search": {
|
||||
"title": "بحث متقدم",
|
||||
@@ -3176,7 +3282,8 @@
|
||||
"disabled_description": "قد تتسبب عمليات رفع الملفات الكبيرة عبر WebDAV في زعزعة استقرار Stalwart/RocksDB، بما في ذلك انهيارات نفاد الذاكرة واستخدام غير قابل للاسترجاع لمساحة القرص. قد لا تُحذف الملفات المحذوفة فورًا من مخزن الكائنات الثنائية. لا يُنصح بهذه الميزة لبيئات الإنتاج.",
|
||||
"stability_warning": "قد تتسبب عمليات رفع الملفات الكبيرة في زعزعة استقرار الخادم. قد لا تُحذف الملفات المحذوفة فورًا من التخزين. استخدمها بحذر.",
|
||||
"migration_title": "جارٍ تحديث ملفاتك…",
|
||||
"migration_description": "جارٍ تنظيم المجلدات والملفات في هيكلها الصحيح. يحدث هذا مرة واحدة فقط."
|
||||
"migration_description": "جارٍ تنظيم المجلدات والملفات في هيكلها الصحيح. يحدث هذا مرة واحدة فقط.",
|
||||
"send_as_attachment": "إرسال كمرفق"
|
||||
},
|
||||
"smime": {
|
||||
"your_certificates": "شهاداتك",
|
||||
@@ -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