i18n(ar): apply review round 3

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
German KhokhlovandClaude Opus 5.5 committed 2026-10-28 23:27:00 +04:00
1 parent 8540535817
commit df866f33a5
13 files changed
+110 -38

No files matched your search

+10 -1
View File
@@ -18,7 +18,11 @@ import {
import { hudQuantity, LOCALIZED_LOCALITY } from '../hudLocalityFormat.js';
import { formatCockpitDistance } from '../ui/cockpitPresentation.js';
import { READOUT_WORDS } from '../layers/recentImagery/display.js';
import { formatQuantity, formatScaleLabel } from '../ui/unitLabels.js';
import {
formatQuantity,
formatScaleLabel,
formatScaleRange,
} from '../ui/unitLabels.js';
test('Arabic resolves from URL, saved preference and browser language', () => {
assert.equal(
@@ -133,6 +137,11 @@ test('Arabic uses all six plural forms and spaced HUD units', () => {
'\u2068300+\u2069',
'\u20680.1\u2069',
]);
// A Latin unit after the range keeps its order: °C, not C°.
assert.equal(
formatScaleRange('-40', '50+', '°C'),
`${formatScaleLabel('-40')} — \u206850+\u2069\u00a0\u2068°C\u2069`,
);
// Counted minutes agree with the number (3–10 plural, 11+ singular).
assert.deepEqual(
[3, 15].map((n) =>
+18 -16
View File
@@ -166,7 +166,7 @@
"READY": "جاهز",
"ACTIVE STYLE": "النمط النشط",
"Return UI controls": "إعادة عناصر التحكم",
"EXIT CLEAN VIEW": "الخروج من العرض النظيف",
"EXIT CLEAN VIEW": "الخروج من الواجهة النظيفة",
"Expand Visual Presets": "توسيع الأنماط البصرية",
"VISUAL PRESETS": "الأنماط البصرية",
"Pin visual presets": "تثبيت الأنماط البصرية",
@@ -551,7 +551,7 @@
"PROJECTION ON": "الإسقاط مفعّل",
"CALIBRATION": "المعايرة",
"ADJUST": "ضبط",
"Drag the camera in the world: rings rotate, arrows move, handles set range/FOV": "اسحب الكاميرا في العالم: تدور الحلقات وتحرّك الأسهم الموضع وتضبط المقابض المدى وزاوية الرؤية",
"Drag the camera in the world: rings rotate, arrows move, handles set range/FOV": "اسحب الكاميرا في العالم: الحلقات لتدويرها، والأسهم لتحريكها، والمقابض لضبط المدى وزاوية الرؤية",
"Camera pose — click a value to type": "وضعية الكاميرا — انقر على قيمة لكتابتها",
"Heading (compass °) — click to type": "الاتجاه (بوصلة °) — انقر للكتابة",
"Pitch (° up/down) — click to type": "الميل (° أعلى/أسفل) — انقر للكتابة",
@@ -814,7 +814,7 @@
"VISUAL": "مرئية",
"Brightest naked-eye objects — CelesTrak visual group": "ألمع الأجرام المرئية بالعين المجردة — مجموعة CelesTrak المرئية",
"COMMS": "اتصالات",
"Broadband constellation shell — shown only in DENSE mode": "غلاف كوكبة النطاق العريض — يظهر في وضع الكثيف فقط",
"Broadband constellation shell — shown only in DENSE mode": "غلاف كوكبة النطاق العريض — يظهر في وضع «كثيف» فقط",
"refreshing...": "جارٍ التحديث…",
"KEY REQUIRED": "المفتاح مطلوب",
"STALE · cached {age}": "متقادم · مخزّن {age}",
@@ -899,6 +899,8 @@
"awaiting usable AIS positions…": "بانتظار مواضع AIS صالحة…",
"awaiting first AIS message…": "بانتظار أول رسالة AIS…",
"EST. DOWNRANGE": "تقدير على امتداد المسار",
"CONFIRMED": "مؤكَّد",
"PAD / RTLS": "منصة الإطلاق / RTLS",
"Pick a shape, then click the map.": "اختر شكلًا، ثم انقر على الخريطة.",
"Enter to place the pin, Esc to cancel.": "Enter لوضع الدبوس، وEsc للإلغاء.",
"Click where the pin goes.": "انقر حيث تريد وضع الدبوس.",
@@ -938,7 +940,7 @@
"General emergency": "طوارئ عامة",
"Unlawful interference": "تدخل غير مشروع",
"Radio failure": "عطل في الاتصال اللاسلكي",
"Downed aircraft": "طائرة سقطت",
"Downed aircraft": "طائرة ساقطة",
"Minimum fuel": "الحد الأدنى من الوقود",
"Lifeguard (medical priority)": "إسعاف جوي (أولوية طبية)",
"Rasuwagadhi witness video": "فيديو شاهد عيان في Rasuwagadhi",
@@ -1599,7 +1601,7 @@
"WebUSB needs desktop Chrome or Edge": "يتطلب WebUSB متصفح Chrome أو Edge على سطح المكتب",
"connect a receiver in Radio": "وصّل جهاز استقبال في «الراديو»",
"receiver is in FM mode": "جهاز الاستقبال في وضع FM",
"listening": "استماع",
"listening": "جارٍ الاستماع",
"USB error": "خطأ USB",
"${amount}K": "{amount} ألف دولار",
"${amount}M": "{amount} مليون دولار",
@@ -1622,8 +1624,8 @@
"many": "{acres} آكر",
"other": "{acres} آكر"
},
"{percent}% contained": "تمت السيطرة على {percent}%",
"containment unknown": "نسبة السيطرة غير معروفة",
"{percent}% contained": "الاحتواء: {percent}%",
"containment unknown": "نسبة الاحتواء غير معروفة",
"{cause} cause": "السبب: {cause}",
"{personnel} personnel": {
"zero": "{personnel} فرد",
@@ -1643,11 +1645,11 @@
"Unnamed incident": "حادث بلا اسم",
"Open {title} on InciWeb": "فتح {title} على InciWeb",
"Perimeter source unavailable": "مصدر محيطات الحرائق غير متاح",
"Not contained or unknown": "غير مسيطر عليه أو غير معروف",
"Under 50% contained": "السيطرة أقل من 50%",
"50–99% contained": "السيطرة 50–99%",
"Fully contained": "مسيطر عليه بالكامل",
"Colour shows reported containment. Perimeters are simplified to about 100 m.": "يبيّن اللون نسبة السيطرة المُبلَّغ عنها. المحيطات مبسّطة إلى نحو 100 م.",
"Not contained or unknown": "بلا احتواء أو غير معروف",
"Under 50% contained": "الاحتواء: أقل من 50%",
"50–99% contained": "الاحتواء: 50–99%",
"Fully contained": "احتواء كامل",
"Colour shows reported containment. Perimeters are simplified to about 100 m.": "يبيّن اللون نسبة الاحتواء المُبلَّغ عنها. المحيطات مبسّطة إلى نحو 100 م.",
"Malformed perimeter snapshot": "لقطة المحيطات مشوّهة",
"radio tag|All": "الكل",
"Directory refresh degraded; showing the previous station catalog.": "تحديث الدليل متدهور؛ يُعرض فهرس المحطات السابق.",
@@ -2199,14 +2201,14 @@
"Live stream connected": "البث المباشر متصل",
"Snapshot feed connected": "مصدر اللقطات متصل",
"Media fetch failed": "فشل جلب الوسائط",
"Upstream snapshot active": "لقطة المصدر نشطة",
"Upstream snapshot active": "لقطة المصدر الأصلي نشطة",
"Fallback Street View frame": "إطار بديل من Street View",
"Upstream unavailable": "المصدر غير متاح",
"Upstream unavailable": "المصدر الأصلي غير متاح",
"No source configured": "لم يُعَدّ أي مصدر",
"Configured source": "المصدر المُعَدّ",
"Configured Source": "المصدر المُعَدّ",
"Synthetic fallback": "بديل محاكى",
"Upstream HTTP {status}": "المصدر: HTTP {status}",
"Upstream HTTP {status}": "المصدر الأصلي: HTTP {status}",
"Unexpected media type {type}": "نوع وسائط غير متوقع: {type}",
"{value} KM/H": "{value} كم/س",
"{label} · {radius} AIR/SEA WINDOW": "{label} · نطاق جو/بحر {radius}",
@@ -2294,7 +2296,7 @@
"Data source unavailable": "مصدر البيانات غير متاح",
"Local FM stopped: internet radio started": "توقف FM المحلي: بدأ راديو الإنترنت",
"IDLE": "خامل",
"TUNING": "ضبط",
"TUNING": "جارٍ الضبط",
"STREAMING": "استقبال",
"UNSUPPORTED": "غير مدعوم",
"idle": "خامل",
+2
View File
@@ -739,6 +739,8 @@
"awaiting usable AIS positions…": "esperando posiciones AIS utilizables…",
"awaiting first AIS message…": "esperando el primer mensaje AIS…",
"EST. DOWNRANGE": "DIST. ESTIMADA",
"CONFIRMED": "CONFIRMADA",
"PAD / RTLS": "PLATAFORMA / RTLS",
"MISSION CONTROL · FIRST LAUNCH": "CENTRO DE MANDO · PRIMER INICIO",
"Choose your first view": "Elige tu primera vista",
"LIVE CONTACTS": "CONTACTOS EN VIVO",
+2
View File
@@ -216,6 +216,8 @@
"Pause replay": "Приостановить повтор",
"Cancel replay": "Отменить повтор",
"EST. DOWNRANGE": "РАСЧЁТ ПО ТРАССЕ",
"CONFIRMED": "ПОДТВЕРЖДЕНО",
"PAD / RTLS": "СТАРТОВАЯ ПЛОЩАДКА / RTLS",
"PLANNED · ": "ПЛАН · ",
"SUPPLIED TRAJECTORY POINTS": "ПРЕДОСТАВЛЕННЫЕ ТОЧКИ ТРАЕКТОРИИ",
"RECONSTRUCTED ESTIMATE": "РЕКОНСТРУИРОВАННАЯ ОЦЕНКА",
+2
View File
@@ -811,6 +811,8 @@
"Pause replay": "暂停回放",
"Cancel replay": "取消回放",
"EST. DOWNRANGE": "预估落点距离",
"CONFIRMED": "已确认",
"PAD / RTLS": "发射台 / RTLS",
"PLANNED · ": "计划 · ",
"SUPPLIED TRAJECTORY POINTS": "提供的轨迹点",
"RECONSTRUCTED ESTIMATE": "重建估算",
+2
View File
@@ -806,6 +806,8 @@
"Pause replay": "暫停回放",
"Cancel replay": "取消回放",
"EST. DOWNRANGE": "預估落點距離",
"CONFIRMED": "已確認",
"PAD / RTLS": "發射臺 / RTLS",
"PLANNED · ": "計劃 · ",
"SUPPLIED TRAJECTORY POINTS": "提供的軌跡點",
"RECONSTRUCTED ESTIMATE": "重建估算",