mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-06 11:24:00 +00:00
Merge Core main into german/hal-644-ar: Arabic on the Vue UI
Main moved the UI to Vue views and Pinia stores, so the Arabic changes to the old DOM controllers now live in their views: the rail legend range comes from formatScaleRange (keeping units a source supplies as given), the voice timeout options are worded by Intl unit formatting in VoiceControl, and the scene editor's JSON fields stay left to right in SceneDialog. Main's CCTV status line, launch panel and calibration values keep the Arabic isolates and Western-digit formatting. isolate() and keepCodesWithValues() read the locale through getLocale(), which follows the page's vue-i18n instance, and the Intl formatters take intlLocale(getLocale()). A language switch now applies in place, and applyDocumentLanguage sets <html dir> on every switch, so the page mirrors without a reload. The icon rails and their tips are placed with logical properties, so they stay on the outer side of the mirrored stacks; Cyber's new stack offsets, padding and edge lines are logical too, and rtl.css moves Cyber's right stack to its new rail clearance. Main removed the Context mini radio, so its right-to-left rules and test go. The Arabic catalog gains main's new strings and drops the ones main no longer uses; the other catalogs keep main's new keys and the branch's landing labels.
This commit is contained in:
commit
bc5d038afd
630 files changed
+41141
-20956
No files matched your search
+37
-31
@@ -53,16 +53,10 @@
|
||||
"The globe already flies keyless. Every key below switches on another real feed — paste one and it's saved into this app's local configuration, then the server restarts itself. Server-side keys stay on this machine; Google Maps and Cesium ion run in the browser and must be provider-restricted. Keys you configured elsewhere are shown but never touched.": "تعمل الكرة الأرضية بلا مفاتيح أصلًا. كل مفتاح أدناه يفعّل مصدرًا حقيقيًا إضافيًا: الصق مفتاحًا فيُحفظ في إعدادات هذا التطبيق المحلية، ثم يعيد الخادم تشغيل نفسه. تبقى مفاتيح الخادم على هذا الجهاز، أما Google Maps وCesium ion فتعملان في المتصفح ويجب تقييدهما بحسب المزوّد. المفاتيح التي أعددتها في مكان آخر تظهر دون أن تُمَسّ.",
|
||||
"ESC to close": "اضغط ESC للإغلاق",
|
||||
"The Google Maps key buys the photorealistic planet — everything else stacks on top.": "مفتاح Google Maps يمنحك الكوكب الواقعي، وكل ما سواه يُضاف فوقه.",
|
||||
"SCENES": "المشاهد",
|
||||
"Scene recipe": "قالب المشهد",
|
||||
"NEW": "جديد",
|
||||
"DEL": "حذف",
|
||||
"CAPTURE SHOT": "التقاط لقطة",
|
||||
"UPDATE SHOT": "تحديث اللقطة",
|
||||
"START": "بدء",
|
||||
"STOP": "إيقاف",
|
||||
"NEXT": "التالي",
|
||||
"EXPORT PRESETS": "تصدير الإعدادات المسبقة",
|
||||
"IMPORT": "استيراد",
|
||||
"RUN LOG": "سجل التشغيل",
|
||||
"Ready": "جاهز",
|
||||
@@ -191,7 +185,6 @@
|
||||
"Layout": "التخطيط",
|
||||
"HUD layout": "تخطيط HUD",
|
||||
"Tactical": "تكتيكي",
|
||||
"Operator": "المشغّل",
|
||||
"Minimal": "مبسّط",
|
||||
"Detection Overlay (D)": "طبقة الكشف (D)",
|
||||
"Detection overlay": "طبقة الكشف",
|
||||
@@ -247,8 +240,6 @@
|
||||
"PREV": "السابق",
|
||||
"Previous cockpit vision style": "نمط رؤية القمرة السابق",
|
||||
"Previous vision style": "نمط الرؤية السابق",
|
||||
"Current cockpit vision style: NORMAL. Activate for next style.": "نمط رؤية القمرة الحالي: عادي. فعّل للانتقال إلى النمط التالي.",
|
||||
"Current style: NORMAL — click for next": "النمط الحالي: عادي — انقر للتالي",
|
||||
"Next cockpit vision style": "نمط رؤية القمرة التالي",
|
||||
"Next vision style": "نمط الرؤية التالي",
|
||||
"View switcher": "مبدّل العرض",
|
||||
@@ -295,7 +286,6 @@
|
||||
"AVAILABLE INPUTS ONLY · NOT AN ALL-CLEAR": "المدخلات المتاحة فقط · لا يعني أن الوضع آمن",
|
||||
"Enable cockpit weather effects": "تفعيل مؤثرات الطقس في القمرة",
|
||||
"CONTEXT": "السياق",
|
||||
"Expand panel": "توسيع اللوحة",
|
||||
"Context mode": "وضع السياق",
|
||||
"CONTACTS": "الأهداف",
|
||||
"Cycles the nearest contacts of whatever type you select — planes, vessels, installations. Satellites track independently.": "يتنقل بين أقرب الأهداف من أي نوع تختاره: طائرات أو سفن أو منشآت. أما الأقمار الصناعية فتُتتبَّع بشكل مستقل.",
|
||||
@@ -311,21 +301,13 @@
|
||||
"AVAILABLE MISSIONS": "المهام المتاحة",
|
||||
"SELECT A MISSION TO INSPECT": "اختر مهمة لفحصها",
|
||||
"LOADING 30-DAY MISSION INDEX": "جارٍ تحميل فهرس مهام 30 يومًا",
|
||||
"Open compact Radio controls": "فتح عناصر تحكم الراديو المصغّرة",
|
||||
"Compact Radio controls": "عناصر تحكم الراديو المصغّرة",
|
||||
"RADIO": "الراديو",
|
||||
"RADIO READY": "الراديو جاهز",
|
||||
"Open detailed Radio controls": "فتح عناصر تحكم الراديو التفصيلية",
|
||||
"Close compact Radio controls": "إغلاق عناصر تحكم الراديو المصغّرة",
|
||||
"ENABLE": "تفعيل",
|
||||
"Previous filtered radio station": "محطة الراديو السابقة في القائمة المصفّاة",
|
||||
"Previous station": "المحطة السابقة",
|
||||
"Play selected radio station": "تشغيل محطة الراديو المحددة",
|
||||
"Play": "تشغيل",
|
||||
"Next filtered radio station": "محطة الراديو التالية في القائمة المصفّاة",
|
||||
"Next station": "المحطة التالية",
|
||||
"VOLUME": "مستوى الصوت",
|
||||
"Compact Radio volume": "مستوى صوت الراديو المصغّر",
|
||||
"Cockpit display and Radio controls": "عناصر تحكم العرض والراديو في القمرة",
|
||||
"Expand Cockpit display options": "توسيع خيارات عرض القمرة",
|
||||
"Cockpit display options": "خيارات عرض القمرة",
|
||||
@@ -468,8 +450,6 @@
|
||||
"selected": "المحددة",
|
||||
"nearest": "الأقرب",
|
||||
"{action} {target} radio station": "{action}: محطة الراديو {target}",
|
||||
"RADIO STATE UNCERTAIN": "حالة الراديو غير مؤكدة",
|
||||
"SYNCING DIRECTORY": "جارٍ مزامنة الدليل",
|
||||
"SYNCING": "جارٍ المزامنة",
|
||||
"station": "محطة",
|
||||
"VIEWSHED ON": "مجال الرؤية مفعّل",
|
||||
@@ -915,7 +895,6 @@
|
||||
"That line has no length — click somewhere further away.": "هذا الخط بلا طول — انقر في موضع أبعد.",
|
||||
" · {max}-point limit reached": " · بلغت الحد الأقصى للنقاط: {max}",
|
||||
"{measure} · double-click or Enter to finish, Backspace undoes, Esc cancels.{full}": "{measure} · انقر نقرًا مزدوجًا أو اضغط Enter للإنهاء، وBackspace للتراجع، وEsc للإلغاء.{full}",
|
||||
"drawings on the map": "الرسوم على الخريطة",
|
||||
"That shape already has {count} points — finish it or press Backspace.": "عدد نقاط هذا الشكل بلغ {count} — أنهِه أو اضغط Backspace.",
|
||||
"That point is off the globe — click on the world.": "هذه النقطة خارج الكرة الأرضية — انقر على سطح الأرض.",
|
||||
"That shape could not be placed.": "تعذّر وضع هذا الشكل.",
|
||||
@@ -1224,7 +1203,6 @@
|
||||
"GET KEY ↗": "الحصول على مفتاح ↗",
|
||||
"{envVar} saved — paste to replace": "تم حفظ {envVar} — الصق لاستبداله",
|
||||
"paste {envVar}": "الصق {envVar}",
|
||||
"unsaved provider keys": "مفاتيح مزوّدين غير محفوظة",
|
||||
"Project keys: {status}": "مفاتيح المشروع: {status}",
|
||||
"Cloud voice will use OPENAI_API_KEY on the next session.": "سيستخدم الصوت السحابي OPENAI_API_KEY في الجلسة التالية.",
|
||||
"Checking local ChatGPT OAuth sign-in…": "جارٍ التحقق من تسجيل الدخول المحلي إلى ChatGPT عبر OAuth…",
|
||||
@@ -1532,7 +1510,6 @@
|
||||
"Low-accuracy score 2–10%": "مؤشر ضعف الدقة 2–10%",
|
||||
"Low-accuracy score > 10%": "مؤشر ضعف الدقة أكثر من 10%",
|
||||
"GNSS integrity source unavailable": "مصدر سلامة GNSS غير متاح",
|
||||
"Regional sample · 250 nm radius · cells from visited views over 30 min": "عيّنة إقليمية · نصف قطر 250 ميلًا بحريًا · خلايا من المناظر التي زرتها خلال 30 دقيقة",
|
||||
"Retrying automatically at {time} UTC": "إعادة المحاولة تلقائيًا عند {time} UTC",
|
||||
"Retrying automatically after provider cooldown": "إعادة المحاولة تلقائيًا بعد انتهاء مهلة المزوّد",
|
||||
"Updates automatically after pan or zoom and once a minute. The public feed covers a 250-nautical-mile circle around the view centre; zooming out does not make it a worldwide snapshot. Blank cells are outside sampled coverage or have insufficient observations.": "يُحدَّث تلقائيًا بعد التحريك أو التكبير/التصغير ومرة كل دقيقة. يغطي المصدر العام دائرة نصف قطرها 250 ميلًا بحريًا حول مركز العرض؛ والتصغير لا يجعله لقطة عالمية. الخلايا الفارغة خارج نطاق العيّنة أو أرصادها غير كافية.",
|
||||
@@ -2171,9 +2148,6 @@
|
||||
"Sensitivity": "الحساسية",
|
||||
"WHOT/BHOT": "WHOT/BHOT",
|
||||
"Ironbow": "Ironbow",
|
||||
"unsaved CCTV calibration": "معايرة CCTV غير محفوظة",
|
||||
"the open cockpit": "القمرة المفتوحة",
|
||||
"Switching language reloads the page. This will be lost: {items}. Switch anyway?": "تبديل اللغة يعيد تحميل الصفحة. سيُفقد ما يلي: {items}. هل تريد التبديل رغم ذلك؟",
|
||||
"Link shared": "تمت مشاركة الرابط",
|
||||
"Return map to straight-down view": "إعادة الخريطة إلى العرض العمودي",
|
||||
"Tilt map to oblique view": "إمالة الخريطة إلى عرض مائل",
|
||||
@@ -2220,7 +2194,6 @@
|
||||
"{aircraftClass} · {emergency} · {feedState}": "{aircraftClass} · {emergency} · {feedState}",
|
||||
"{source} · LOCATION QUERY · RECENT": "{source} · استعلام الموقع · حديث",
|
||||
"Rendered globe frames per second · toggle with `": "إطارات الكرة الأرضية المعروضة في الثانية · بدّل بالمفتاح `",
|
||||
"imported map files": "ملفات الخريطة المستوردة",
|
||||
"Ground heights could not be refreshed. Try the file again when the map has loaded.": "تعذّر تحديث ارتفاعات الأرض. أعد استيراد الملف بعد تحميل الخريطة.",
|
||||
"{count} map objects": {
|
||||
"zero": "{count} عنصر على الخريطة",
|
||||
@@ -2368,8 +2341,6 @@
|
||||
"Los Angeles": "لوس أنجلوس",
|
||||
"CH {index} / {total}": "القناة {index} من {total}",
|
||||
"Station unavailable after directory refresh": "المحطة غير متاحة بعد تحديث الدليل",
|
||||
"Go to expanded Radio section": "الانتقال إلى قسم الراديو الموسَّع",
|
||||
"Expand Radio section in Context": "توسيع قسم الراديو في «السياق»",
|
||||
"{category} ({count})": "{category} ({count})",
|
||||
"PAUSE": "إيقاف مؤقت",
|
||||
"RESUME": "استئناف",
|
||||
@@ -2952,7 +2923,6 @@
|
||||
"Activate to toggle voice": "فعّل لتشغيل الصوت أو إيقافه",
|
||||
"Voice active": "الصوت نشط",
|
||||
"Voice could not be started.": "تعذّر بدء الصوت.",
|
||||
"the active voice session": "الجلسة الصوتية النشطة",
|
||||
"{value} feet": "{value} قدم",
|
||||
"Fire · FRP {frp} MW": "حريق · FRP {frp} MW",
|
||||
"The flights layer is not enabled": "طبقة الرحلات غير مفعّلة",
|
||||
@@ -3212,5 +3182,41 @@
|
||||
"Reset map to north up": "إعادة توجيه الخريطة بحيث يكون الشمال للأعلى",
|
||||
"Reset map bearing to north": "إعادة اتجاه الخريطة إلى الشمال",
|
||||
"Malformed cyclone snapshot": "لقطة الأعاصير مشوّهة",
|
||||
"Cyclone request timed out": "انتهت مهلة طلب الأعاصير"
|
||||
"Cyclone request timed out": "انتهت مهلة طلب الأعاصير",
|
||||
"Regional sample · 250 nm radius · cells from visited views over {minutes} min": "عيّنة إقليمية · نصف قطر 250 ميلًا بحريًا · خلايا من المناظر التي زرتها خلال {minutes} د",
|
||||
"RADAR · {units}": "رادار · {units}",
|
||||
"Color: {units}": "اللون: {units}",
|
||||
"Left panels": "اللوحات اليمنى",
|
||||
"Right panels": "اللوحات اليسرى",
|
||||
"{count} more cameras outside this view · pan or zoom out": {
|
||||
"zero": "كاميرات خارج العرض الحالي: {count} · حرّك الخريطة أو صغّر العرض",
|
||||
"one": "كاميرات خارج العرض الحالي: {count} · حرّك الخريطة أو صغّر العرض",
|
||||
"two": "كاميرات خارج العرض الحالي: {count} · حرّك الخريطة أو صغّر العرض",
|
||||
"few": "كاميرات خارج العرض الحالي: {count} · حرّك الخريطة أو صغّر العرض",
|
||||
"many": "كاميرات خارج العرض الحالي: {count} · حرّك الخريطة أو صغّر العرض",
|
||||
"other": "كاميرات خارج العرض الحالي: {count} · حرّك الخريطة أو صغّر العرض"
|
||||
},
|
||||
"AUTHORING": "الإنشاء",
|
||||
"scene|PLAY": "تشغيل",
|
||||
"Create and edit scenes": "إنشاء المشاهد وتعديلها",
|
||||
"SCENE": "المشهد",
|
||||
"Scene": "المشهد",
|
||||
"Start a new, empty scene": "بدء مشهد جديد فارغ",
|
||||
"NEW SCENE": "مشهد جديد",
|
||||
"Delete this scene and all of its shots": "حذف هذا المشهد وكل لقطاته",
|
||||
"DELETE": "حذف",
|
||||
"SHOTS": "اللقطات",
|
||||
"Add the current view, style and layers as the next shot": "إضافة العرض الحالي والنمط والطبقات كلقطة تالية",
|
||||
"+ CAPTURE SHOT": "+ التقاط لقطة",
|
||||
"Replace the selected shot with the current view": "استبدال اللقطة المحددة بالعرض الحالي",
|
||||
"Click a shot to select it, double-click to rename.": "انقر لقطة لتحديدها، وانقر نقرًا مزدوجًا لإعادة تسميتها.",
|
||||
"Play from this scene through the rest of the project": "تشغيل من هذا المشهد حتى نهاية المشروع",
|
||||
"Stop playback (Esc)": "إيقاف التشغيل (Esc)",
|
||||
"Play the shot after the selected one, moving on to the next scene when needed": "تشغيل اللقطة التي تلي المحددة، مع الانتقال إلى المشهد التالي عند الحاجة",
|
||||
"SAVE & SHARE": "حفظ ومشاركة",
|
||||
"Download every scene as a JSON file you can import later": "تنزيل كل المشاهد في ملف JSON يمكن استيراده لاحقًا",
|
||||
"Load scenes from an exported JSON file": "تحميل المشاهد من ملف JSON مُصدَّر",
|
||||
"Download the timing log of the last play": "تنزيل سجل توقيت آخر تشغيل",
|
||||
"Edit anchors, data packs and shot details": "تعديل نقاط الارتكاز وحزم البيانات وتفاصيل اللقطة",
|
||||
"Download this scene as JSON or an asset bundle": "تنزيل هذا المشهد بصيغة JSON أو حزمة موارد"
|
||||
}
|
||||
Reference in new issue
Block a user