iOS / Swift / أنظمة ميسرة وأدلة الأهداف / الدرس 13
الإتاحة والعربية والترجمة
احفظ معنى المهمة عبر VoiceOver وDynamic Type ورسائل الجمع والتخطيط ثنائي الاتجاه.
في هذه الصفحة
أهداف الدرس
- ابدأ بالفعل ومعلوماته
- استخدم رسائل مترجمة كاملة وموارد مستقرة
- أتح الإجراء بتحكم قياسي مسمى
ابدأ بالفعل ومعلوماته
يوضح التحكم الميسّر فعله وتوافره وما تغير بعد التفعيل. قد تكون أيقونة مألوفة لمستخدم مبصر غامضة لآخر أو لـ VoiceOver. فضّل التحكم القياسي بتسمية واضحة قبل الإيماءات والسمات المخصصة. لا تضف تسمية إتاحة مطابقة دون فحص تكرار النطق. افحص الشجرة ثم مارس المهمة بـ VoiceOver على الهدف المدعوم. لا تثبت تسمية معقولة بالمصدر ترتيب القراءة أو عودة التركيز أو إعلان التغير غير المتزامن.
استخدم رسائل مترجمة كاملة وموارد مستقرة
ينبغي لكتالوج النصوص أو مورد ترجمة مراجع تمثيل رسالة كاملة بمتغيرات مفهومة. للعربية فروق جمع لا تناسب فرعي المفرد والجمع الإنجليزيين، وقد ينتقل العدد إلى موضع آخر. أعط المترجم سياقا ووحدات بدلا من لصق أجزاء حول رقم. ثبّت معرّفات الموارد بين اللغات واختبر فروع الجمع. قد تبقى معرّفات السجلات لاتينية مع شرح عربي؛ ويحتاج المحتوى المختلط إلى مراجعة وضوح الترقيم وترتيب القراءة.
أتح الإجراء بتحكم قياسي مسمى
يوفر المقتطف الأول Label نصية لزر تحديث بأسلوب أيقونة. قد يخفي الأسلوب العنوان مرئيا مع بقاء اسم الفعل دلاليا. تمثل العبارة الحرفية مرشحا لمورد ترجمة في تطبيق مجهز. يتحكم رد النداء الاختياري بالتعطيل، وينسقه النموذج الحقيقي مع سياسة الأمر المعلق. لا تجعل تسمية إتاحة صورة زخرفية تبدو إجراء إن لم يوجد تحكم قابل للاستخدام. افحص التفعيل المساعد ولوحة المفاتيح مع المظهر.
struct RefreshAction: View {
let refresh: (() -> Void)?
var body: some View {
Button {
refresh?()
} label: {
Label("Refresh workshops", systemImage: "arrow.clockwise")
}
.labelStyle(.iconOnly)
.disabled(refresh == nil)
}
}
The icon button remains named Refresh workshops and is disabled when no action is supplied.
يتطلب SwiftUI. يحتاج النطق والتركيز الفعليان إلى فحص إتاحة مستضاف بأدوات Apple لم يُنفذ.
دع النص والاتجاه يعيدان تشكيل التخطيط
يستخدم المقتطف الثاني محاذاة البداية وحشوها بدلا من اليسار المطلق. ويسمح للعنوان بالالتفاف رأسيا دون ارتفاع صف ثابت. تتبع البداية الاتجاه من اليمين في بيئة عربية. ولا يعني هذا عكس كل رمز أو رقم؛ فسهم التنقل وعلامة تجارية مختلفان دلاليا. اختبر عنوانا مترجما طويلا بجوار معرّف وبأحجام إتاحة. لا تحفظ التسمية المقصوصة أو غير المتاحة التدفق ولو صحت لغويا.
struct WorkshopHeading: View {
let title: String
let identifier: String
var body: some View {
VStack(alignment: .leading, spacing: 8) {
Text(title).font(.headline).fixedSize(horizontal: false, vertical: true)
Text(identifier).font(.caption)
}
.padding(.leading, 16)
.frame(maxWidth: .infinity, alignment: .leading)
}
}
The heading can grow vertically and follows the environment’s leading direction.
يوفر المستدعي العنوان المترجم. لا يُؤكد عدد أسطر أو قياس بكسلات أو ترتيب VoiceOver على جهاز.
أعلن تغير الحالة عند حدود مفيدة
قد يستحق فشل الحفظ أو الاكتمال أو تغير عدد النتائج إعلانا، ولا يستحقه عادة كل body أو حرف. نسّق الإعلان بالحالة المقبولة كي لا تعلن مهمة قديمة خطأ بعد نجاح أحدث. اربط الخطأ بحقلِه وتجنب سحب التركيز بعد كل تحديث. واحترم تفضيلات تخفيف الحركة وغيرها في التقديم. تكشف المراجعات الآلية بعض العيوب، وتبقى الممارسة اليدوية لازمة للسياق والفهم والتعافي.
تحقّق من المهمة المترجمة لا الكلمات المنفردة
تشمل المصفوفة العربية والإنجليزية ومعرّفات مختلطة وعناوين طويلة وأحجام إتاحة وتنقل VoiceOver وتعطيل الأفعال وفشلا يعقبه تصحيح. افحص بقاء الإجراءات الأساسية وعودة التركيز لموضع مفهوم بعد إغلاق ورقة. تكشف اختبارات الموارد المفاتيح والفروع المفقودة ولا تثبت التفاعل المنطوق. سجّل النظام واللغة والحجم وإعدادات المساعدة للفحوص المنفذة. لا تنفذ الدورة VoiceOver أو محاكيا أو جهازا وتبقي أمثلة الواجهة غير منفذة.
الأخطاء الشائعة وإصلاحها
لا تحمل الأيقونة فعلا منطوقا مفيدا
- لماذا يحدث؟
- حل التعرف المرئي محل تسمية التحكم.
- كيف تصلحه؟
- استخدم زرا قياسيا مسمى وافحص دلالته.
- كيف تتجنب تكراره؟
- اختبر المهمة بـ VoiceOver لا المصدر فقط.
يفترض التخطيط العربي أن اليسار هو البداية
- لماذا يحدث؟
- تجاهلت الهندسة المطلقة اتجاه القراءة.
- كيف تصلحه؟
- استخدم البداية والنهاية حيث يتبع المعنى الاتجاه.
- كيف تتجنب تكراره؟
- راجع المحتوى المختلط في اللغتين.
تُجمع رسائل الجمع من أجزاء كلمات
- لماذا يحدث؟
- اعتُبرت قواعد الإنجليزية قالبا عاما.
- كيف تصلحه؟
- ترجم رسائل كاملة بفروع العدد المدعومة.
- كيف تتجنب تكراره؟
- اختبر فئات الجمع العربي بسياق للمترجم.
اختبر فهمك
1. لماذا يُختبر النص الكبير قبل تثبيت ارتفاع بطاقة؟
اعرض الحل المشروح
يتغير الارتفاع بالمحتوى واللغة وحجم الإتاحة. قد يخفي التثبيت المبكر ترجمة صحيحة أو يجعلها تتراكب مع التحكم. ابدأ بالمعلومة الأساسية واسمح بالنمو أو التجاوب وافحص الوصول للإجراء بالأحجام اللازمة.
2. هل يثبت كتالوج نصوص صحيح سلوك VoiceOver بالعربية؟
اعرض الحل المشروح
لا. يثبت توافر الموارد وتنسيق الرسائل للحالات المختبرة. يحتاج ترتيب القراءة والتركيز والنطق والتعافي إلى تفاعل مساعد فعلي على هدف مدعوم. أبلغ عن الحدود مستقلة ولا تحول اختبار الموارد إلى اعتماد جهاز.
أهم ما تعلمته
- ابدأ بالفعل ومعلوماته
- تحقّق من المهمة المترجمة لا الكلمات المنفردة