i18n(ar): apply review round 4

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-29 00:00:14 +04:00
1 parent df866f33a5
commit 0511153bad
2 files changed
+21 -17

No files matched your search

+6 -2
View File
@@ -8,11 +8,11 @@ Translation sources: abiyeenzo (#915).
- Modern Standard Arabic, neutral across regions. Address the user with plain imperatives: «انقر»، «فعّل»، «أعد المحاولة». - Modern Standard Arabic, neutral across regions. Address the user with plain imperatives: «انقر»، «فعّل»، «أعد المحاولة».
- Arabic has no letter case: an UPPERCASE English HUD label becomes the same short Arabic label. Keep labels as short as the English: «مباشر»، «متقادم»، «متوقف». - Arabic has no letter case: an UPPERCASE English HUD label becomes the same short Arabic label. Keep labels as short as the English: «مباشر»، «متقادم»، «متوقف».
- Status words in progress use «جارٍ …» («جارٍ التحميل»، «جارٍ الضبط»، «… جارٍ تشغيل اللقطة»), so a status chip never reads as the command next to it («ضبط» is the TUNE button); finished actions use the passive («تم الحفظ»، «أُلغي التحميل»). Data that refreshes itself «يُحدَّث» (يتحدّث means "speaks"). A sentence about a `{placeholder}` whose gender and number vary stays impersonal: «{layers}: تم التفعيل للتو». - Status words in progress use «جارٍ …» («جارٍ التحميل»، «جارٍ الضبط»، «… جارٍ تشغيل اللقطة»), so a status chip never reads as the command next to it («ضبط» is the TUNE button); finished actions use the passive («تم الحفظ»، «أُلغي التحميل»). Data that refreshes itself «يُحدَّث» (يتحدّث means "speaks"). A sentence about a `{placeholder}` whose gender and number vary (tool, layer and cohort names, call signs, vessel names) stays impersonal: «{layers}: تم التفعيل للتو»، ««{name}» قيد الاستخدام»، «{id}: لا بيانات واردة الآن»، «لم يعد {name} ضمن البيانات المحمّلة».
- A label followed by its value takes a colon, so it does not read as a sentence: «الصوت: نشط»، «السياق: {value}»، «الاحتواء: {percent}%». A named mode or control quoted in a sentence takes «»: «يظهر في وضع «كثيف» فقط». - A label followed by its value takes a colon, so it does not read as a sentence: «الصوت: نشط»، «السياق: {value}»، «الاحتواء: {percent}%». A named mode or control quoted in a sentence takes «»: «يظهر في وضع «كثيف» فقط».
- Arabic punctuation in Arabic text: ، ؛ ؟ and «» for quotes. Keep `·` as the HUD separator, `—` with spaces, and `…`. - Arabic punctuation in Arabic text: ، ؛ ؟ and «» for quotes. Keep `·` as the HUD separator, `—` with spaces, and `…`.
- Arrows that show a sequence point the way Arabic reads: «الإشارات ← الأخبار ← المحلي», «{origin} ← {destination}». - Arrows that show a sequence point the way Arabic reads: «الإشارات ← الأخبار ← المحلي», «{origin} ← {destination}».
- Product names, provider names and codes stay in Latin letters: Google, Cesium ion, CelesTrak, NOAA, FIRMS, AIS, ADS-B, GNSS, CCTV, HUD, CRT, NVG, FLIR, WHOT/BHOT, Ironbow, Street View, Mapillary. Aviation and camera abbreviations stay Latin too: HDG, FOV, BRG, CRS, GS, TRK, V/S, SQUAWK. Local place names from the Bhote Koshi scene (Rasuwagadhi, Bidur, Timure…) stay Latin; well-known cities and countries are written in Arabic (أوستن، طوكيو، نيبال). - Product names, provider names and codes stay in Latin letters: Google, Cesium ion, CelesTrak, NOAA, FIRMS, AIS, ADS-B, GNSS, CCTV, HUD, CRT, NVG, FLIR, WHOT/BHOT, Ironbow, Street View, Mapillary. Aviation and camera abbreviations stay Latin too: HDG, FOV, BRG, CRS, GS, TRK, V/S, SQUAWK. Local place names from the Bhote Koshi scene (Rasuwagadhi, Bidur, Timure…) stay Latin, and a site known by two names takes one Arabic noun in front: «جسر Mailung / Upper Trishuli»; well-known cities and countries are written in Arabic (أوستن، طوكيو، نيبال).
- Months are the international names used across the Arab world: يناير، فبراير … أغسطس. - Months are the international names used across the Arab world: يناير، فبراير … أغسطس.
## Digits and direction ## Digits and direction
@@ -84,6 +84,7 @@ Every form must keep `{count}`. For one and two, Arabic names the quantity with
| Recent Imagery | الصور الحديثة | | Recent Imagery | الصور الحديثة |
| Global Context / Context | السياق العالمي / السياق | | Global Context / Context | السياق العالمي / السياق |
| radio station / tuner / gain | محطة / موالف / الكسب | | radio station / tuner / gain | محطة / موالف / الكسب |
| VOLUME (slider) / VOICE | مستوى الصوت / الصوت |
| decoder (SDR) | مفكّك | | decoder (SDR) | مفكّك |
| transit / bike share | النقل العام / الدراجات المشتركة | | transit / bike share | النقل العام / الدراجات المشتركة |
| Previous / Next | السابق / التالي | | Previous / Next | السابق / التالي |
@@ -96,6 +97,9 @@ Every form must keep `{count}`. For one and two, Arabic names the quantity with
| parameters / ellipsoid | المعلمات / المجسّم الإهليلجي | | parameters / ellipsoid | المعلمات / المجسّم الإهليلجي |
| scene cloud | غيوم المشهد | | scene cloud | غيوم المشهد |
| box (Recent Imagery area) / pin | منطقة / تثبيت | | box (Recent Imagery area) / pin | منطقة / تثبيت |
| width (box size) / view (current camera) | اتساع / العرض الحالي (عرض alone reads as display) |
| N/A | غير متاح (no abbreviation) |
| METRO (view band) / REGIONAL | حضري (not حاضرة) / إقليمي |
| THIS (voice pointer) | هذا | | THIS (voice pointer) | هذا |
| outline / mark (map annotation) | مخطط / علامة، تعليم | | outline / mark (map annotation) | مخطط / علامة، تعليم |
| share (a view or link) | مشاركة | | share (a view or link) | مشاركة |
+15 -15
View File
@@ -326,7 +326,7 @@
"Play": "تشغيل", "Play": "تشغيل",
"Next filtered radio station": "محطة الراديو التالية في القائمة المصفّاة", "Next filtered radio station": "محطة الراديو التالية في القائمة المصفّاة",
"Next station": "المحطة التالية", "Next station": "المحطة التالية",
"VOLUME": "الصوت", "VOLUME": "مستوى الصوت",
"Compact Radio volume": "مستوى صوت الراديو المصغّر", "Compact Radio volume": "مستوى صوت الراديو المصغّر",
"Cockpit display and Radio controls": "عناصر تحكم العرض والراديو في القمرة", "Cockpit display and Radio controls": "عناصر تحكم العرض والراديو في القمرة",
"Expand Cockpit display options": "توسيع خيارات عرض القمرة", "Expand Cockpit display options": "توسيع خيارات عرض القمرة",
@@ -389,7 +389,7 @@
}, },
"AVAILABLE INPUTS CURRENT · NOT AN ALL-CLEAR": "المدخلات المتاحة محدّثة · لا يعني أن الوضع آمن", "AVAILABLE INPUTS CURRENT · NOT AN ALL-CLEAR": "المدخلات المتاحة محدّثة · لا يعني أن الوضع آمن",
"{cohort} · {contact}": "{cohort} · {contact}", "{cohort} · {contact}": "{cohort} · {contact}",
"{cohort}, Unavailable": "{cohort}، غير متاح", "{cohort}, Unavailable": "{cohort}: غير متاح",
"BRG —": "BRG —", "BRG —": "BRG —",
"AHEAD": "أمامك", "AHEAD": "أمامك",
"{side} {angle}": "{side} {angle}", "{side} {angle}": "{side} {angle}",
@@ -960,12 +960,12 @@
"Gyirong border gate": "المعبر الحدودي في Gyirong", "Gyirong border gate": "المعبر الحدودي في Gyirong",
"Border gate": "المعبر الحدودي", "Border gate": "المعبر الحدودي",
"Timure evidence cluster": "مجموعة أدلة Timure", "Timure evidence cluster": "مجموعة أدلة Timure",
"Mailung / Upper Trishuli bridge": "Mailung / جسر Upper Trishuli", "Mailung / Upper Trishuli bridge": "جسر Mailung / Upper Trishuli",
"Dandagaun viewpoint restaurant": "مطعم الإطلالة في Dandagaun", "Dandagaun viewpoint restaurant": "مطعم الإطلالة في Dandagaun",
"Dandagaun viewpoint": "نقطة الإطلالة في Dandagaun", "Dandagaun viewpoint": "نقطة الإطلالة في Dandagaun",
"Bidur - Trishuli bridge": "جسر Bidur - Trishuli", "Bidur - Trishuli bridge": "جسر Bidur - Trishuli",
"Bidur bridge": "جسر Bidur", "Bidur bridge": "جسر Bidur",
"Devighat / Taadi Khola Bridge": "Devighat / جسر Taadi Khola", "Devighat / Taadi Khola Bridge": "جسر Devighat / Taadi Khola",
"Devighat bridge": "جسر Devighat", "Devighat bridge": "جسر Devighat",
"Facebook player API did not initialize.": "لم تبدأ واجهة API لمشغّل Facebook.", "Facebook player API did not initialize.": "لم تبدأ واجهة API لمشغّل Facebook.",
"Facebook player API could not load.": "تعذّر تحميل واجهة API لمشغّل Facebook.", "Facebook player API could not load.": "تعذّر تحميل واجهة API لمشغّل Facebook.",
@@ -1171,10 +1171,10 @@
"{state} {layers}": "{state}: {layers}", "{state} {layers}": "{state}: {layers}",
"view band|STREET": "شارع", "view band|STREET": "شارع",
"view band|CITY": "مدينة", "view band|CITY": "مدينة",
"view band|METRO": "حاضرة", "view band|METRO": "حضري",
"view band|REGIONAL": "إقليمي", "view band|REGIONAL": "إقليمي",
"view band|GLOBAL": "عالمي", "view band|GLOBAL": "عالمي",
"N/A": "غ/م", "N/A": "غير متاح",
"{mode} {band} {locality} | {region} | ALT {alt} | WINDOW {window} | SUN {sun}° | ONA {ona}° | {zone}": "{mode} {band} {locality} | {region} | الارتفاع {alt} | النافذة {window} | الشمس {sun}° | ONA {ona}° | {zone}", "{mode} {band} {locality} | {region} | ALT {alt} | WINDOW {window} | SUN {sun}° | ONA {ona}° | {zone}": "{mode} {band} {locality} | {region} | الارتفاع {alt} | النافذة {window} | الشمس {sun}° | ONA {ona}° | {zone}",
"NEAR {poi} ({city}) {distance}": "قرب {poi} ({city}) {distance}", "NEAR {poi} ({city}) {distance}": "قرب {poi} ({city}) {distance}",
"SECTOR {lat} {lon}": "القطاع {lat} {lon}", "SECTOR {lat} {lon}": "القطاع {lat} {lon}",
@@ -1461,8 +1461,8 @@
"action|CLEAR": "مسح", "action|CLEAR": "مسح",
"Remove the route and both markers": "إزالة المسار والعلامتين", "Remove the route and both markers": "إزالة المسار والعلامتين",
"press Escape twice to leave Draw": "اضغط Esc مرتين للخروج من «الرسم»", "press Escape twice to leave Draw": "اضغط Esc مرتين للخروج من «الرسم»",
"{name} is active — turn {name} off, then set {endpoint}": "«{name}» نشط — أوقف «{name}»، ثم عيّن {endpoint}", "{name} is active — turn {name} off, then set {endpoint}": "«{name}» قيد الاستخدام — أوقف «{name}»، ثم عيّن {endpoint}",
"{name} is active — {leave}, then set {endpoint}": "«{name}» نشط — {leave}، ثم عيّن {endpoint}", "{name} is active — {leave}, then set {endpoint}": "«{name}» قيد الاستخدام — {leave}، ثم عيّن {endpoint}",
"Only the first {count} turns of this route are shown": "لا يُعرض من هذا المسار سوى أول {count} من الانعطافات", "Only the first {count} turns of this route are shown": "لا يُعرض من هذا المسار سوى أول {count} من الانعطافات",
"Turn-by-turn directions": "إرشادات خطوة بخطوة", "Turn-by-turn directions": "إرشادات خطوة بخطوة",
"Another map tool is using clicks — close it, then SET A again": "أداة خريطة أخرى تستخدم النقرات — أغلقها، ثم اضغط «تعيين A» مجددًا", "Another map tool is using clicks — close it, then SET A again": "أداة خريطة أخرى تستخدم النقرات — أغلقها، ثم اضغط «تعيين A» مجددًا",
@@ -2133,7 +2133,7 @@
"SDR decoder worker failed": "فشل عامل مفكّك SDR", "SDR decoder worker failed": "فشل عامل مفكّك SDR",
"SDR decoder did not start; receiver stopped": "لم يبدأ مفكّك SDR؛ توقف جهاز الاستقبال", "SDR decoder did not start; receiver stopped": "لم يبدأ مفكّك SDR؛ توقف جهاز الاستقبال",
"SDR decoder stopped responding; receiver stopped": "توقف مفكّك SDR عن الاستجابة؛ توقف جهاز الاستقبال", "SDR decoder stopped responding; receiver stopped": "توقف مفكّك SDR عن الاستجابة؛ توقف جهاز الاستقبال",
"SDR decoder fell behind; receiver stopped": "تأخّر مفكّك SDR عن المواكبة؛ توقف جهاز الاستقبال", "SDR decoder fell behind; receiver stopped": "عجز مفكّك SDR عن مواكبة تدفق البيانات؛ توقف جهاز الاستقبال",
"WebUSB requires desktop Chrome or Edge": "يتطلب WebUSB متصفح Chrome أو Edge على سطح المكتب", "WebUSB requires desktop Chrome or Edge": "يتطلب WebUSB متصفح Chrome أو Edge على سطح المكتب",
"Waiting for an RTL-SDR device…": "بانتظار جهاز RTL-SDR…", "Waiting for an RTL-SDR device…": "بانتظار جهاز RTL-SDR…",
"Browser audio is suspended; press Connect again to resume it": "صوت المتصفح معلّق؛ اضغط «اتصال» مجددًا لاستئنافه", "Browser audio is suspended; press Connect again to resume it": "صوت المتصفح معلّق؛ اضغط «اتصال» مجددًا لاستئنافه",
@@ -2384,8 +2384,8 @@
"That point cannot anchor a box": "لا يمكن تثبيت منطقة على تلك النقطة", "That point cannot anchor a box": "لا يمكن تثبيت منطقة على تلك النقطة",
"Imagery stops at ±{limit}° latitude": "تتوقف الصور عند خط العرض ±{limit}°", "Imagery stops at ±{limit}° latitude": "تتوقف الصور عند خط العرض ±{limit}°",
"{owner} is using the pointer — close it first": "المؤشر مستخدم من قِبل «{owner}» — أغلقه أولًا", "{owner} is using the pointer — close it first": "المؤشر مستخدم من قِبل «{owner}» — أغلقه أولًا",
"Box is {size} wide · limit {limit}": "عرض المنطقة {size} · الحد {limit}", "Box is {size} wide · limit {limit}": "اتساع المنطقة {size} · الحد {limit}",
"View is {size} wide · limit {limit}": "عرض المنظر {size} · الحد {limit}", "View is {size} wide · limit {limit}": "اتساع العرض الحالي {size} · الحد {limit}",
"VS BASEMAP": "مقابل الخريطة", "VS BASEMAP": "مقابل الخريطة",
"A / B": "A / B", "A / B": "A / B",
"Newest low-cloud day for this box · scene cloud, not box cloud": "أحدث يوم قليل الغيوم لهذه المنطقة · غيوم المشهد كله لا المنطقة", "Newest low-cloud day for this box · scene cloud, not box cloud": "أحدث يوم قليل الغيوم لهذه المنطقة · غيوم المشهد كله لا المنطقة",
@@ -2510,8 +2510,8 @@
"Shared flight is unavailable": "الرحلة المشتركة غير متاحة", "Shared flight is unavailable": "الرحلة المشتركة غير متاحة",
"Shared military flight is unavailable": "الرحلة العسكرية المشتركة غير متاحة", "Shared military flight is unavailable": "الرحلة العسكرية المشتركة غير متاحة",
"Shared satellite is unavailable": "القمر الصناعي المشترك غير متاح", "Shared satellite is unavailable": "القمر الصناعي المشترك غير متاح",
"{id} isn't reporting now — showing where it was last seen": "{id} لا يرسل بيانات الآن — يُعرض آخر موضع شوهد فيه", "{id} isn't reporting now — showing where it was last seen": "{id}: لا بيانات واردة الآن — يُعرض آخر موضع معروف",
"{id} isn't reporting now — showing where it was at {time}": "{id} لا يرسل بيانات الآن — يُعرض موضعه عند {time}", "{id} isn't reporting now — showing where it was at {time}": "{id}: لا بيانات واردة الآن — يُعرض الموضع عند {time}",
"This share link can't be opened": "لا يمكن فتح رابط المشاركة هذا", "This share link can't be opened": "لا يمكن فتح رابط المشاركة هذا",
"Shared vessel is unavailable": "السفينة المشتركة غير متاحة", "Shared vessel is unavailable": "السفينة المشتركة غير متاحة",
"subject": "الهدف", "subject": "الهدف",
@@ -2920,7 +2920,7 @@
"At least {items}": "{items} على الأقل", "At least {items}": "{items} على الأقل",
"{items} {scope}": "{items} {scope}", "{items} {scope}": "{items} {scope}",
"last 24 h": "آخر 24 س", "last 24 h": "آخر 24 س",
"past 30 d and upcoming": "آخر 30 يومًا والقادمة", "past 30 d and upcoming": "آخر 30 يومًا والإطلاقات القادمة",
"the flights layer loads by viewport": "طبقة الرحلات تُحمَّل حسب منفذ العرض", "the flights layer loads by viewport": "طبقة الرحلات تُحمَّل حسب منفذ العرض",
"distance is ground distance, not overhead": "المسافة أرضية حتى النقطة تحت القمر الصناعي، لا حتى القمر نفسه", "distance is ground distance, not overhead": "المسافة أرضية حتى النقطة تحت القمر الصناعي، لا حتى القمر نفسه",
"the count is a lower bound because at least one layer reached its retained limit.": "العدد حد أدنى لأن طبقة واحدة على الأقل بلغت حد السجلات المحفوظة.", "the count is a lower bound because at least one layer reached its retained limit.": "العدد حد أدنى لأن طبقة واحدة على الأقل بلغت حد السجلات المحفوظة.",
@@ -2977,7 +2977,7 @@
"{layer} is enabled, but its destination refresh did not complete": "«{layer}» مفعّلة، لكن تحديثها عند الوجهة لم يكتمل", "{layer} is enabled, but its destination refresh did not complete": "«{layer}» مفعّلة، لكن تحديثها عند الوجهة لم يكتمل",
"{layer} is enabled, but {source} is unavailable": "«{layer}» مفعّلة، لكن {source} غير متاح", "{layer} is enabled, but {source} is unavailable": "«{layer}» مفعّلة، لكن {source} غير متاح",
"Could not arrive at {place}": "تعذّر الوصول إلى {place}", "Could not arrive at {place}": "تعذّر الوصول إلى {place}",
"{name} is no longer loaded": "{name} لم يعد محمَّلًا", "{name} is no longer loaded": "لم يعد {name} ضمن البيانات المحمّلة",
"Unknown target layer: {target}": "طبقة هدف غير معروفة: {target}", "Unknown target layer: {target}": "طبقة هدف غير معروفة: {target}",
"nominal": "طبيعي", "nominal": "طبيعي",
"{label} on": "{label}: مفعّل", "{label} on": "{label}: مفعّل",