diff --git a/LogarithmPlotter/i18n/lp_de.ts b/LogarithmPlotter/i18n/lp_de.ts index 1b73dd9..1cc2c48 100644 --- a/LogarithmPlotter/i18n/lp_de.ts +++ b/LogarithmPlotter/i18n/lp_de.ts @@ -821,62 +821,6 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Verbessern - - bodemagnitude - - - Bode Magnitude - Bode-Magnitude - - - - Bode Magnitudes - Bode-Magnituden - - - - - low-pass - Tiefpass - - - - - high-pass - Hochpass - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - Bode-Magnituden Summe - - - - bodephase - - - Bode Phase - Bode-Phase - - - - Bode Phases - Bode-Phasen - - - - bodephasesum - - - - Bode Phases Sum - Bode-Phasen Summe - - changelog @@ -912,7 +856,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" Die folgenden Parameter werden verwendet, wenn der Definitionsbereich eine nicht kontinuierliche Menge ist. (Beispiel: ℕ, ℤ, Mengen wie {0;3}...) - + Note: Specify the probability for each value. Hinweis: Geben Sie die Wahrscheinlichkeit für jeden Wert an. @@ -943,7 +887,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" create - + New %1 %2 created. Neu %1 %2 erstellt. @@ -952,24 +896,11 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" delete - + %1 %2 deleted. %1 %2 gelöscht. - - distribution - - - Repartition - Verteilungsfunktion - - - - Repartition functions - Verteilungsfunktionen - - editproperty @@ -978,7 +909,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" %1 von %2 %3 wurde von "%4" auf "%5" geändert. - + %1 of %2 changed from %3 to %4. %1 von %2 wurde von %3 auf %4 geändert. @@ -1080,41 +1011,49 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen" + First argument to map is not a function. Der erste Parameter von map ist keine Formel. + Second argument to map is not an array. Der zweite Parameter von map ist kein Array. + First argument to fold is not a function. Der erste Parameter für fold ist keine Formel. + Second argument to fold is not an array. Der zweite Parameter für fold ist kein Array. + First argument to filter is not a function. Der erste Parameter für filter ist keine Formel. + Second argument to filter is not an array. Der zweite Parameter von filter ist kein Array. + Second argument to indexOf is not a string or array. Der zweite Parameter von indexOf ist kein String oder Array. + Second argument to join is not an array. Der zweite Parameter von join ist kein Array. @@ -1232,20 +1171,26 @@ Ausdruck analysiert: %3 gainbode + Bode Magnitude - Bode-Magnitude + Bode-Magnitude + Bode Magnitudes - Bode-Magnituden + Bode-Magnituden + + low-pass - Tiefpass + Tiefpass + + high-pass - Hochpass + Hochpass @@ -1531,12 +1476,14 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde phasebode + Bode Phase - Bode-Phase + Bode-Phase + Bode Phases - Bode-Phasen + Bode-Phasen @@ -1583,14 +1530,14 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde Reichweite - - - - - + + + + + labelPosition @@ -1602,13 +1549,13 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde Anzeigemodus - - - - - + + + + + labelX X-Position des Etiketts @@ -1625,33 +1572,33 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde Gestrichelte Linien anzeigen - - + + om_0 ω₀ - + pass Pass - + gain Größenordnung - + omGraduation Teilung auf ω zeigen - + phase Phase - + unit Einheit @@ -1674,7 +1621,7 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde Punkt-Stil - + probabilities Wahrscheinlichkeiten @@ -1731,12 +1678,14 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde repartition + Repartition - Verteilungsfunktion + Verteilungsfunktion + Repartition functions - Verteilungsfunktionen + Verteilungsfunktionen @@ -1773,15 +1722,19 @@ Bitte vergewissern Sie sich, dass Ihre LaTeX-Installation korrekt ist, und melde sommegainsbode + + Bode Magnitudes Sum - Bode-Magnituden Summe + Bode-Magnituden Summe sommephasesbode + + Bode Phases Sum - Bode-Phasen Summe + Bode-Phasen Summe diff --git a/LogarithmPlotter/i18n/lp_en.ts b/LogarithmPlotter/i18n/lp_en.ts index fe1d018..d161a6c 100644 --- a/LogarithmPlotter/i18n/lp_en.ts +++ b/LogarithmPlotter/i18n/lp_en.ts @@ -821,62 +821,6 @@ These settings can be changed at any time from the "Settings" menu.Improve - - bodemagnitude - - - Bode Magnitude - Bode Magnitude - - - - Bode Magnitudes - Bode Magnitudes - - - - - low-pass - low-pass - - - - - high-pass - high-pass - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - Bode Magnitudes Sum - - - - bodephase - - - Bode Phase - Bode Phase - - - - Bode Phases - Bode Phases - - - - bodephasesum - - - - Bode Phases Sum - Bode Phases Sum - - changelog @@ -912,7 +856,7 @@ These settings can be changed at any time from the "Settings" menu.The following parameters are used when the domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}…) - + Note: Specify the probability for each value. Note: Specify the probability for each value. @@ -943,7 +887,7 @@ These settings can be changed at any time from the "Settings" menu.create - + New %1 %2 created. New %1 %2 created. @@ -952,24 +896,11 @@ These settings can be changed at any time from the "Settings" menu.delete - + %1 %2 deleted. %1 %2 deleted. - - distribution - - - Repartition - Distribution - - - - Repartition functions - Distribution functions - - editproperty @@ -978,7 +909,7 @@ These settings can be changed at any time from the "Settings" menu.%1 of %2 %3 changed from "%4" to "%5". - + %1 of %2 changed from %3 to %4. %1 of %2 changed from %3 to %4. @@ -1080,41 +1011,49 @@ These settings can be changed at any time from the "Settings" menu. + First argument to map is not a function. First argument to map is not a function. + Second argument to map is not an array. Second argument to map is not an array. + First argument to fold is not a function. First argument to fold is not a function. + Second argument to fold is not an array. Second argument to fold is not an array. + First argument to filter is not a function. First argument to filter is not a function. + Second argument to filter is not an array. Second argument to filter is not an array. + Second argument to indexOf is not a string or array. Second argument to indexOf is not a string or array. + Second argument to join is not an array. Second argument to join is not an array. @@ -1232,20 +1171,26 @@ Evaluated expression: %3 gainbode + Bode Magnitude - Bode Magnitude + Bode Magnitude + Bode Magnitudes - Bode Magnitudes + Bode Magnitudes + + low-pass - low-pass + low-pass + + high-pass - high-pass + high-pass @@ -1531,12 +1476,14 @@ Please make sure your LaTeX installation is correct and report a bug if so. phasebode + Bode Phase - Bode Phase + Bode Phase + Bode Phases - Bode Phases + Bode Phases @@ -1583,14 +1530,14 @@ Please make sure your LaTeX installation is correct and report a bug if so.Range - - - - - + + + + + labelPosition @@ -1602,13 +1549,13 @@ Please make sure your LaTeX installation is correct and report a bug if so.Display mode - - - - - + + + + + labelX Label's X position @@ -1625,33 +1572,33 @@ Please make sure your LaTeX installation is correct and report a bug if so.Show dashed lines - - + + om_0 ω₀ - + pass Pass - + gain Magnitude gain - + omGraduation Show graduation on ω₀ - + phase Phase - + unit Unit to use @@ -1674,7 +1621,7 @@ Please make sure your LaTeX installation is correct and report a bug if so.Point style - + probabilities Probabilities list @@ -1731,12 +1678,14 @@ Please make sure your LaTeX installation is correct and report a bug if so. repartition + Repartition - Distribution + Distribution + Repartition functions - Distribution functions + Distribution functions @@ -1773,15 +1722,19 @@ Please make sure your LaTeX installation is correct and report a bug if so. sommegainsbode + + Bode Magnitudes Sum - Bode Magnitudes Sum + Bode Magnitudes Sum sommephasesbode + + Bode Phases Sum - Bode Phases Sum + Bode Phases Sum diff --git a/LogarithmPlotter/i18n/lp_es.ts b/LogarithmPlotter/i18n/lp_es.ts index 2df288e..fbcfc72 100644 --- a/LogarithmPlotter/i18n/lp_es.ts +++ b/LogarithmPlotter/i18n/lp_es.ts @@ -821,62 +821,6 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes Mejorar - - bodemagnitude - - - Bode Magnitude - Magnitud de Bode - - - - Bode Magnitudes - Magnitudes de Bode - - - - - low-pass - Filtro paso bajo - - - - - high-pass - Filtro paso alto - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - Suma de las Magnitudes de Bode - - - - bodephase - - - Bode Phase - Fase de Bode - - - - Bode Phases - Fases de Bode - - - - bodephasesum - - - - Bode Phases Sum - Suma de las fases de Bode - - changelog @@ -912,7 +856,7 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes Los siguientes parámetros se utilizan cuando el dominio es un conjunto no continuo. (Ej: ℕ, ℤ, conjuntos como {0;3}...) - + Note: Specify the probability for each value. Nota: Especifique la probabilidad para cada valor. @@ -943,7 +887,7 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes create - + New %1 %2 created. Se ha creado un nuevo %1 %2. @@ -952,24 +896,11 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes delete - + %1 %2 deleted. %1 %2 borrados. - - distribution - - - Repartition - Distribución - - - - Repartition functions - Funciones de distribución - - editproperty @@ -978,7 +909,7 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes %1 de %2 %3 cambió de "%4" a "%5". - + %1 of %2 changed from %3 to %4. %1 de %2 ha cambiado de %3 a %4. @@ -1072,41 +1003,49 @@ Estos ajustes se pueden cambiar en cualquier momento desde el menú “Ajustes + First argument to map is not a function. El primer argumento de map no es una función. + Second argument to map is not an array. El segundo argumento de map no es una matriz. + First argument to fold is not a function. El primer argumento de fold no es una función. + Second argument to fold is not an array. El segundo argumento de fold no es una matriz. + First argument to filter is not a function. El primer argumento del filtro no es una función. + Second argument to filter is not an array. El segundo argumento del filtro no es una matriz. + Second argument to indexOf is not a string or array. El segundo argumento de indexOf no es una cadena ni una matriz. + Second argument to join is not an array. El segundo argumento para unirse no es una matriz. @@ -1232,20 +1171,26 @@ Expresión evaluada: %3 gainbode + + high-pass - Filtro paso alto + Filtro paso alto + + low-pass - Filtro paso bajo + Filtro paso bajo + Bode Magnitude - Magnitud de Bode + Magnitud de Bode + Bode Magnitudes - Magnitudes de Bode + Magnitudes de Bode @@ -1531,12 +1476,14 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u phasebode + Bode Phase - Fase de Bode + Fase de Bode + Bode Phases - Fases de Bode + Fases de Bode @@ -1578,8 +1525,8 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u Dominio - - + + om_0 ω₀ @@ -1594,13 +1541,13 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u Redondeo - - - - - + + + + + labelX Posición de la etiqueta en X @@ -1622,14 +1569,14 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u Rango - - - - - + + + + + labelPosition @@ -1641,17 +1588,17 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u Modo de visualización - + pass Pasar - + gain Incremento de magnitud - + unit Unidad a usar @@ -1662,12 +1609,12 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u Y - + omGraduation Mostrar la graduación en ω₀ - + phase Fase @@ -1689,7 +1636,7 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u Contenido - + probabilities Lista de probabilidades @@ -1731,12 +1678,14 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u repartition + Repartition - Distribución + Distribución + Repartition functions - Funciones de distribución + Funciones de distribución @@ -1773,15 +1722,19 @@ Por favor, asegúrese de que su instalación de LaTeX es correcta e informe de u sommegainsbode + + Bode Magnitudes Sum - Suma de las Magnitudes de Bode + Suma de las Magnitudes de Bode sommephasesbode + + Bode Phases Sum - Suma de las fases de Bode + Suma de las fases de Bode diff --git a/LogarithmPlotter/i18n/lp_fr.ts b/LogarithmPlotter/i18n/lp_fr.ts index 35d38c4..b3d5c75 100644 --- a/LogarithmPlotter/i18n/lp_fr.ts +++ b/LogarithmPlotter/i18n/lp_fr.ts @@ -823,62 +823,6 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu "P Améliorer - - bodemagnitude - - - Bode Magnitude - Gain de Bode - - - - Bode Magnitudes - Gains de Bode - - - - - low-pass - passe-bas - - - - - high-pass - passe-haut - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - Sommes des gains de Bode - - - - bodephase - - - Bode Phase - Phase de Bode - - - - Bode Phases - Phases de Bode - - - - bodephasesum - - - - Bode Phases Sum - Somme des phases de Bode - - changelog @@ -914,7 +858,7 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu "P Les paramètres suivants sont utilisés lorsque le domaine de définition est un ensemble non-continu. (Ex : ℕ, ℤ, des ensembles comme {0;3}…) - + Note: Specify the probability for each value. Note : Spécifiez la probabilité pour chaque valeur. @@ -946,7 +890,7 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu "P create - + New %1 %2 created. Nouvel objet %1 %2 créé. @@ -955,24 +899,11 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu "P delete - + %1 %2 deleted. %1 %2 supprimé(e). - - distribution - - - Repartition - Répartition - - - - Repartition functions - Fonctions de répartition - - editproperty @@ -981,7 +912,7 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu "P %1 de %2 %3 modifiée de "%4" à "%5". - + %1 of %2 changed from %3 to %4. %1 de %2 modifiée de %3 à %4. @@ -1083,41 +1014,49 @@ Ces paramètres peuvent être modifiés à tout moment à partir du menu "P + First argument to map is not a function. Le premier argument de map n'est pas une fonction. + Second argument to map is not an array. Le deuxième argument de map n'est pas un tableau. + First argument to fold is not a function. Le premier argument de fold n'est pas une fonction. + Second argument to fold is not an array. Le deuxième argument de fold n'est pas un tableau. + First argument to filter is not a function. Le premier argument de filter n'est pas une fonction. + Second argument to filter is not an array. Le deuxième argument de filter n'est pas un tableau. + Second argument to indexOf is not a string or array. Le deuxième argument de indexOf n'est ni chaîne de caractères ni un tableau. + Second argument to join is not an array. Le deuxième argument de join n'est pas un tableau. @@ -1235,20 +1174,26 @@ Formule analysée : %3 gainbode + Bode Magnitude - Gain de Bode + Gain de Bode + Bode Magnitudes - Gains de Bode + Gains de Bode + + low-pass - passe-bas + passe-bas + + high-pass - passe-haut + passe-haut @@ -1534,12 +1479,14 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c phasebode + Bode Phase - Phase de Bode + Phase de Bode + Bode Phases - Phases de Bode + Phases de Bode @@ -1586,14 +1533,14 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c Portée - - - - - + + + + + labelPosition @@ -1605,13 +1552,13 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c Mode d'affichage - - - - - + + + + + labelX Position en X de l'étiquette @@ -1628,33 +1575,33 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c Afficher les pointillés - - + + om_0 ω₀ - + pass Passe - + gain Gain - + omGraduation Afficher la graduation sur ω₀ - + phase Phase - + unit Unité de la phase @@ -1677,7 +1624,7 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c Style du point - + probabilities Liste de probabilités @@ -1734,12 +1681,14 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c repartition + Repartition - Répartition + Répartition + Repartition functions - Fonctions de répartition + Fonctions de répartition @@ -1776,15 +1725,19 @@ Vérifiez que votre installation de LaTeX est correcte et signalez un bogue si c sommegainsbode + + Bode Magnitudes Sum - Sommes des gains de Bode + Sommes des gains de Bode sommephasesbode + + Bode Phases Sum - Somme des phases de Bode + Somme des phases de Bode diff --git a/LogarithmPlotter/i18n/lp_hu.ts b/LogarithmPlotter/i18n/lp_hu.ts index c0b4924..4b4e57f 100644 --- a/LogarithmPlotter/i18n/lp_hu.ts +++ b/LogarithmPlotter/i18n/lp_hu.ts @@ -821,62 +821,6 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. Fejlesztés - - bodemagnitude - - - Bode Magnitude - Bode-nagyságrend - - - - Bode Magnitudes - Bode-nagyságrendek - - - - - low-pass - aluláteresztő - - - - - high-pass - felüláteresztő - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - Bode-nagyságrendek összege - - - - bodephase - - - Bode Phase - Bode-fázis - - - - Bode Phases - Bode-fázisok - - - - bodephasesum - - - - Bode Phases Sum - Bode-fázisok összege - - changelog @@ -912,7 +856,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. A következő paraméterek használatosak, ha a tartomány nem folytonos halmaz. (Példák: ℕ, ℤ, olyan halmazok, mint a {0;3}…) - + Note: Specify the probability for each value. Megjegyzés: Adja meg az egyes értékek valószínűségét. @@ -943,7 +887,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. create - + New %1 %2 created. Új %1 %2 létrehozva. @@ -952,24 +896,11 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. delete - + %1 %2 deleted. %1 %2 törölve. - - distribution - - - Repartition - Elosztás - - - - Repartition functions - Elosztási függvények - - editproperty @@ -978,7 +909,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. %1/%2 %3 megváltozott. Régi érték: %4, új érték: %5. - + %1 of %2 changed from %3 to %4. %1/%2 megváltozott. Régi érték: %3, új érték: %4. @@ -1080,41 +1011,49 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben. + First argument to map is not a function. Az első leképezési argumentum nem függvény. + Second argument to map is not an array. A második leképezési argumentum nem tömb. + First argument to fold is not a function. Az első behajtási argumentum nem függvény. + Second argument to fold is not an array. A második behajtási argumentum nem tömb. + First argument to filter is not a function. Az első szűrési argumentum nem függvény. + Second argument to filter is not an array. A második szűrési argumentum nem tömb. + Second argument to indexOf is not a string or array. Az indexOf második argumentuma nem karakterlánc vagy tömb. + Second argument to join is not an array. A második csatlakozási argumentum nem tömb. @@ -1232,20 +1171,26 @@ Kiértékelt kifejezés: %3 gainbode + Bode Magnitude - Bode-nagyságrend + Bode-nagyságrend + Bode Magnitudes - Bode-nagyságrendek + Bode-nagyságrendek + + low-pass - aluláteresztő + aluláteresztő + + high-pass - felüláteresztő + felüláteresztő @@ -1527,12 +1472,14 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents phasebode + Bode Phase - Bode-fázis + Bode-fázis + Bode Phases - Bode-fázisok + Bode-fázisok @@ -1579,14 +1526,14 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents Ordináta tartomány - - - - - + + + + + labelPosition @@ -1598,13 +1545,13 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents Megjelenítési mód - - - - - + + + + + labelX Címke X helyzete @@ -1621,33 +1568,33 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents Szaggatott vonalak megjelenítése - - + + om_0 ω₀ - + pass Áteresztő - + gain Nagyságrend nyeresége - + omGraduation ω₀ érettségi megjelenítése - + phase Fázis - + unit Egység használata @@ -1670,7 +1617,7 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents Pontstílus - + probabilities Valószínűségek listája @@ -1727,12 +1674,14 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents repartition + Repartition - Elosztás + Elosztás + Repartition functions - Elosztási függvények + Elosztási függvények @@ -1769,15 +1718,19 @@ Kérjük, ellenőrizze, hogy a LaTeX telepítése helyes-e, és ha igen, jelents sommegainsbode + + Bode Magnitudes Sum - Bode-nagyságrendek összege + Bode-nagyságrendek összege sommephasesbode + + Bode Phases Sum - Bode-fázisok összege + Bode-fázisok összege diff --git a/LogarithmPlotter/i18n/lp_nb_NO.ts b/LogarithmPlotter/i18n/lp_nb_NO.ts index 904af86..bfbe130 100644 --- a/LogarithmPlotter/i18n/lp_nb_NO.ts +++ b/LogarithmPlotter/i18n/lp_nb_NO.ts @@ -773,62 +773,6 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. - - bodemagnitude - - - Bode Magnitude - Bode-magnitude - - - - Bode Magnitudes - Bode-magnituder - - - - - low-pass - lavpass - - - - - high-pass - høypass - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - Bode-magnitudesum - - - - bodephase - - - Bode Phase - Bode-fase - - - - Bode Phases - Bode-faser - - - - bodephasesum - - - - Bode Phases Sum - Bode-fasesum - - changelog @@ -864,7 +808,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen. - + Note: Specify the probability for each value. @@ -895,7 +839,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.create - + New %1 %2 created. Ny %1 %2 opprettet. @@ -904,24 +848,11 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.delete - + %1 %2 deleted. %1 %2 slettet. - - distribution - - - Repartition - Distribusjon - - - - Repartition functions - Distribusjonsfunksjoner - - editproperty @@ -930,7 +861,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.%1 av %2 %3 endret fra «%4» til «%5». - + %1 of %2 changed from %3 to %4. @@ -1055,41 +986,49 @@ Undoing last change. + First argument to map is not a function. + Second argument to map is not an array. + First argument to fold is not a function. + Second argument to fold is not an array. + First argument to filter is not a function. + Second argument to filter is not an array. + Second argument to indexOf is not a string or array. + Second argument to join is not an array. @@ -1163,20 +1102,26 @@ Evaluated expression: %3 gainbode + Bode Magnitude - Bode-magnitude + Bode-magnitude + Bode Magnitudes - Bode-magnituder + Bode-magnituder + + low-pass - lavpass + lavpass + + high-pass - høypass + høypass @@ -1445,12 +1390,14 @@ Please make sure your latex installation is correct and report a bug if so. phasebode + Bode Phase - Bode-fase + Bode-fase + Bode Phases - Bode-faser + Bode-faser @@ -1502,27 +1449,27 @@ Please make sure your latex installation is correct and report a bug if so. - - - - - + + + + + labelPosition - - - - - + + + + + labelX @@ -1539,33 +1486,33 @@ Please make sure your latex installation is correct and report a bug if so. - - + + om_0 - + pass - + gain - + omGraduation - + phase - + unit @@ -1588,7 +1535,7 @@ Please make sure your latex installation is correct and report a bug if so. - + probabilities @@ -1641,12 +1588,14 @@ Please make sure your latex installation is correct and report a bug if so. repartition + Repartition - Distribusjon + Distribusjon + Repartition functions - Distribusjonsfunksjoner + Distribusjonsfunksjoner @@ -1683,15 +1632,19 @@ Please make sure your latex installation is correct and report a bug if so. sommegainsbode + + Bode Magnitudes Sum - Bode-magnitudesum + Bode-magnitudesum sommephasesbode + + Bode Phases Sum - Bode-fasesum + Bode-fasesum diff --git a/LogarithmPlotter/i18n/lp_template.ts b/LogarithmPlotter/i18n/lp_template.ts index 511c6c2..e9b6d6e 100644 --- a/LogarithmPlotter/i18n/lp_template.ts +++ b/LogarithmPlotter/i18n/lp_template.ts @@ -661,62 +661,6 @@ - - bodemagnitude - - - Bode Magnitude - - - - - Bode Magnitudes - - - - - - low-pass - - - - - - high-pass - - - - - bodemagnitudesum - - - - Bode Magnitudes Sum - - - - - bodephase - - - Bode Phase - - - - - Bode Phases - - - - - bodephasesum - - - - Bode Phases Sum - - - changelog @@ -752,7 +696,7 @@ - + Note: Specify the probability for each value. @@ -783,7 +727,7 @@ create - + New %1 %2 created. @@ -792,24 +736,11 @@ delete - + %1 %2 deleted. - - distribution - - - Repartition - - - - - Repartition functions - - - editproperty @@ -818,7 +749,7 @@ - + %1 of %2 changed from %3 to %4. @@ -943,41 +874,49 @@ Undoing last change. + First argument to map is not a function. + Second argument to map is not an array. + First argument to fold is not a function. + Second argument to fold is not an array. + First argument to filter is not a function. + Second argument to filter is not an array. + Second argument to indexOf is not a string or array. + Second argument to join is not an array. @@ -1048,6 +987,31 @@ Evaluated expression: %3 + + gainbode + + + Bode Magnitude + + + + + Bode Magnitudes + + + + + + low-pass + + + + + + high-pass + + + general @@ -1264,6 +1228,19 @@ Please make sure your latex installation is correct and report a bug if so. + + phasebode + + + Bode Phase + + + + + Bode Phases + + + point @@ -1313,27 +1290,27 @@ Please make sure your latex installation is correct and report a bug if so. - - - - - + + + + + labelPosition - - - - - + + + + + labelX @@ -1350,33 +1327,33 @@ Please make sure your latex installation is correct and report a bug if so. - - + + om_0 - + pass - + gain - + omGraduation - + phase - + unit @@ -1399,7 +1376,7 @@ Please make sure your latex installation is correct and report a bug if so. - + probabilities @@ -1449,6 +1426,19 @@ Please make sure your latex installation is correct and report a bug if so. + + repartition + + + Repartition + + + + + Repartition functions + + + sequence @@ -1480,6 +1470,24 @@ Please make sure your latex installation is correct and report a bug if so. + + sommegainsbode + + + + Bode Magnitudes Sum + + + + + sommephasesbode + + + + Bode Phases Sum + + + text diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Preferences.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Preferences.qml index 44b1c8f..7d801ca 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Preferences.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/Preferences.qml @@ -46,7 +46,7 @@ Popup { CheckBox { height: 20 - text: setting.name + text: setting.displayName checked: setting.value() onClicked: setting.set(this.checked) } @@ -58,7 +58,7 @@ Popup { // Setting when selecting data from an enum, or an object of a certain type. Setting.ComboBoxSetting { height: 30 - label: setting.name + label: setting.displayName icon: `settings/${setting.icon}.svg` currentIndex: setting.value() model: setting.values @@ -71,7 +71,7 @@ Popup { Setting.ComboBoxSetting { height: 30 - label: setting.name + label: setting.displayName icon: `settings/${setting.icon}.svg` editable: true currentIndex: find(setting.value()) @@ -94,7 +94,7 @@ Popup { Setting.TextSetting { height: 30 isDouble: true - label: setting.name + label: setting.displayName min: setting.min() icon: `settings/${setting.icon}.svg` value: setting.value() @@ -114,12 +114,12 @@ Popup { Setting.ExpressionEditor { height: 30 - label: setting.name + label: setting.displayName icon: `settings/${setting.icon}.svg` defValue: Utils.simplifyExpression(setting.value()) variables: setting.variables allowGraphObjects: false - property string propertyName: setting.name + property string propertyName: setting.displayName onChanged: function(newExpr) { try { setting.set(newExpr) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.mjs index 12a8793..c8bb577 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/color.mjs @@ -37,7 +37,7 @@ export default class ColorChanged extends EditedProperty { color(darkVer=false){return darkVer ? 'purple' : 'plum'} getReadableString() { - return qsTranslate("color", "%1 %2's color changed from %3 to %4.") + return qsTr("%1 %2's color changed from %3 to %4.") .arg(Objects.types[this.targetType].displayType()).arg(this.targetName) .arg(this.previousValue).arg(this.newValue) } @@ -47,7 +47,7 @@ export default class ColorChanged extends EditedProperty { } getHTMLString() { - return qsTranslate("color", "%1 %2's color changed from %3 to %4.") + return qsTr("%1 %2's color changed from %3 to %4.") .arg(Objects.types[this.targetType].displayType()) .arg(' ' + this.targetName + " ") .arg(this.formatColor(this.previousValue)).arg(this.formatColor(this.newValue)) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.mjs index b2c7f2d..e474133 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/create.mjs @@ -47,13 +47,11 @@ export default class CreateNewObject extends Action { } getReadableString() { - return qsTranslate("create", "New %1 %2 created.") - .arg(Objects.types[this.targetType].displayType()) - .arg(this.targetName) + return qsTr("New %1 %2 created.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) } getHTMLString() { - return qsTranslate("create", "New %1 %2 created.") + return qsTr("New %1 %2 created.") .arg(Objects.types[this.targetType].displayType()) .arg('' + this.targetName + "") } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.mjs index 7fa855d..ea1deb1 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/delete.mjs @@ -39,13 +39,11 @@ export default class DeleteObject extends CreateNewObject { } getReadableString() { - return qsTranslate("delete", "%1 %2 deleted.") - .arg(Objects.types[this.targetType].displayType()) - .arg(this.targetName) + return qsTr("%1 %2 deleted.").arg(Objects.types[this.targetType].displayType()).arg(this.targetName) } getHTMLString() { - return qsTranslate("delete", "%1 %2 deleted.") + return qsTr("%1 %2 deleted.") .arg(Objects.types[this.targetType].displayType()) .arg('' + this.targetName + "") } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.mjs index 1280e54..3c6bcda 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/editproperty.mjs @@ -128,19 +128,15 @@ export default class EditedProperty extends Action { } getReadableString() { - return qsTranslate("editproperty", '%1 of %2 %3 changed from "%4" to "%5".') + return qsTr('%1 of %2 %3 changed from "%4" to "%5".') .arg(this.targetPropertyReadable) .arg(Objects.types[this.targetType].displayType()) .arg(this.targetName).arg(this.prevString).arg(this.nextString) } - - /** - * - * @return {Promise|string} - */ + getHTMLString() { return new Promise(resolve => { - const translation = qsTranslate("editproperty", '%1 of %2 changed from %3 to %4.') + const translation = qsTr('%1 of %2 changed from %3 to %4.') .arg(this.targetPropertyReadable) .arg(' ' + this.targetName + ' ') // Check if we need to wait for LaTeX HTML to be rendered. diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.mjs index 13417da..7698adf 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/name.mjs @@ -45,13 +45,13 @@ export default class NameChanged extends EditedProperty { } getReadableString() { - return qsTranslate("name", '%1 %2 renamed to %3.') + return qsTr('%1 %2 renamed to %3.') .arg(Objects.types[this.targetType].displayType()) .arg(this.targetName).arg(this.newValue) } getHTMLString() { - return qsTranslate("name", '%1 %2 renamed to %3.') + return qsTr('%1 %2 renamed to %3.') .arg(Objects.types[this.targetType].displayType()) .arg('' + this.targetName + "").arg(''+this.newValue+'') } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/position.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/position.mjs index b071cc7..a376e2f 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/position.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/position.mjs @@ -84,14 +84,14 @@ export default class EditedPosition extends Action { } getReadableString() { - return qsTranslate("position", 'Position of %1 %2 set from "%3" to "%4".') + return qsTr('Position of %1 %2 set from "%3" to "%4".') .arg(Objects.types[this.targetType].displayType()) .arg(this.targetName).arg(this.prevString).arg(this.nextString) } getHTMLString() { return new Promise(resolve => { - const translation = qsTranslate("position", 'Position of %1 set from %2 to %3.') + const translation = qsTr('Position of %1 set from %2 to %3.') .arg(' ' + this.targetName + ' ') // Check if we need to wait for LaTeX HTML to be rendered. if(this.prevHTML !== undefined && this.nextHTML !== undefined) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.mjs index ebcb4fa..d38b33f 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/history/visibility.mjs @@ -41,13 +41,13 @@ export default class EditedVisibility extends EditedProperty { } getReadableString() { - return (this.newValue ? qsTranslate('visibility', '%1 %2 shown.') : qsTranslate('visibility', '%1 %2 hidden.')) + return (this.newValue ? qsTr('%1 %2 shown.') : qsTr('%1 %2 hidden.')) .arg(Objects.types[this.targetType].displayType()) .arg(this.targetName) } getHTMLString() { - return (this.newValue ? qsTranslate('visibility', '%1 %2 shown.') : qsTranslate('visibility', '%1 %2 hidden.')) + return (this.newValue ? qsTr('%1 %2 shown.') : qsTr('%1 %2 hidden.')) .arg(Objects.types[this.targetType].displayType()) .arg('' + this.targetName + "") } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/autoload.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/autoload.mjs index cf0df63..dc84bb0 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/autoload.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/autoload.mjs @@ -21,13 +21,13 @@ import { DrawableObject } from "common.mjs" import Point from "point.mjs" import Text from "text.mjs" import Function from "function.mjs" -import BodeMagnitude from "bodemagnitude.mjs" -import BodePhase from "bodephase.mjs" -import BodeMagnitudeSum from "bodemagnitudesum.mjs" -import BodePhaseSum from "bodephasesum.mjs" +import GainBode from "gainbode.mjs" +import PhaseBode from "phasebode.mjs" +import SommeGainsBode from "sommegainsbode.mjs" +import SommePhasesBode from "sommephasesbode.mjs" import XCursor from "xcursor.mjs" import Sequence from "sequence.mjs" -import DistributionFunction from "distribution.mjs" +import RepartitionFunction from "repartition.mjs" /** * Registers the object obj in the object list. @@ -47,11 +47,11 @@ if(Object.keys(Modules.Objects.types).length === 0) { registerObject(Point) registerObject(Text) registerObject(Function) - registerObject(BodeMagnitude) - registerObject(BodePhase) - registerObject(BodeMagnitudeSum) - registerObject(BodePhaseSum) + registerObject(GainBode) + registerObject(PhaseBode) + registerObject(SommeGainsBode) + registerObject(SommePhasesBode) registerObject(XCursor) registerObject(Sequence) - registerObject(DistributionFunction) + registerObject(RepartitionFunction) } diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/common.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/common.mjs index b27cbf3..58a2d8d 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/common.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/common.mjs @@ -98,7 +98,7 @@ export class DrawableObject { * @param {string} name - Name of the object * @param {boolean} visible - true if the object is visible, false otherwise. * @param {color|string} color - Color of the object (can be string or QColor) - * @param {'null'|'name'|'name + value'} labelContent - One of 'null', 'name' or 'name + value' describing the content of the label. + * @param {Enum} labelContent - One of 'null', 'name' or 'name + value' describing the content of the label. * @constructor */ constructor(name, visible = true, color = null, labelContent = 'name + value') { diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/function.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/function.mjs index eb3f081..2448d50 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/function.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/function.mjs @@ -26,8 +26,8 @@ import Latex from "../math/latex.mjs" export default class Function extends ExecutableObject { static type(){return 'Function'} - static displayType(){return qsTranslate("function", 'Function')} - static displayTypeMultiple(){return qsTranslate("function", 'Functions')} + static displayType(){return qsTr('Function')} + static displayTypeMultiple(){return qsTr('Functions')} static properties() {return { [QT_TRANSLATE_NOOP('prop','expression')]: new P.Expression('x'), [QT_TRANSLATE_NOOP('prop','definitionDomain')]: 'Domain', diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodemagnitude.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.mjs similarity index 92% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodemagnitude.mjs rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.mjs index c01bcae..f86d747 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodemagnitude.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.mjs @@ -28,10 +28,10 @@ import { API as HistoryAPI } from "../history/common.mjs" import { CreateNewObject } from "../historylib.mjs" -export default class BodeMagnitude extends ExecutableObject { +export default class GainBode extends ExecutableObject { static type(){return 'Gain Bode'} - static displayType(){return qsTranslate("bodemagnitude", 'Bode Magnitude')} - static displayTypeMultiple(){return qsTranslate("bodemagnitude", 'Bode Magnitudes')} + static displayType(){return qsTr('Bode Magnitude')} + static displayTypeMultiple(){return qsTr('Bode Magnitudes')} static properties() {return { [QT_TRANSLATE_NOOP('prop','om_0')]: new P.ObjectType('Point'), [QT_TRANSLATE_NOOP('prop','pass')]: P.Enum.BodePass, @@ -69,12 +69,12 @@ export default class BodeMagnitude extends ExecutableObject { } getReadableString() { - let pass = this.pass === "low" ? qsTranslate("bodemagnitude", "low-pass") : qsTranslate("bodemagnitude", "high-pass"); + let pass = this.pass === "low" ? qsTr("low-pass") : qsTr("high-pass"); return `${this.name}: ${pass}; ${this.om_0.name} = ${this.om_0.x}\n ${' '.repeat(this.name.length)}${this.gain.toString(true)} dB/dec` } getLatexString() { - let pass = this.pass === "low" ? qsTranslate("bodemagnitude", "low-pass") : qsTranslate("bodemagnitude", "high-pass"); + let pass = this.pass === "low" ? qsTr("low-pass") : qsTr("high-pass"); return `\\mathrm{${Latex.variable(this.name)}:}\\begin{array}{l} \\textsf{${pass}};${Latex.variable(this.om_0.name)} = ${this.om_0.x.latexMarkup} \\\\ ${this.gain.latexMarkup}\\textsf{ dB/dec} diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodephase.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.mjs similarity index 95% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodephase.mjs rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.mjs index 23119ef..09895d9 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodephase.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.mjs @@ -26,10 +26,10 @@ import Latex from "../math/latex.mjs" import { ExecutableObject } from "common.mjs" -export default class BodePhase extends ExecutableObject { +export default class PhaseBode extends ExecutableObject { static type(){return 'Phase Bode'} - static displayType(){return qsTranslate("bodephase", 'Bode Phase')} - static displayTypeMultiple(){return qsTranslate("bodephase", 'Bode Phases')} + static displayType(){return qsTr('Bode Phase')} + static displayTypeMultiple(){return qsTr('Bode Phases')} static properties() {return { [QT_TRANSLATE_NOOP('prop','om_0')]: new P.ObjectType('Point'), [QT_TRANSLATE_NOOP('prop','phase')]: new P.Expression(), @@ -41,7 +41,7 @@ export default class BodePhase extends ExecutableObject { constructor(name = null, visible = true, color = null, labelContent = 'name + value', om_0 = '', phase = 90, unit = '°', labelPosition = 'above', labelX = 1) { if(name == null) name = Objects.getNewName('φ') - if(name === 'φ') name = 'φ₀' // φ is reserved for sum of Bode phases. + if(name === 'φ') name = 'φ₀' // φ is reserved for sum of BODE phases (Somme phases Bode). super(name, visible, color, labelContent) if(typeof phase == 'number' || typeof phase == 'string') phase = new Expression(phase.toString()) this.phase = phase diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/point.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/point.mjs index 503026e..66a493c 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/point.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/point.mjs @@ -26,8 +26,8 @@ import { DrawableObject } from "common.mjs" export default class Point extends DrawableObject { static type(){return 'Point'} - static displayType(){return qsTranslate("point", 'Point')} - static displayTypeMultiple(){return qsTranslate("point", 'Points')} + static displayType(){return qsTr('Point')} + static displayTypeMultiple(){return qsTr('Points')} static properties() {return { [QT_TRANSLATE_NOOP('prop','x')]: new P.Expression(), diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/distribution.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.mjs similarity index 96% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/distribution.mjs rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.mjs index e0fe698..aeaf6e1 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/distribution.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.mjs @@ -23,10 +23,10 @@ import Latex from "../math/latex.mjs" import { ExecutableObject } from "common.mjs" -export default class DistributionFunction extends ExecutableObject { +export default class RepartitionFunction extends ExecutableObject { static type(){return 'Repartition'} - static displayType(){return qsTranslate("distribution", 'Repartition')} - static displayTypeMultiple(){return qsTranslate("distribution", 'Repartition functions')} + static displayType(){return qsTr('Repartition')} + static displayTypeMultiple(){return qsTr('Repartition functions')} static properties() {return { 'comment1': QT_TRANSLATE_NOOP( 'comment', diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.mjs index b05a66e..11f1be7 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.mjs @@ -27,8 +27,8 @@ import Function from "function.mjs" export default class Sequence extends ExecutableObject { static type(){return 'Sequence'} - static displayType(){return qsTranslate("sequence", 'Sequence')} - static displayTypeMultiple(){return qsTranslate("sequence", 'Sequences')} + static displayType(){return qsTr('Sequence')} + static displayTypeMultiple(){return qsTr('Sequences')} static properties() {return { [QT_TRANSLATE_NOOP('prop','drawPoints')]: 'boolean', diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodemagnitudesum.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.mjs similarity index 94% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodemagnitudesum.mjs rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.mjs index 82bf6b6..9226eee 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodemagnitudesum.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.mjs @@ -25,10 +25,10 @@ import { ExecutableObject } from "common.mjs" import Function from "function.mjs" -export default class BodeMagnitudeSum extends ExecutableObject { +export default class SommeGainsBode extends ExecutableObject { static type(){return 'Somme gains Bode'} - static displayType(){return qsTranslate("bodemagnitudesum", 'Bode Magnitudes Sum')} - static displayTypeMultiple(){return qsTranslate("bodemagnitudesum", 'Bode Magnitudes Sum')} + static displayType(){return qsTr('Bode Magnitudes Sum')} + static displayTypeMultiple(){return qsTr('Bode Magnitudes Sum')} static createable() {return false} static properties() {return { [QT_TRANSLATE_NOOP('prop','labelPosition')]: P.Enum.Position, @@ -92,7 +92,7 @@ export default class BodeMagnitudeSum extends ExecutableObject { magnitudes.push([Number.MAX_VALUE, 0, true]) // Draw the ending section // Collect data from current magnitude (or gain in French) objects. let baseY = 0 - for(/** @type {Bodemagnitude} */ let magnitudeObj of magnitudeObjects) { // Sorting by their om_0 position. + for(/** @type {GainBode} */ let magnitudeObj of magnitudeObjects) { // Sorting by their om_0 position. const om0x = magnitudeObj.om_0.x.execute() magnitudes.push([om0x, magnitudeObj.gain.execute(), magnitudeObj.pass === 'high']) baseY += magnitudeObj.execute(MIN_DRAW) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodephasesum.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.mjs similarity index 94% rename from LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodephasesum.mjs rename to LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.mjs index 1f1a0fa..3bb6a3c 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/bodephasesum.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.mjs @@ -23,10 +23,10 @@ import Latex from "../math/latex.mjs" import { ExecutableObject } from "common.mjs" -export default class BodePhaseSum extends ExecutableObject { +export default class SommePhasesBode extends ExecutableObject { static type(){return 'Somme phases Bode'} - static displayType(){return qsTranslate("bodephasesum", 'Bode Phases Sum')} - static displayTypeMultiple(){return qsTranslate("bodephasesum", 'Bode Phases Sum')} + static displayType(){return qsTr('Bode Phases Sum')} + static displayTypeMultiple(){return qsTr('Bode Phases Sum')} static createable() {return false} static properties() {return { [QT_TRANSLATE_NOOP('prop','labelPosition')]: P.Enum.Position, @@ -88,7 +88,7 @@ export default class BodePhaseSum extends ExecutableObject { Objects.deleteObject(this.name) } else { console.log('Recalculating cache phase') - for(/** @type {Bodephase} */ let obj of phaseObjects) { + for(/** @type {PhaseBode} */ let obj of phaseObjects) { this.om0xList.push(obj.om_0.x.execute()) if(!phasesDict.has(obj.om_0.x.execute())) { phasesDict.set(obj.om_0.x.execute(), obj.phase.execute()) diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/text.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/text.mjs index 3ad1e82..fab2818 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/text.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/text.mjs @@ -26,8 +26,8 @@ import { DrawableObject } from "common.mjs" export default class Text extends DrawableObject { static type(){return 'Text'} - static displayType(){return qsTranslate("text", 'Text')} - static displayTypeMultiple(){return qsTranslate("text", 'Texts')} + static displayType(){return qsTr('Text')} + static displayTypeMultiple(){return qsTr('Texts')} static properties() {return { [QT_TRANSLATE_NOOP('prop','x')]: new P.Expression(), [QT_TRANSLATE_NOOP('prop','y')]: new P.Expression(), diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.mjs index f377a74..20732ba 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.mjs @@ -26,8 +26,8 @@ import { DrawableObject } from "common.mjs" export default class XCursor extends DrawableObject { static type(){return 'X Cursor'} - static displayType(){return qsTranslate("xcursor", 'X Cursor')} - static displayTypeMultiple(){return qsTranslate("xcursor", 'X Cursors')} + static displayType(){return qsTr('X Cursor')} + static displayTypeMultiple(){return qsTr('X Cursors')} static properties() {return { [QT_TRANSLATE_NOOP('prop','x')]: new P.Expression(), [QT_TRANSLATE_NOOP('prop','targetElement')]: new P.ObjectType('ExecutableObject', true), diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parameters.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parameters.mjs index f59c322..72f9dee 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parameters.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parameters.mjs @@ -88,7 +88,7 @@ export class Enum extends PropertyType { this.type = 'Enum' this.values = values this.legacyValues = {} - this.translatedValues = values.map(x => qsTranslate('parameters', x)) + this.translatedValues = values.map(x => qsTr(x)) } toString() { @@ -246,14 +246,14 @@ export class Dictionary extends PropertyType { // Common parameters for Enums Enum.Position = new Enum( - QT_TRANSLATE_NOOP('parameters', 'above'), - QT_TRANSLATE_NOOP('parameters', 'below'), - QT_TRANSLATE_NOOP('parameters', 'left'), - QT_TRANSLATE_NOOP('parameters', 'right'), - QT_TRANSLATE_NOOP('parameters', 'above-left'), - QT_TRANSLATE_NOOP('parameters', 'above-right'), - QT_TRANSLATE_NOOP('parameters', 'below-left'), - QT_TRANSLATE_NOOP('parameters', 'below-right') + QT_TR_NOOP('above'), + QT_TR_NOOP('below'), + QT_TR_NOOP('left'), + QT_TR_NOOP('right'), + QT_TR_NOOP('above-left'), + QT_TR_NOOP('above-right'), + QT_TR_NOOP('below-left'), + QT_TR_NOOP('below-right') ) Enum.Position.legacyValues = { 'top': 'above', @@ -265,32 +265,32 @@ Enum.Position.legacyValues = { } Enum.Positioning = new Enum( - QT_TRANSLATE_NOOP('parameters', 'center'), - QT_TRANSLATE_NOOP('parameters', 'top'), - QT_TRANSLATE_NOOP('parameters', 'bottom'), - QT_TRANSLATE_NOOP('parameters', 'left'), - QT_TRANSLATE_NOOP('parameters', 'right'), - QT_TRANSLATE_NOOP('parameters', 'top-left'), - QT_TRANSLATE_NOOP('parameters', 'top-right'), - QT_TRANSLATE_NOOP('parameters', 'bottom-left'), - QT_TRANSLATE_NOOP('parameters', 'bottom-right') + QT_TR_NOOP('center'), + QT_TR_NOOP('top'), + QT_TR_NOOP('bottom'), + QT_TR_NOOP('left'), + QT_TR_NOOP('right'), + QT_TR_NOOP('top-left'), + QT_TR_NOOP('top-right'), + QT_TR_NOOP('bottom-left'), + QT_TR_NOOP('bottom-right') ) Enum.FunctionDisplayType = new Enum( - QT_TRANSLATE_NOOP('parameters', 'application'), - QT_TRANSLATE_NOOP('parameters', 'function') + QT_TR_NOOP('application'), + QT_TR_NOOP('function') ) Enum.BodePass = new Enum( - QT_TRANSLATE_NOOP('parameters', 'high'), - QT_TRANSLATE_NOOP('parameters', 'low') + QT_TR_NOOP('high'), + QT_TR_NOOP('low') ) Enum.XCursorValuePosition = new Enum( - QT_TRANSLATE_NOOP('parameters', 'Next to target'), - QT_TRANSLATE_NOOP('parameters', 'With label'), - QT_TRANSLATE_NOOP('parameters', 'Hidden') + QT_TR_NOOP('Next to target'), + QT_TR_NOOP('With label'), + QT_TR_NOOP('Hidden') ) /** diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/polyfill.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/polyfill.mjs new file mode 100644 index 0000000..ac845ce --- /dev/null +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/polyfill.mjs @@ -0,0 +1,125 @@ +/** + * LogarithmPlotter - 2D plotter software to make BODE plots, sequences and distribution functions. + * Copyright (C) 2021-2024 Ad5001 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +// Contains polyfill math functions used for reference. +export function factorial(x) { + if (x < 0) // Integrating by less than 0 + if(isFinite(n)) + return Infinity + else + throw new EvalError("Cannot calculate the factorial of -∞.") + + return gamma(x+1) +} + +let GAMMA_G = 4.7421875 +let GAMMA_P = [ + 0.99999999999999709182, + 57.156235665862923517, -59.597960355475491248, + 14.136097974741747174, -0.49191381609762019978, + 0.33994649984811888699e-4, + 0.46523628927048575665e-4, -0.98374475304879564677e-4, + 0.15808870322491248884e-3, -0.21026444172410488319e-3, + 0.21743961811521264320e-3, -0.16431810653676389022e-3, + 0.84418223983852743293e-4, -0.26190838401581408670e-4, + 0.36899182659531622704e-5 +] + +export function gamma(n) { + if(n <= 0) // Integrating by less than 0 + if(isFinite(n)) + return Infinity + else + throw new EvalError("Cannot calculate Γ(-∞).") + + if(n >= 171.35) + return Infinity // Would return more than 2^1024 - 1 (aka Number.INT_MAX) + + if(n === Math.round(n) && isFinite(n)) { + // Calculating (n-1)! + let res = n - 1 + + for(let i = n - 2; i > 1; i++) + res *= i + + if(res === 0) + res = 1 // 0! is per definition 1 + + return res + } + + // Section below adapted function adapted from math.js + if(n < 0.5) + return Math.PI / (Math.sin(Math.PI * n) * gamma(1 - n)) + + if(n > 85.0) { // Extended Stirling Approx + let twoN = n * n + let threeN = twoN * n + let fourN = threeN * n + let fiveN = fourN * n + return Math.sqrt(2 * Math.PI / n) * Math.pow((n / Math.E), n) * + (1 + (1 / (12 * n)) + (1 / (288 * twoN)) - (139 / (51840 * threeN)) - + (571 / (2488320 * fourN)) + (163879 / (209018880 * fiveN)) + + (5246819 / (75246796800 * fiveN * n))) + } + + --n + let x = GAMMA_P[0] + for (let i = 1; i < GAMMA_P.length; ++i) { + x += GAMMA_P[i] / (n + i) + } + + let t = n + GAMMA_G + 0.5 + return Math.sqrt(2 * Math.PI) * Math.pow(t, n + 0.5) * Math.exp(-t) * x +} + +export function arrayMap(f, arr) { + if (typeof f != 'function') + throw new EvalError(qsTranslate('error', 'First argument to map is not a function.')) + if (!Array.isArray(arr)) + throw new EvalError(qsTranslate('error', 'Second argument to map is not an array.')) + return arr.map(f) +} + +export function arrayFold(f, init, arr) { + if (typeof f != 'function') + throw new EvalError(qsTranslate('error', 'First argument to fold is not a function.')) + if (!Array.isArray(arr)) + throw new EvalError(qsTranslate('error', 'Second argument to fold is not an array.')) + return arr.reduce(f, init) +} + +export function arrayFilter(f, arr) { + if (typeof f != 'function') + throw new EvalError(qsTranslate('error', 'First argument to filter is not a function.')) + if (!Array.isArray(arr)) + throw new EvalError(qsTranslate('error', 'Second argument to filter is not an array.')) + return arr.filter(f) +} + +export function arrayJoin(sep, arr) { + if (!Array.isArray(arr)) + throw new Error(qsTranslate('error', 'Second argument to join is not an array.')) + return arr.join(sep) +} + +export function indexOf(target, s) { + if (!(Array.isArray(s) || typeof s === 'string')) + throw new Error(qsTranslate('error', 'Second argument to indexOf is not a string or array.')) + return s.indexOf(target) +} diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/reference.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/reference.mjs index 9c30991..d6ce9dc 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/reference.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/parsing/reference.mjs @@ -16,7 +16,7 @@ * along with this program. If not, see . */ -import * as Polyfill from "../lib/expr-eval/polyfill.mjs" +import * as Polyfill from "polyfill.mjs" export const CONSTANTS = { "π": Math.PI, diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/preferences/common.mjs b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/preferences/common.mjs index 4503113..48cd1de 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/preferences/common.mjs +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/js/preferences/common.mjs @@ -22,6 +22,7 @@ class Setting { constructor(type, name, nameInConfig, icon) { this.type = type this.name = name + this.displayName = qsTr(name) this.nameInConfig = nameInConfig this.icon = icon }