8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Las grabaciones están deshabilitadas hasta que reinicies",
"restart_label": "Reiniciar back-end",
"restarting": "Reiniciar back-end",
"slave_instructions": "Esto parece ser un backend esclavo. Si está diseñado como un backend esclavo, deshabilite la programación en el backend msster mientras ejecuta la configuración del backend esclavo.",
"slave_enabled": "Las actualizaciones siempre están habilitadas en un backend esclavo.",
"slave_instructions": "Esto parece ser un backend esclavo. Si está diseñado como un backend esclavo, deshabilite la programación en el backend maestro mientras ejecuta la configuración del backend esclavo.",
"slave_warning": "Si esto no está diseñado como un backend esclavo, vaya a Configuración, General, Configuración del backend de la dirección del host y seleccione \"Este servidor es el backend maestro\" o establezca el identificador personalizado correcto en la página Configuración de la base de datos. Guarde y reinicie el backend,",
"title": "Configuración de MyTVTV",
"upcomingrec": "Próxima grabación: {{Title}} a las {{StartTime}}. Estado: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "La versión del esquema de la base de datos es desconocida",
"databaseSetup": "Configuración de la base de datos",
"dbname_help": "El nombre de la base de datos. Esto suele ser 'mythconverg'.",
"dbsetup": {
"havedb": "Tener la base de datos '{{Name}}'",
"havenotdb": "No tengo la base de datos '{{Name}}'",
"schemaver": "La versión del esquema de la base de datos es {{SchemaVersion}}"
},
"done": "hecho",
"enterDBLoginDetails": "Ingrese los datos de inicio de sesión de la base de datos",
"ignoremessages": "Ignore los mensajes que dicen \"No se puede cargar 'xxxxx' como zona horaria. Omitiéndolo\".",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/es_ES.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Las grabaciones están deshabilitadas hasta que reinicies",
"restart_label": "Reiniciar back-end",
"restarting": "Reiniciar back-end",
"slave_instructions": "Esto parece ser un backend esclavo. Si está diseñado como un backend esclavo, deshabilite la programación en el backend msster mientras ejecuta la configuración del backend esclavo.",
"slave_enabled": "Las actualizaciones siempre están habilitadas en un backend esclavo.",
"slave_instructions": "Esto parece ser un backend esclavo. Si está diseñado como un backend esclavo, deshabilite la programación en el backend maestro mientras ejecuta la configuración del backend esclavo.",
"slave_warning": "Si esto no está diseñado como un backend esclavo, vaya a Configuración, General, Configuración del backend de la dirección del host y seleccione \"Este servidor es el backend maestro\" o establezca el identificador personalizado correcto en la página Configuración de la base de datos. Guarde y reinicie el backend,",
"title": "Configuración de MyTVTV",
"upcomingrec": "Próxima grabación: {{Title}} a las {{StartTime}}. Estado: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "La versión del esquema de la base de datos es desconocida",
"databaseSetup": "Configuración de la base de datos",
"dbname_help": "El nombre de la base de datos. Esto suele ser 'mythconverg'.",
"dbsetup": {
"havedb": "Tener la base de datos '{{Name}}'",
"havenotdb": "No tengo la base de datos '{{Name}}'",
"schemaver": "La versión del esquema de la base de datos es {{SchemaVersion}}"
},
"done": "Hecho",
"enterDBLoginDetails": "Ingrese los datos de inicio de sesión de la base de datos",
"ignoremessages": "Ignore los mensajes que dicen \"No se puede cargar 'xxxxx' como zona horaria. Omitiéndolo\".",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/et.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Salvestus on keelatud kuni taaskäivitamiseni",
"restart_label": "Taaskäivitage taustaprogramm",
"restarting": "Taustaprogrammi taaskäivitamine",
"slave_instructions": "See näib olevat ori taustaprogramm. Kui see on ette nähtud alam-taustaprogrammiks, keelake alam-taustaprogrammi seadistamise ajal ajastamine mssteri taustaprogrammis.",
"slave_enabled": "Värskendused on alam-taustaprogrammis alati lubatud.",
"slave_instructions": "See näib olevat ori taustaprogramm. Kui see on ette nähtud alam-taustaprogrammiks, keelake alam-taustaprogrammi seadistamise ajal põhitaustaprogrammi ajastamine.",
"slave_warning": "Kui see pole mõeldud alluva taustaprogrammina, minge jaotisse Seadistamine, Üldine, Hostiaadressi taustaprogrammi häälestus ja valige \"See server on põhitaustaprogramm\" või määrake andmebaasi häälestuse lehel õige kohandatud identifikaator. Salvestage ja taaskäivitage taustaprogramm,",
"title": "MythTV seadistamine",
"upcomingrec": "Järgmine salvestus: {{Title}} kell {{StartTime}}. Olek: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Andmebaasi skeemi versioon pole teada",
"databaseSetup": "Andmebaasi häälestus",
"dbname_help": "Andmebaasi nimi. See on tavaliselt \"müüdikonverg\".",
"dbsetup": {
"havedb": "Kas teil on andmebaas „{{Name}}”.",
"havenotdb": "Teil pole andmebaasi „{{Name}}”.",
"schemaver": "Andmebaasi skeemi versioon on {{SchemaVersion}}"
},
"done": "Valmis",
"enterDBLoginDetails": "Sisestage andmebaasi sisselogimisandmed",
"ignoremessages": "Ignoreerige sõnumeid, mis ütlevad: \"Ajavööndina ei saa laadida 'xxxxx'. Jätame selle vahele.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/fi.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Tallentaminen on poissa käytöstä, kunnes käynnistät sen uudelleen",
"restart_label": "Käynnistä taustaohjelma uudelleen",
"restarting": "Backend käynnistetään uudelleen",
"slave_instructions": "Tämä näyttää olevan orja-taustaohjelma. Jos se on tarkoitettu orja-taustajärjestelmäksi, poista ajoitus käytöstä msster-taustajärjestelmässä, kun suoritat orjataustajärjestelmän asetuksia.",
"slave_enabled": "Päivitykset ovat aina käytössä orjataustajärjestelmässä.",
"slave_instructions": "Tämä näyttää olevan orja-taustaohjelma. Jos se on tarkoitettu orjataustaohjelmaksi, poista ajoitus käytöstä isäntätaustassa suorittaessasi orjataustajärjestelmän asetuksia.",
"slave_warning": "Jos tätä ei ole tarkoitettu orjataustajärjestelmäksi, siirry kohtaan Asetukset, Yleiset, Isäntäosoitteen taustajärjestelmän asetukset ja valitse \"Tämä palvelin on päätaustajärjestelmä\" tai aseta oikea mukautettu tunniste Tietokannan asetukset -sivulla. Tallenna ja käynnistä taustaohjelma uudelleen,",
"title": "MythTV:n asennus",
"upcomingrec": "Seuraava tuleva nauhoitus: {{Title}} klo {{StartTime}}. Tila: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Tietokantaskeeman versio on tuntematon",
"databaseSetup": "Tietokannan asetukset",
"dbname_help": "Tietokannan nimi. Tämä on yleensä \"mythconverg\".",
"dbsetup": {
"havedb": "Sinulla on tietokanta '{{Name}}'",
"havenotdb": "Sinulla ei ole '{{Name}}'-tietokantaa",
"schemaver": "Tietokantaskeeman versio on {{SchemaVersion}}"
},
"done": "Tehty",
"enterDBLoginDetails": "Anna tietokantaan kirjautumistiedot",
"ignoremessages": "Ohita viestit, joissa sanotaan \"xxxxx:n lataaminen aikavyöhykkeeksi epäonnistui. Ohitetaan.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/fr.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Les enregistrements sont désactivés jusqu'à ce que vous redémarriez",
"restart_label": "Redémarrer le backend",
"restarting": "Redémarrage du backend",
"slave_instructions": "Cela semble être un backend esclave. S'il est conçu comme un backend esclave, veuillez désactiver la planification sur le backend msster lors de l'exécution de la configuration du backend esclave.",
"slave_enabled": "Les mises à jour sont toujours activées sur un backend esclave.",
"slave_instructions": "Cela semble être un backend esclave. S'il est conçu comme un backend esclave, veuillez désactiver la planification sur le backend maître lors de l'exécution de la configuration du backend esclave.",
"slave_warning": "S'il ne s'agit pas d'un backend esclave, accédez à Configuration, Général, Configuration du backend de l'adresse de l'hôte et sélectionnez \"Ce serveur est le backend maître\" ou définissez l'identifiant personnalisé correct sur la page Configuration de la base de données. Enregistrez et redémarrez le backend,",
"title": "Configuration Myth TV",
"upcomingrec": "Prochain enregistrement à venir : {{Title}} à {{StartTime}}. Statut : {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "La version du schéma de la base de données est inconnue",
"databaseSetup": "Configuration de la base de données",
"dbname_help": "Le nom de la base de données. C'est généralement 'mythconverg'.",
"dbsetup": {
"havedb": "Avoir la base de données '{{Name}}'",
"havenotdb": "Ne pas avoir la base de données '{{Name}}'",
"schemaver": "La version du schéma de la base de données est {{SchemaVersion}}"
},
"done": "Terminé",
"enterDBLoginDetails": "Entrez les informations de connexion à la base de données",
"ignoremessages": "Ignorez les messages indiquant \"Impossible de charger 'xxxxx' comme fuseau horaire. Ignorer.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/he.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "ההקלטות מושבתות עד שתפעיל מחדש",
"restart_label": "הפעל מחדש את Backend",
"restarting": "הפעלה מחדש של Backend",
"slave_instructions": "נראה שזהו קצה עבד. אם זה נועד כ-slave backend, אנא השבת את התזמון ב-msster backend בזמן הפעלת ה-slave backend.",
"slave_enabled": "עדכונים מופעלים תמיד ב-slave backend.",
"slave_instructions": "נראה שזהו קצה עבד. אם הוא מיועד כ-slave backend, אנא השבת את התזמון ב-master backend בזמן הפעלת ה-slave backend.",
"slave_warning": "אם זה לא נועד כ-slave backend, עבור אל הגדרות, כללי, הגדרת קצה עורפי של כתובת מארח, ובחר \"שרת זה הוא ה-Master Backend\" או הגדר את המזהה המותאם אישית הנכון בדף הגדרת מסד הנתונים. שמור והפעל מחדש את הקצה האחורי,",
"title": "הגדרת MythTV",
"upcomingrec": "ההקלטה הקרובה הבאה: {{Title}} ב-{{StartTime}}. סטטוס: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "גרסת סכימת מסד הנתונים אינה ידועה",
"databaseSetup": "הגדרת מסד נתונים",
"dbname_help": "שם מסד הנתונים. זה בדרך כלל 'מיתוסים'.",
"dbsetup": {
"havedb": "יש לך מסד נתונים של '{{Name}}'",
"havenotdb": "אין לך מסד נתונים '{{Name}}'",
"schemaver": "גרסת סכימת מסד הנתונים היא {{SchemaVersion}}"
},
"done": "בוצע",
"enterDBLoginDetails": "הזן את פרטי הכניסה למסד הנתונים",
"ignoremessages": "התעלם מהודעות שאומרות \"לא ניתן לטעון את 'xxxxx' כאזור זמן. דילוג עליו.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/hr.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Snimke su onemogućene dok ponovno ne pokrenete",
"restart_label": "Ponovo pokrenite pozadinu",
"restarting": "Ponovno pokretanje pozadine",
"slave_instructions": "Čini se da je ovo pomoćna pozadina. Ako je namijenjen kao podređena pozadina, onemogućite zakazivanje na msster pozadini dok izvodite postavljanje podređene pozadine.",
"slave_enabled": "Ažuriranja su uvijek omogućena na pomoćnoj pozadini.",
"slave_instructions": "Čini se da je ovo pomoćna pozadina. Ako je namijenjen kao podređena pozadina, onemogućite zakazivanje na glavnoj pozadini dok izvodite postavljanje podređene pozadine.",
"slave_warning": "Ako ovo nije zamišljeno kao podređena pozadina, idite na Postavljanje, Općenito, Postavljanje pozadine adrese hosta i odaberite \"Ovaj poslužitelj je glavna pozadina\" ili pak postavite ispravan prilagođeni identifikator na stranici Postavljanje baze podataka. Spremite i ponovno pokrenite pozadinu,",
"title": "Postavljanje MythTV-a",
"upcomingrec": "Sljedeće nadolazeće snimanje: {{Title}} u {{StartTime}}. Status: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Verzija sheme baze podataka nije poznata",
"databaseSetup": "Postavljanje baze podataka",
"dbname_help": "Naziv baze podataka. To je obično 'mythconverg'.",
"dbsetup": {
"havedb": "Imati '{{Name}}' bazu podataka",
"havenotdb": "Nemate '{{Name}}' bazu podataka",
"schemaver": "Verzija sheme baze podataka je {{SchemaVersion}}"
},
"done": "Gotovo",
"enterDBLoginDetails": "Unesite podatke za prijavu u bazu podataka",
"ignoremessages": "Ignorirajte poruke koje kažu \"Nije moguće učitati 'xxxxx' kao vremensku zonu. Preskakanje.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/hu.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "A felvételek le vannak tiltva az újraindításig",
"restart_label": "Indítsa újra a Backendet",
"restarting": "Backend újraindítása",
"slave_instructions": "Ez egy szolga háttérprogramnak tűnik. Ha szolga háttérprogramnak szánja, kérjük, kapcsolja ki az ütemezést az msster háttérrendszeren, miközben a szolga háttérprogramot futtatja.",
"slave_enabled": "A frissítések mindig engedélyezve vannak a slave háttérrendszeren.",
"slave_instructions": "Ez egy szolga háttérprogramnak tűnik. Ha szolga háttérprogramnak szánja, tiltsa le az ütemezést a mester háttérrendszeren a szolga háttérprogram telepítése közben.",
"slave_warning": "Ha ezt nem szolga háttérprogramnak szánja, lépjen a Beállítás, Általános, Gazdacím-háttérbeállítás menüpontra, és válassza ki az \"Ez a kiszolgáló a fő háttérrendszer\" lehetőséget, vagy állítsa be a megfelelő egyéni azonosítót az Adatbázis beállítása oldalon. Mentse és indítsa újra a háttérprogramot,",
"title": "MythTV beállítása",
"upcomingrec": "Következő felvétel: {{Title}}, {{StartTime}}. Állapot: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Az adatbázisséma verziója ismeretlen",
"databaseSetup": "Adatbázis beállítása",
"dbname_help": "Az adatbázis neve. Ez általában „mítoszkonverg”.",
"dbsetup": {
"havedb": "Rendelkezik „{{Name}}” adatbázissal",
"havenotdb": "Nincs '{{Name}}' adatbázisa",
"schemaver": "Az adatbázisséma verziója: {{SchemaVersion}}"
},
"done": "Kesz",
"enterDBLoginDetails": "Adja meg az adatbázis bejelentkezési adatait",
"ignoremessages": "Hagyja figyelmen kívül azokat az üzeneteket, amelyek azt írják: „Nem sikerült betölteni az „xxxxx” időzónát. Kihagyom.",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/is.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Upptökur eru óvirkar þar til þú endurræsir",
"restart_label": "Endurræstu bakenda",
"restarting": "Endurræsir bakenda",
"slave_instructions": "Þetta virðist vera þrælabakendi. Ef það er ætlað sem þrælabakendi, vinsamlegast slökktu á tímasetningu á msster bakendanum meðan þú keyrir uppsetningu þrælabakendans.",
"slave_enabled": "Uppfærslur eru alltaf virkar á bakenda þræls.",
"slave_instructions": "Þetta virðist vera þrælabakendi. Ef það er ætlað sem þrælabakendi, vinsamlegast slökktu á tímasetningu á aðalbakendanum meðan þú keyrir uppsetningu þrælabakendans.",
"slave_warning": "Ef þetta er ekki ætlað sem þrælabakendi, vinsamlegast farðu í Uppsetning, Almennt, Uppsetning hýsingarfangs, og veldu „Þessi þjónn er aðalbakendi“ eða stilltu rétt sérsniðið auðkenni á gagnagrunnsuppsetningu síðunni. Vistaðu og endurræstu bakendann,",
"title": "MythTV uppsetning",
"upcomingrec": "Næsta væntanleg upptaka: {{Title}} kl. {{StartTime}}. Staða: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "La versione dello schema del database è sconosciuta",
"databaseSetup": "Configurazione del database",
"dbname_help": "Nafn gagnagrunnsins. Þetta er venjulega „mythconverg“.",
"dbsetup": {
"havedb": "Hafa '{{Name}}' gagnagrunn",
"havenotdb": "Ertu ekki með '{{Name}}' gagnagrunn",
"schemaver": "Útgáfa gagnagrunnsskema er {{SchemaVersion}}"
},
"done": "Fatto",
"enterDBLoginDetails": "Immettere i dettagli di accesso al database",
"ignoremessages": "Hunsa skilaboð sem segja \"Ekki er hægt að hlaða 'xxxxx' sem tímabelti. Sleppir því.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/it.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Le registrazioni sono disabilitate fino al riavvio",
"restart_label": "Riavvia il back-end",
"restarting": "Riavvio del backend",
"slave_instructions": "Questo sembra essere un backend slave. Se è inteso come back-end slave, disabilitare la pianificazione sul back-end msster durante l'esecuzione della configurazione del back-end slave.",
"slave_enabled": "Gli aggiornamenti sono sempre abilitati su un backend slave.",
"slave_instructions": "Questo sembra essere un backend slave. Se è inteso come back-end slave, disabilita la pianificazione sul back-end principale durante l'esecuzione della configurazione del back-end slave.",
"slave_warning": "Se questo non è inteso come back-end slave, vai a Configurazione, Generale, Configurazione back-end indirizzo host e seleziona \"Questo server è il back-end principale\" oppure imposta l'identificatore personalizzato corretto nella pagina Configurazione database. Salva e riavvia il backend,",
"title": "Installazione di MythTV",
"upcomingrec": "Prossima registrazione in arrivo: {{Title}} alle {{StartTime}}. Stato: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "La versione dello schema del database è sconosciuta",
"databaseSetup": "Configurazione del database",
"dbname_help": "Il nome del database. Di solito è 'mythconverg'.",
"dbsetup": {
"havedb": "Avere il database '{{Name}}'",
"havenotdb": "Non hai il database '{{Name}}'",
"schemaver": "La versione dello schema del database è {{SchemaVersion}}"
},
"done": "Fatto",
"enterDBLoginDetails": "Immettere i dettagli di accesso al database",
"ignoremessages": "Ignora i messaggi che dicono \"Impossibile caricare 'xxxxx' come fuso orario. Salto.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/ja.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "再起動するまで録音は無効になります",
"restart_label": "バックエンドの再起動",
"restarting": "バックエンドの再起動",
"slave_instructions": "これはスレーブ バックエンドであるようです。スレーブ バックエンドとして使用する場合は、スレーブ バックエンド セットアップの実行中に msster バックエンドのスケジューリングを無効にしてください。",
"slave_enabled": "更新は常にスレーブ バックエンドで有効になります。",
"slave_instructions": "これはスレーブ バックエンドであるようです。スレーブ バックエンドとして使用する場合は、スレーブ バックエンドのセットアップの実行中にマスター バックエンドのスケジューリングを無効にしてください。",
"slave_warning": "これがスレーブ バックエンドとして意図されていない場合は、[セットアップ]、[全般]、[ホスト アドレス バックエンド セットアップ] に移動し、[このサーバーはマスター バックエンドです] を選択するか、データベース セットアップ ページで正しいカスタム ID を設定してください。バックエンドを保存して再起動します。",
"title": "MythTV のセットアップ",
"upcomingrec": "次回の録画: {{Title}}、時刻: {{StartTime}}。ステータス: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "データベーススキーマのバージョンが不明です",
"databaseSetup": "データベースの設定",
"dbname_help": "データベースの名前。通常、これは「mythconverg」です。",
"dbsetup": {
"havedb": "「{{Name}}」データベースがある",
"havenotdb": "「{{Name}}」データベースがありません",
"schemaver": "データベース スキーマのバージョンは {{SchemaVersion}} です"
},
"done": "完了",
"enterDBLoginDetails": "データベースログインの詳細を入力します",
"ignoremessages": "「'xxxxx' をタイムゾーンとして読み込めません。スキップします。」というメッセージは無視してください。",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/nb.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Opptak er deaktivert til du starter på nytt",
"restart_label": "Start Backend på nytt",
"restarting": "Starter Backend på nytt",
"slave_instructions": "Dette ser ut til å være en slave-backend. Hvis det er ment som en slave-backend, vennligst deaktiver planlegging på msster-backend mens du kjører slave-backend-oppsett.",
"slave_enabled": "Oppdateringer er alltid aktivert på en slave-backend.",
"slave_instructions": "Dette ser ut til å være en slave-backend. Hvis det er ment som en slave-backend, vennligst deaktiver planlegging på master-backend mens du kjører slave-backend-oppsett.",
"slave_warning": "Hvis dette ikke er ment som en slave-backend, vennligst gå til Oppsett, Generelt, Host Address Backend Setup, og velg \"Denne serveren er Master Backend\" eller angi riktig egendefinert identifikator på Database Setup-siden. Lagre og start backend på nytt,",
"title": "MythTV-oppsett",
"upcomingrec": "Neste kommende opptak: {{Title}} kl. {{StartTime}}. Status: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Databaseskjemaversjonen er ukjent",
"databaseSetup": "Databaseoppsett",
"dbname_help": "Navnet på databasen. Dette er vanligvis 'mytekonverg'.",
"dbsetup": {
"havedb": "Har '{{Name}}' database",
"havenotdb": "Har ikke '{{Name}}'-database",
"schemaver": "Databaseskjemaversjonen er {{SchemaVersion}}"
},
"done": "FERDIG",
"enterDBLoginDetails": "Skriv inn påloggingsdetaljer for databasen",
"ignoremessages": "Ignorer meldinger som sier \"Kan ikke laste 'xxxxx' som tidssone. Hopp over den.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/nl.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Opnames zijn uitgeschakeld totdat u opnieuw opstart",
"restart_label": "Back-end opnieuw opstarten",
"restarting": "Backend opnieuw opstarten",
"slave_instructions": "Dit lijkt een slave-backend te zijn. Als het bedoeld is als een slave-backend, schakelt u planning op de msster-backend uit terwijl u de slave-backend-setup uitvoert.",
"slave_enabled": "Updates zijn altijd ingeschakeld op een slave-backend.",
"slave_instructions": "Dit lijkt een slave-backend te zijn. Als het bedoeld is als een slave-backend, schakelt u de planning op de master-backend uit terwijl u de slave-backend-installatie uitvoert.",
"slave_warning": "Als dit niet bedoeld is als een slave-backend, ga dan naar Setup, General, Host Address Backend Setup en selecteer \"This server is the Master Backend\" of stel anders de juiste aangepaste identifier in op de Database Setup-pagina. Bewaar en herstart de backend,",
"title": "MythTV-installatie",
"upcomingrec": "Eerstvolgende opname: {{Title}} om {{StartTime}}. Status: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "De versie van het databaseschema is onbekend",
"databaseSetup": "Database-instelling",
"dbname_help": "De naam van de databank. Dit is meestal 'mythconverg'.",
"dbsetup": {
"havedb": "Heb '{{Name}}'-database",
"havenotdb": "Heb geen '{{Name}}'-database",
"schemaver": "Databaseschemaversie is {{SchemaVersion}}"
},
"done": "Klaar",
"enterDBLoginDetails": "Voer de inloggegevens van de database in",
"ignoremessages": "Negeer berichten die zeggen \"Kan 'xxxxx' niet laden als tijdzone. Wordt overgeslagen.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/pl.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Nagrania są wyłączone do ponownego uruchomienia",
"restart_label": "Uruchom ponownie zaplecze",
"restarting": "Ponowne uruchamianie backendu",
"slave_instructions": "Wygląda na to, że jest to backend podrzędny. Jeśli ma służyć jako podrzędny backend, wyłącz planowanie na backendzie msster podczas uruchamiania konfiguracji podrzędnego backendu.",
"slave_enabled": "Aktualizacje są zawsze włączone na podrzędnym zapleczu.",
"slave_instructions": "Wygląda na to, że jest to backend podrzędny. Jeśli ma służyć jako podrzędny backend, wyłącz planowanie na głównym backendzie podczas uruchamiania konfiguracji podrzędnego backendu.",
"slave_warning": "Jeśli nie jest to zaplecze podrzędne, przejdź do Ustawienia, Ogólne, Konfiguracja zaplecza adresu hosta i wybierz „Ten serwer jest głównym zapleczem” lub ustaw poprawny niestandardowy identyfikator na stronie Konfiguracja bazy danych. Zapisz i uruchom ponownie backend,",
"title": "Konfiguracja MythTV",
"upcomingrec": "Następne nadchodzące nagranie: {{Title}} o {{StartTime}}. Stan: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Wersja schematu bazy danych jest nieznana",
"databaseSetup": "Konfiguracja bazy danych",
"dbname_help": "Nazwa bazy danych. Zwykle jest to „konwergencja mitów”.",
"dbsetup": {
"havedb": "Mieć bazę danych „{{Name}}”.",
"havenotdb": "Nie masz bazy danych „{{Name}}”.",
"schemaver": "Wersja schematu bazy danych to {{SchemaVersion}}"
},
"done": "Zrobione",
"enterDBLoginDetails": "Wprowadź dane logowania do bazy danych",
"ignoremessages": "Ignoruj ​​komunikaty o treści „Nie można załadować strefy czasowej „xxxxx”. Pomiń ją.",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/pt.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "As gravações são desativadas até você reiniciar",
"restart_label": "Reiniciar back-end",
"restarting": "Reiniciando o back-end",
"slave_instructions": "Isso parece ser um back-end escravo. Se for planejado como um back-end escravo, desative o agendamento no back-end msster enquanto estiver executando a configuração do back-end escravo.",
"slave_enabled": "As atualizações são sempre habilitadas em um back-end escravo.",
"slave_instructions": "Isso parece ser um back-end escravo. Se for destinado a um back-end escravo, desative o agendamento no back-end mestre enquanto executa a configuração do back-end escravo.",
"slave_warning": "Se isso não for um back-end escravo, vá para Configuração, Geral, Configuração do back-end do endereço do host e selecione \"Este servidor é o back-end mestre\" ou defina o identificador personalizado correto na página Configuração do banco de dados. Salve e reinicie o back-end,",
"title": "Configuração do MythTV",
"upcomingrec": "Próxima gravação: {{Title}} às {{StartTime}}. Estado: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "A versão do esquema do banco de dados é desconhecida",
"databaseSetup": "Configuração do banco de dados",
"dbname_help": "O nome do banco de dados. Isso geralmente é 'mitoconverg'.",
"dbsetup": {
"havedb": "Ter banco de dados '{{Name}}'",
"havenotdb": "Não tem banco de dados '{{Name}}'",
"schemaver": "A versão do esquema do banco de dados é {{SchemaVersion}}"
},
"done": "Feito",
"enterDBLoginDetails": "Digite os detalhes de login do banco de dados",
"ignoremessages": "Ignore as mensagens que dizem \"Não foi possível carregar 'xxxxx' como fuso horário. Ignorando.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/pt_BR.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "As gravações são desativadas até você reiniciar",
"restart_label": "Reiniciar back-end",
"restarting": "Reiniciando o back-end",
"slave_instructions": "Isso parece ser um back-end escravo. Se for planejado como um back-end escravo, desative o agendamento no back-end msster enquanto estiver executando a configuração do back-end escravo.",
"slave_enabled": "As atualizações são sempre habilitadas em um back-end escravo.",
"slave_instructions": "Isso parece ser um back-end escravo. Se for destinado a um back-end escravo, desative o agendamento no back-end mestre enquanto executa a configuração do back-end escravo.",
"slave_warning": "Se isso não for um back-end escravo, vá para Configuração, Geral, Configuração do back-end do endereço do host e selecione \"Este servidor é o back-end mestre\" ou defina o identificador personalizado correto na página Configuração do banco de dados. Salve e reinicie o back-end,",
"title": "Configuração do MythTV",
"upcomingrec": "Próxima gravação: {{Title}} às {{StartTime}}. Estado: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "A versão do esquema do banco de dados é desconhecida",
"databaseSetup": "Configuração do banco de dados",
"dbname_help": "O nome do banco de dados. Isso geralmente é 'mitoconverg'.",
"dbsetup": {
"havedb": "Ter banco de dados '{{Name}}'",
"havenotdb": "Não tem banco de dados '{{Name}}'",
"schemaver": "A versão do esquema do banco de dados é {{SchemaVersion}}"
},
"done": "Feito",
"enterDBLoginDetails": "Digite os detalhes de login do banco de dados",
"ignoremessages": "Ignore as mensagens que dizem \"Não foi possível carregar 'xxxxx' como fuso horário. Ignorando.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Записи отключены, пока вы не перезапустите",
"restart_label": "Перезапустить серверную часть",
"restarting": "Перезапуск бэкенда",
"slave_instructions": "Похоже, это подчиненный сервер. Если он предназначен для использования в качестве подчиненного серверного модуля, отключите планирование на серверном модуле msster во время установки подчиненного серверного модуля.",
"slave_enabled": "Обновления всегда включены на ведомом бэкэнде.",
"slave_instructions": "Похоже, это подчиненный сервер. Если он предназначен для использования в качестве ведомого бэкэнда, отключите планирование на ведущем бэкэнде во время настройки ведомого бэкенда.",
"slave_warning": "Если он не предназначен для использования в качестве ведомого бэкэнда, перейдите в «Настройка», «Общие», «Настройка бэкенда с адресом хоста» и выберите «Этот сервер является главным бэкендом» или установите правильный пользовательский идентификатор на странице «Настройка базы данных». Сохраните и перезапустите серверную часть,",
"title": "Настройка MythTV",
"upcomingrec": "Следующая предстоящая запись: {{Title}} в {{StartTime}}. Статус: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Версия схемы базы данных неизвестна",
"databaseSetup": "Настройка базы данных",
"dbname_help": "Имя базы данных. Обычно это «схождение мифов».",
"dbsetup": {
"havedb": "Иметь базу данных '{{Name}}'",
"havenotdb": "Нет базы данных '{{Name}}'",
"schemaver": "Версия схемы базы данных: {{SchemaVersion}}."
},
"done": "Сделанный",
"enterDBLoginDetails": "Введите данные для входа в базу данных",
"ignoremessages": "Игнорируйте сообщения, в которых говорится: «Невозможно загрузить «xxxxx» в качестве часового пояса. Пропускаю его».",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/sl.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Posnetki so onemogočeni, dokler znova ne zaženete",
"restart_label": "Znova zaženite zaledje",
"restarting": "Ponovni zagon zaledja",
"slave_instructions": "Zdi se, da je to podrejeno zaledje. Če je mišljeno kot podrejeno zaledje, onemogočite razporejanje na zaledju msster med izvajanjem nastavitve podrejenega zaledja.",
"slave_enabled": "Posodobitve so vedno omogočene na podrejenem zaledju.",
"slave_instructions": "Zdi se, da je to podrejeno zaledje. Če je mišljeno kot podrejeno zaledje, onemogočite razporejanje na glavnem zaledju med izvajanjem nastavitve podrejenega zaledja.",
"slave_warning": "Če to ni predvideno kot podrejeno zaledje, pojdite na Nastavitve, Splošno, Nastavitev zaledja naslova gostitelja in izberite »Ta strežnik je glavno zaledje« ali pa nastavite pravilen identifikator po meri na strani z nastavitvami baze podatkov. Shranite in znova zaženite zaledje,",
"title": "Nastavitev MythTV",
"upcomingrec": "Naslednji prihajajoči posnetek: {{Title}} ob {{StartTime}}. Status: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Različica sheme baze podatkov ni znana",
"databaseSetup": "Nastavitev baze podatkov",
"dbname_help": "Ime baze podatkov. To je običajno 'mythconverg'.",
"dbsetup": {
"havedb": "Imeti bazo podatkov '{{Name}}'",
"havenotdb": "Nima podatkovne zbirke '{{Name}}'",
"schemaver": "Različica sheme baze podatkov je {{SchemaVersion}}"
},
"done": "Končano",
"enterDBLoginDetails": "Vnesite podatke za prijavo v bazo podatkov",
"ignoremessages": "Prezrite sporočila, ki pravijo: »Ni mogoče naložiti 'xxxxx' kot časovni pas. Preskočim ga.«",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/sv.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Inspelningar är inaktiverade tills du startar om",
"restart_label": "Starta om Backend",
"restarting": "Startar om backend",
"slave_instructions": "Detta verkar vara en slavbackend. Om den är avsedd som en slavbackend, inaktivera schemaläggning på msster-backend medan du kör slavbackend-installation.",
"slave_enabled": "Uppdateringar är alltid aktiverade på en slavbackend.",
"slave_instructions": "Detta verkar vara en slavbackend. Om den är avsedd som en slavbackend, inaktivera schemaläggning på masterbackend medan du kör slavbackend-installation.",
"slave_warning": "Om detta inte är avsett som en slavbackend, gå till Setup, General, Host Address Backend Setup och välj \"Den här servern är Master Backend\" eller ställ in rätt anpassad identifierare på Databas Setup-sidan. Spara och starta om backend,",
"title": "MythTV Setup",
"upcomingrec": "Nästa kommande inspelning: {{Title}} kl. {{StartTime}}. Status: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Databasschemaversionen är okänd",
"databaseSetup": "Databasinställningar",
"dbname_help": "Namnet på databasen. Detta är vanligtvis 'mythconverg'.",
"dbsetup": {
"havedb": "Har databas '{{Name}}'",
"havenotdb": "Har inte '{{Name}}' databas",
"schemaver": "Databasschemaversionen är {{SchemaVersion}}"
},
"done": "Gjort",
"enterDBLoginDetails": "Ange databasens inloggningsuppgifter",
"ignoremessages": "Ignorera meddelanden som säger \"Det går inte att ladda 'xxxxx' som tidszon. Hoppa över det.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/tr.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "Siz yeniden başlatana kadar kayıtlar devre dışı bırakılır",
"restart_label": "Arka Ucu Yeniden Başlat",
"restarting": "Arka Ucu Yeniden Başlatma",
"slave_instructions": "Bu bir bağımlı arka uç gibi görünüyor. Köle arka uç olarak amaçlanıyorsa, lütfen bağımlı arka uç kurulumunu çalıştırırken msster arka ucunda planlamayı devre dışı bırakın.",
"slave_enabled": "Güncellemeler, bağımlı bir arka uçta her zaman etkindir.",
"slave_instructions": "Bu bir bağımlı arka uç gibi görünüyor. Bir bağımlı arka uç olarak amaçlanıyorsa, lütfen bağımlı arka uç kurulumunu çalıştırırken ana arka uçta planlamayı devre dışı bırakın.",
"slave_warning": "Bu bir bağımlı arka uç olarak tasarlanmadıysa, lütfen Kurulum, Genel, Ana Bilgisayar Adresi Arka Uç Kurulumu'na gidin ve \"Bu sunucu Ana Arka Uçtur\" seçeneğini seçin veya Veritabanı Kurulumu sayfasında doğru özel tanımlayıcıyı ayarlayın. Arka ucu kaydedin ve yeniden başlatın,",
"title": "MythTV Kurulumu",
"upcomingrec": "Sıradaki kayıt: {{Title}}, {{StartTime}}. Durum: {{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "Veritabanı şeması sürümü bilinmiyor",
"databaseSetup": "Veritabanı Kurulumu",
"dbname_help": "Veritabanının adı. Bu genellikle 'mythconverg'dir.",
"dbsetup": {
"havedb": "'{{Name}}' veritabanına sahip olun",
"havenotdb": "'{{Name}}' veritabanına sahip değil",
"schemaver": "Veritabanı şeması sürümü: {{SchemaVersion}}"
},
"done": "Tamamlamak",
"enterDBLoginDetails": "Veritabanı oturum açma ayrıntılarını girin",
"ignoremessages": "\"'xxxxx' saat dilimi olarak yüklenemiyor. Atlanıyor.\"",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/zh_CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "录音将被禁用,直到您重新启动为止",
"restart_label": "重启后端",
"restarting": "重启后端",
"slave_instructions": "这似乎是一个从属后端。如果它打算作为从属后端,请在运行从属后端设置时禁用 msster 后端上的调度。",
"slave_enabled": "从属后端始终启用更新。",
"slave_instructions": "这似乎是一个从属后端。如果它打算作为从后端,请在运行从后端设置时禁用主后端上的调度。",
"slave_warning": "如果这不是作为从属后端,请转至“设置”、“常规”、“主机地址后端设置”,然后选择“此服务器是主后端”,或者在“数据库设置”页面上设置正确的自定义标识符。保存并重新启动后端,",
"title": "神话电视设置",
"upcomingrec": "下一个即将录制的节目:{{Title}},时间:{{StartTime}}。状态:{{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "数据库架构版本未知",
"databaseSetup": "数据库设置",
"dbname_help": "数据库的名称。这通常是“神话汇聚”。",
"dbsetup": {
"havedb": "拥有“{{Name}}”数据库",
"havenotdb": "没有“{{Name}}”数据库",
"schemaver": "数据库架构版本是 {{SchemaVersion}}"
},
"done": "完毕",
"enterDBLoginDetails": "输入数据库登录详细信息",
"ignoremessages": "忽略显示“无法加载‘xxxxx’作为时区。跳过它。”的消息。",
Expand Down
8 changes: 7 additions & 1 deletion mythtv/html/assets/i18n/zh_HK.json
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,8 @@
"restart_desc": "錄音將被禁用,直到您重新啟動為止",
"restart_label": "重啟後端",
"restarting": "重啟後端",
"slave_instructions": "這似乎是一個從屬後端。如果它打算作為從屬後端,請在運行從屬後端設置時禁用 msster 後端上的調度。",
"slave_enabled": "從屬後端始終啟用更新。",
"slave_instructions": "這似乎是一個從屬後端。如果它打算作為從後端,請在運行從後端設置時禁用主後端上的調度。",
"slave_warning": "如果這不是作為從屬後端,請轉至“設置”、“常規”、“主機地址後端設置”,然後選擇“此服務器是主後端”,或者在“數據庫設置”頁面上設置正確的自定義標識符。保存並重新啟動後端,",
"title": "神話電視設置",
"upcomingrec": "下一個即將錄製的節目:{{Title}},時間:{{StartTime}}。狀態:{{Status}}"
Expand Down Expand Up @@ -1223,6 +1224,11 @@
"databaseSchemaUnknown": "數據庫架構版本未知",
"databaseSetup": "數據庫設置",
"dbname_help": "數據庫的名稱。這通常是“神話匯聚”。",
"dbsetup": {
"havedb": "擁有“{{Name}}”數據庫",
"havenotdb": "沒有“{{Name}}”數據庫",
"schemaver": "數據庫架構版本是 {{SchemaVersion}}"
},
"done": "完畢",
"enterDBLoginDetails": "輸入數據庫登錄詳細信息",
"ignoremessages": "忽略顯示“無法加載‘xxxxx’作為時區。跳過它。”的消息。",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,19 @@
<p-button class="pr-5 pb-1 pt-0 m-0" label="{{ 'settings.main.restart_label' | translate }}" icon="pi pi-save" iconPos="left"
(onClick)="restart();"></p-button>
</div>
<div class="flex align-items-center" *ngIf="masterServerName == hostName">
<div class="flex align-items-center" *ngIf="!masterServerName || !hostName || masterServerName == hostName">
<div class="text-pink-500">{{ 'settings.main.restart_desc' | translate }}</div>
</div>
<div class="flex align-items-center" *ngIf="masterServerName != hostName">Updates are always enabled on a slave backend.</div>
<div class="flex align-items-center" *ngIf="masterServerName && hostName && masterServerName != hostName">
{{ 'settings.main.slave_enabled' | translate }}</div>
</div>
<div>
<small *ngIf="upComing.length > 0" class="pb-0 m-0">
{{ 'settings.main.upcomingrec' |
translate: { Title: upComing[0].Title, StartTime: recStartTime, Status: recStatusDesc } }}
</small>
</div>
<div *ngIf="masterServerName != hostName && retryCount == 0">
<div *ngIf="masterServerName && hostName && masterServerName != hostName && retryCount == 0">
<p>{{ 'settings.main.slave_instructions' | translate }}
</p>
<p>{{ 'settings.main.slave_warning' | translate }}
Expand All @@ -35,7 +36,7 @@
<p-message *ngIf="retryCount > 0" severity="info"
text="{{ 'settings.main.restarting' | translate }}"></p-message>
<p>
<p-message *ngIf="this.errorCount > 0 && retryCount == 0" severity="error"
<p-message *ngIf="!setupService.isDatabaseIgnored && this.errorCount > 0 && retryCount == 0" severity="error"
text="{{ 'common.networkfail' | translate }}"></p-message>
</p>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ export class BackendWarningComponent implements OnInit {
}

getBackendInfo() {
this.errorCount = 0;
if (this.retryCount == 0)
this.errorCount = 0;
this.ready = false;
this.recStatusDesc = '';
this.recStartTime = '';
Expand Down Expand Up @@ -66,16 +67,28 @@ export class BackendWarningComponent implements OnInit {
else
this.wizardService.wizardItems = this.wizardService.fullMenu;
this.wizardService.getWizardData();
this.retryCount = 0;
setTimeout(() => this.getUpcoming(), this.delay);
this.delay = 0;
if (this.retryCount > 0 && this.errorCount > 0) {
// a succssful restart was done
this.retryCount = 0;
this.errorCount = 0;
}
else if (this.retryCount > 0 && this.errorCount == 0)
// we are waiting for the shutdown that is
// part of a restart
setTimeout(() => this.getBackendInfo(), 2000);
if (this.retryCount == 0) {
// successful restart or no restart
setTimeout(() => this.getUpcoming(), this.delay);
this.delay = 0;
}
},
error: () => {
// default to true in case backend is down
this.setupService.schedulingEnabled = true;
this.errorCount++;
if (this.errorCount < this.retryCount)
setTimeout(() => this.getBackendInfo(), 5000);
// shutdowsn doen, waiting for restart
setTimeout(() => this.getBackendInfo(), 2000);
else
this.retryCount = 0;
}
Expand Down Expand Up @@ -116,7 +129,7 @@ export class BackendWarningComponent implements OnInit {
.subscribe({
next: data => {
if (data.bool) {
this.retryCount = 5;
this.retryCount = 12;
this.getBackendInfo();
}
else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<div class="field col-12 md:col-6">
<label for="ipaddress" class="label block">{{ 'setupwizard.MySQLServerIP' | translate }}</label>
<input pInputText id="ipaddress" type="text" aria-describedby="ipaddress-help"
[(ngModel)]="m_wizardData.Database.Host" name="hostname" #host="ngModel"
[(ngModel)]="database.Host" name="hostname" #host="ngModel"
class="mb-2 form-control w-full" [ngClass]="{'is-invalid': host.invalid }"
placeholder="Ex. 127.0.0.1 or localhost" required />
<small id="ipaddress-help">{{ 'setupwizard.ipaddress_help' | translate }}</small>
Expand All @@ -26,7 +26,7 @@
<div class="field col-12 md:col-6">
<label for="port" class="label block">{{ 'setupwizard.MySQLServerPort' | translate }}</label>
<input pInputText id="port" type="number" aria-describedby="port-help"
[(ngModel)]="m_wizardData.Database.Port" name="port" #port="ngModel"
[(ngModel)]="database.Port" name="port" #port="ngModel"
class=" mb-2 form-control w-full" placeholder="Ex. 3306" min="0" max="65536" />
<small id="port-help">{{ 'setupwizard.port_help' | translate }}</small>
<div *ngIf="port.invalid && (port.dirty || port.touched)">
Expand All @@ -37,7 +37,7 @@
<div class="field col-12 md:col-6">
<label for="user" class="label block">{{ 'setupwizard.MySQLUser' | translate }}</label>
<input pInputText id="user" type="text" aria-describedby="user-help"
[(ngModel)]="m_wizardData.Database.UserName" name="user" #user="ngModel"
[(ngModel)]="database.UserName" name="user" #user="ngModel"
class="mb-2 form-control w-full" placeholder="Ex. mythtv" required />
<small id="user-help">{{ 'setupwizard.user_help' | translate }}</small>
<div *ngIf="user.invalid && (user.dirty || user.touched)">
Expand All @@ -47,7 +47,7 @@
<div class="field col-12 md:col-6">
<label for="password" class="label block">{{ 'setupwizard.MySQLPassword' | translate }}</label>
<input pInputText id="password" type="text" aria-describedby="password-help"
[(ngModel)]="m_wizardData.Database.Password" name="password" #password="ngModel"
[(ngModel)]="database.Password" name="password" #password="ngModel"
class="mb-2 form-control w-full" placeholder="Ex. mythtv" required />
<small id="password-help">{{ 'setupwizard.password_help' | translate }}</small>
<div *ngIf="password.invalid && (password.dirty || password.touched)">
Expand All @@ -58,7 +58,7 @@
<div class="field col-12 md:col-6">
<label for="dbname" class="label block">{{ 'setupwizard.MySQLDatabaseName' | translate }}</label>
<input pInputText id="dbname" type="text" aria-describedby="dbname-help"
[(ngModel)]="m_wizardData.Database.Name" name="dbname" #dbname="ngModel"
[(ngModel)]="database.Name" name="dbname" #dbname="ngModel"
class="mb-2 form-control w-full" placeholder="Ex. mythconverg" required />
<small id="dbname-help">{{ 'setupwizard.dbname_help' | translate }}</small>
<div *ngIf="dbname.invalid && (dbname.dirty || dbname.touched)">
Expand All @@ -67,7 +67,7 @@
</div>

<div class="field col-12">
<p-checkbox [(ngModel)]="m_wizardData.Database.LocalEnabled" name="LocalEnabled"
<p-checkbox [(ngModel)]="database.LocalEnabled" name="LocalEnabled"
class="mb-2 w-full label block" [binary]="true"
label="{{ 'setupwizard.LocalEnabled_label' | translate }}">
</p-checkbox>
Expand All @@ -76,17 +76,17 @@
</small>
</div>

<div class="field col-12" *ngIf="m_wizardData.Database.LocalEnabled">
<div class="field col-12" *ngIf="database.LocalEnabled">
<label for="LocalHostName" class="label block">{{ 'setupwizard.LocalHostName_label' | translate
}}</label>
<input pInputText id="LocalHostName" type="text" aria-describedby="LocalHostName-help"
[(ngModel)]="m_wizardData.Database.LocalHostName" name="LocalHostName" #LocalHostName="ngModel"
[(ngModel)]="database.LocalHostName" name="LocalHostName" #LocalHostName="ngModel"
class="mb-2 form-control w-full" />
<small id="LocalHostName-help">{{ 'setupwizard.LocalHostName_desc' | translate }}</small>
</div>

<div class="field col-12">
<p-checkbox [(ngModel)]="m_wizardData.Database.WOLEnabled" name="WOLEnabled"
<p-checkbox [(ngModel)]="database.WOLEnabled" name="WOLEnabled"
class="mb-2 w-full label block" [binary]="true"
label="{{ 'setupwizard.WOLEnabled_label' | translate }}">
</p-checkbox>
Expand All @@ -95,34 +95,34 @@
</small>
</div>

<div class="field col-12 md:col-6" *ngIf="m_wizardData.Database.WOLEnabled">
<div class="field col-12 md:col-6" *ngIf="database.WOLEnabled">
<label for="WOLReconnect" class="label block">
{{ 'settings.vsource.WOLReconnect_label' | translate }}
</label>
<p-inputNumber [(ngModel)]="m_wizardData.Database.WOLReconnect" name="WOLReconnect"
<p-inputNumber [(ngModel)]="database.WOLReconnect" name="WOLReconnect"
id="WOLReconnect" [min]="0" [max]="60" [step]="1" [useGrouping]="false" [showButtons]="true">
</p-inputNumber>
<small class="block">
{{ 'settings.vsource.WOLReconnect_desc' | translate }}
</small>
</div>

<div class="field col-12 md:col-6" *ngIf="m_wizardData.Database.WOLEnabled">
<div class="field col-12 md:col-6" *ngIf="database.WOLEnabled">
<label for="WOLRetry" class="label block">
{{ 'settings.vsource.WOLRetry_label' | translate }}
</label>
<p-inputNumber [(ngModel)]="m_wizardData.Database.WOLRetry" name="WOLRetry" id="WOLRetry" [min]="1"
<p-inputNumber [(ngModel)]="database.WOLRetry" name="WOLRetry" id="WOLRetry" [min]="1"
[max]="10" [step]="1" [useGrouping]="false" [showButtons]="true">
</p-inputNumber>
<small class="block">
{{ 'settings.vsource.WOLRetry_desc' | translate }}
</small>
</div>

<div class="field col-12" *ngIf="m_wizardData.Database.WOLEnabled">
<div class="field col-12" *ngIf="database.WOLEnabled">
<label for="WOLCommand" class="label block">{{ 'setupwizard.WOLCommand_label' | translate }}</label>
<input pInputText id="WOLCommand" type="text" aria-describedby="WOLCommand-help"
[(ngModel)]="m_wizardData.Database.WOLCommand" name="WOLCommand" #WOLCommand="ngModel"
[(ngModel)]="database.WOLCommand" name="WOLCommand" #WOLCommand="ngModel"
class="mb-2 form-control w-full" />
<small id="WOLCommand-help">{{ 'setupwizard.WOLCommand_desc' | translate }}</small>
</div>
Expand Down Expand Up @@ -151,21 +151,22 @@
<!-- have database -->
<div *ngIf="m_wizardData.DatabaseStatus.DatabaseStatus.HaveDatabase else nodatabase">
<p-message class="pr-2" severity="success"
text="Have '{{m_wizardData.Database.Name}}' database"></p-message>
text="{{ 'setupwizard.dbsetup.havedb' | translate : {Name: m_wizardData.Database.Name} }}"></p-message>
</div>

<ng-template #nodatabase>
<div #nodatabase class="pr-2 nodatabase">
<p-message severity="error"
text="Do not have '{{m_wizardData.Database.Name}}' database"></p-message>
text="{{ 'setupwizard.dbsetup.havenotdb' | translate: {Name: m_wizardData.Database.Name} }}"></p-message>
</div>
</ng-template>

<!-- schema version -->
<div
*ngIf="m_wizardData.DatabaseStatus.DatabaseStatus.Connected && m_wizardData.DatabaseStatus.DatabaseStatus.HaveDatabase else noschema">
<p-message class="pr-2" severity="info"
text="Database schema version is {{m_wizardData.DatabaseStatus.DatabaseStatus.SchemaVersion}}"></p-message>
text="{{ 'setupwizard.dbsetup.schemaver'
| translate: {SchemaVersion: m_wizardData.DatabaseStatus.DatabaseStatus.SchemaVersion} }}"></p-message>
</div>

<ng-template #noschema>
Expand All @@ -175,7 +176,6 @@
</div>
</ng-template>
</div>
<!-- <div *ngIf="connectionFail"> -->
<div *ngIf="setupService.isDatabaseIgnored">
<h2>{{ 'common.instructions' | translate }}</h2>
<div *ngIf="connectionFail">
Expand Down Expand Up @@ -225,9 +225,6 @@ <h2>{{ 'common.instructions' | translate }}</h2>
</table>
</div>

<!-- <div
*ngIf="connectionFail || m_wizardData.DatabaseStatus.DatabaseStatus.Connected && !this.setupService.DBTimezoneSupport">
<h3>Instructions</h3> -->
<p class=>{{ 'setupwizard.tztables' | translate }}</p>
<table>
<tr>
Expand All @@ -245,11 +242,6 @@ <h3>Instructions</h3> -->
</p>
<p>{{ 'setupwizard.savethis' | translate }}</p>
<p>{{ 'setupwizard.restartbe' | translate }}</p>
<!-- </div>
<div
*ngIf="successCount > 0 && successCount == expectedCount && errorCount == 0 && !databaseForm.dirty && setupService.isDatabaseIgnored">
<h2>Instructions</h2> -->
<!-- <p>{{ 'setupwizard.restartbe' | translate }}</p> -->
</div>


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { MythService } from '../../../services/myth.service';
import { WizardData } from '../../../services/interfaces/wizarddata.interface';
import { SetupWizardService } from '../../../services/setupwizard.service';
import { MessageService } from 'primeng/api';
import { TestDBSettingsRequest } from 'src/app/services/interfaces/myth.interface';
import { Database, TestDBSettingsRequest } from 'src/app/services/interfaces/myth.interface';
import { TranslateService } from '@ngx-translate/core';
import { NgForm } from '@angular/forms';
import { Observable, of } from 'rxjs';
Expand All @@ -24,6 +24,8 @@ export class DbsetupComponent implements OnInit {
@ViewChild("databaseForm") currentForm!: NgForm;

m_wizardData!: WizardData;
database!: Database;
// testDbName = '';

successCount = 0;
errorCount = 0;
Expand Down Expand Up @@ -57,6 +59,16 @@ export class DbsetupComponent implements OnInit {
ngOnInit(): void {
this.wizardService.initDatabaseStatus();
this.m_wizardData = this.wizardService.getWizardData();
// This copies the default values so the html does not fail to find
// anything.
this.database = Object.assign({}, this.m_wizardData.Database);
this.wizardService.dbPromise.then(() => {
// Once the database is read, this copies the actualt values
this.database = Object.assign({}, this.m_wizardData.Database);
// this.testDbName = this.database.Name;
},
() => this.errorCount++,
)
}

copyToclipboard(value: string): void {
Expand Down Expand Up @@ -88,17 +100,18 @@ export class DbsetupComponent implements OnInit {
this.expectedCount = 1;
this.connectionFail = false;
const params: TestDBSettingsRequest = {
HostName: this.m_wizardData.Database.Host,
UserName: this.m_wizardData.Database.UserName,
Password: this.m_wizardData.Database.Password,
DBName: this.m_wizardData.Database.Name,
dbPort: this.m_wizardData.Database.Port
HostName: this.database.Host,
UserName: this.database.UserName,
Password: this.database.Password,
DBName: this.database.Name,
dbPort: this.database.Port
}
// this.testDbName = this.database.Name;
this.commandlist = '';
this.mythService.TestDBSettings(params).subscribe(result => {
if (result.bool) {
if (doSave) {
this.configService.SetDatabaseCredentials(this.m_wizardData.Database)
this.configService.SetDatabaseCredentials(this.database)
.subscribe(this.saveObserver);
}
else
Expand All @@ -117,11 +130,11 @@ export class DbsetupComponent implements OnInit {
if (this.dbtype == 'MySQL')
pwType = 'WITH mysql_native_password';
this.commandlist =
`CREATE DATABASE IF NOT EXISTS ${this.m_wizardData.Database.Name};\n` +
`CREATE USER IF NOT EXISTS '${this.m_wizardData.Database.UserName}'@'localhost' IDENTIFIED ${pwType} by '${this.m_wizardData.Database.Password}';\n` +
`CREATE USER IF NOT EXISTS '${this.m_wizardData.Database.UserName}'@'%' IDENTIFIED ${pwType} by '${this.m_wizardData.Database.Password}';\n` +
`GRANT ALL ON ${this.m_wizardData.Database.Name}.* TO '${this.m_wizardData.Database.UserName}'@'localhost';\n` +
`GRANT ALL ON ${this.m_wizardData.Database.Name}.* TO '${this.m_wizardData.Database.UserName}'@'%';`
`CREATE DATABASE IF NOT EXISTS ${this.database.Name};\n` +
`CREATE USER IF NOT EXISTS '${this.database.UserName}'@'localhost' IDENTIFIED ${pwType} by '${this.database.Password}';\n` +
`CREATE USER IF NOT EXISTS '${this.database.UserName}'@'%' IDENTIFIED ${pwType} by '${this.database.Password}';\n` +
`GRANT ALL ON ${this.database.Name}.* TO '${this.database.UserName}'@'localhost';\n` +
`GRANT ALL ON ${this.database.Name}.* TO '${this.database.UserName}'@'%';`
}

confirm(message?: string): Observable<boolean> {
Expand Down
41 changes: 25 additions & 16 deletions mythtv/html/backend/src/app/services/setupwizard.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ export class SetupWizardService implements OnInit {
ngOnInit(): void {
}

dbPromise!: Promise<any>;

Init(): void {
this.initDatabaseStatus();
this.initLanguages();
Expand All @@ -74,22 +76,29 @@ export class SetupWizardService implements OnInit {
}

initDatabaseStatus() {
this.configService.GetDatabaseStatus().subscribe(
result => {
this.m_wizardData.DatabaseStatus = result;
this.m_wizardData.Database.Host = result.DatabaseStatus.Host;
this.m_wizardData.Database.Port = result.DatabaseStatus.Port;
this.m_wizardData.Database.UserName = result.DatabaseStatus.UserName;
this.m_wizardData.Database.Password = result.DatabaseStatus.Password;
this.m_wizardData.Database.Name = result.DatabaseStatus.Name;
this.m_wizardData.Database.LocalEnabled = result.DatabaseStatus.LocalEnabled;
this.m_wizardData.Database.WOLEnabled = result.DatabaseStatus.WOLEnabled;
this.m_wizardData.Database.WOLReconnect = result.DatabaseStatus.WOLReconnect;
this.m_wizardData.Database.WOLRetry = result.DatabaseStatus.WOLRetry;
this.m_wizardData.Database.WOLCommand = result.DatabaseStatus.WOLCommand;
},
(err: HttpErrorResponse) => { console.log("Failed to get database status", err.statusText); }
);
this.dbPromise = new Promise((resolve, reject) => {
this.configService.GetDatabaseStatus().subscribe(
result => {
this.m_wizardData.DatabaseStatus = result;
this.m_wizardData.Database.Host = result.DatabaseStatus.Host;
this.m_wizardData.Database.Port = result.DatabaseStatus.Port;
this.m_wizardData.Database.UserName = result.DatabaseStatus.UserName;
this.m_wizardData.Database.Password = result.DatabaseStatus.Password;
this.m_wizardData.Database.Name = result.DatabaseStatus.Name;
this.m_wizardData.Database.LocalEnabled = result.DatabaseStatus.LocalEnabled;
this.m_wizardData.Database.LocalHostName = result.DatabaseStatus.LocalHostName;
this.m_wizardData.Database.WOLEnabled = result.DatabaseStatus.WOLEnabled;
this.m_wizardData.Database.WOLReconnect = result.DatabaseStatus.WOLReconnect;
this.m_wizardData.Database.WOLRetry = result.DatabaseStatus.WOLRetry;
this.m_wizardData.Database.WOLCommand = result.DatabaseStatus.WOLCommand;
resolve(true);
},
(err: HttpErrorResponse) => {
console.log("Failed to get database status", err.statusText);
reject(true);
}
);
});
}

initLanguages() {
Expand Down