diff --git a/.github/CHANGELOG.md b/.github/CHANGELOG.md index 2b8dc338765..93a32d81cc3 100644 --- a/.github/CHANGELOG.md +++ b/.github/CHANGELOG.md @@ -1159,3 +1159,4 @@ 1. [DCDU] Fixed MSG- and MSG+ button labels - @tyler58546 (tyler58546) 1. [ISIS] Fixed issue where ISIS was allowing a bug to be set while in the OFF state - Patrick Macken (@Pat M on Discord) +1. [EFB] Added estimated boarding time to Payload screen - @ChristianLutzCL (Christian Lutz) diff --git a/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml b/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml index c4d27bc1df4..07bd4258c73 100644 --- a/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml +++ b/flybywire-aircraft-a320-neo/ModelBehaviorDefs/A32NX/Airbus.xml @@ -145,7 +145,8 @@ PUSH_ECAM_#BASE_NAME# PUSH_ECAM_#BASE_NAME#_SEQ2 PUSH_ECAM_#BASE_NAME#_SEQ1 - A320_Neo_EICAS_2_ECAM_CHANGE_PAGE_#BASE_NAME# + + A32NX_SD_PAGE_CHANGED A32NX_ECAM_SD_CURRENT_PAGE_INDEX mcdubuttons 0.1 @@ -160,9 +161,12 @@ #ANIM_NAME_BUTTON# - #GROUP_INDEX# -1 > if{ - (>H:#EVENT_NAME#) #GROUP_INDEX# + (L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX) #GROUP_INDEX# != if{ + #GROUP_INDEX# (>L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX) + } els{ + -1 (>L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX) } + (>H:A32NX_SD_PAGE_CHANGED) diff --git a/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT b/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT index d19ef1cb9e1..c348abcf22d 100644 --- a/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT +++ b/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/apron.FLT @@ -273,6 +273,7 @@ A32NX_GEAR_CENTER_POSITION = 100 A32NX_GEAR_LEFT_POSITION = 100 A32NX_GEAR_RIGHT_POSITION = 100 A32NX_GEAR_LEVER_POSITION_REQUEST = 1 +A32NX_ECAM_SD_CURRENT_PAGE_INDEX = -1 [Gauges.0] KollsmanSetting=29.921342849731445313 diff --git a/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/panel/panel.cfg b/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/panel/panel.cfg index 27e150ef271..cb3b57230b2 100644 --- a/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/panel/panel.cfg +++ b/flybywire-aircraft-a320-neo/SimObjects/AirPlanes/FlyByWire_A320_NEO/panel/panel.cfg @@ -35,11 +35,11 @@ texture = $EWD htmlgauge00 = A32NX/EWD/template.html?Index=1, 0,0,768,768 [VCockpit04] -size_mm = 1280,1280 #TODO FIXME - Should be 768,768 -pixel_size = 1280,1280 #TODO FIXME - Should be 768,768 +size_mm = 768,768 #TODO FIXME - Should be 768,768 +pixel_size = 768,768 #TODO FIXME - Should be 768,768 texture = $EICAS2 -htmlgauge00 = Airliners/FlyByWire_A320_Neo/EICAS/A320_Neo_EICAS.html?Index=2, 0,0,1280,1280 #TODO FIXME - Should be 768,768 +htmlgauge00 = A32NX/SD/template.html, 0,0,768,768 [VCockpit05] size_mm = 512,512 diff --git a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/A32NX_BaseAirliners.js b/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/A32NX_BaseAirliners.js index 0c772e3826e..ec60ccdce40 100644 --- a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/A32NX_BaseAirliners.js +++ b/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/A32NX_BaseAirliners.js @@ -69,7 +69,7 @@ var Airliners; this.SwitchToPageName(BaseEICAS.LOWER_SCREEN_GROUP_NAME, pageName); for (let i = 0; i < this.lowerScreenPages.length; i++) { if (this.lowerScreenPages[i].name == pageName) { - SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", i); + // SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", i); break; } } diff --git a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/A320_Neo_EICAS.js b/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/A320_Neo_EICAS.js index f8ce30a1a76..7555c287747 100644 --- a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/A320_Neo_EICAS.js +++ b/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/A320_Neo_EICAS.js @@ -51,7 +51,7 @@ class A320_Neo_EICAS extends Airliners.BaseEICAS { } } this.SwitchToPageName(this.LOWER_SCREEN_GROUP_NAME, pageName); - SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", this.currentPage); + //SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", this.currentPage); } createLowerScreenPages() { @@ -234,7 +234,7 @@ class A320_Neo_EICAS extends Airliners.BaseEICAS { // Disable user selected page when new failure detected if (this.PrevFailPage !== sFailPage) { this.currentPage = -1; - SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", -1); + //SimVar.SetSimVarValue("L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX", "number", -1); } } diff --git a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/EICAS_Common.js b/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/EICAS_Common.js index 58456e873ab..2166484c134 100644 --- a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/EICAS_Common.js +++ b/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/EICAS_Common.js @@ -47,9 +47,9 @@ class EICASCommonDisplay extends Airliners.EICASTemplateElement { const airDataReferenceSource = this.getStatusAirDataReferenceSource(); const inertialReferenceSource = this.getStatusInertialReferenceSource(); const sat = Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_STATIC_AIR_TEMPERATURE`); - this.refreshTAT(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_TOTAL_AIR_TEMPERATURE`)); + /* this.refreshTAT(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_TOTAL_AIR_TEMPERATURE`)); this.refreshSAT(sat); - this.refreshISA(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA`), sat); + this.refreshISA(Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA`), sat); */ this.refreshClock(); this.refreshLoadFactor(_deltaTime, Arinc429Word.fromSimVarValue(`L:A32NX_ADIRS_IR_${inertialReferenceSource}_BODY_NORMAL_ACC`)); diff --git a/src/behavior/src/A32NX_Interior_Misc.xml b/src/behavior/src/A32NX_Interior_Misc.xml index 7dc7fa2bdc6..b237de343b1 100644 --- a/src/behavior/src/A32NX_Interior_Misc.xml +++ b/src/behavior/src/A32NX_Interior_Misc.xml @@ -466,12 +466,12 @@ #ANIM_NAME_BUTTON# - + diff --git a/src/instruments/buildSrc/igniter/tasks.mjs b/src/instruments/buildSrc/igniter/tasks.mjs index 301cc87a856..2a688045160 100644 --- a/src/instruments/buildSrc/igniter/tasks.mjs +++ b/src/instruments/buildSrc/igniter/tasks.mjs @@ -3,85 +3,20 @@ import { join } from 'path'; import { ExecTask } from '@flybywiresim/igniter'; import { Directories } from '../directories.mjs'; -const ecamPages = [ - { - name: 'eng-page', - path: 'SD/Pages/Eng', - }, - { - name: 'door-page', - path: 'SD/Pages/Door', - }, - { - name: 'cond-page', - path: 'SD/Pages/Cond', - }, - { - name: 'fctl-page', - path: 'SD/Pages/Fctl', - }, - { - name: 'elec-page', - path: 'SD/Pages/Elec', - }, - { - name: 'hyd-page', - path: 'SD/Pages/Hyd', - }, - { - name: 'wheel-page', - path: 'SD/Pages/Wheel', - }, - { - name: 'crz-page', - path: 'SD/Pages/Crz', - }, - { - name: 'fuel-page', - path: 'SD/Pages/Fuel', - }, - { - name: 'apu-page', - path: 'SD/Pages/Apu', - }, - { - name: 'press-page', - path: 'SD/Pages/Press', - }, - { - name: 'bleed-page', - path: 'SD/Pages/Bleed', - }, - { - name: 'status-page', - path: 'SD/Pages/Status', - }, -]; - export function getInputs() { const baseInstruments = fs.readdirSync(join(Directories.instruments, 'src'), { withFileTypes: true }) .filter((d) => d.isDirectory() && fs.existsSync(join(Directories.instruments, 'src', d.name, 'config.json'))); - return [ - ...baseInstruments.map(({ name }) => ({ path: name, name, isInstrument: true })), - ...ecamPages.map((def) => ({ ...def, isInstrument: false })), - ]; + return baseInstruments.map(({ name }) => ({ path: name, name })); } export function getInstrumentsIgniterTasks() { const baseInstruments = fs.readdirSync(join(Directories.instruments, 'src'), { withFileTypes: true }) .filter((d) => d.isDirectory() && fs.existsSync(join(Directories.instruments, 'src', d.name, 'config.json'))); - return [ - ...baseInstruments.map(({ name }) => new ExecTask( - name, - `node src/instruments/buildSrc/igniter/worker.mjs ${name}`, - [join('src/instruments/src', name), join('flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX', name)], - )), - ...ecamPages.map(({ name, path }) => new ExecTask( - name, - `node src/instruments/buildSrc/igniter/worker.mjs ${name}`, - [join('src/instruments/src', path), join('flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX/EcamPages', name)], - )), - ]; + return baseInstruments.map(({ name }) => new ExecTask( + name, + `node src/instruments/buildSrc/igniter/worker.mjs ${name}`, + [join('src/instruments/src', name), join('flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX', name)], + )); } diff --git a/src/instruments/buildSrc/simulatorBuild.mjs b/src/instruments/buildSrc/simulatorBuild.mjs index 0c88292bdb1..da1b6f82fdb 100644 --- a/src/instruments/buildSrc/simulatorBuild.mjs +++ b/src/instruments/buildSrc/simulatorBuild.mjs @@ -8,7 +8,7 @@ import { getInputs } from './igniter/tasks.mjs'; process.chdir(Directories.src); export default getInputs() - .map(({ path, name, isInstrument }) => { + .map(({ path, name }) => { const config = JSON.parse(fs.readFileSync(join(Directories.instruments, 'src', path, 'config.json'))); const additionalImports = config.additionalImports ? config.additionalImports : []; @@ -36,7 +36,6 @@ export default getInputs() ...additionalImports, ], config, - isInstrument, }), ], }; diff --git a/src/instruments/buildSrc/templatePlugins.mjs b/src/instruments/buildSrc/templatePlugins.mjs index 0ad21914b1e..c8b7a8c5208 100644 --- a/src/instruments/buildSrc/templatePlugins.mjs +++ b/src/instruments/buildSrc/templatePlugins.mjs @@ -1,20 +1,13 @@ import { join } from 'path'; import instrumentTemplate from '@flybywiresim/rollup-plugin-msfs'; -import ecamPageTemplate from '../ecam-page-template/rollup.js'; import { Directories } from './directories.mjs'; -export function getTemplatePlugin({ name, config, imports = [], isInstrument }) { - if (isInstrument) { - return instrumentTemplate({ - name, - elementName: `a32nx-${name.toLowerCase()}`, - config, - imports, - outputDir: join(Directories.root, 'flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX'), - }); - } - return ecamPageTemplate({ +export function getTemplatePlugin({ name, config, imports = [] }) { + return instrumentTemplate({ name, - outputDir: join(Directories.root, 'flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX/EcamPages'), + elementName: `a32nx-${name.toLowerCase()}`, + config, + imports, + outputDir: join(Directories.root, 'flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/A32NX'), }); } diff --git a/src/instruments/ecam-page-template/rollup.js b/src/instruments/ecam-page-template/rollup.js deleted file mode 100644 index b0b601cf990..00000000000 --- a/src/instruments/ecam-page-template/rollup.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict'; - -const path = require('path'); -const fs = require('fs'); - -// The bundle code contains `$`, which is a special character -// in JS replace and replaceAll, so we can't use those. -function replaceButSad(s, search, replace) { - return s.split(search).join(replace); -} - -const TEMPLATE_HTML = fs.readFileSync(path.join(__dirname, 'template.html'), 'utf8'); -const TEMPLATE_JS = fs.readFileSync(path.join(__dirname, 'template.js'), 'utf8'); - -module.exports = ({ name, outputDir }) => ({ - name: 'template', - writeBundle(_config, bundle) { - const { code: jsCode } = bundle['bundle.js']; - const { source: cssCode } = bundle['bundle.css']; - - const snakeCaseName = name.replace('-', '_'); - - const process = (s) => { - let tmp = s; - tmp = replaceButSad(tmp, 'PAGE_NAME_LOWER_SKEWER', name); - tmp = replaceButSad(tmp, 'PAGE_NAME_SKEWER', name); - tmp = replaceButSad(tmp, 'PAGE_NAME_LOWER', snakeCaseName.toLowerCase()); - tmp = replaceButSad(tmp, 'PAGE_NAME', snakeCaseName); - tmp = replaceButSad(tmp, 'PAGE_BUNDLE', jsCode); - tmp = replaceButSad(tmp, 'PAGE_STYLE', cssCode); - return tmp; - }; - - const templateHtml = process(TEMPLATE_HTML); - const templateJs = process(TEMPLATE_JS); - - fs.mkdirSync(path.join(outputDir, name), { recursive: true }); - fs.writeFileSync(path.join(outputDir, name, 'template.html'), templateHtml); - fs.writeFileSync(path.join(outputDir, name, 'template.js'), templateJs); - }, -}); diff --git a/src/instruments/ecam-page-template/template.html b/src/instruments/ecam-page-template/template.html deleted file mode 100644 index 3b70fbd3877..00000000000 --- a/src/instruments/ecam-page-template/template.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - diff --git a/src/instruments/ecam-page-template/template.js b/src/instruments/ecam-page-template/template.js deleted file mode 100644 index 46b381f5c38..00000000000 --- a/src/instruments/ecam-page-template/template.js +++ /dev/null @@ -1,48 +0,0 @@ -'use strict'; - -/* global Airliners */ - -class A32NX_PAGE_NAME_Logic extends Airliners.EICASTemplateElement { - constructor() { - super(); - let lastTime = this._lastTime; - this.getDeltaTime = () => { - const nowTime = Date.now(); - const deltaTime = nowTime - lastTime; - lastTime = nowTime; - - return deltaTime; - }; - } - - get templateID() { - return 'A32NX_PAGE_NAME_TEMPLATE'; - } - - connectedCallback() { - super.connectedCallback(); - - // This is big hack, see `template.html`. - { - const code = document.getElementById('A32NX_PAGE_NAME_BUNDLED_STYLE').innerHTML; - const style = document.createElement('style'); - style.innerHTML = code; - document.head.appendChild(style); - } - { - const code = document.getElementById('A32NX_PAGE_NAME_BUNDLED_LOGIC').innerHTML; - const script = document.createElement('script'); - script.innerHTML = code; - document.body.appendChild(script); - } - } - - onEvent(_event) { - } - - update(_deltaTime) { - this.dispatchEvent(new CustomEvent('update', { detail: this.getDeltaTime() })); - } -} - -customElements.define('a32nx-PAGE_NAME_LOWER_SKEWER-element', A32NX_PAGE_NAME_Logic); diff --git a/src/instruments/src/Common/NXUnits.ts b/src/instruments/src/Common/NXUnits.ts new file mode 100644 index 00000000000..325bfd52a6e --- /dev/null +++ b/src/instruments/src/Common/NXUnits.ts @@ -0,0 +1,51 @@ +/** + * Unit conversion utilities + */ + +import { NXDataStore } from '@shared/persistence'; + +export class NXUnits { + private static metricWeightVal: boolean; + + static get metricWeight() { + if (NXUnits.metricWeightVal === undefined) { + NXDataStore.getAndSubscribe('CONFIG_USING_METRIC_UNIT', (key, value) => { + NXUnits.metricWeightVal = value === '1'; + }, '1'); + } + return NXUnits.metricWeightVal; + } + + static userToKg(value) { + return NXUnits.metricWeight ? value : value / 2.204625; + } + + static kgToUser(value) { + return NXUnits.metricWeight ? value : value * 2.204625; + } + + static poundsToUser(value) { + return NXUnits.metricWeight ? value / 2.204625 : value; + } + + static userWeightUnit() { + return NXUnits.metricWeight ? 'KG' : 'LBS'; // EIS uses S suffix on LB + } + + /** + * Converts meter into ft if imperial units are selected + * @param value {number} in unit Meters + * @returns {number} in metric or ft + */ + static mToUser(value) { + return NXUnits.metricWeight ? value : value * 3.28084; + } + + /** + * Returns 'M' for meters and 'FT' for feet depending on the unit system selected + * @returns {string} 'M' (meter) OR 'FT' (feet) + */ + static userDistanceUnit() { + return NXUnits.metricWeight ? 'M' : 'FT'; + } +} diff --git a/src/instruments/src/Common/defaults.ts b/src/instruments/src/Common/defaults.ts index 4d9f3629023..be65440c26c 100644 --- a/src/instruments/src/Common/defaults.ts +++ b/src/instruments/src/Common/defaults.ts @@ -1,16 +1,16 @@ // We currently assume that these two elements will be found. // Might be worth implementing checking in the future. -let reactMount = document.getElementById('MSFS_REACT_MOUNT') as HTMLElement; +const reactMount = document.getElementById('MSFS_REACT_MOUNT') as HTMLElement; -const getEcamPageRenderTarget = (pageName: string): HTMLElement => (document.getElementById(`A32NX_${pageName}_PAGE_REACT_MOUNT`) as HTMLElement); +// const getEcamPageRenderTarget = (pageName: string): HTMLElement => (document.getElementById(`A32NX_${pageName}_PAGE_REACT_MOUNT`) as HTMLElement); /** * Configures the framework to render inside the ECAM. Temporary solution for moving individual SD pages to React. */ -export const setIsEcamPage = (pageName: string) => { +/* export const setIsEcamPage = (pageName: string) => { reactMount = getEcamPageRenderTarget(pageName); -}; +}; */ /** * Returns the render target which React mounts onto diff --git a/src/instruments/src/EFB/Localization/ar.json b/src/instruments/src/EFB/Localization/ar.json index b569aafe2b6..de76c08669e 100644 --- a/src/instruments/src/EFB/Localization/ar.json +++ b/src/instruments/src/EFB/Localization/ar.json @@ -448,6 +448,28 @@ "TugSpeed": "سرعة الدفع ", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "حول" @@ -610,12 +632,21 @@ "Sep": "سبتمبر", "Sun": "الأحد", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "متصل بواجهة برمجة التطبيقات المحلية", "DisconnectedFromLocalApi": "قطع الاتصال من API المحلية", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "إطفاء او اغلاق الEFB" }, "Thu": "الخميس", "Tue": "الثلاثاء", "Wed": "الأربعاء" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/cs.json b/src/instruments/src/EFB/Localization/cs.json index 957e089e5c8..86556ad664b 100644 --- a/src/instruments/src/EFB/Localization/cs.json +++ b/src/instruments/src/EFB/Localization/cs.json @@ -448,6 +448,28 @@ "TugSpeed": "Rychlost vytlačení", "UseControllerInput": "Používat vstup z ovladače" }, + "QuickControls": { + "AlignAdirs": "Zarovnat ADIRS", + "FinishBoarding": "Dokončit nástup", + "OnScreenKeyboard": "Klávesnice na obrazovce", + "SimBridge": "SimBridge", + "SimBridgeConnected": "připojen", + "SimBridgeConnecting": "Připojování…", + "SimBridgeOff": "vypnutý", + "SimBridgeOffline": "nedostupný", + "TT": { + "AlignAdirs": "Okamžité zarovnání ADIRS", + "AutoBrightness": "Zapnutí/vypnutí automatického jasu", + "Brightness": "Nastavení jasu flyPad", + "FinishBoarding": "Okamžité dokončení nástupu (boardingu)", + "OnScreenKeyboard": "Zapnutí/vypnutí klávesnice na obrazovce", + "PowerButton": "Vypnout", + "Settings": "Přejít na stránku Nastavení flyPad", + "SimBridge": "Ovládání připojení SimBridge", + "Sleep": "Uspat" + }, + "Title": "Rychlé ovládání" + }, "Settings": { "About": { "Title": "O zařízení" @@ -610,12 +632,21 @@ "Sep": "Zář", "Sun": "Ne", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Připojeno k SimBridge", "DisconnectedFromLocalApi": "Odpojeno od SimBridge", + "QuickControls": "Kliknutím otevřete rychlé ovládání", "TurnOffOrShutdownEfb": "Uspat nebo vypnout EFB" }, "Thu": "Čt", "Tue": "Út", "Wed": "St" + }, + "VersionCheck": { + "CurrentVersionText": "Používáte $edition edici s verzí:", + "LatestVersionText": "Poslední $edition verze je:", + "RecommendationText": "Aktualizujte prosím své letadlo pomocí instalátoru FlyByWire.", + "StatusBarWarning": "Zastaralá verze letadla", + "Title": "Je dostupná nová verze" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/da-DK.json b/src/instruments/src/EFB/Localization/da-DK.json index 4ffc5174c35..871aacdb515 100644 --- a/src/instruments/src/EFB/Localization/da-DK.json +++ b/src/instruments/src/EFB/Localization/da-DK.json @@ -448,6 +448,28 @@ "TugSpeed": "Skubber hastighed", "UseControllerInput": "Brug controller input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Fra", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Om" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Søn", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Tilsluttet til SimBridge", "DisconnectedFromLocalApi": "Afbrudt fra SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Slå EFB fra eller luk ned" }, "Thu": "Tor", "Tue": "Tir", "Wed": "Ons" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/de.json b/src/instruments/src/EFB/Localization/de.json index aa8a693b287..f3c17bb1469 100644 --- a/src/instruments/src/EFB/Localization/de.json +++ b/src/instruments/src/EFB/Localization/de.json @@ -448,6 +448,28 @@ "TugSpeed": "Schleppgeschwindigkeit", "UseControllerInput": "Controller-Eingabe verwenden" }, + "QuickControls": { + "AlignAdirs": "ADIRS ausrichten", + "FinishBoarding": "Einsteigen abschließen", + "OnScreenKeyboard": "Bildschirmtastatur", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Verbunden", + "SimBridgeConnecting": "Verbinden...", + "SimBridgeOff": "Aus", + "SimBridgeOffline": "Nicht verfügbar", + "TT": { + "AlignAdirs": "ADIRS sofort ausrichten", + "AutoBrightness": "Automatische Helligkeit ein-/ausschalten", + "Brightness": "Stellen Sie die flyPad-Helligkeit ein", + "FinishBoarding": "Boarding sofort abschließen", + "OnScreenKeyboard": "Bildschirmtastatur ein-/ausschalten", + "PowerButton": "Ausschalten", + "Settings": "Gehe zu flyPad-Einstellungen", + "SimBridge": "SimBridge-Verbindung steuern", + "Sleep": "Bereitschaft" + }, + "Title": "Schnelleinstellungen" + }, "Settings": { "About": { "Title": "Über" @@ -523,7 +545,7 @@ "Both": "Synchronisiert", "Calibrate": "Kalibrieren", "Captain": "Kapitän", - "CockpitSeatUsedToControl": "Cockpit Seat Used To Control", + "CockpitSeatUsedToControl": "Zur Steuerung verwendete Cockpitseite", "ConesEnabled": "Sicherheitskegel", "Copilot": "Copilot", "DefaultBarometerUnit": "Standard Barometer-Einheit", @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "So", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Mit SimBridge verbunden", "DisconnectedFromLocalApi": "Keine Verbindung zur SimBridge", + "QuickControls": "Klick für Schnelleinstellungen", "TurnOffOrShutdownEfb": "EFB ausschalten oder herunterfahren" }, "Thu": "Do", "Tue": "Di", "Wed": "Mi" + }, + "VersionCheck": { + "CurrentVersionText": "Momentan wird die $edition Edition in dieser Version genutzt:", + "LatestVersionText": "Die aktuell verfügbare $edition Version ist:", + "RecommendationText": "Bitte mit Hilfe des FlyByWire-Installer die neueste Version installieren.", + "StatusBarWarning": "Neue A32NX Version verfügbar", + "Title": "Neue Version verfügbar" } } diff --git a/src/instruments/src/EFB/Localization/el.json b/src/instruments/src/EFB/Localization/el.json index 270497c521f..910e514b56d 100644 --- a/src/instruments/src/EFB/Localization/el.json +++ b/src/instruments/src/EFB/Localization/el.json @@ -448,6 +448,28 @@ "TugSpeed": "Ταχύτητα Ρυμουλκού", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Σχετικά" @@ -610,12 +632,21 @@ "Sep": "Σεπ", "Sun": "Κυρ", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Συνδεδεμένο με Τοπικό API", "DisconnectedFromLocalApi": "Αποσύνδεση από το Τοπικό API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Απενεργοποίηση ή Τερματισμός EFB" }, "Thu": "Πεμ", "Tue": "Τρι", "Wed": "Τετ" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/en.json b/src/instruments/src/EFB/Localization/en.json index ce2cfb58d04..729e7152c01 100644 --- a/src/instruments/src/EFB/Localization/en.json +++ b/src/instruments/src/EFB/Localization/en.json @@ -448,6 +448,28 @@ "TugSpeed": "Tug Speed", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "About" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Sun", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connected to SimBridge", "DisconnectedFromLocalApi": "Disconnected from SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Turn off or Shutdown EFB" }, "Thu": "Thu", "Tue": "Tue", "Wed": "Wed" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/es.json b/src/instruments/src/EFB/Localization/es.json index 1c7437cc964..cd343e6a262 100644 --- a/src/instruments/src/EFB/Localization/es.json +++ b/src/instruments/src/EFB/Localization/es.json @@ -4,18 +4,18 @@ "ChangeATISATCSourceButton": "Cambiar la fuente ATIS/ATC", "ConnectHoppieACARS": "Conectar Hoppie ACARS", "NoInformationAvailableForThisFrequency": "No hay información disponible para esta frecuencia", - "SearchPlaceholder": "Search", + "SearchPlaceholder": "Buscar", "SelectCorrectATISATCSource": "Esta página solo está disponible cuando se selecciona IVAO o VATSIM como fuente de ATIS/ATC en la página de configuración.", "SetActive": "Establecer como activo", "SetStandby": "Establecer modo de espera", - "ShowAll": "All", - "ShowApproach": "Approach", + "ShowAll": "Todo", + "ShowApproach": "Aterrizaje", "ShowAtis": "ATIS", - "ShowDelivery": "Delivery", - "ShowDeparture": "Departure", - "ShowGround": "Ground", + "ShowDelivery": "Entrega", + "ShowDeparture": "Salida", + "ShowGround": "Tierra", "ShowRadar": "Radar", - "ShowTower": "Tower", + "ShowTower": "Torre", "Standby": "En espera", "TT": { "AtcCallSignSearch": "ATC Call-sign Search", @@ -148,7 +148,7 @@ "Unavailable": "No disponible" }, "Payload": { - "BoardingTime": "Boarding Time", + "BoardingTime": "Tiempo de embarque", "Cargo": "Cargo", "Current": "Current", "DeboardConfirmationBody": "Please confirm deboarding all passengers", @@ -163,7 +163,7 @@ "AircraftMustBeColdAndDarkToChangeBoardingTimes": "Aircraft Must Be On the Ground and Have Engines Shutdown to Change Boarding Duration", "FillPayloadFromSimbrief": "Fill Payload Information from Simbrief", "MaxCargo": "Max Cargo", - "MaxPassengers": "Maximum Passengers", + "MaxPassengers": "Máximo de pasajeros", "MaxZFW": "Maximum ZFW", "MaxZFWCG": "Maximum ZFWCG", "PerPaxBagWeight": "Per Passenger Bag Weight", @@ -203,10 +203,10 @@ "Altn": "Altn", "ExitFullscreenMode": "Salir de modo pantalla completa", "From": "De", - "LoadingImage": "Loading Image", - "LoadingImageFailed": "Loading Image failed", - "LoadingPdf": "Loading PDF", - "LoadingPdfFailed": "Loading PDF failed", + "LoadingImage": "Cargando imagen", + "LoadingImageFailed": "Error al cargar la imagen", + "LoadingPdf": "Cargar PDF", + "LoadingPdfFailed": "Error al cargar el PDF", "LocalFiles": { "Both": "Ambos", "EstablishingConnection": "Estableciendo conexión", @@ -379,12 +379,12 @@ "InteriorLighting": { "AircraftNeedsToBePoweredToLoadPresets": "El avión debe tener alimentación para cargar los preajustes", "AircraftNeedsToBePoweredToSavePresets": "El avión debe tener alimentación para guardar los preajustes", - "AutoLoadDawnDusk": "Dawn/Dusk:", - "AutoLoadDay": "Day:", - "AutoLoadLightingHelpTitle": "Automatic Preset Loading", - "AutoLoadLightingPreset": "Enable automatic loading of lighting presets:", - "AutoLoadNight": "Night:", - "AutoLoadNoneSelection": "None", + "AutoLoadDawnDusk": "Amanecer / Anochecer ", + "AutoLoadDay": "Día:", + "AutoLoadLightingHelpTitle": "Carga automática de preajustes", + "AutoLoadLightingPreset": "Activar la carga automática de los ajustes preestablecidos de iluminación:", + "AutoLoadNight": "Noche:", + "AutoLoadNoneSelection": "Ninguno", "LoadPreset": "Cargar preajuste", "LoadingPreset": "Cargando preajuste", "NewNameConfirmationDialogMsg": "Por favor, confirme el nuevo nombre del ajuste preestablecido de iluminación", @@ -438,7 +438,7 @@ "SliderSpeed": "Mover a la velocidad deseada", "SystemEnabledOff": "Haz click para encender el sistema de remolque.", "SystemEnabledOn": "Haz click para apagar completamente el sistema de remolque ", - "UseControllerInput": "Turn controller input from rudder and elevator on/off", + "UseControllerInput": "Activar/desactivar la entrada del controlador desde el timón y el ascensor", "ZoomIn": "Acercar", "ZoomOut": "Alejar" }, @@ -446,7 +446,29 @@ "TugDirection": "Dirección del remolcador", "TugInTransit": "Esperando al Remolcador/Pin", "TugSpeed": "Velocidad del remolcador", - "UseControllerInput": "Use Controller Input" + "UseControllerInput": "Usar entrada del controlador" + }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" }, "Settings": { "About": { @@ -506,15 +528,15 @@ "AutofillChecklists": "Autocompletar listas de verificación", "BoardingTime": "Tiempo de embarque", "DmcSelfTestTime": "Tiempo de autocomprobación DMC", - "FirstOfficerAvatar": "Show First Officer Avatar", + "FirstOfficerAvatar": "Mostar avatar del primer oficial", "HomeCockpitMode": "Modo Home Cockpit", "McduFocusTimeout": "Tiempo de espera del MCDU (segundos)", "McduKeyboardInput": "Entrada de teclado MCDU", "PauseAtTod": "Pausa T/D", "PauseAtTodDistance": "Distancia de Pausa T/D (nm)", - "PilotAvatar": "Show Pilot Avatar", + "PilotAvatar": "Mostrar avatar del piloto", "SeparateTillerFromRudderInputs": "Separar Tiller de la entrada del Timón", - "SyncEfis": "Sync EFIS controls between Captain and FO", + "SyncEfis": "Sincronizar los controles de EFIS entre Captan y FO", "Title": "Realismo" }, "SimOptions": { @@ -528,7 +550,7 @@ "Copilot": "Copilot", "DefaultBarometerUnit": "Unidad del barómetro predeterminado", "DynamicRegistrationDecal": "Calcomanía de registro dinámica", - "EnableSimBridge": "Activar la conexión con el servidor MCDU (se desactivará automáticamente tras 5 minutos si no ha habido una conexión exitosa)", + "EnableSimBridge": "Activar la conexión con SimBridge (se desactivará automáticamente tras 5 minutos si no ha habido una conexión exitosa)", "EnabledMcduServerConnectionAutoDeactivatesAfter5MinutesIfNoSuccessfulConnection": "Activar la conexión con el servidor MCDU (se desactivará automáticamente tras 5 minutos si no ha habido una conexión exitosa)", "ExternalMcduServerPort": "Puerto del servidor MCDU externo", "Hpa": "hPa", @@ -538,7 +560,7 @@ "Off": "Desactivado", "Save": "Guardar", "Side": "Side", - "SimBridgePort": "Puerto del servidor MCDU externo", + "SimBridgePort": "Puerto de SimBridge externo", "SyncMsfsFlightPlan": "Sincronizar plan de vuelo de MSFS", "ThrottleDetents": "Throttle Detents", "Title": "Opciones de simulación", @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Dom", "TT": { - "ConnectedToLocalApi": "Conectado a la API local", - "DisconnectedFromLocalApi": "Desconectado de la API local", + "Brightness": "Click to change Brightness", + "ConnectedToLocalApi": "Conectado a SimBridge", + "DisconnectedFromLocalApi": "Desconectado de SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Apagar EFB" }, "Thu": "Jue", "Tue": "Mar", "Wed": "Mié" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/eu.json b/src/instruments/src/EFB/Localization/eu.json index 2884ed0b76f..a5e2e9f31bc 100644 --- a/src/instruments/src/EFB/Localization/eu.json +++ b/src/instruments/src/EFB/Localization/eu.json @@ -448,6 +448,28 @@ "TugSpeed": "Tug Speed", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "About" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Sun", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connected to Local API", "DisconnectedFromLocalApi": "Disconnected from Local API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Turn off or Shutdown EFB" }, "Thu": "Thu", "Tue": "Tue", "Wed": "Wed" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/fi.json b/src/instruments/src/EFB/Localization/fi.json index 4709068555c..3385889f87a 100644 --- a/src/instruments/src/EFB/Localization/fi.json +++ b/src/instruments/src/EFB/Localization/fi.json @@ -448,6 +448,28 @@ "TugSpeed": "Työntöauton nopeus", "UseControllerInput": "Käyttäjän ohjaimen syöte" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Tietoja" @@ -610,12 +632,21 @@ "Sep": "Syys", "Sun": "su", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Yhdistetty SimBridgeen", "DisconnectedFromLocalApi": "Yhteys katkaistu SimBridgeen", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Sammuta tai sulje EFB" }, "Thu": "to", "Tue": "ti", "Wed": "ke" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/fr.json b/src/instruments/src/EFB/Localization/fr.json index 1773a5d6854..f1799fcc2dc 100644 --- a/src/instruments/src/EFB/Localization/fr.json +++ b/src/instruments/src/EFB/Localization/fr.json @@ -448,6 +448,28 @@ "TugSpeed": "Vitesse du remorqueur", "UseControllerInput": "Utiliser l'entrée du contrôleur" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "À propos" @@ -610,12 +632,21 @@ "Sep": "Sept", "Sun": "Dim", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connecté à SimBridge", "DisconnectedFromLocalApi": "Déconnecté de SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Éteindre ou arrêter l'EFB" }, "Thu": "Jeu", "Tue": "Mar", "Wed": "Mer" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/he.json b/src/instruments/src/EFB/Localization/he.json index e8c48383039..4bf43492d54 100644 --- a/src/instruments/src/EFB/Localization/he.json +++ b/src/instruments/src/EFB/Localization/he.json @@ -448,6 +448,28 @@ "TugSpeed": "מהירות הגרירה", "UseControllerInput": "השתמש בקלט בקר" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "אודות" @@ -610,12 +632,21 @@ "Sep": "ספטמבר", "Sun": "ראשון", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "מחובר ל-SimBridge", "DisconnectedFromLocalApi": "מנותק מ-SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "כיבוי EFB" }, "Thu": "חמישי", "Tue": "שלישי", "Wed": "רביעי" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/hi.json b/src/instruments/src/EFB/Localization/hi.json index e225bdf8c83..3c367186c1d 100644 --- a/src/instruments/src/EFB/Localization/hi.json +++ b/src/instruments/src/EFB/Localization/hi.json @@ -448,6 +448,28 @@ "TugSpeed": "टग की स्पीड", "UseControllerInput": "कंट्रोलर इनपुट का इस्तेमाल करें" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "बारे में" @@ -610,12 +632,21 @@ "Sep": "सितम्बर", "Sun": "रविवार", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "SimBridge से जुड़ा", "DisconnectedFromLocalApi": "सिमब्रिज से डिस्कनेक्ट किया गया", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "EFB बंद करें" }, "Thu": "गुरुवार", "Tue": "मंगलवार", "Wed": "बुधवार" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/hr.json b/src/instruments/src/EFB/Localization/hr.json index b45e52097a7..7daea7b031c 100644 --- a/src/instruments/src/EFB/Localization/hr.json +++ b/src/instruments/src/EFB/Localization/hr.json @@ -448,6 +448,28 @@ "TugSpeed": "Tug Speed", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "About" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Sun", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connected to Local API", "DisconnectedFromLocalApi": "Disconnected from Local API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Turn off or Shutdown EFB" }, "Thu": "Thu", "Tue": "Tue", "Wed": "Wed" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/hu.json b/src/instruments/src/EFB/Localization/hu.json index 898a9244426..40d713f9544 100644 --- a/src/instruments/src/EFB/Localization/hu.json +++ b/src/instruments/src/EFB/Localization/hu.json @@ -448,6 +448,28 @@ "TugSpeed": "Vontatás sebessége", "UseControllerInput": "Használja a vezérlő bemenetét" }, + "QuickControls": { + "AlignAdirs": "ADIRS beállítása", + "FinishBoarding": "Beszállítás befejezése", + "OnScreenKeyboard": "Képernyőn megjelenő billentyűzet", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Csatlakozva", + "SimBridgeConnecting": "Csatlakozás…", + "SimBridgeOff": "Ki", + "SimBridgeOffline": "Nem elérhető", + "TT": { + "AlignAdirs": "ADIRS azonnali kapcsolódás", + "AutoBrightness": "Automatikus fényerő be/ki ", + "Brightness": "flyPad fényerejének beállítása", + "FinishBoarding": "Beszállítás azonnali befejezése", + "OnScreenKeyboard": "Kijelző billentyűzet be/ki", + "PowerButton": "Kikapcsolás", + "Settings": "flyPad beállítások oldal megnyitása", + "SimBridge": "SimBridge kapcsolat kezelése", + "Sleep": "Készenlét" + }, + "Title": "Gyors beállítások" + }, "Settings": { "About": { "Title": "Névjegy" @@ -610,12 +632,21 @@ "Sep": "Szept.", "Sun": "Va", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Csatlakozva a SimBridge-hez", "DisconnectedFromLocalApi": "Lecsatlakozva a SimBridge-ről", + "QuickControls": "Kattints a gyors beállítások megnyitásához", "TurnOffOrShutdownEfb": "EFB leállítása vagy kikapcsolása" }, "Thu": "Csüt", "Tue": "Ke", "Wed": "Sze" + }, + "VersionCheck": { + "CurrentVersionText": "Jelenleg a $edition kiadást használod a következő verzióval:", + "LatestVersionText": "Legutolsó $edition kiadás:", + "RecommendationText": "Frissítse a repülőgépet a FlyByWire telepítő segítségével", + "StatusBarWarning": "Elavult repülőgép verzió", + "Title": "Új verzió elérhető" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/id.json b/src/instruments/src/EFB/Localization/id.json index 2d104395004..c46fb0dadbb 100644 --- a/src/instruments/src/EFB/Localization/id.json +++ b/src/instruments/src/EFB/Localization/id.json @@ -448,6 +448,28 @@ "TugSpeed": "Kecepatan Tug", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Tentang" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Ming", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Terhubung ke API Lokal", "DisconnectedFromLocalApi": "Terputus dari API Lokal", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Matikan EFB" }, "Thu": "Kam", "Tue": "Sel", "Wed": "Rab" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/it.json b/src/instruments/src/EFB/Localization/it.json index 9fd9d7e97db..d547ecd5152 100644 --- a/src/instruments/src/EFB/Localization/it.json +++ b/src/instruments/src/EFB/Localization/it.json @@ -448,6 +448,28 @@ "TugSpeed": "Velocità Tug", "UseControllerInput": "Usa Input Controller" }, + "QuickControls": { + "AlignAdirs": "Allinea ADIRS", + "FinishBoarding": "Termina Imbarco", + "OnScreenKeyboard": "Tastiera su Schermo", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connesso", + "SimBridgeConnecting": "Connessione in corso...", + "SimBridgeOff": "Spento", + "SimBridgeOffline": "Non Disponibile", + "TT": { + "AlignAdirs": "Allinea ADIRS istantaneamente", + "AutoBrightness": "Attiva/disattiva la Luminosità Automatica", + "Brightness": "Imposta la luminosità del flyPad", + "FinishBoarding": "Completa l'imbarco istantaneamente", + "OnScreenKeyboard": "Attiva/disattiva la tastiera su schermo", + "PowerButton": "Spegni", + "Settings": "Vai alla pagina delle impostazioni del flyPad", + "SimBridge": "Controlla la connessione SimBridge", + "Sleep": "Pausa" + }, + "Title": "Controlli Rapidi" + }, "Settings": { "About": { "Title": "Informazioni" @@ -610,12 +632,21 @@ "Sep": "Set", "Sun": "Dom", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connesso a SimBridge", "DisconnectedFromLocalApi": "Disconnesso da SimBridge", + "QuickControls": "Clicca per aprire i Controlli Rapidi", "TurnOffOrShutdownEfb": "Spegni o Arresta EFB" }, "Thu": "Gio", "Tue": "Mar", "Wed": "Mer" + }, + "VersionCheck": { + "CurrentVersionText": "Stai utilizzando l'edizione $edition con la versione:", + "LatestVersionText": "L'ultima versione $edition è", + "RecommendationText": "Prego aggiorna il tuo aeromobile tramite l'installer FlyByWire", + "StatusBarWarning": "Versione Aeromobile Obsoleta", + "Title": "Nuova Versione Disponibile" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/ja.json b/src/instruments/src/EFB/Localization/ja.json index 8f5c4f119d2..aa87172de4a 100644 --- a/src/instruments/src/EFB/Localization/ja.json +++ b/src/instruments/src/EFB/Localization/ja.json @@ -438,7 +438,7 @@ "SliderSpeed": "任意の牽引速度", "SystemEnabledOff": "クリックすると、プッシュバックシステムがオンになります。", "SystemEnabledOn": "クリックすると、プッシュバックシステムが完全にオフになります。", - "UseControllerInput": "ラダーとエレベーターで旋回操作の入力 有効/無効", + "UseControllerInput": "ラダーとエレベーターで旋回操作の入力 オン/オフ", "ZoomIn": "拡大", "ZoomOut": "縮小" }, @@ -448,6 +448,28 @@ "TugSpeed": "牽引速度", "UseControllerInput": "操作の入力を使用" }, + "QuickControls": { + "AlignAdirs": "ADIRSの調整完了", + "FinishBoarding": "搭乗を完了", + "OnScreenKeyboard": "オンスクリーンキーボード", + "SimBridge": "SimBridge", + "SimBridgeConnected": "接続完了", + "SimBridgeConnecting": "接続中…", + "SimBridgeOff": "オフ", + "SimBridgeOffline": "利用不可", + "TT": { + "AlignAdirs": "直ちにADIRSの調整を完了する", + "AutoBrightness": "明るさ自動調節 オン/オフ", + "Brightness": "flyPadの明るさを設定", + "FinishBoarding": "直ちに搭乗を完了する", + "OnScreenKeyboard": "オンスクリーンキーボード オン/オフ", + "PowerButton": "電源を切る", + "Settings": "flyPadの設定ページに移動", + "SimBridge": "SimBridge接続の制御", + "Sleep": "スタンバイ" + }, + "Title": "クイックコントロール" + }, "Settings": { "About": { "Title": "flyPadについて" @@ -610,12 +632,21 @@ "Sep": "9月", "Sun": "(日)", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "SimBridgeに接続中", "DisconnectedFromLocalApi": "SimBridgeから切断されました", + "QuickControls": "クリックしてクイックコントロールを開く", "TurnOffOrShutdownEfb": "EFBを消灯、またはシャットダウンする" }, "Thu": "(木)", "Tue": "(火)", "Wed": "(水)" + }, + "VersionCheck": { + "CurrentVersionText": "現在使用している $edition エディションのバージョン", + "LatestVersionText": "最新の $edition バージョン", + "RecommendationText": "FlyByWire Installerで機体を更新してください。", + "StatusBarWarning": "古い機体バージョン", + "Title": "新しいバージョンが利用可能" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/ko.json b/src/instruments/src/EFB/Localization/ko.json index 224ec5373d7..28bbb8bc1de 100644 --- a/src/instruments/src/EFB/Localization/ko.json +++ b/src/instruments/src/EFB/Localization/ko.json @@ -448,6 +448,28 @@ "TugSpeed": "터그 속도", "UseControllerInput": "컨트롤러 입력 사용" }, + "QuickControls": { + "AlignAdirs": "ADIRS 정렬", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "온스크린 키보드", + "SimBridge": "SimBridge", + "SimBridgeConnected": "연결됨", + "SimBridgeConnecting": "연결 중…", + "SimBridgeOff": "끄기", + "SimBridgeOffline": "사용 불가", + "TT": { + "AlignAdirs": "ADIRS 즉시 정렬", + "AutoBrightness": "자동 밝기 켜기/끄기", + "Brightness": "flyPad 밝기 조절", + "FinishBoarding": "탑승 즉시 완료", + "OnScreenKeyboard": "온스크린 키보드 켜기/끄기", + "PowerButton": "전원 끄기", + "Settings": "flyPad 설정 페이지로 이동", + "SimBridge": "SimBridge 연결 제어", + "Sleep": "대기" + }, + "Title": "빠른 설정" + }, "Settings": { "About": { "Title": "정보" @@ -523,7 +545,7 @@ "Both": "동기화", "Calibrate": "보정", "Captain": "기장", - "CockpitSeatUsedToControl": "Cockpit Seat Used To Control", + "CockpitSeatUsedToControl": "조종에 사용할 좌석", "ConesEnabled": "안전콘", "Copilot": "부기장", "DefaultBarometerUnit": "기본 기압 단위", @@ -610,12 +632,21 @@ "Sep": "9월", "Sun": "일", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "SimBridge와 연결됨", "DisconnectedFromLocalApi": "SimBridge 연결 끊김", + "QuickControls": "클릭하여 빠른 설정 열기", "TurnOffOrShutdownEfb": "EFB 끄기 또는 종료" }, "Thu": "목", "Tue": "화", "Wed": "수" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "새로운 버전 사용 가능" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/lt.json b/src/instruments/src/EFB/Localization/lt.json index 8fb7cd51116..e6b4657dc3f 100644 --- a/src/instruments/src/EFB/Localization/lt.json +++ b/src/instruments/src/EFB/Localization/lt.json @@ -448,6 +448,28 @@ "TugSpeed": "Vilkiko greitis", "UseControllerInput": "Naudoti valdiklį" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Apie" @@ -610,12 +632,21 @@ "Sep": "Rgs", "Sun": "Sek", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Prisijungta prie SimBridge", "DisconnectedFromLocalApi": "Atsijungta nuo SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Išjunkite EFB" }, "Thu": "Ket", "Tue": "Ant", "Wed": "Tre" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/ms.json b/src/instruments/src/EFB/Localization/ms.json index 9833ea993fb..a76bacd7e24 100644 --- a/src/instruments/src/EFB/Localization/ms.json +++ b/src/instruments/src/EFB/Localization/ms.json @@ -448,6 +448,28 @@ "TugSpeed": "Tug Speed", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "About" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Sun", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connected to Local API", "DisconnectedFromLocalApi": "Disconnected from Local API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Turn off or Shutdown EFB" }, "Thu": "Thu", "Tue": "Tue", "Wed": "Wed" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/nb.json b/src/instruments/src/EFB/Localization/nb.json index 68dcc5ee1cf..521f556f008 100644 --- a/src/instruments/src/EFB/Localization/nb.json +++ b/src/instruments/src/EFB/Localization/nb.json @@ -448,6 +448,28 @@ "TugSpeed": "pushbacktraktor-hastighet", "UseControllerInput": "Bruk Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Om" @@ -610,12 +632,21 @@ "Sep": "sep.", "Sun": "søn.", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Koblet til SimBridge", "DisconnectedFromLocalApi": "Frakoblet SimBridge", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Lås eller skru av EFB" }, "Thu": "tor.", "Tue": "tir.", "Wed": "ons." + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/nl.json b/src/instruments/src/EFB/Localization/nl.json index 486a6649813..4ff8e2f4517 100644 --- a/src/instruments/src/EFB/Localization/nl.json +++ b/src/instruments/src/EFB/Localization/nl.json @@ -448,6 +448,28 @@ "TugSpeed": "Sleep snelheid", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Over" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Zon", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Verbonden met Lokale API", "DisconnectedFromLocalApi": "Losgekoppeld van Lokale API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "EFB uitschakelen of afsluiten" }, "Thu": "Do.", "Tue": "Di.", "Wed": "Woe." + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/pl.json b/src/instruments/src/EFB/Localization/pl.json index 55e90af6ee9..e0f54f0192a 100644 --- a/src/instruments/src/EFB/Localization/pl.json +++ b/src/instruments/src/EFB/Localization/pl.json @@ -448,6 +448,28 @@ "TugSpeed": "Prędkość Wypychania", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "O Programie" @@ -610,12 +632,21 @@ "Sep": "Wrz", "Sun": "Ndz", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Połączony z Lokalnym API", "DisconnectedFromLocalApi": "Odłączony od Lokalnego API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Wyłącz lub Zamknij EFB" }, "Thu": "Czw", "Tue": "Wt", "Wed": "Śr" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/pt-BR.json b/src/instruments/src/EFB/Localization/pt-BR.json index 5431c2a1132..de9e545da74 100644 --- a/src/instruments/src/EFB/Localization/pt-BR.json +++ b/src/instruments/src/EFB/Localization/pt-BR.json @@ -448,6 +448,28 @@ "TugSpeed": "Velocidade do rebocador", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Sobre" @@ -610,12 +632,21 @@ "Sep": "Set", "Sun": "Dom", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Conectado à API local", "DisconnectedFromLocalApi": "Desconectado da API local", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Desligar ou reiniciar o EFB" }, "Thu": "Qui", "Tue": "Ter", "Wed": "Qua" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/pt-PT.json b/src/instruments/src/EFB/Localization/pt-PT.json index 61e45d0df56..6fdacfce1f3 100644 --- a/src/instruments/src/EFB/Localization/pt-PT.json +++ b/src/instruments/src/EFB/Localization/pt-PT.json @@ -448,6 +448,28 @@ "TugSpeed": "Velocidade do Reboque", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Acerca" @@ -610,12 +632,21 @@ "Sep": "Set", "Sun": "Dom", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Conectado à API local", "DisconnectedFromLocalApi": "Desconectado da API local", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Desligar o EFB" }, "Thu": "Qui", "Tue": "Ter", "Wed": "Qua" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/ro.json b/src/instruments/src/EFB/Localization/ro.json index 6dc79d1d1f7..b708d14c8ed 100644 --- a/src/instruments/src/EFB/Localization/ro.json +++ b/src/instruments/src/EFB/Localization/ro.json @@ -448,6 +448,28 @@ "TugSpeed": "Viteză remorcher", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Despre" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Dum", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Conectat la API local", "DisconnectedFromLocalApi": "Deconectat de la API local", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Opriți sau stingeți EFB" }, "Thu": "Joi", "Tue": "Mar", "Wed": "Vin" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/ru.json b/src/instruments/src/EFB/Localization/ru.json index 81dcb7f9ef1..7808248ed6e 100644 --- a/src/instruments/src/EFB/Localization/ru.json +++ b/src/instruments/src/EFB/Localization/ru.json @@ -448,6 +448,28 @@ "TugSpeed": "Скорость буксира", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Описание" @@ -610,12 +632,21 @@ "Sep": "Сен", "Sun": "Вс", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Подключено к локальному API", "DisconnectedFromLocalApi": "Отключено от локального API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Включить или выключить EFB" }, "Thu": "Чт", "Tue": "Вт", "Wed": "Ср" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/sk.json b/src/instruments/src/EFB/Localization/sk.json index c2b63189de5..7094e7e3fed 100644 --- a/src/instruments/src/EFB/Localization/sk.json +++ b/src/instruments/src/EFB/Localization/sk.json @@ -448,6 +448,28 @@ "TugSpeed": "Rýchlosť Tugu", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "O aplikácií" @@ -610,12 +632,21 @@ "Sep": "Sep.", "Sun": "Ned", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Pripojené k lokálnej API", "DisconnectedFromLocalApi": "Odpojené od lokálnej API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Vypnúť alebo zastaviť EFB" }, "Thu": "Štv", "Tue": "Uto", "Wed": "Str" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/sl.json b/src/instruments/src/EFB/Localization/sl.json index 2518b526862..3156d622351 100644 --- a/src/instruments/src/EFB/Localization/sl.json +++ b/src/instruments/src/EFB/Localization/sl.json @@ -448,6 +448,28 @@ "TugSpeed": "Hitrost vlačilca", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Vizitka" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Ned", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Povezan na lokalni API", "DisconnectedFromLocalApi": "Odklopljen iz lokalnega API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Izklopi ali zaustavi EFB" }, "Thu": "Čet", "Tue": "Tor", "Wed": "Sre" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/sv.json b/src/instruments/src/EFB/Localization/sv.json index 9911405d399..39da938391f 100644 --- a/src/instruments/src/EFB/Localization/sv.json +++ b/src/instruments/src/EFB/Localization/sv.json @@ -448,6 +448,28 @@ "TugSpeed": "Dragarhastighet", "UseControllerInput": "Använda spelkontrollen som indata" }, + "QuickControls": { + "AlignAdirs": "Justera ADIRS", + "FinishBoarding": "Avsluta Boarding", + "OnScreenKeyboard": "Skärmtangentbord", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Ansluten", + "SimBridgeConnecting": "Ansluter...", + "SimBridgeOff": "Av", + "SimBridgeOffline": "Ej tillgänglig", + "TT": { + "AlignAdirs": "Justera ADIRS direkt", + "AutoBrightness": "Slå på/av automatisk ljusstyrka", + "Brightness": "Ställ in flyPad-ljusstyrka", + "FinishBoarding": "Avsluta ombordstigningen omedelbart", + "OnScreenKeyboard": "Slå på/av skärmtangentbordet", + "PowerButton": "Stäng av", + "Settings": "Gå till flyPad inställningar", + "SimBridge": "Styr SimBridge-anslutning", + "Sleep": "Standby" + }, + "Title": "Snabbinställningar" + }, "Settings": { "About": { "Title": "Om" @@ -520,10 +542,10 @@ "SimOptions": { "Active": "Aktiv", "Auto": "Auto", - "Both": "Synchronized", + "Both": "Synkroniserad", "Calibrate": "Kalibrera", "Captain": "Captain", - "CockpitSeatUsedToControl": "Cockpit Seat Used To Control", + "CockpitSeatUsedToControl": "Cockpit stol som används för att styra", "ConesEnabled": "Säkerhetskoner", "Copilot": "Copilot", "DefaultBarometerUnit": "Standardbarometerenhet", @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Sön", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Ansluten till SimBridge", "DisconnectedFromLocalApi": "Avklopplad från SimBridge", + "QuickControls": "Klicka för att öppna snabbinställningar", "TurnOffOrShutdownEfb": "Stäng av EFB" }, "Thu": "Tor", "Tue": "Tis", "Wed": "Ons" + }, + "VersionCheck": { + "CurrentVersionText": "Du använder $edition utgåvan med version:", + "LatestVersionText": "Senaste $edition versionen är", + "RecommendationText": "Vänligen uppdatera ditt flygplan via FlyByWire Installatören.", + "StatusBarWarning": "Inaktuell Flygplansversion", + "Title": "Ny version tillgänglig" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/th.json b/src/instruments/src/EFB/Localization/th.json index 287dff13369..9c06d4c6ec6 100644 --- a/src/instruments/src/EFB/Localization/th.json +++ b/src/instruments/src/EFB/Localization/th.json @@ -448,6 +448,28 @@ "TugSpeed": "ความเร็วลากจูง", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "เกี่ยวกับ" @@ -610,12 +632,21 @@ "Sep": "ก.ย.", "Sun": "อา.", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "เชื่อมต่อกับ API ภายในเครื่อง", "DisconnectedFromLocalApi": "ตัดการเชื่อมต่อจาก API ภายในเครื่อง", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "ปิดเครื่อง EFB" }, "Thu": "พฤ.", "Tue": "อ.", "Wed": "พ." + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/tr.json b/src/instruments/src/EFB/Localization/tr.json index 53b01978f07..e02ed17bdbe 100644 --- a/src/instruments/src/EFB/Localization/tr.json +++ b/src/instruments/src/EFB/Localization/tr.json @@ -448,6 +448,28 @@ "TugSpeed": "Römorkör Hızı", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "Hakkında" @@ -610,12 +632,21 @@ "Sep": "Eyl", "Sun": "Paz", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "SimBridge’e Bağlandı", "DisconnectedFromLocalApi": "SimBridge Bağlantısı Kesildi", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "EFB'yi Kapatın" }, "Thu": "Per", "Tue": "Sal", "Wed": "Çar" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/vi.json b/src/instruments/src/EFB/Localization/vi.json index ec29e69dd49..e97838766bc 100644 --- a/src/instruments/src/EFB/Localization/vi.json +++ b/src/instruments/src/EFB/Localization/vi.json @@ -151,11 +151,11 @@ "BoardingTime": "Thời gian lên máy bay", "Cargo": "Hàng hóa", "Current": "Hiện tại", - "DeboardConfirmationBody": "Please confirm deboarding all passengers", + "DeboardConfirmationBody": "Vui lòng xác nhận cho mọi hành khách xuống tàu", "DeboardConfirmationCancel": "Cancel", - "DeboardConfirmationConfirm": "Deboard", - "DeboardConfirmationTitle": "Deboard all Passengers?", - "EstimatedDurationUnit": "minutes", + "DeboardConfirmationConfirm": "Cho hành khách xuống máy bay", + "DeboardConfirmationTitle": "Cho mọi hành khách xuống tàu?", + "EstimatedDurationUnit": "phút", "LoadingTime": "Loading Time", "Passengers": "Hành khách", "Planned": "Đã lên kế hoạch", @@ -448,6 +448,28 @@ "TugSpeed": "Tốc độ xe kéo", "UseControllerInput": "Sử dụng đầu vào từ bộ điều khiển" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Đã kết nối", + "SimBridgeConnecting": "Đang kết nối...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Không khả dụng", + "TT": { + "AlignAdirs": "Căn chỉnh ADIRS ngay lập tức", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Tắt", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Bảng điều khiển nhanh" + }, "Settings": { "About": { "Title": "Giới thiệu" @@ -520,12 +542,12 @@ "SimOptions": { "Active": "Hoạt động", "Auto": "Tự động", - "Both": "Synchronized", + "Both": "Đã đồng bộ hóa", "Calibrate": "Hiệu chỉnh", - "Captain": "Captain", + "Captain": "Cơ trưởng", "CockpitSeatUsedToControl": "Cockpit Seat Used To Control", "ConesEnabled": "Chóp nón An toàn", - "Copilot": "Copilot", + "Copilot": "Cơ phó", "DefaultBarometerUnit": "Đơn vị áp kế mặc định", "DynamicRegistrationDecal": "Đề-can đăng ký động", "EnableSimBridge": "Bật kết nối Simbridge (Tự động ngừng kích hoạt sau 5 phút nếu không có kết nối thành công)", @@ -610,12 +632,21 @@ "Sep": "Thg 9", "Sun": "CN", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Đã được kết nối tới SimBridge", "DisconnectedFromLocalApi": "Đã ngắt kết nối khỏi SimBridge", + "QuickControls": "Nhấn để mở Bảng Điều khiển Nhanh", "TurnOffOrShutdownEfb": "Tắt hoặc Tắt máy EFB" }, "Thu": "Th 5", "Tue": "Th 3", "Wed": "Th 4" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/zh-Hans-CN.json b/src/instruments/src/EFB/Localization/zh-Hans-CN.json index 56dc9a95deb..8afbea448fc 100644 --- a/src/instruments/src/EFB/Localization/zh-Hans-CN.json +++ b/src/instruments/src/EFB/Localization/zh-Hans-CN.json @@ -448,6 +448,28 @@ "TugSpeed": "后推速度", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "相关" @@ -610,12 +632,21 @@ "Sep": "九月", "Sun": "周日", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "已连接本地SimBridge", "DisconnectedFromLocalApi": "已与SimBridge断开连接", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "关闭电子飞行包 (EFB)" }, "Thu": "周四", "Tue": "周二", "Wed": "周三" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/zh-Hant-HK.json b/src/instruments/src/EFB/Localization/zh-Hant-HK.json index 3e2735b69fc..9d98d853b31 100644 --- a/src/instruments/src/EFB/Localization/zh-Hant-HK.json +++ b/src/instruments/src/EFB/Localization/zh-Hant-HK.json @@ -448,6 +448,28 @@ "TugSpeed": "推機速度", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "有關" @@ -610,12 +632,21 @@ "Sep": "九月", "Sun": "星期日", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "已連接本機 API", "DisconnectedFromLocalApi": "本機 API 斷線", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "關閉 EFB" }, "Thu": "星期四", "Tue": "星期二", "Wed": "星期三" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EFB/Localization/zh-Hant-TW.json b/src/instruments/src/EFB/Localization/zh-Hant-TW.json index 4451bd9a856..84ec92bd346 100644 --- a/src/instruments/src/EFB/Localization/zh-Hant-TW.json +++ b/src/instruments/src/EFB/Localization/zh-Hant-TW.json @@ -448,6 +448,28 @@ "TugSpeed": "推機速度", "UseControllerInput": "Use Controller Input" }, + "QuickControls": { + "AlignAdirs": "Align ADIRS", + "FinishBoarding": "Finish Boarding", + "OnScreenKeyboard": "OnScreen Keyboard", + "SimBridge": "SimBridge", + "SimBridgeConnected": "Connected", + "SimBridgeConnecting": "Connecting...", + "SimBridgeOff": "Off", + "SimBridgeOffline": "Not Available", + "TT": { + "AlignAdirs": "Instantly align ADIRS", + "AutoBrightness": "Turn Auto Brightness On/Off", + "Brightness": "Set flyPad brightness", + "FinishBoarding": "Instantly finish boarding", + "OnScreenKeyboard": "Turn OnScreen Keyboard On/Off", + "PowerButton": "Power Off", + "Settings": "Go to flyPad Settings page", + "SimBridge": "Control SimBridge Connection", + "Sleep": "Standby" + }, + "Title": "Quick Controls" + }, "Settings": { "About": { "Title": "相關" @@ -610,12 +632,21 @@ "Sep": "Sep", "Sun": "Sun", "TT": { + "Brightness": "Click to change Brightness", "ConnectedToLocalApi": "Connected to Local API", "DisconnectedFromLocalApi": "Disconnected from Local API", + "QuickControls": "Click to open Quick Controls", "TurnOffOrShutdownEfb": "Turn off or Shutdown EFB" }, "Thu": "Thu", "Tue": "Tue", "Wed": "Wed" + }, + "VersionCheck": { + "CurrentVersionText": "You are using the $edition edition with version:", + "LatestVersionText": "Latest $edition version is", + "RecommendationText": "Please update your aircraft using the FlyByWire Installer.", + "StatusBarWarning": "Outdated Aircraft Version", + "Title": "New Version Available" } } \ No newline at end of file diff --git a/src/instruments/src/EWD/index.tsx b/src/instruments/src/EWD/index.tsx index 4a51628dc09..fda3f5667bc 100644 --- a/src/instruments/src/EWD/index.tsx +++ b/src/instruments/src/EWD/index.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React from 'react'; import { DisplayUnit } from '@instruments/common/displayUnit'; import { render } from '../Common'; import UpperDisplay from './elements/UpperDisplay'; @@ -6,23 +6,16 @@ import LowerDisplay from './elements/LowerDisplay'; import './style.scss'; -export const EWD: React.FC = () => { - const [displayIndex] = useState(() => { - const url = document.getElementsByTagName('a32nx-ewd')[0].getAttribute('url'); - return url ? parseInt(url.substring(url.length - 1), 10) : 0; - }); - - return ( - - - - - - - ); -}; +export const EWD: React.FC = () => ( + + + + + + +); render(); diff --git a/src/instruments/src/SD/Common/definitions.scss b/src/instruments/src/SD/Common/definitions.scss index 8fd432adf9f..28fd152886c 100644 --- a/src/instruments/src/SD/Common/definitions.scss +++ b/src/instruments/src/SD/Common/definitions.scss @@ -1,4 +1,4 @@ -$font-size-small: 14px; +$font-size-small: 15px; $font-size-medium: 16px; $font-size-large: 17px; $font-size-larger: 18px; diff --git a/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/DoorVideoResources/empty.png b/src/instruments/src/SD/DoorVideoResources/empty.png similarity index 100% rename from flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/Airliners/FlyByWire_A320_Neo/EICAS/DoorVideoResources/empty.png rename to src/instruments/src/SD/DoorVideoResources/empty.png diff --git a/src/instruments/src/SD/Pages/Apu/Apu.tsx b/src/instruments/src/SD/Pages/Apu/Apu.tsx index 21b52cc3769..b6f1111e455 100644 --- a/src/instruments/src/SD/Pages/Apu/Apu.tsx +++ b/src/instruments/src/SD/Pages/Apu/Apu.tsx @@ -1,7 +1,5 @@ import React, { useEffect, useState } from 'react'; import { useArinc429Var } from '@instruments/common/arinc429'; -import { render } from '@instruments/common/index'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { useSimVar } from '@instruments/common/simVars'; import { GaugeComponent, GaugeMarkerComponent } from '@instruments/common/gauges'; import { PageTitle } from '../../Common/PageTitle'; @@ -10,8 +8,6 @@ import { SvgGroup } from '../../Common/SvgGroup'; import './Apu.scss'; -setIsEcamPage('apu_page'); - export const ApuPage = () => { const [apuAvail] = useSimVar('L:A32NX_OVHD_APU_START_PB_IS_AVAILABLE', 'Bool', 1000); @@ -499,5 +495,3 @@ const ApuMemos = ({ x, y } : ComponentPositionProps) => { ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Apu/config.json b/src/instruments/src/SD/Pages/Apu/config.json deleted file mode 100644 index 3ea0390ce9c..00000000000 --- a/src/instruments/src/SD/Pages/Apu/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Apu.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Bleed/Bleed.tsx b/src/instruments/src/SD/Pages/Bleed/Bleed.tsx index 94db340e7f7..5eabcfbcdbc 100644 --- a/src/instruments/src/SD/Pages/Bleed/Bleed.tsx +++ b/src/instruments/src/SD/Pages/Bleed/Bleed.tsx @@ -1,7 +1,5 @@ import React, { FC } from 'react'; -import { render } from '@instruments/common/index'; import { useSimVar } from '@instruments/common/simVars'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { PageTitle } from '../../Common/PageTitle'; import { EcamPage } from '../../Common/EcamPage'; import EngineBleed from './elements/EngineBleed'; @@ -11,8 +9,6 @@ import { Triangle } from '../../Common/Shapes'; import './Bleed.scss'; -setIsEcamPage('bleed_page'); - export const BleedPage: FC = () => { const sdacDatum = true; const [xbleedAirValveOpen] = useSimVar('L:A32NX_PNEU_XBLEED_VALVE_OPEN', 'bool', 500); @@ -102,5 +98,3 @@ export const BleedPage: FC = () => { ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Bleed/config.json b/src/instruments/src/SD/Pages/Bleed/config.json deleted file mode 100644 index 279acb91304..00000000000 --- a/src/instruments/src/SD/Pages/Bleed/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Bleed.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Cond/Cond.tsx b/src/instruments/src/SD/Pages/Cond/Cond.tsx index 5b898c966bb..fc6081635ba 100644 --- a/src/instruments/src/SD/Pages/Cond/Cond.tsx +++ b/src/instruments/src/SD/Pages/Cond/Cond.tsx @@ -1,14 +1,10 @@ import React from 'react'; import { SvgGroup } from '../../Common/SvgGroup'; -import { render } from '../../../Common'; -import { setIsEcamPage } from '../../../Common/defaults'; import { useSimVar } from '../../../Common/simVars'; import Valve from './Valve'; import '../../Common/CommonStyles.scss'; -setIsEcamPage('cond_page'); - export const CondPage = () => { // Disaply trim valve position for each zone const gaugeOffset = -43; // Gauges range is from -43 degree to +43 degree @@ -105,5 +101,3 @@ const CondUnit = ({ title, selectedTemp, cabinTemp, trimTemp, x, y, offset, hotA ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Cond/config.json b/src/instruments/src/SD/Pages/Cond/config.json deleted file mode 100644 index befff9b98ad..00000000000 --- a/src/instruments/src/SD/Pages/Cond/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Cond.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Crz/Crz.tsx b/src/instruments/src/SD/Pages/Crz/Crz.tsx index 398ac1c7a19..c66eb60e7af 100644 --- a/src/instruments/src/SD/Pages/Crz/Crz.tsx +++ b/src/instruments/src/SD/Pages/Crz/Crz.tsx @@ -1,15 +1,11 @@ import React, { useEffect, useState } from 'react'; import { GaugeComponent, GaugeMarkerComponent, splitDecimals } from '@instruments/common/gauges'; -import { render } from '../../../Common'; -import { setIsEcamPage } from '../../../Common/defaults'; import { useSimVar } from '../../../Common/simVars'; import { usePersistentProperty } from '../../../Common/persistence'; import { fuelForDisplay } from '../../Common/FuelFunctions'; import './Crz.scss'; -setIsEcamPage('crz_page'); - export const CrzPage = () => ( <> @@ -232,5 +228,3 @@ export const CondComponent = () => { ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Crz/config.json b/src/instruments/src/SD/Pages/Crz/config.json deleted file mode 100644 index 560f590c6a6..00000000000 --- a/src/instruments/src/SD/Pages/Crz/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Crz.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Door/Door.tsx b/src/instruments/src/SD/Pages/Door/Door.tsx index 697b93c68a6..27ca066a941 100644 --- a/src/instruments/src/SD/Pages/Door/Door.tsx +++ b/src/instruments/src/SD/Pages/Door/Door.tsx @@ -1,10 +1,7 @@ -import './Door.scss'; import React from 'react'; -import { render } from '@instruments/common/index'; -import { setIsEcamPage } from '../../../Common/defaults'; import { useSimVar } from '../../../Common/simVars'; -setIsEcamPage('door_page'); +import './Door.scss'; export const DoorPage = () => { const [cabin] = useSimVar('INTERACTIVE POINT OPEN:0', 'percent', 1000); @@ -87,5 +84,3 @@ export const DoorPage = () => { ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Door/config.json b/src/instruments/src/SD/Pages/Door/config.json deleted file mode 100644 index e3e5e64860a..00000000000 --- a/src/instruments/src/SD/Pages/Door/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Door.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Elec/Elec.scss b/src/instruments/src/SD/Pages/Elec/Elec.scss index b45c2512170..28056f94abb 100644 --- a/src/instruments/src/SD/Pages/Elec/Elec.scss +++ b/src/instruments/src/SD/Pages/Elec/Elec.scss @@ -29,7 +29,7 @@ text { fill: #EEEEEE; - font-family: 'Roboto Mono', monospace; + //font-family: 'Roboto Mono', monospace !important; font-size: 19px; &.ExtraLarge { diff --git a/src/instruments/src/SD/Pages/Elec/Elec.tsx b/src/instruments/src/SD/Pages/Elec/Elec.tsx index a2307f7f309..fc0e0ee9b73 100644 --- a/src/instruments/src/SD/Pages/Elec/Elec.tsx +++ b/src/instruments/src/SD/Pages/Elec/Elec.tsx @@ -1,16 +1,12 @@ -import classNames from 'classnames'; import React from 'react'; -import { render } from '@instruments/common/index'; +import classNames from 'classnames'; import { PageTitle } from '../../Common/PageTitle'; -import { setIsEcamPage } from '../../../Common/defaults'; import { useSimVar } from '../../../Common/simVars'; import { EcamPage } from '../../Common/EcamPage'; import { SvgGroup } from '../../Common/SvgGroup'; import './Elec.scss'; -setIsEcamPage('elec_page'); - const maxStaleness = 300; export const ElecPage = () => { @@ -517,5 +513,3 @@ const Wire = ({ d, amber }: WireProps) => { const classes = classNames({ Green: !amber }, { Amber: amber }); return ; }; - -render(); diff --git a/src/instruments/src/SD/Pages/Elec/config.json b/src/instruments/src/SD/Pages/Elec/config.json deleted file mode 100644 index 8b188b36870..00000000000 --- a/src/instruments/src/SD/Pages/Elec/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Elec.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Eng/Eng.tsx b/src/instruments/src/SD/Pages/Eng/Eng.tsx index b1cdabb4332..1a80ccfbc2b 100644 --- a/src/instruments/src/SD/Pages/Eng/Eng.tsx +++ b/src/instruments/src/SD/Pages/Eng/Eng.tsx @@ -1,6 +1,4 @@ import React, { FC, useState, useEffect } from 'react'; -import { render } from '@instruments/common/index'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { Arc, Needle } from '@instruments/common/gauges'; import { usePersistentProperty } from '@instruments/common/persistence'; import { useSimVar } from '@instruments/common/simVars'; @@ -10,8 +8,6 @@ import { SvgGroup } from '../../Common/SvgGroup'; import './Eng.scss'; -setIsEcamPage('eng_page'); - export const EngPage: FC = () => { const [weightUnit] = usePersistentProperty('CONFIG_USING_METRIC_UNIT', '1'); const [engSelectorPosition] = useSimVar('L:XMLVAR_ENG_MODE_SEL', 'Enum', 1000); @@ -351,5 +347,3 @@ const EngineColumn = ({ x, y, engineNumber }: ComponentPositionProps) => { ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Eng/config.json b/src/instruments/src/SD/Pages/Eng/config.json deleted file mode 100644 index 020be6050c2..00000000000 --- a/src/instruments/src/SD/Pages/Eng/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Eng.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Fctl/Fctl.tsx b/src/instruments/src/SD/Pages/Fctl/Fctl.tsx index c56a2f480c2..f2cca546e96 100644 --- a/src/instruments/src/SD/Pages/Fctl/Fctl.tsx +++ b/src/instruments/src/SD/Pages/Fctl/Fctl.tsx @@ -1,8 +1,6 @@ import React from 'react'; -import { render } from '@instruments/common/index'; import { useArinc429Var } from '@instruments/common/arinc429'; import { Arinc429Word } from '@shared/arinc429'; -import { setIsEcamPage } from '../../../Common/defaults'; import { useSimVar } from '../../../Common/simVars'; import { SvgGroup } from '../../Common/SvgGroup'; import { HydraulicsProvider, useHydraulics } from '../../Common/HydraulicsProvider'; @@ -14,8 +12,6 @@ import { Spoilers } from '../../Common/Spoilers'; import '../../Common/CommonStyles.scss'; -setIsEcamPage('fctl_page'); - interface HydraulicSystemPairProps { leftHydraulicSystem: HydraulicSystem, rightHydraulicSystem: HydraulicSystem, @@ -432,10 +428,9 @@ const ElevatorAxis = ({ x, y, side }: ComponentPositionProps & ComponentSidePosi interface ServoControlIndicatorProps extends ComponentPositionProps { servoFailed: boolean, } + const ServoControlIndicator = ({ x, y, servoFailed }: ServoControlIndicatorProps) => ( ); - -render(); diff --git a/src/instruments/src/SD/Pages/Fctl/config.json b/src/instruments/src/SD/Pages/Fctl/config.json deleted file mode 100644 index 2aaf052180d..00000000000 --- a/src/instruments/src/SD/Pages/Fctl/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Fctl.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Fuel/Fuel.tsx b/src/instruments/src/SD/Pages/Fuel/Fuel.tsx index e796c8c6b39..835875eaa96 100644 --- a/src/instruments/src/SD/Pages/Fuel/Fuel.tsx +++ b/src/instruments/src/SD/Pages/Fuel/Fuel.tsx @@ -1,7 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { render } from '@instruments/common/index'; import { useSimVar } from '@instruments/common/simVars'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { useArinc429Var } from '@instruments/common/arinc429'; import { usePersistentProperty } from '../../../Common/persistence'; import { fuelForDisplay, fuelInTanksForDisplay } from '../../Common/FuelFunctions'; @@ -11,8 +9,6 @@ import { EcamPage } from '../../Common/EcamPage'; import './Fuel.scss'; -setIsEcamPage('fuel_page'); - export const FuelPage = () => { const [crossFeedPosition] = useSimVar('FUELSYSTEM VALVE OPEN:3', 'number', 500); @@ -358,5 +354,3 @@ const Pump = ({ x, y, onBus = 'DC_ESS', pumpNumber, centreTank, tankQuantity }: ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Fuel/config.json b/src/instruments/src/SD/Pages/Fuel/config.json deleted file mode 100644 index 140e76bdea6..00000000000 --- a/src/instruments/src/SD/Pages/Fuel/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Fuel.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Hyd/Hyd.tsx b/src/instruments/src/SD/Pages/Hyd/Hyd.tsx index 7050243bd55..37772df6b9c 100644 --- a/src/instruments/src/SD/Pages/Hyd/Hyd.tsx +++ b/src/instruments/src/SD/Pages/Hyd/Hyd.tsx @@ -1,14 +1,10 @@ import React, { useEffect, useState } from 'react'; -import { render } from '@instruments/common/index'; import { useSimVar } from '@instruments/common/simVars'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { SvgGroup } from '../../Common/SvgGroup'; import { Triangle } from '../../Common/Shapes'; import '../../Common/CommonStyles.scss'; -setIsEcamPage('hyd_page'); - const litersPerGallon = 3.79; enum HydSystem { @@ -478,5 +474,3 @@ const PTU = ({ x, y, yellowPressure, greenPressure, yellowPumpLowPressure, green ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Hyd/config.json b/src/instruments/src/SD/Pages/Hyd/config.json deleted file mode 100644 index d8479691e3f..00000000000 --- a/src/instruments/src/SD/Pages/Hyd/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Hyd.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Press/Press.tsx b/src/instruments/src/SD/Pages/Press/Press.tsx index ea97da275f4..cf1370e91ea 100644 --- a/src/instruments/src/SD/Pages/Press/Press.tsx +++ b/src/instruments/src/SD/Pages/Press/Press.tsx @@ -1,7 +1,5 @@ import React, { FC, useState, useEffect, memo } from 'react'; -import { render } from '@instruments/common/index'; import { GaugeComponent, GaugeMarkerComponent, splitDecimals } from '@instruments/common/gauges'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { Triangle } from '../../Common/Shapes'; import { PageTitle } from '../../Common/PageTitle'; import { EcamPage } from '../../Common/EcamPage'; @@ -10,8 +8,6 @@ import { SvgGroup } from '../../Common/SvgGroup'; import './Press.scss'; -setIsEcamPage('press_page'); - export const PressPage: FC = () => { const [cabinAlt] = useSimVar('L:A32NX_PRESS_CABIN_ALTITUDE', 'feet', 500); const [deltaPsi] = useSimVar('L:A32NX_PRESS_CABIN_DELTA_PRESSURE', 'psi', 500); @@ -561,5 +557,3 @@ const OverboardOutletComponent: FC = ({ validSDAC, ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Press/config.json b/src/instruments/src/SD/Pages/Press/config.json deleted file mode 100644 index 8b34840c485..00000000000 --- a/src/instruments/src/SD/Pages/Press/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Press.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Status/Status.tsx b/src/instruments/src/SD/Pages/Status/Status.tsx index 9f747dce19b..844f46c9c6e 100644 --- a/src/instruments/src/SD/Pages/Status/Status.tsx +++ b/src/instruments/src/SD/Pages/Status/Status.tsx @@ -1,6 +1,4 @@ import React, { FC } from 'react'; -import { render } from '@instruments/common/index'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { PageTitle } from '../../Common/PageTitle'; import { EcamPage } from '../../Common/EcamPage'; import StatusDisplay from './elements/StatusDisplay'; @@ -8,8 +6,6 @@ import DownArrow from './elements/DownArrow'; import './Status.scss'; -setIsEcamPage('status_page'); - export const StatusPage: FC = () => ( @@ -22,5 +18,3 @@ export const StatusPage: FC = () => ( ); - -render(); diff --git a/src/instruments/src/SD/Pages/Status/config.json b/src/instruments/src/SD/Pages/Status/config.json deleted file mode 100644 index 6129deb79fe..00000000000 --- a/src/instruments/src/SD/Pages/Status/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Status.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/Pages/Wheel/Wheel.tsx b/src/instruments/src/SD/Pages/Wheel/Wheel.tsx index 44222406348..8e410a0fcea 100644 --- a/src/instruments/src/SD/Pages/Wheel/Wheel.tsx +++ b/src/instruments/src/SD/Pages/Wheel/Wheel.tsx @@ -1,7 +1,5 @@ import React from 'react'; -import { render } from '@instruments/common/index'; import { useSimVar } from '@instruments/common/simVars'; -import { setIsEcamPage } from '@instruments/common/defaults'; import { useArinc429Var } from '@instruments/common/arinc429'; import { Arinc429Word } from '@shared/arinc429'; import { HydraulicsProvider, useHydraulics } from '../../Common/HydraulicsProvider'; @@ -12,8 +10,6 @@ import { Spoilers } from '../../Common/Spoilers'; import '../../Common/CommonStyles.scss'; -setIsEcamPage('wheel_page'); - const maxStaleness = 300; export const WheelPage = () => { @@ -498,5 +494,3 @@ const Wheels = ({ x, y, left, right }: WheelsProps) => { ); }; - -render(); diff --git a/src/instruments/src/SD/Pages/Wheel/config.json b/src/instruments/src/SD/Pages/Wheel/config.json deleted file mode 100644 index bd64d7ef8e9..00000000000 --- a/src/instruments/src/SD/Pages/Wheel/config.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "./Wheel.tsx", - "isInteractive": false -} diff --git a/src/instruments/src/SD/PagesContainer.jsx b/src/instruments/src/SD/PagesContainer.jsx deleted file mode 100644 index 6f99c16fa21..00000000000 --- a/src/instruments/src/SD/PagesContainer.jsx +++ /dev/null @@ -1,39 +0,0 @@ -import { useState } from 'react'; -import { getSimVar, useInteractionEvent } from '../util.js'; -import { EngPage } from './Pages/Eng/Eng.tsx'; -import { BleedPage } from './Pages/Bleed/Bleed.tsx'; -import { PressPage } from './Pages/Press/Press.tsx'; -import { ElecPage } from './Pages/Elec/Elec.tsx'; -import { HydPage } from './Pages/Hyd/Hyd.tsx'; -import { FuelPage } from './Pages/Fuel/Fuel.tsx'; -import { ApuPage } from './Pages/Apu/Apu.tsx'; -import { CondPage } from './Pages/Cond/Cond.tsx'; -import { DoorPage } from './Pages/Door/Door.tsx'; -import { WheelPage } from './Pages/Wheel/Wheel.tsx'; -import { FctlPage } from './Pages/Fctl/Fctl.tsx'; -import { StatusPage } from './Pages/Status/Status.tsx'; -import { CrzPage } from './Pages/Crz/Crz.tsx'; - -export const PagesContainer = () => { - const [currentPage, setCurrentPage] = useState(0); - - useInteractionEvent('A32NX_SD_PAGE_CHANGED', () => setCurrentPage(getSimVar('L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX', 'number'))); - - const pages = { - 0: , - 1: , - 2: , - 3: , - 4: , - 5: , - 6: , - 7: , - 8: , - 9: , - 10: , - 11: , - 12: , - }; - - return pages[currentPage] || invalid page; -}; diff --git a/src/instruments/src/SD/PagesContainer.tsx b/src/instruments/src/SD/PagesContainer.tsx new file mode 100644 index 00000000000..1d222447791 --- /dev/null +++ b/src/instruments/src/SD/PagesContainer.tsx @@ -0,0 +1,204 @@ +import React, { useState } from 'react'; +import { useUpdate } from '@instruments/common/hooks'; +import { useSimVar } from '@instruments/common/simVars'; +import { useArinc429Var } from '@instruments/common/arinc429'; +import { EngPage } from './Pages/Eng/Eng'; +import { BleedPage } from './Pages/Bleed/Bleed'; +import { PressPage } from './Pages/Press/Press'; +import { ElecPage } from './Pages/Elec/Elec'; +import { HydPage } from './Pages/Hyd/Hyd'; +import { FuelPage } from './Pages/Fuel/Fuel'; +import { ApuPage } from './Pages/Apu/Apu'; +import { CondPage } from './Pages/Cond/Cond'; +import { DoorPage } from './Pages/Door/Door'; +import { WheelPage } from './Pages/Wheel/Wheel'; +import { FctlPage } from './Pages/Fctl/Fctl'; +import { StatusPage } from './Pages/Status/Status'; +import { CrzPage } from './Pages/Crz/Crz'; + +export const PagesContainer = () => { + const [currentPage, setCurrentPage] = useState(8); + const [prevFailPage, setPrevFailPage] = useState(0); + const [ecamCycleInterval, setEcamCycleInterval] = useState(-1); + const [failPage] = useSimVar('L:A32NX_ECAM_SFAIL', 'Enum', 300); + + const [prevEcamAllButtonState, setPrevEcamAllButtonState] = useState(false); + + const [pageWhenUnselected, setPageWhenUnselected] = useState(8); + + const [ecamAllButtonPushed] = useSimVar('L:A32NX_ECAM_ALL_Push_IsDown', 'Bool', 100); + const [fwcFlightPhase] = useSimVar('L:A32NX_FWC_FLIGHT_PHASE', 'Enum', 500); + const [crzCondTimer, setCrzCondTimer] = useState(60); + const [ecamFCTLTimer, setEcamFCTLTimer] = useState(20); + const [mainEngineStarterOffTimer, setMainEngineStarterOffTimer] = useState(-1); + const [apuAboveThresholdTimer, setApuAboveThresholdTimer] = useState(-1); + const apuRpm = useArinc429Var('L:A32NX_APU_N', 100); + + const altitude = useArinc429Var('L:A32NX_ADIRS_ADR_1_ALTITUDE', 300); + + const [page, setPage] = useSimVar('L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX', 'number', 50); + + const checkEnginePage = (deltaTime: number) => { + const engModeSel = SimVar.GetSimVarValue('L:XMLVAR_ENG_MODE_SEL', 'number'); + const eng1State = SimVar.GetSimVarValue('L:A32NX_ENGINE_STATE:1', 'number'); + const eng2State = SimVar.GetSimVarValue('L:A32NX_ENGINE_STATE:2', 'number'); + const oneEngOff = eng1State !== 1 || eng2State !== 1; + + if (engModeSel === 0 || (oneEngOff && engModeSel === 2) || mainEngineStarterOffTimer >= 0) { + // Show ENG until >10 seconds after both engines are fully started + if (engModeSel === 0 || (oneEngOff && engModeSel === 2)) { + setMainEngineStarterOffTimer(10); + } else if (mainEngineStarterOffTimer >= 0) { + setMainEngineStarterOffTimer((prev) => prev - deltaTime / 1000); + } + setPageWhenUnselected(0); + } + }; + + const checkApuPage = (deltaTime) => { + const currentAPUMasterState = SimVar.GetSimVarValue('L:A32NX_OVHD_APU_MASTER_SW_PB_IS_ON', 'Bool'); + + if (currentAPUMasterState && apuRpm.isNormalOperation() && (apuRpm.value <= 95 || apuAboveThresholdTimer >= 0)) { + // Show APU on Lower ECAM until 15s after RPM > 95% + if (apuAboveThresholdTimer <= 0 && apuRpm.value <= 95) { + setApuAboveThresholdTimer(15); + } else if (apuRpm.value > 95) { + setApuAboveThresholdTimer((prev) => prev - deltaTime / 1000); + } + setPageWhenUnselected(6); + } + }; + + const updateCallback = (deltaTime) => { + if (ecamAllButtonPushed && !prevEcamAllButtonState) { // button press + setPage((prev) => (prev + 1) % 12); + setCurrentPage((prev) => (prev + 1) % 12); + setEcamCycleInterval(setInterval(() => { + setCurrentPage((prev) => { + setPage((prev + 1) % 12); + return (prev + 1) % 12; + }); + }, 1000) as unknown as number); + } else if (!ecamAllButtonPushed && prevEcamAllButtonState) { // button release + clearInterval(ecamCycleInterval); + } else if (!ecamAllButtonPushed) { + const newPage = page; + if (newPage !== -1) { + setCurrentPage(newPage); + } else { + setCurrentPage(pageWhenUnselected); + } + + switch (fwcFlightPhase) { + case 10: + case 1: + setCrzCondTimer(60); + setPageWhenUnselected(8); + // TODO: Emergency Generator Test displays ELEC + // Needs system implementation (see A320_NEO_INTERIOR Component ID EMER_ELEC_PWR [LVar: L:A32NX_EMERELECPWR_GEN_TEST]) + checkApuPage(deltaTime); + checkEnginePage(deltaTime); + break; + case 2: + const sidestickPosX = SimVar.GetSimVarValue('L:A32NX_SIDESTICK_POSITION_X', 'Number'); + const sidestickPosY = SimVar.GetSimVarValue('L:A32NX_SIDESTICK_POSITION_Y', 'Number'); + const rudderPos = SimVar.GetSimVarValue('RUDDER PEDAL POSITION', 'Position'); + const controlsMoved = Math.abs(sidestickPosX) > 0.05 || Math.abs(sidestickPosY) > 0.05 || Math.abs(rudderPos) > 0.2; + + setPageWhenUnselected(9); + // When controls are moved > threshold, show FCTL page for 20s + if (controlsMoved) { + setPageWhenUnselected(10); + setEcamFCTLTimer(20); + } else if (ecamFCTLTimer >= 0) { + setPageWhenUnselected(10); + setEcamFCTLTimer((prev) => prev - deltaTime / 1000); + } + checkApuPage(deltaTime); + checkEnginePage(deltaTime); + break; + case 3: + case 4: + case 5: + setPageWhenUnselected(0); + break; + case 6: + case 7: + case 8: + case 9: + const isGearExtended = SimVar.GetSimVarValue('GEAR TOTAL PCT EXTENDED', 'percent') > 0.95; + const ToPowerSet = Math.max(SimVar.GetSimVarValue('L:A32NX_AUTOTHRUST_TLA:1', 'number'), + SimVar.GetSimVarValue('L:A32NX_AUTOTHRUST_TLA:2', 'number')) >= 35 && SimVar.GetSimVarValue('ENG N1 RPM:1', 'Percent') > 15 + && SimVar.GetSimVarValue('ENG N1 RPM:2', 'Percent') > 15; + const spoilerOrFlapsDeployed = SimVar.GetSimVarValue('L:A32NX_FLAPS_HANDLE_INDEX', 'number') !== 0 + || SimVar.GetSimVarValue('L:A32NX_SPOILERS_HANDLE_POSITION', 'percent') !== 0; + + if (isGearExtended && (altitude.value < 16000)) { + setPageWhenUnselected(9); + checkApuPage(deltaTime); + checkEnginePage(deltaTime); + break; + // Else check for CRZ + } + + if ((spoilerOrFlapsDeployed || ToPowerSet)) { + if (crzCondTimer <= 0) { + setPageWhenUnselected(12); + checkApuPage(deltaTime); + checkEnginePage(deltaTime); + } else { + setCrzCondTimer((prev) => prev - deltaTime / 1000); + } + } else if (!spoilerOrFlapsDeployed && !ToPowerSet) { + setPageWhenUnselected(12); + checkApuPage(deltaTime); + checkEnginePage(deltaTime); + } + break; + default: + // Sometimes happens when loading in, in which case we have to initialise pageNameWhenUnselected here. + setPageWhenUnselected(8); + break; + } + + if (failPage !== -1) { + setPageWhenUnselected(failPage); + + // Disable user selected page when new failure detected + if (prevFailPage !== failPage) { + setCurrentPage(-1); + setPage(-1); + } + } + + // switch page when desired page was changed, or new Failure detected + if ((pageWhenUnselected !== newPage && page === -1) || (prevFailPage !== failPage)) { + setCurrentPage(pageWhenUnselected); + } + + setPrevFailPage(failPage); + } + + setPrevEcamAllButtonState(ecamAllButtonPushed); + }; + + useUpdate(updateCallback); + + const pages = { + 0: , + 1: , + 2: , + 3: , + 4: , + 5: , + 6: , + 7: , + 8: , + 9: , + 10: , + 11: , + 12: , + }; + + return pages[currentPage] || invalid page; +}; diff --git a/src/instruments/src/SD/StatusArea/StatusArea.jsx b/src/instruments/src/SD/StatusArea/StatusArea.jsx deleted file mode 100644 index 6444f1f9637..00000000000 --- a/src/instruments/src/SD/StatusArea/StatusArea.jsx +++ /dev/null @@ -1,102 +0,0 @@ -/** - * WARNING - * - * CODE IN THIS FILE IS OLD. THIS STATUS AREA WAS UNUSED AND THE ORIGINAL ASOBO - * STATUS AREA WAS EXTENDED FURTHER. WHEN STARTING TO USE THIS COMPONENT. PLEASE - * PORT ANY FUNCTIONALITY FOUND ON THE ORIGINAL STATUS AREA. - */ - -import './StatusArea.scss'; -import { Text } from '../Text/Text.jsx'; -import { useGlobalVar, getSimVar } from '../../util.js'; - -export const StatusArea = () => { - const gw = getSimVar('TOTAL WEIGHT', 'kg'); - const zulu = useGlobalVar('ZULU TIME', 'seconds'); - let tat = Math.round(getSimVar('TOTAL AIR TEMPERATURE', 'celsius')); - if (tat > 99 || tat < -99) { - tat = tat > 99 ? 99 : -99; - } - let sat = Math.round(getSimVar('AMBIENT TEMPERATURE', 'celsius')); - if (sat > 99 || sat < -99) { - sat = sat > 99 ? 99 : -99; - } - - // TODO FIXME improve this - // const adirsAlign = !ADIRS.mapNotAvailable(1) || !ADIRS.mapNotAvailable(2); - const adirsAlign = true; - - const satPrefix = sat > 0 ? '+' : ''; - const tatPrefix = tat > 0 ? '+' : ''; - const seconds = Math.floor(zulu); - const hours = Math.floor(seconds / 3600); - const minutes = Math.floor((seconds - (hours * 3600)) / 60); - const padMinutes = String(minutes).padStart(2, '0'); - const padHours = String(hours).padStart(2, '0'); - - return ( - <> - - - - - {/* Temperatures */} - - - TAT - - { adirsAlign - ? ( - - XX - - ) - : ( - - {tatPrefix} - {tat} - - )} - - °C - - - - SAT - - { adirsAlign - ? ( - - XX - - ) - : ( - - {satPrefix} - {sat} - - )} - - °C - - - {/* Time */} - - {padHours} - H - {padMinutes} - - {/* Gross weight */} - - - GW - - - {Math.round(gw)} - - - KG - - - ); -}; diff --git a/src/instruments/src/SD/StatusArea/StatusArea.scss b/src/instruments/src/SD/StatusArea/StatusArea.scss index eb4c81658b7..646ede1c464 100644 --- a/src/instruments/src/SD/StatusArea/StatusArea.scss +++ b/src/instruments/src/SD/StatusArea/StatusArea.scss @@ -2,3 +2,14 @@ stroke: white; stroke-width: 3; } + +#StatusArea { + display: block; + position: absolute; + bottom: 0%; + left: 0%; + width: 100%; + height: 20%; + + font-family: "Ecam", monospace !important; +} diff --git a/src/instruments/src/SD/StatusArea/StatusArea.tsx b/src/instruments/src/SD/StatusArea/StatusArea.tsx new file mode 100644 index 00000000000..b5abf1503ab --- /dev/null +++ b/src/instruments/src/SD/StatusArea/StatusArea.tsx @@ -0,0 +1,248 @@ +/** + * WARNING + * + * CODE IN THIS FILE IS OLD. THIS STATUS AREA WAS UNUSED AND THE ORIGINAL ASOBO + * STATUS AREA WAS EXTENDED FURTHER. WHEN STARTING TO USE THIS COMPONENT. PLEASE + * PORT ANY FUNCTIONALITY FOUND ON THE ORIGINAL STATUS AREA. + */ + +import './StatusArea.scss'; +import React, { useEffect, useState } from 'react'; +import { useGlobalVar, useSimVar } from '@instruments/common/simVars'; +import { getSupplier } from '@instruments/common/utils'; +import { useArinc429Var } from '@instruments/common/arinc429'; +import { NXLogicConfirmNode, NXLogicMemoryNode } from '@instruments/common/NXLogic'; +import { useUpdate } from '@instruments/common/hooks'; +import { NXUnits } from '@instruments/common/NXUnits'; +import { Text } from '../Text/Text'; + +export const StatusArea = () => { + const [gwDisplayedValue, setGwDisplayedValue] = useState('0'); + + const [gwDisplayedUnit, setGwDisplayedUnit] = useState('kg'); + + const zulu = useGlobalVar('ZULU TIME', 'seconds', 60000); + + const [airDataSwitch] = useSimVar('L:A32NX_AIR_DATA_SWITCHING_KNOB', 'enum', 200); + const [attHdgSwitch] = useSimVar('L:A32NX_ATT_HDG_SWITCHING_KNOB', 'enum', 200); + + const [eng1Running] = useSimVar('ENG COMBUSTION:1', 'bool', 1000); + const [eng2Running] = useSimVar('ENG COMBUSTION:2', 'bool', 1000); + + const [isaVisible, setIsaVisible] = useState(false); + + const [airDataReferenceSource, setAirDataSource] = useState(0); + const [inertialReferenceSource, setInertialSource] = useState(0); + const [loadFactorVisibleElement, setLoadFactorVisibleElement] = useState(false); + const [loadFactorText, setLoadFactorText] = useState(''); + + const sat = useArinc429Var(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_STATIC_AIR_TEMPERATURE`, 6000); + const tat = useArinc429Var(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_TOTAL_AIR_TEMPERATURE`, 6000); + const isa = useArinc429Var(`L:A32NX_ADIRS_ADR_${airDataReferenceSource}_INTERNATIONAL_STANDARD_ATMOSPHERE_DELTA`, 6000); + const loadFactor = useArinc429Var(`L:A32NX_ADIRS_IR_${inertialReferenceSource}_BODY_NORMAL_ACC`, 300); + + const [loadFactorSet] = useState(new NXLogicConfirmNode(2)); + const [loadFactorReset] = useState(new NXLogicConfirmNode(5)); + const [loadFactorVisible] = useState(new NXLogicMemoryNode()); + + useEffect(() => { + setAirDataSource(getSupplier(undefined, airDataSwitch)); + }, [airDataSwitch]); + + useEffect(() => { + setInertialSource(getSupplier(undefined, attHdgSwitch)); + }, [attHdgSwitch]); + + useUpdate((deltaTime) => { + const conditionsMet = loadFactor.value > 1.4 || loadFactor.value < 0.7; + const loadFactorSetValue = loadFactorSet.write(conditionsMet && loadFactor.isNormalOperation(), deltaTime); + const loadFactorResetValue = loadFactorReset.write(!conditionsMet || !loadFactor.isNormalOperation(), deltaTime); + const flightPhase = SimVar.GetSimVarValue('L:A32NX_FWC_FLIGHT_PHASE', 'Enum'); + + setLoadFactorVisibleElement( + flightPhase >= 4 + && flightPhase <= 8 + && loadFactorVisible.write(loadFactorSetValue, loadFactorResetValue), + ); + + let loadFactorText = 'XX'; + if (loadFactor.isNormalOperation()) { + const clamped = Math.min(Math.max(loadFactor.value, -3), 5); + loadFactorText = (clamped >= 0 ? '+' : '') + clamped.toFixed(1); + } + setLoadFactorText(loadFactorText); + }); + + useEffect(() => { + const baroMode = SimVar.GetSimVarValue('L:XMLVAR_Baro1_Mode', 'number'); + const isInStdMode = baroMode !== 0 && baroMode !== 1; + // As ISA relates to SAT, we cannot present ISA when SAT is unavailable. We might want to move this into + // Rust ADIRS code itself. + const isaShouldBeVisible = isInStdMode && isa.isNormalOperation() && sat.isNormalOperation(); + setIsaVisible(isaShouldBeVisible); + // this.isaContainer.setAttribute('visibility', isaShouldBeVisible ? 'visible' : 'hidden'); + + // this.setValueOnTemperatureElement(Math.round(isa.value), this.isaText); + }, [isa, sat]); + + /* let tat = Math.round(useSimVar('TOTAL AIR TEMPERATURE', 'celsius', 6000)[0]); + if (tat > 99 || tat < -99) { + tat = tat > 99 ? 99 : -99; + } + let sat = Math.round(useSimVar('AMBIENT TEMPERATURE', 'celsius', 6000)[0]); + if (sat > 99 || sat < -99) { + sat = sat > 99 ? 99 : -99; + } */ + + const satPrefix = sat.value > 0 ? '+' : ''; + const tatPrefix = tat.value > 0 ? '+' : ''; + const seconds = Math.floor(zulu); + const hours = Math.floor(seconds / 3600); + const minutes = Math.floor((seconds - (hours * 3600)) / 60); + const padMinutes = String(minutes).padStart(2, '0'); + const padHours = String(hours).padStart(2, '0'); + + const getPayloadWeight = (unit: string, payloadCount: number) => { + let payloadWeight = 0; + for (let i = 1; i <= payloadCount; i++) { + payloadWeight += SimVar.GetSimVarValue(`PAYLOAD STATION WEIGHT:${i}`, unit); + } + return payloadWeight; + }; + + useUpdate((_deltaTime) => { + const fuelWeight = SimVar.GetSimVarValue('FUEL TOTAL QUANTITY WEIGHT', 'kg'); + const emptyWeight = SimVar.GetSimVarValue('EMPTY WEIGHT', 'kg'); + const payloadCount = SimVar.GetSimVarValue('PAYLOAD STATION COUNT', 'number'); + + const gwUnit = NXUnits.userWeightUnit(); + const payloadWeight = getPayloadWeight(gwUnit, payloadCount); + const gw = Math.round(NXUnits.kgToUser(emptyWeight + fuelWeight + payloadWeight)); + + // if ((gw != this.currentGW) || (this.isOneEngineRunning != isOneEngineRunning) || _force) { + // this.currentGW = gw; + // this.isOneEngineRunning = isOneEngineRunning; + + if (eng1Running || eng2Running && gw != null) { + // Lower EICAS displays GW in increments of 100 + setGwDisplayedValue((Math.floor(gw / 100) * 100).toString()); + /* this.gwValue.classList.add('Value'); + this.gwValue.classList.remove('Cyan'); + this.gwValue.textContent = (Math.floor(gw / 100) * 100).toString(); */ + } else { + setGwDisplayedValue('--'); + } + setGwDisplayedUnit(gwUnit); + + /* if (gwUnit != this.currentGwUnit) { + this.currentGwUnit = gwUnit; + if (this.gwUnit != null) { + this.gwUnit.textContent = gwUnit; + } + } */ + }); + + return ( +
+ + + + + + + {/* Temperatures */} + + + TAT + + { !tat.isNormalOperation() + ? ( + + XX + + ) + : ( + + {tatPrefix} + {Math.round(tat.value)} + + )} + + °C + + + + SAT + + { !sat.isNormalOperation() + ? ( + + XX + + ) + : ( + + {satPrefix} + {Math.round(sat.value)} + + )} + + °C + + + {/* Time */} + + {padHours} + H + {padMinutes} + + {/* Gross weight */} + {(eng1Running || eng2Running) && ( + <> + + GW + + + {gwDisplayedValue} + + + {gwDisplayedUnit} + + + )} + + {!eng1Running && !eng2Running && ( + <> + + GW + + + {gwDisplayedValue} + + + {gwDisplayedUnit} + + + )} + + {/* ISA */} + {isaVisible && ( + <> + ISA + {Math.round(isa.value)} + °C + + + )} + + {loadFactorVisibleElement && ( + + G LOAD + {loadFactorText} + + )} + + +
+ ); +}; diff --git a/src/instruments/src/SD/Text/Text.scss b/src/instruments/src/SD/Text/Text.scss index 4976a92ed7b..c0f5b2d7b93 100644 --- a/src/instruments/src/SD/Text/Text.scss +++ b/src/instruments/src/SD/Text/Text.scss @@ -1,4 +1,4 @@ -@import "../../Common/definitions"; +@import "../Common/definitions.scss"; text.text-unit { fill: $display-cyan; @@ -24,4 +24,4 @@ text.text-big-value { text.text-title { fill: $display-white; font-size: $font-size-xlarge; -} \ No newline at end of file +} diff --git a/src/instruments/src/SD/Text/Text.jsx b/src/instruments/src/SD/Text/Text.tsx similarity index 97% rename from src/instruments/src/SD/Text/Text.jsx rename to src/instruments/src/SD/Text/Text.tsx index c80575c8077..94752c9ae4f 100644 --- a/src/instruments/src/SD/Text/Text.jsx +++ b/src/instruments/src/SD/Text/Text.tsx @@ -1,3 +1,4 @@ +import React from 'react'; import './Text.scss'; export const Text = (props) => { diff --git a/src/instruments/src/SD/config.json b/src/instruments/src/SD/config.json index 899622d8f02..b6d30d46d50 100644 --- a/src/instruments/src/SD/config.json +++ b/src/instruments/src/SD/config.json @@ -1,4 +1,4 @@ { - "index": "./index.jsx", + "index": "./index.tsx", "isInteractive": false } diff --git a/src/instruments/src/SD/index.jsx b/src/instruments/src/SD/index.jsx deleted file mode 100644 index 1a44310b260..00000000000 --- a/src/instruments/src/SD/index.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import ReactDOM from 'react-dom'; -import { useState } from 'react'; -import { - renderTarget, - useInteractionEvent, - useUpdate, - getSimVar, -} from '../util.js'; -import './style.scss'; -import { PagesContainer } from './PagesContainer.jsx'; -import { StatusArea } from './StatusArea/StatusArea.jsx'; - -function powerAvailable() { - return getSimVar('L:A32NX_ELEC_AC_2_BUS_IS_POWERED', 'Bool'); -} - -function SelfTest() { - return ( - - SELF TEST IN PROGRESS - (MAX 10 SECONDS) - - ); -} - -function Idle() { - const [inop, setInop] = useState(false); - - useInteractionEvent('A32NX_DCDU_BTN_INOP', () => { - if (!inop) { - setInop(true); - setTimeout(() => { - setInop(false); - }, 3000); - } - }); - - return ( - <> - - - - - - ); -} - -function SD() { - const [state, setState] = useState('DEFAULT'); - - useUpdate((_deltaTime) => { - if (state === 'OFF') { - if (powerAvailable()) { - setState('ON'); - } - } else if (!powerAvailable()) { - setState('OFF'); - } - }); - - switch (state) { - case 'DEFAULT': - if (getSimVar('L:A32NX_COLD_AND_DARK_SPAWN')) { - setState('OFF'); - } else { - setState('IDLE'); - } - return <>; - case 'OFF': - return <>; - case 'ON': - setTimeout(() => { - if (powerAvailable()) { - setState('IDLE'); - } - }, 8000); - return ; - case 'IDLE': - return ; - default: - throw new RangeError(); - } -} - -ReactDOM.render(, renderTarget); diff --git a/src/instruments/src/SD/index.tsx b/src/instruments/src/SD/index.tsx new file mode 100644 index 00000000000..12b6afa1bd7 --- /dev/null +++ b/src/instruments/src/SD/index.tsx @@ -0,0 +1,55 @@ +import { DisplayUnit } from '@instruments/common/displayUnit'; +import React, { useEffect, useState } from 'react'; +import { render } from '@instruments/common/index'; +import { useInteractionEvent } from '@instruments/common/hooks'; +import './style.scss'; + +import { useSimVar } from '@instruments/common/simVars'; +import { PagesContainer } from './PagesContainer'; +import { StatusArea } from './StatusArea/StatusArea'; + +const Idle = () => { + const [inop, setInop] = useState(false); + + const [doorVideoEnabledNow] = useSimVar('L:A32NX_OVHD_COCKPITDOORVIDEO_TOGGLE', 'Bool'); + const [doorVideoPressedNow] = useSimVar('L:PUSH_DOORPANEL_VIDEO', 'Bool'); + const [doorVideoVisible, setDoorVideoVisible] = useState(false); + + useEffect(() => { + if (doorVideoEnabledNow && doorVideoPressedNow) { + setDoorVideoVisible(true); + } else { + setDoorVideoVisible(false); + } + }, [doorVideoEnabledNow, doorVideoPressedNow]); + + useInteractionEvent('A32NX_DCDU_BTN_INOP', () => { + if (!inop) { + setInop(true); + setTimeout(() => { + setInop(false); + }, 3000); + } + }); + + return ( +
+ + + + + {doorVideoVisible && (
)} + + +
+ ); +}; + +render( + + + , +); diff --git a/src/instruments/src/SD/style.scss b/src/instruments/src/SD/style.scss index 0428b9fbec7..5aa3e4b4459 100644 --- a/src/instruments/src/SD/style.scss +++ b/src/instruments/src/SD/style.scss @@ -7,21 +7,31 @@ } .sd-svg { - position: absolute; - width: 768px; - height: 768px; - - background: radial-gradient( - ellipse at center, - rgba(13, 20, 35, 1) 0%, - rgb(13, 20, 35) 100% - ); - visibility: visible !important; font-family: "Ecam", monospace !important; } -text { - stroke-width: 0; +:root { + --bodyHeightScale: 1; +} + + +#Mainframe { + top: 0; + left: 0; + width: 100%; + height: 100%; + display: block; + position: relative; +} + +#door-video-wrapper { + position: absolute; + top: -5%; + width: 100%; + height: 82%; + z-index: 100; + background-image: url(/Pages/VCockpit/Instruments/A32NX/SD/DoorVideoResources/empty.png); + background-size: cover; }