Merge branch 'latex-rendering'
This commit is contained in:
commit
836e6d8922
45 changed files with 2208 additions and 1335 deletions
|
@ -630,8 +630,8 @@ attach them to the start of each source file to most effectively state
|
|||
the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
LogarithmPlotter - Create graphs with logarithm scales.
|
||||
Copyright (C) 2021 Ad5001
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
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
|
||||
|
@ -652,7 +652,7 @@ mail.
|
|||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
LogarithmPlotter Copyright (C) 2021 Ad5001
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
@ -673,4 +673,3 @@ library, you may consider it more useful to permit linking proprietary
|
|||
applications with the library. If this is what you want to do, use the
|
||||
GNU Lesser General Public License instead of this License. But first,
|
||||
please read <https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"""
|
||||
from shutil import which
|
||||
|
||||
__VERSION__ = "0.1.9"
|
||||
__VERSION__ = "0.2.0"
|
||||
is_release = False
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation>Über LogarithmPlotter</translation>
|
||||
</message>
|
||||
|
@ -33,112 +33,117 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation>&Datei</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation>&Laden…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation>&Speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation>Speichern &Unter…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation>&Ausfahrt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation>&Bearbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation>&Lösen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation>&Wiederherstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation>Grafik &Kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation>&Erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation>&Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation>Beim Starten auf Updates prüfen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translation>Wiederherstellen-Stapel automatisch zurücksetzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Hilfe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation>&Quellcode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation>Fehler &Melden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation>&Benutzerhandbuch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation>&Changelog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation>&Hilfe beim Übersetzen!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation>&Übrigens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation>Änderungen speichern?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation>Diese Grafik enthält ungespeicherte Änderungen. Dadurch gehen alle ungespeicherten Daten verloren. Fortfahren?</translation>
|
||||
</message>
|
||||
|
@ -211,44 +216,49 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation>Willkommen bei LogarithmPlotter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation>Nehmen Sie sich ein paar Sekunden Zeit, um LogarithmPlotter zu konfigurieren.
|
||||
Diese Einstellungen können jederzeit über das Menü "Einstellungen" geändert werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation>Beim Start nach Updates suchen (Online-Verbindung erforderlich)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation>Redo-Stapel zurücksetzen, wenn eine neue Aktion zur Historie hinzugefügt wird</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation>Benutzerhandbuch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation>Changelog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation>Schließen</translation>
|
||||
</message>
|
||||
|
@ -279,7 +289,7 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation>+ Neuer Eintrag</translation>
|
||||
</message>
|
||||
|
@ -507,12 +517,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation>Changelog konnte nicht geholt werden: Server-Fehler {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation>Changelog konnte nicht geholt werden: {}.</translation>
|
||||
</message>
|
||||
|
@ -529,32 +539,37 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation>Beispiel: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ-*), ]0;1[, {3;4;5}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation>Die folgenden Parameter werden verwendet, wenn der Definitionsbereich eine nicht kontinuierliche Menge ist. (Beispiel: ℕ, ℤ, Mengen wie {0;3}...)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation>Hinweis: Geben Sie die Wahrscheinlichkeit für jeden Wert an.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translation>Hinweis: Verwenden Sie %1[n], um sich auf %1ₙ zu beziehen, %1[n+1] für %1ₙ₊₁…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation>%1: </translation>
|
||||
|
@ -594,12 +609,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation>Funktion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation>Funktionen</translation>
|
||||
</message>
|
||||
|
@ -607,22 +622,24 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation>Bode-Magnitude</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation>Bode-Magnituden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation>Tiefpass</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation>Hochpass</translation>
|
||||
</message>
|
||||
|
@ -654,6 +671,38 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<translation type="vanished">Der Name von %1 %2 wurde in %3 geändert.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -781,12 +830,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation>Bode-Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation>Bode-Phasen</translation>
|
||||
</message>
|
||||
|
@ -794,12 +843,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation>Punkt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation>Punkte</translation>
|
||||
</message>
|
||||
|
@ -807,153 +856,158 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation>Ausdruck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation>Definitionsbereich</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation>Reichweite</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation>Position des Etiketts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation>Anzeigemodus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation>X-Position des Etiketts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation>Unentschiedene Punkte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation>Gestrichelte Linien anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation>ω₀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation>Pass</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation>Größenordnung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation>Teilung auf ω zeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation>Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation>Einheit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation>X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation>Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation>Punkt-Stil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation>Wahrscheinlichkeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation>Inhalt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation>Zielobjekt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation>Ungefähren Wert anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation>Rundung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation>Stil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation>Wertposition des Ziels</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation>Standardausdruck</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation>Initialisierungswerte</translation>
|
||||
</message>
|
||||
|
@ -965,12 +1019,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation>Verteilungsfunktion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation>Verteilungsfunktionen</translation>
|
||||
</message>
|
||||
|
@ -978,12 +1032,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation>Folge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation>Folgen</translation>
|
||||
</message>
|
||||
|
@ -991,8 +1045,8 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation>Bode-Magnituden Summe</translation>
|
||||
</message>
|
||||
|
@ -1000,8 +1054,8 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation>Bode-Phasen Summe</translation>
|
||||
</message>
|
||||
|
@ -1009,12 +1063,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation>Text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation>Texte</translation>
|
||||
</message>
|
||||
|
@ -1022,22 +1076,22 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation>Ein Aktualisierung für LogarithmPlotter (v{}) ist verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation>Keine Aktualisierung verfügbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation>Es konnten keine Aktualisierungsinformationen abgerufen werden: Server-Fehler {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation>Es konnten keine Aktualisierungsinformationen abgerufen werden:{}.</translation>
|
||||
</message>
|
||||
|
@ -1060,12 +1114,12 @@ Diese Einstellungen können jederzeit über das Menü "Einstellungen"
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation>X Zeiger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation>X Zeiger</translation>
|
||||
</message>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation>About LogarithmPlotter</translation>
|
||||
</message>
|
||||
|
@ -33,112 +33,117 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation>&File</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation>&Open…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation>&Save</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation>Save &As…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation>&Quit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation>&Edit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation>&Undo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation>&Redo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation>&Copy plot</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation>&Create</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation>&Settings</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation>Check for updates on startup</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translation>Reset redo stack automatically</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation>&Source code</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation>&Report a bug</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation>&User manual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation>&Changelog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation>&Help translating!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation>&About</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation>Save unsaved changes?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</translation>
|
||||
</message>
|
||||
|
@ -211,44 +216,49 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation>Welcome to LogarithmPlotter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation>Check for updates on startup (requires online connectivity)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation>Reset redo stack when a new action is added to history</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation>User manual</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation>Changelog</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation>Done</translation>
|
||||
</message>
|
||||
|
@ -279,7 +289,7 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation>+ Add Entry</translation>
|
||||
</message>
|
||||
|
@ -507,12 +517,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation>Could not fetch changelog: Server error {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation>Could not fetch changelog: {}.</translation>
|
||||
</message>
|
||||
|
@ -529,32 +539,37 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation>The following parameters are used when the domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}…)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation>Note: Specify the probability for each value.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translation>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation>%1: </translation>
|
||||
|
@ -594,12 +609,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation>Function</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation>Functions</translation>
|
||||
</message>
|
||||
|
@ -607,22 +622,24 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation>Bode Magnitude</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation>Bode Magnitudes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation>low-pass</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation>high-pass</translation>
|
||||
</message>
|
||||
|
@ -654,6 +671,47 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<translation type="vanished">Name of %1 %2 changed to %3.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation>DVIPNG was not found. Make sure you include it from your Latex distribution.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation>An exception occurred within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation>An exception occurred within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -781,12 +839,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation>Bode Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation>Bode Phases</translation>
|
||||
</message>
|
||||
|
@ -794,12 +852,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation>Point</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation>Points</translation>
|
||||
</message>
|
||||
|
@ -807,153 +865,158 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation>Expression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation>Domain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation>Range</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation>Label position</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation>Display mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation>Label's X position</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation>Show points</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation>Show dashed lines</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation>ω₀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation>Pass</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation>Magnitude gain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation>Show graduation on ω₀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation>Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation>Unit to use</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation>X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation>Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation>Point style</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation>Probabilities list</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation>Content</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation>Disable latex rendering for this text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation>Object to target</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation>Show approximate value</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation>Rounding</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation>Display style</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation>Target's value position</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation>Default expression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation>Initialisation values</translation>
|
||||
</message>
|
||||
|
@ -965,12 +1028,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation>Distribution</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation>Distribution functions</translation>
|
||||
</message>
|
||||
|
@ -978,12 +1041,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation>Sequence</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation>Sequences</translation>
|
||||
</message>
|
||||
|
@ -991,8 +1054,8 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation>Bode Magnitudes Sum</translation>
|
||||
</message>
|
||||
|
@ -1000,8 +1063,8 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation>Bode Phases Sum</translation>
|
||||
</message>
|
||||
|
@ -1009,12 +1072,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation>Text</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation>Texts</translation>
|
||||
</message>
|
||||
|
@ -1022,22 +1085,22 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation>An update for LogarithmPlotter (v{}) is available.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation>No update available.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation>Could not fetch update information: Server error {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation>Could not fetch update information: {}.</translation>
|
||||
</message>
|
||||
|
@ -1060,12 +1123,12 @@ These settings can be changed at any time from the "Settings" menu.</t
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation>X Cursor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation>X Cursors</translation>
|
||||
</message>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation>Sobre LogarithmPlotter</translation>
|
||||
</message>
|
||||
|
@ -33,112 +33,117 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation>&Archivo</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation>&Abrir…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation>&Guardar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation>Guardar &como…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation>&Salida</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation>&Editar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation>&Cancelar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation>&Reiniciar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation>&Copiar el gráfico</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation>&Crear</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation>&Ajustes</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<source>&Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>&Source code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<source>&User manual</source>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -211,43 +216,48 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<source>Changelog</source>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -278,7 +288,7 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -506,12 +516,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -528,32 +538,37 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -593,12 +608,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -606,26 +621,60 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -753,12 +802,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -766,12 +815,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -779,153 +828,158 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -933,12 +987,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -946,12 +1000,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -959,8 +1013,8 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -968,8 +1022,8 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -977,12 +1031,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -990,22 +1044,22 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1028,12 +1082,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation>À propos de LogarithmPlotter</translation>
|
||||
</message>
|
||||
|
@ -33,113 +33,118 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation>&Fichier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation>&Ouvrir…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation>&Sauvegarder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation>Sauvegarde &Sous…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation>&Quitter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation>&Édition</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation>&Annuler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation>&Rétablir</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation>&Copier le graphe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation>&Créer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation>&Paramètres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation>Vérifier la présence de mise à jour au démarrage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translatorcomment>Légèrement long, et pas forcément très compréhensible.</translatorcomment>
|
||||
<translation>Réinitialiser la pile d'action "Rétablir" automatiquement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Aide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation>&Code source</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation>&Rapport de bug</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation>Manuel d'&utilisation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation>&Historique des modifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation>&Aider à la traduction !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation>&À propos</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation>Sauvegarder les modifications ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation>Ce graphe contient des modifications non sauvegardées. En faisant cela, toutes les données non sauvegardées seront perdues. Continuer ?</translation>
|
||||
</message>
|
||||
|
@ -213,34 +218,39 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation>Bienvenue sur LogarithmPlotter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation>Version %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation>Prenez quelques secondes pour configurer LogarithmPlotter.
|
||||
Ces paramètres peuvent être modifiés à tout moment à partir du menu "Paramètres".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation>Manuel d'utilisation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation>Historique des modifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation>Fermer</translation>
|
||||
</message>
|
||||
|
@ -251,12 +261,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
These settings can always be changed at any time from the "Settings" menu.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation>Vérifier les mises à jour au démarrage (nécessite d'être connecté à internet)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation>Réinitialiser la pile d'action "Rétablir" lorsqu'une nouvelle action est ajoutée à l'historique</translation>
|
||||
</message>
|
||||
|
@ -287,7 +297,7 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation>+ Nouvelle entrée</translation>
|
||||
</message>
|
||||
|
@ -515,12 +525,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation>Impossible de récupérer l'historique des modifications : Erreur de serveur {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation>Impossible de récupérer l'historique des modifications : {}.</translation>
|
||||
</message>
|
||||
|
@ -537,33 +547,38 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation>Par exemple : R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation>Les paramètres suivants sont utilisés lorsque le domaine de définition est un ensemble non-continu. (Ex : ℕ, ℤ, des ensembles comme {0;3}…)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation>Note : Spécifiez la probabilité pour chaque valeur.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translatorcomment>Note : Utilisez %1[n] pour faire référence à %1ₙ, %1[n+1] pour %1ₙ₊₁...</translatorcomment>
|
||||
<translation>Note : Utilisez %1[n] pour faire référence à %1ₙ, %1[n+1] pour %1ₙ₊₁…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation>%1 : </translation>
|
||||
|
@ -603,12 +618,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation>Fonction</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation>Fonctions</translation>
|
||||
</message>
|
||||
|
@ -616,22 +631,24 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation>Gain de Bode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation>Gains de Bode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation>passe-bas</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation>passe-haut</translation>
|
||||
</message>
|
||||
|
@ -663,6 +680,47 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<translation type="vanished">Le nom de %1 %2 a été changé en %3.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation>Aucune installation de Latex trouvée.
|
||||
Si vous avez déjà installé une distribution Latex, assurez-vous qu'elle est installée sur votre PATH.
|
||||
Sinon, vous pouvez télécharger une distribution Latex comme TeX Live à l'adresse https://tug.org/texlive/.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation>DVIPNG n'a pas été trouvé. Assurez-vous de l'inclure dans votre distribution Latex.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation>Une exception s'est produite lors de la création de la formule latex.
|
||||
Le processus '{}' s'est terminé par un code de retour non nul {} :
|
||||
|
||||
{}
|
||||
Vérifiez que votre installation de latex est correcte et signalez un bogue si c'est le cas.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation>Une exception s'est produite lors de la création de la formule latex.
|
||||
Le processus '{}' a mis trop de temps à se terminer :
|
||||
{}
|
||||
Vérifiez que votre installation de latex est correcte et signalez un bogue si c'est le cas.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -790,12 +848,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation>Phase de Bode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation>Phases de Bode</translation>
|
||||
</message>
|
||||
|
@ -803,12 +861,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation>Point</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation>Points</translation>
|
||||
</message>
|
||||
|
@ -816,153 +874,158 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation>Expression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation>Domaine de définition</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation>Portée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation>Position de l'étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation>Mode d'affichage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation>Position en X de l'étiquette</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation>Afficher les points</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation>Afficher les pointillés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation>ω₀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation>Passe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation>Gain</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation>Afficher la graduation sur ω₀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation>Phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation>Unité de la phase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation>X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation>Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation>Style du point</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation>Liste de probabilités</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation>Contenu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation>Désactiver le rendu latex pour ce texte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation>Objet à cibler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation>Afficher la valeur approximative</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation>Arrondi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation>Style d'affichage</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation>Position de la valeur de la cible</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation>Expression</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation>Valeurs d'initialisation</translation>
|
||||
</message>
|
||||
|
@ -974,12 +1037,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation>Répartition</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation>Fonctions de répartition</translation>
|
||||
</message>
|
||||
|
@ -987,12 +1050,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation>Suite</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation>Suites</translation>
|
||||
</message>
|
||||
|
@ -1000,8 +1063,8 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation>Sommes des gains de Bode</translation>
|
||||
</message>
|
||||
|
@ -1009,8 +1072,8 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation>Somme des phases de Bode</translation>
|
||||
</message>
|
||||
|
@ -1018,12 +1081,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation>Texte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation>Textes</translation>
|
||||
</message>
|
||||
|
@ -1031,22 +1094,22 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation>Une mise à jour de LogarithmPlotter (v{}) est disponible.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation>À jour.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation>Impossible de récupérer les informations de mise à jour. Erreur du serveur {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation>Impossible de récupérer les informations de mise à jour. {}.</translation>
|
||||
</message>
|
||||
|
@ -1069,12 +1132,12 @@ These settings can always be changed at any time from the "Settings" m
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation>Curseur X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation>Curseurs X</translation>
|
||||
</message>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation>LogarithmPlotter névjegye</translation>
|
||||
</message>
|
||||
|
@ -33,112 +33,117 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation>&Fájl</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation>&Betöltés…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation>&Mentés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation>Me&ntés másként…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation>&Kilépés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation>S&zerkesztés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation>&Visszavonás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation>&Ismétlés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation>Ábra má&solása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation>&Létrehozás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation>&Beállítások</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation>Frissítések keresése indításkor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translation>Ismétlési verem önműködő visszaállítása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Súgó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>&Source code</source>
|
||||
<translation>&Forráskód</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation>&Hiba bejelentése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<source>&User manual</source>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Súgó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation>&Forráskód</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation>&Hiba bejelentése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation>&Változásnapló</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation>&Segítség a fordításban!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation>&Névjegy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation>Menti a változtatásokat?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation>Ez az ábra nem mentett változtatásokat tartalmaz. Ezzel az összes nem mentett adat elveszik. Folytatja?</translation>
|
||||
</message>
|
||||
|
@ -211,44 +216,49 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation>Isten hozott a LogarithmPlotter!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation>%1 verzió</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation>Szánjon néhány másodpercet a LogarithmPlotter beállításához.
|
||||
Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation>Frissítések keresése indításkor (online kapcsolat szükséges)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation>Ismétlési verem alaphelyzet visszaállítása, ha új műveletet adnak az előzményekhez</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation>Változásnapló</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation>Kész</translation>
|
||||
</message>
|
||||
|
@ -279,7 +289,7 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation>+ Bejegyzés hozzáadása</translation>
|
||||
</message>
|
||||
|
@ -507,12 +517,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation>Nem sikerült lekérni a változásnaplót: Kiszolgálóhiba: {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation>Nem sikerült lekérni a változásnaplót: {}.</translation>
|
||||
</message>
|
||||
|
@ -529,32 +539,37 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation>Példák: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation>A következő paraméterek használatosak, ha a tartomány nem folytonos halmaz. (Példák: ℕ, ℤ, olyan halmazok, mint a {0;3}…)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation>Megjegyzés: Adja meg az egyes értékek valószínűségét.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translation>Megjegyzés: A(z) %1[n] használatával hivatkozhat erre: %1ₙ, a(z) %1[n+1] használatával hivatkozhat erre: %1ₙ₊₁, …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation>%1: </translation>
|
||||
|
@ -594,12 +609,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation>Függvény</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation>Függvények</translation>
|
||||
</message>
|
||||
|
@ -607,22 +622,24 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation>Bode-nagyságrend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation>Bode-nagyságrendek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation>aluláteresztő</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation>felüláteresztő</translation>
|
||||
</message>
|
||||
|
@ -650,6 +667,38 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<translation type="vanished">%1 %2 rejtve.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -777,12 +826,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation>Bode-fázis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation>Bode-fázisok</translation>
|
||||
</message>
|
||||
|
@ -790,12 +839,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation>Pont</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation>Pontok</translation>
|
||||
</message>
|
||||
|
@ -803,153 +852,158 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation>Kifejezés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation>Abszcissza tartomány</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation>Ordináta tartomány</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation>Címke helyzete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation>Megjelenítési mód</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation>Címke X helyzete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation>Pontok megjelenítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation>Szaggatott vonalak megjelenítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation>ω₀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation>Áteresztő</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation>Nagyságrend nyeresége</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation>ω₀ érettségi megjelenítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation>Fázis</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation>Egység használata</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation>X</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation>Y</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation>Pontstílus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation>Valószínűségek listája</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation>Tartalom</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation>Tárgycél</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation>Hozzávetőleges érték megjelenítése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation>Kerekítés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation>Megjelenítési stílus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation>Cél értékpozíciója</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation>Alapértelmezett kifejezés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation>Kezdeményezési értékek</translation>
|
||||
</message>
|
||||
|
@ -957,12 +1011,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation>Elosztás</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation>Elosztási függvények</translation>
|
||||
</message>
|
||||
|
@ -970,12 +1024,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation>Sorozat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation>Sorozatok</translation>
|
||||
</message>
|
||||
|
@ -983,8 +1037,8 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation>Bode-nagyságrendek összege</translation>
|
||||
</message>
|
||||
|
@ -992,8 +1046,8 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation>Bode-fázisok összege</translation>
|
||||
</message>
|
||||
|
@ -1001,12 +1055,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation>Szöveg</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation>Szövegek</translation>
|
||||
</message>
|
||||
|
@ -1014,22 +1068,22 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation>Elérhető a Logaritmus-ábrázoló ({} verzió) frissítése.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation>Nincs telepíthető frissítés.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation>Nem sikerült lekérni a frissítési adatokat: Kiszolgálóhiba: {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation>Nem sikerült lekérni a frissítési adatokat: {}.</translation>
|
||||
</message>
|
||||
|
@ -1052,12 +1106,12 @@ Ezek a beállítások bármikor módosíthatók a „Beállítások” menüben.
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation>X kurzor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation>X kurzorok</translation>
|
||||
</message>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation>Om</translation>
|
||||
</message>
|
||||
|
@ -33,112 +33,117 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation>&Fil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation>&Last inn …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation>&Lagre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation>Lagre &som …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation>&Avslutt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation>&Rediger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation>&Angre</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation>&Gjenta</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation>&Kopier plott</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation>&Opprett</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation>&Innstillinger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation>Se etter nye versjoner ved programstart</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translation type="unfinished">Tilbakestill angrehistorikk automatisk</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Hjelp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>&Source code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<source>&User manual</source>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation>&Hjelp</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation>&Om</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -211,44 +216,49 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation>Velkommen til LogarithmPlotter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation>Versjon %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation>Sett opp LogarithmPlotter.
|
||||
Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation>Se etter nye versjoner ved programstart. (Krever tilkobling til Internett.)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation>Tilbakesitll angrehistorikk når en ny handling legges til</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<source>Changelog</source>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -279,7 +289,7 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -507,12 +517,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -529,32 +539,37 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -594,12 +609,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation>Funksjon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation>Funksjoner</translation>
|
||||
</message>
|
||||
|
@ -607,22 +622,24 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation>Bode-magnitude</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation>Bode-magnituder</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation>lavpass</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation>høypass</translation>
|
||||
</message>
|
||||
|
@ -650,6 +667,38 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<translation type="vanished">%1 %2 skjult.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -777,12 +826,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation>Bode-fase</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation>Bode-faser</translation>
|
||||
</message>
|
||||
|
@ -790,12 +839,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation>Punkt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation>Punkter</translation>
|
||||
</message>
|
||||
|
@ -803,153 +852,158 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -957,12 +1011,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation>Distribusjon</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation>Distribusjonsfunksjoner</translation>
|
||||
</message>
|
||||
|
@ -970,12 +1024,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation>Følge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation type="unfinished">Følger</translation>
|
||||
</message>
|
||||
|
@ -983,8 +1037,8 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation>Bode-magnitudesum</translation>
|
||||
</message>
|
||||
|
@ -992,8 +1046,8 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation>Bode-fasesum</translation>
|
||||
</message>
|
||||
|
@ -1001,12 +1055,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation>Tekst</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation>Tekster</translation>
|
||||
</message>
|
||||
|
@ -1014,22 +1068,22 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation>En ny versjon av LogartimePlotter (v{}) er tilgjengelig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation>Ingen nye versjoner.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation>Fant ikke ut om det er noen nye versjoner. Tjenerfeil {}.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation>Kunne ikke hente info om hvorvidt det er nye versjoner: {}.</translation>
|
||||
</message>
|
||||
|
@ -1052,12 +1106,12 @@ Disse innstillingene kan endres når som helst fra «Innstillinger»-menyen.</tr
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation type="unfinished">X-peker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation type="unfinished">X-pekere</translation>
|
||||
</message>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<name>About</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/About.qml" line="32"/>
|
||||
<location filename="../logarithmplotter.py" line="112"/>
|
||||
<location filename="../logarithmplotter.py" line="118"/>
|
||||
<source>About LogarithmPlotter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -33,112 +33,117 @@
|
|||
<context>
|
||||
<name>AppMenuBar</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<source>&File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
|
||||
<source>&Load...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="49"/>
|
||||
<source>&Save</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="55"/>
|
||||
<source>Save &As...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="61"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="63"/>
|
||||
<source>&Quit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="75"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<source>&Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="79"/>
|
||||
<source>&Undo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="87"/>
|
||||
<source>&Redo</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="94"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="96"/>
|
||||
<source>&Copy plot</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="102"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="104"/>
|
||||
<source>&Create</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="124"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="126"/>
|
||||
<source>&Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="127"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="129"/>
|
||||
<source>Check for updates on startup</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="136"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="138"/>
|
||||
<source>Reset redo stack automaticly</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="145"/>
|
||||
<source>&Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="147"/>
|
||||
<source>&Source code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="152"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="157"/>
|
||||
<source>&User manual</source>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="162"/>
|
||||
<source>&Help</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="164"/>
|
||||
<source>&Source code</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="169"/>
|
||||
<source>&Report a bug</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="174"/>
|
||||
<source>&User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="179"/>
|
||||
<source>&Changelog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="167"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<source>&Help translating!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="173"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="190"/>
|
||||
<source>&About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="182"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="199"/>
|
||||
<source>Save unsaved changes?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="184"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="201"/>
|
||||
<source>This plot contains unsaved changes. By doing this, all unsaved data will be lost. Continue?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -211,43 +216,48 @@
|
|||
<context>
|
||||
<name>GreetScreen</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="66"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="67"/>
|
||||
<source>Welcome to LogarithmPlotter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="81"/>
|
||||
<source>Version %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="92"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="93"/>
|
||||
<source>Take a few seconds to configure LogarithmPlotter.
|
||||
These settings can be changed at any time from the "Settings" menu.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="101"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="102"/>
|
||||
<source>Check for updates on startup (requires online connectivity)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="113"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="114"/>
|
||||
<source>Reset redo stack when a new action is added to history</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="128"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="135"/>
|
||||
<source>Changelog</source>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="126"/>
|
||||
<source>Enable LaTeX rendering</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="142"/>
|
||||
<source>User manual</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="149"/>
|
||||
<source>Changelog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml" line="156"/>
|
||||
<source>Done</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -278,7 +288,7 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>ListSetting</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="215"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="233"/>
|
||||
<source>+ Add Entry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -506,12 +516,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>changelog</name>
|
||||
<message>
|
||||
<location filename="../helper.py" line="48"/>
|
||||
<location filename="../util/helper.py" line="48"/>
|
||||
<source>Could not fetch changelog: Server error {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../helper.py" line="50"/>
|
||||
<location filename="../util/helper.py" line="50"/>
|
||||
<source>Could not fetch update: {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -528,32 +538,37 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>comment</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="36"/>
|
||||
<source>Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="54"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="43"/>
|
||||
<source>The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="41"/>
|
||||
<source>Note: Specify the probability for each value.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="37"/>
|
||||
<source>Note: Use %1[n] to refer to %1ₙ, %1[n+1] for %1ₙ₊₁...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="43"/>
|
||||
<source>If you have latex enabled, you can use use latex markup in between $$ to create equations.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>control</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="87"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ComboBoxSetting.qml" line="119"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="98"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/ListSetting.qml" line="116"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/Setting/TextSetting.qml" line="100"/>
|
||||
<source>%1: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
@ -593,12 +608,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>function</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<source>Function</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="31"/>
|
||||
<source>Functions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -606,26 +621,60 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>gainbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="33"/>
|
||||
<source>Bode Magnitude</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="34"/>
|
||||
<source>Bode Magnitudes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>low-pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="80"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="74"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="79"/>
|
||||
<source>high-pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>latex</name>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="74"/>
|
||||
<source>No Latex installation found.
|
||||
If you already have a latex distribution installed, make sure it's installed on your path.
|
||||
Otherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="79"/>
|
||||
<source>DVIPNG was not found. Make sure you include it from your Latex distribution.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="157"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' ended with a non-zero return code {}:
|
||||
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../util/latex.py" line="165"/>
|
||||
<source>An exception occured within the creation of the latex formula.
|
||||
Process '{}' took too long to finish:
|
||||
{}
|
||||
Please make sure your latex installation is correct and report a bug if so.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>name</name>
|
||||
<message>
|
||||
|
@ -753,12 +802,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>phasebode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<source>Bode Phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="32"/>
|
||||
<source>Bode Phases</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -766,12 +815,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>point</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<source>Point</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="30"/>
|
||||
<source>Points</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -779,153 +828,158 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>prop</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="33"/>
|
||||
<source>expression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="34"/>
|
||||
<source>definitionDomain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="35"/>
|
||||
<source>destinationDomain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="45"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="49"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="36"/>
|
||||
<source>labelPosition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="41"/>
|
||||
<source>displayMode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="53"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="46"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="39"/>
|
||||
<source>labelX</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="58"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<source>drawPoints</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="59"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<source>drawDashedLines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="36"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="34"/>
|
||||
<source>om_0</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="37"/>
|
||||
<source>pass</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="44"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="38"/>
|
||||
<source>gain</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="41"/>
|
||||
<source>omGraduation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="35"/>
|
||||
<source>phase</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="42"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="36"/>
|
||||
<source>unit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="37"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="47"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="33"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="34"/>
|
||||
<source>x</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="39"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="38"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="34"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<source>y</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="41"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="36"/>
|
||||
<source>pointStyle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="43"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="45"/>
|
||||
<source>probabilities</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="42"/>
|
||||
<source>text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="48"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="47"/>
|
||||
<source>disableLatex</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="35"/>
|
||||
<source>targetElement</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="50"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="37"/>
|
||||
<source>approximate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="51"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="38"/>
|
||||
<source>rounding</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="52"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="39"/>
|
||||
<source>displayStyle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="57"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="44"/>
|
||||
<source>targetValuePosition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="35"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="36"/>
|
||||
<source>defaultExpression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="40"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="41"/>
|
||||
<source>baseValues</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -933,12 +987,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>repartition</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="28"/>
|
||||
<source>Repartition</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="29"/>
|
||||
<source>Repartition functions</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -946,12 +1000,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>sequence</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<source>Sequence</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="31"/>
|
||||
<source>Sequences</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -959,8 +1013,8 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>sommegainsbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="31"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommegainsbode.js" line="32"/>
|
||||
<source>Bode Magnitudes Sum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -968,8 +1022,8 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>sommephasesbode</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sommephasesbode.js" line="31"/>
|
||||
<source>Bode Phases Sum</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -977,12 +1031,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>text</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="30"/>
|
||||
<source>Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="31"/>
|
||||
<source>Texts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -990,22 +1044,22 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>update</name>
|
||||
<message>
|
||||
<location filename="../update.py" line="54"/>
|
||||
<location filename="../util/update.py" line="54"/>
|
||||
<source>An update for LogarithPlotter (v{}) is available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="58"/>
|
||||
<location filename="../util/update.py" line="58"/>
|
||||
<source>No update available.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="61"/>
|
||||
<location filename="../util/update.py" line="61"/>
|
||||
<source>Could not fetch update information: Server error {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../update.py" line="63"/>
|
||||
<location filename="../util/update.py" line="63"/>
|
||||
<source>Could not fetch update information: {}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1028,12 +1082,12 @@ These settings can be changed at any time from the "Settings" menu.</s
|
|||
<context>
|
||||
<name>xcursor</name>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="31"/>
|
||||
<source>X Cursor</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
|
||||
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="32"/>
|
||||
<source>X Cursors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -18,17 +18,18 @@
|
|||
|
||||
from time import time
|
||||
|
||||
start_time = time()
|
||||
|
||||
from PySide2.QtWidgets import QApplication
|
||||
from PySide2.QtQml import QQmlApplicationEngine
|
||||
from PySide2.QtCore import QTranslator, QLocale
|
||||
from PySide2.QtCore import Qt, QTranslator, QLocale
|
||||
from PySide2.QtGui import QIcon
|
||||
|
||||
from tempfile import TemporaryDirectory
|
||||
from os import getcwd, chdir, environ, path, remove, close
|
||||
from platform import release as os_release
|
||||
from sys import platform, argv, version as sys_version, exit
|
||||
from sys import path as sys_path
|
||||
|
||||
start_time = time()
|
||||
|
||||
# Create the temporary directory for saving copied screenshots and latex files
|
||||
tempdir = TemporaryDirectory()
|
||||
|
@ -37,7 +38,6 @@ pwd = getcwd()
|
|||
|
||||
chdir(path.dirname(path.realpath(__file__)))
|
||||
|
||||
from sys import path as sys_path
|
||||
if path.realpath(path.join(getcwd(), "..")) not in sys_path:
|
||||
sys_path.append(path.realpath(path.join(getcwd(), "..")))
|
||||
|
||||
|
@ -46,6 +46,7 @@ from LogarithmPlotter import __VERSION__
|
|||
from LogarithmPlotter.util import config, native
|
||||
from LogarithmPlotter.util.update import check_for_updates
|
||||
from LogarithmPlotter.util.helper import Helper
|
||||
from LogarithmPlotter.util.latex import Latex
|
||||
|
||||
config.init()
|
||||
|
||||
|
@ -84,6 +85,7 @@ def run():
|
|||
icon_fallbacks.append(path.realpath(path.join(base_icon_path, "settings", "custom")))
|
||||
QIcon.setFallbackSearchPaths(icon_fallbacks);
|
||||
|
||||
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
|
||||
app = QApplication(argv)
|
||||
app.setApplicationName("LogarithmPlotter")
|
||||
app.setOrganizationName("Ad5001")
|
||||
|
@ -107,7 +109,9 @@ def run():
|
|||
engine = QQmlApplicationEngine()
|
||||
global tmpfile
|
||||
helper = Helper(pwd, tmpfile)
|
||||
latex = Latex(tempdir)
|
||||
engine.rootContext().setContextProperty("Helper", helper)
|
||||
engine.rootContext().setContextProperty("Latex", latex)
|
||||
engine.rootContext().setContextProperty("TestBuild", "--test-build" in argv)
|
||||
engine.rootContext().setContextProperty("StartTime", dep_time)
|
||||
|
||||
|
@ -131,6 +135,8 @@ def run():
|
|||
if platform == "darwin":
|
||||
macOSFileOpenHandler.init_graphics(engine.rootObjects()[0])
|
||||
|
||||
latex.check_latex_install()
|
||||
|
||||
# Check for updates
|
||||
if config.getSetting("check_for_updates"):
|
||||
check_for_updates(__VERSION__, engine.rootObjects()[0])
|
||||
|
|
|
@ -22,6 +22,8 @@ import QtQuick.Dialogs 1.3
|
|||
import eu.ad5001.MixedMenu 1.1
|
||||
import "js/objects.js" as Objects
|
||||
import "js/historylib.js" as HistoryLib
|
||||
import "js/math/latex.js" as Latex
|
||||
|
||||
|
||||
/*!
|
||||
\qmltype AppMenuBar
|
||||
|
@ -139,6 +141,21 @@ MenuBar {
|
|||
onTriggered: Helper.setSettingBool("reset_redo_stack", checked)
|
||||
icon.name: 'timeline'
|
||||
}
|
||||
|
||||
Action {
|
||||
id: enableLatexSetting
|
||||
text: qsTr("Enable LaTeX rendering")
|
||||
checkable: true
|
||||
checked: Helper.getSettingBool("enable_latex")
|
||||
onTriggered: {
|
||||
Helper.setSettingBool("enable_latex", checked)
|
||||
Latex.enabled = checked
|
||||
drawCanvas.requestPaint()
|
||||
}
|
||||
icon.name: 'Expression'
|
||||
|
||||
Component.onCompleted: Latex.enabled = checked
|
||||
}
|
||||
}
|
||||
|
||||
Menu {
|
||||
|
|
|
@ -124,13 +124,15 @@ Item {
|
|||
}
|
||||
|
||||
/*!
|
||||
\qmlmethod void History::undo()
|
||||
\qmlmethod void History::undo(bool updateObjectList = true)
|
||||
Undoes the historylib.Action at the top of the undo stack and pushes it to the top of the redo stack.
|
||||
By default, will update the graph and the object list. This behavior can be disabled by setting the \c updateObjectList to false.
|
||||
*/
|
||||
function undo() {
|
||||
function undo(updateObjectList = true) {
|
||||
if(undoStack.length > 0) {
|
||||
var action = undoStack.pop()
|
||||
action.undo()
|
||||
if(updateObjectList)
|
||||
objectLists.update()
|
||||
redoStack.push(action)
|
||||
undoCount--;
|
||||
|
@ -140,13 +142,15 @@ Item {
|
|||
}
|
||||
|
||||
/*!
|
||||
\qmlmethod void History::redo()
|
||||
\qmlmethod void History::redo(bool updateObjectList = true)
|
||||
Redoes the historylib.Action at the top of the redo stack and pushes it to the top of the undo stack.
|
||||
By default, will update the graph and the object list. This behavior can be disabled by setting the \c updateObjectList to false.
|
||||
*/
|
||||
function redo() {
|
||||
function redo(updateObjectList = true) {
|
||||
if(redoStack.length > 0) {
|
||||
var action = redoStack.pop()
|
||||
action.redo()
|
||||
if(updateObjectList)
|
||||
objectLists.update()
|
||||
undoStack.push(action)
|
||||
undoCount++;
|
||||
|
@ -186,7 +190,7 @@ Item {
|
|||
property int toUndoCount: 0
|
||||
onTriggered: {
|
||||
if(toUndoCount > 0) {
|
||||
historyObj.undo()
|
||||
historyObj.undo(toUndoCount % 4 == 1) // Only redraw once every 4 changes.
|
||||
toUndoCount--;
|
||||
} else {
|
||||
running = false;
|
||||
|
@ -200,7 +204,7 @@ Item {
|
|||
property int toRedoCount: 0
|
||||
onTriggered: {
|
||||
if(toRedoCount > 0) {
|
||||
historyObj.redo()
|
||||
historyObj.redo(toRedoCount % 4 == 1) // Only redraw once every 4 changes.
|
||||
toRedoCount--;
|
||||
} else {
|
||||
running = false;
|
||||
|
|
|
@ -157,13 +157,27 @@ Canvas {
|
|||
*/
|
||||
property int drawMaxX: Math.ceil(Math.max(Math.abs(xmin), Math.abs(px2x(canvasSize.width)))/xaxisstep1)
|
||||
|
||||
/*!
|
||||
\qmlproperty var LogGraphCanvas::imageLoaders
|
||||
Dictionary of format {image: [callback.image data]} containing data for defered image loading.
|
||||
*/
|
||||
property var imageLoaders: {}
|
||||
/*!
|
||||
\qmlproperty var LogGraphCanvas::ctx
|
||||
Cache for the 2D context so that it may be used asynchronously.
|
||||
*/
|
||||
property var ctx
|
||||
|
||||
onPaint: {
|
||||
Component.onCompleted: imageLoaders = {}
|
||||
|
||||
onPaint: function(rect) {
|
||||
//console.log('Redrawing')
|
||||
var ctx = getContext("2d");
|
||||
if(rect.width == canvas.width) { // Redraw full canvas
|
||||
ctx = getContext("2d");
|
||||
reset(ctx)
|
||||
drawGrille(ctx)
|
||||
drawAxises(ctx)
|
||||
drawLabels(ctx)
|
||||
ctx.lineWidth = linewidth
|
||||
for(var objType in Objects.currentObjects) {
|
||||
for(var obj of Objects.currentObjects[objType]){
|
||||
|
@ -173,10 +187,18 @@ Canvas {
|
|||
}
|
||||
}
|
||||
ctx.lineWidth = 1
|
||||
drawLabels(ctx)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
onImageLoaded: {
|
||||
Object.keys(imageLoaders).forEach((key) => {
|
||||
if(isImageLoaded(key)) {
|
||||
// Calling callback
|
||||
imageLoaders[key][0](canvas, ctx, imageLoaders[key][1])
|
||||
delete imageLoaders[key]
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/*!
|
||||
\qmlmethod void LogGraphCanvas::reset(var ctx)
|
||||
|
@ -186,7 +208,7 @@ Canvas {
|
|||
// Reset
|
||||
ctx.fillStyle = "#FFFFFF"
|
||||
ctx.strokeStyle = "#000000"
|
||||
ctx.font = `${canvas.textsize-2}px sans-serif`
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
ctx.fillRect(0,0,width,height)
|
||||
}
|
||||
|
||||
|
@ -243,12 +265,12 @@ Canvas {
|
|||
var axisxpx = y2px(0) // Y coordinate of X axis
|
||||
// Labels
|
||||
ctx.fillStyle = "#000000"
|
||||
ctx.font = `${canvas.textsize+2}px sans-serif`
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
ctx.fillText(ylabel, axisypx+10, 24)
|
||||
var textSize = ctx.measureText(xlabel).width
|
||||
ctx.fillText(xlabel, canvasSize.width-14-textSize, axisxpx-5)
|
||||
// Axis graduation labels
|
||||
ctx.font = `${canvas.textsize-2}px sans-serif`
|
||||
ctx.font = `${canvas.textsize-4}px sans-serif`
|
||||
|
||||
var txtMinus = ctx.measureText('-').width
|
||||
if(showxgrad) {
|
||||
|
@ -314,16 +336,30 @@ Canvas {
|
|||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\qmlmethod void LogGraphCanvas::drawVisibleImage(var ctx, var image, double x, double y)
|
||||
Draws an \c image onto the canvas using 2D \c ctx.
|
||||
\note The \c x, \c y \c width and \c height properties here are relative to the canvas, not the plot.
|
||||
*/
|
||||
function drawVisibleImage(ctx, image, x, y, width, height) {
|
||||
//console.log("Drawing image", isImageLoaded(image), isImageError(image))
|
||||
markDirty(Qt.rect(x, y, width, height));
|
||||
ctx.drawImage(image, x, y, width, height)
|
||||
/*if(true || (x > 0 && x < canvasSize.width && y > 0 && y < canvasSize.height)) {
|
||||
}*/
|
||||
}
|
||||
|
||||
/*!
|
||||
\qmlmethod var LogGraphCanvas::measureText(var ctx, string text)
|
||||
Measures the wicth and height of a multiline \c text that would be drawn onto the canvas using 2D \c ctx.
|
||||
Return format: dictionary {"width": width, "height": height}
|
||||
*/
|
||||
function measureText(ctx, text) {
|
||||
var theight = 0
|
||||
var twidth = 0
|
||||
let theight = 0
|
||||
let twidth = 0
|
||||
let defaultHeight = ctx.measureText("M").width // Approximate but good enough!
|
||||
text.split("\n").forEach(function(txt, i){
|
||||
theight += canvas.textsize
|
||||
theight += defaultHeight
|
||||
if(ctx.measureText(txt).width > twidth) twidth = ctx.measureText(txt).width
|
||||
})
|
||||
return {'width': twidth, 'height': theight}
|
||||
|
@ -415,4 +451,25 @@ Canvas {
|
|||
}
|
||||
ctx.stroke();
|
||||
}
|
||||
|
||||
/*!
|
||||
\qmlmethod var LogGraphCanvas::renderLatexImage(string ltxText, color)
|
||||
Renders latex markup \c ltxText to an image and loads it. Returns a dictionary with three values: source, width and height.
|
||||
*/
|
||||
function renderLatexImage(ltxText, color, callback) {
|
||||
let [ltxSrc, ltxWidth, ltxHeight] = Latex.render(ltxText, textsize, color).split(",")
|
||||
let imgData = {
|
||||
"source": ltxSrc,
|
||||
"width": parseFloat(ltxWidth),
|
||||
"height": parseFloat(ltxHeight)
|
||||
};
|
||||
if(!isImageLoaded(ltxSrc) && !isImageLoading(ltxSrc)){
|
||||
// Wait until the image is loaded to callback.
|
||||
loadImage(ltxSrc)
|
||||
imageLoaders[ltxSrc] = [callback, imgData]
|
||||
} else {
|
||||
// Callback directly
|
||||
callback(canvas, ctx, imgData)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import "../js/math/latex.js" as Latex
|
||||
|
||||
/*!
|
||||
\qmltype GreetScreen
|
||||
|
@ -101,7 +102,7 @@ Popup {
|
|||
text: qsTr('Check for updates on startup (requires online connectivity)')
|
||||
onClicked: {
|
||||
Helper.setSettingBool("check_for_updates", checked)
|
||||
checkForUpdatesMenuSetting.checked = checked
|
||||
//checkForUpdatesMenuSetting.checked = checked
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -113,7 +114,20 @@ Popup {
|
|||
text: qsTr('Reset redo stack when a new action is added to history')
|
||||
onClicked: {
|
||||
Helper.setSettingBool("reset_redo_stack", checked)
|
||||
resetRedoStackMenuSetting.checked = checked
|
||||
//resetRedoStackMenuSetting.checked = checked
|
||||
}
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: enableLatexSetting
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: resetRedoStackSetting.bottom
|
||||
checked: Helper.getSettingBool("enable_latex")
|
||||
text: qsTr('Enable LaTeX rendering')
|
||||
onClicked: {
|
||||
Helper.setSettingBool("enable_latex", checked)
|
||||
Latex.enabled = checked
|
||||
drawCanvas.requestPaint()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and distribution functions.
|
||||
* Copyright (C) 2022 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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
Image {
|
||||
id: expr
|
||||
property string expression
|
||||
|
||||
src: Latex.render(expression).split(',')[0]
|
||||
}
|
|
@ -1,3 +1,21 @@
|
|||
/**
|
||||
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and distribution functions.
|
||||
* Copyright (C) 2022 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 <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQml.Models 2.12
|
||||
|
|
|
@ -83,7 +83,7 @@ Item {
|
|||
id: iconLabel
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: icon == "" ? 0 : 3
|
||||
source: control.visible ? "../icons/" + control.icon : ""
|
||||
source: control.visible && icon != "" ? "../icons/" + control.icon : ""
|
||||
width: height
|
||||
height: icon == "" || !visible ? 0 : 24
|
||||
color: sysPalette.windowText
|
||||
|
|
|
@ -99,7 +99,7 @@ ScrollView {
|
|||
Font size of the text that will be drawn into the canvas, provided from settings.
|
||||
\sa Settings
|
||||
*/
|
||||
property double textsize: 14
|
||||
property double textsize: 18
|
||||
/*!
|
||||
\qmlproperty bool Settings::logscalex
|
||||
true if the canvas should be in logarithmic mode, false otherwise.
|
||||
|
|
|
@ -152,10 +152,15 @@ class Domain {
|
|||
* Represents an empty set.
|
||||
*/
|
||||
class EmptySet extends Domain {
|
||||
constructor() {
|
||||
super()
|
||||
this.displayName = "∅"
|
||||
this.latexMarkup = "\\emptyset"
|
||||
}
|
||||
|
||||
includes(x) { return false }
|
||||
|
||||
toString() { return "∅" }
|
||||
toString() { return this.displayName }
|
||||
|
||||
union(domain) { return domain }
|
||||
|
||||
|
@ -177,6 +182,7 @@ class Range extends Domain {
|
|||
this.openBegin = openBegin
|
||||
this.openEnd = openEnd
|
||||
this.displayName = (openBegin ? "]" : "[") + begin.toString() + ";" + end.toString() + (openEnd ? "[" : "]")
|
||||
this.latexMarkup = `\\mathopen${openBegin ? "]" : "["}${this.begin.latexMarkup};${this.end.latexMarkup}\\mathclose${openEnd ? "[" : "]"}`
|
||||
}
|
||||
|
||||
includes(x) {
|
||||
|
@ -292,6 +298,8 @@ class DomainSet extends SpecialDomain {
|
|||
}
|
||||
this.executedValues.sort((a,b) => a-b)
|
||||
this.values = this.executedValues.map(val => newVals[val])
|
||||
this.displayName = "{" + this.values.join(";") + "}"
|
||||
this.latexMarkup = `\\{${this.values.join(";")}\\}`
|
||||
}
|
||||
|
||||
includes(x) {
|
||||
|
@ -325,7 +333,7 @@ class DomainSet extends SpecialDomain {
|
|||
}
|
||||
|
||||
toString() {
|
||||
return "{" + this.values.join(";") + "}"
|
||||
return this.displayName
|
||||
}
|
||||
|
||||
union(domain) {
|
||||
|
@ -397,6 +405,8 @@ class UnionDomain extends Domain {
|
|||
super()
|
||||
this.dom1 = dom1
|
||||
this.dom2 = dom2
|
||||
this.displayName = this.dom1.toString() + " ∪ " + this.dom2.toString()
|
||||
this.latexMarkup = `${dom1.latexMarkup}\\cup${dom2.latexMarkup}`
|
||||
}
|
||||
|
||||
includes(x) {
|
||||
|
@ -404,7 +414,7 @@ class UnionDomain extends Domain {
|
|||
}
|
||||
|
||||
toString() {
|
||||
return this.dom1.toString() + " ∪ " + this.dom2.toString()
|
||||
return this.displayName
|
||||
}
|
||||
|
||||
union(domain) {
|
||||
|
@ -441,6 +451,8 @@ class IntersectionDomain extends Domain {
|
|||
super()
|
||||
this.dom1 = dom1
|
||||
this.dom2 = dom2
|
||||
this.displayName = dom1.toString() + " ∩ " + dom2.toString()
|
||||
this.latexMarkup = `${dom1.latexMarkup}\\cap${dom2.latexMarkup}`
|
||||
}
|
||||
|
||||
includes(x) {
|
||||
|
@ -448,7 +460,7 @@ class IntersectionDomain extends Domain {
|
|||
}
|
||||
|
||||
toString() {
|
||||
return this.dom1.toString() + " ∩ " + this.dom2.toString()
|
||||
return this.displayName
|
||||
}
|
||||
|
||||
union(domain) {
|
||||
|
@ -484,6 +496,8 @@ class MinusDomain extends Domain {
|
|||
super()
|
||||
this.dom1 = dom1
|
||||
this.dom2 = dom2
|
||||
this.displayName = dom1.toString() + "∖" + dom2.toString()
|
||||
this.latexMarkup = `${dom1.latexMarkup}\\setminus${dom2.latexMarkup}`
|
||||
}
|
||||
|
||||
includes(x) {
|
||||
|
@ -491,7 +505,7 @@ class MinusDomain extends Domain {
|
|||
}
|
||||
|
||||
toString() {
|
||||
return this.dom1.toString() + "∖" + this.dom2.toString()
|
||||
return this.displayName
|
||||
}
|
||||
|
||||
static import(frm) {
|
||||
|
@ -505,33 +519,45 @@ class MinusDomain extends Domain {
|
|||
|
||||
Domain.RE = new MinusDomain("R", "{0}")
|
||||
Domain.RE.displayName = "ℝ*"
|
||||
Domain.RE.latexMarkup = "\\mathbb{R}^{*}"
|
||||
|
||||
Domain.R = new Range(-Infinity,Infinity,true,true)
|
||||
Domain.R.displayName = "ℝ"
|
||||
Domain.R.latexMarkup = "\\mathbb{R}"
|
||||
Domain.RP = new Range(0,Infinity,true,false)
|
||||
Domain.RP.displayName = "ℝ⁺"
|
||||
Domain.RP.latexMarkup = "\\mathbb{R}^{+}"
|
||||
Domain.RM = new Range(-Infinity,0,true,false)
|
||||
Domain.RM.displayName = "ℝ⁻"
|
||||
Domain.RM.latexMarkup = "\\mathbb{R}^{-}"
|
||||
Domain.RPE = new Range(0,Infinity,true,true)
|
||||
Domain.RPE.displayName = "ℝ⁺*"
|
||||
Domain.RPE.latexMarkup = "\\mathbb{R}^{+*}"
|
||||
Domain.RME = new Range(-Infinity,0,true,true)
|
||||
Domain.RME.displayName = "ℝ⁻*"
|
||||
Domain.RME.latexMarkup = "\\mathbb{R}^{+*}"
|
||||
Domain.N = new SpecialDomain('ℕ', x => x%1==0 && x >= 0,
|
||||
x => Math.max(Math.floor(x)+1, 0),
|
||||
x => Math.max(Math.ceil(x)-1, 0))
|
||||
Domain.N.latexMarkup = "\\mathbb{N}"
|
||||
Domain.NE = new SpecialDomain('ℕ*', x => x%1==0 && x > 0,
|
||||
x => Math.max(Math.floor(x)+1, 1),
|
||||
x => Math.max(Math.ceil(x)-1, 1))
|
||||
Domain.NE.latexMarkup = "\\mathbb{N}^{*}"
|
||||
Domain.Z = new SpecialDomain('ℤ', x => x%1==0, x => Math.floor(x)+1, x => Math.ceil(x)-1)
|
||||
Domain.Z.latexMarkup = "\\mathbb{Z}"
|
||||
Domain.ZE = new SpecialDomain('ℤ*', x => x%1==0 && x != 0,
|
||||
x => Math.floor(x)+1 == 0 ? Math.floor(x)+2 : Math.floor(x)+1,
|
||||
x => Math.ceil(x)-1 == 0 ? Math.ceil(x)-2 : Math.ceil(x)-1)
|
||||
Domain.ZE.latexMarkup = "\\mathbb{Z}^{*}"
|
||||
Domain.ZM = new SpecialDomain('ℤ⁻', x => x%1==0 && x <= 0,
|
||||
x => Math.min(Math.floor(x)+1, 0),
|
||||
x => Math.min(Math.ceil(x)-1, 0))
|
||||
Domain.ZM.latexMarkup = "\\mathbb{Z}^{-}"
|
||||
Domain.ZME = new SpecialDomain('ℤ⁻*', x => x%1==0 && x < 0,
|
||||
x => Math.min(Math.floor(x)+1, -1),
|
||||
x => Math.min(Math.ceil(x)-1, -1))
|
||||
Domain.ZME.latexMarkup = "\\mathbb{Z}^{-*}"
|
||||
Domain.NLog = new SpecialDomain('ℕˡᵒᵍ',
|
||||
x => x/Math.pow(10, x.toString().length-1) % 1 == 0 && x > 0,
|
||||
function(x) {
|
||||
|
@ -542,6 +568,7 @@ Domain.NLog = new SpecialDomain('ℕˡᵒᵍ',
|
|||
var x10pow = Math.pow(10, x.toString().length-1)
|
||||
return Math.max(1, (Math.ceil(x/x10pow)-1)*x10pow)
|
||||
})
|
||||
Domain.NLog.latexMarkup = "\\mathbb{N}^{log}"
|
||||
|
||||
var refedDomains = []
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ class Expression {
|
|||
this.calc = C.parser.parse(expr).simplify()
|
||||
this.cached = this.isConstant()
|
||||
this.cachedValue = this.cached ? this.calc.evaluate(C.evalVariables) : null
|
||||
this.latexMarkup = Latex.expressionToLatex(this.calc.tokens)
|
||||
this.latexMarkup = Latex.expression(this.calc.tokens)
|
||||
}
|
||||
|
||||
isConstant() {
|
||||
|
|
|
@ -20,6 +20,12 @@
|
|||
|
||||
.import "../expr-eval.js" as ExprEval
|
||||
|
||||
|
||||
/**
|
||||
* true if latex has been enabled by the user, false otherwise.
|
||||
*/
|
||||
var enabled = false
|
||||
|
||||
/**
|
||||
* Puts element within parenthesis.
|
||||
*
|
||||
|
@ -32,23 +38,99 @@ function par(elem) {
|
|||
|
||||
/**
|
||||
* Checks if the element contains at least one of the elements of
|
||||
* the string array contents , and returns the parenthesis version if so.
|
||||
* the string array contents, but not at the first position of the string,
|
||||
* and returns the parenthesis version if so.
|
||||
*
|
||||
* @param {string} elem - element to put within parenthesis.
|
||||
* @param {Array} contents - Array of elements to put within parenthesis.
|
||||
* @returns {string}
|
||||
*/
|
||||
function parif(elem, contents) {
|
||||
return contents.some(x => elem.toString().includes(x)) ? par(elem) : elem
|
||||
elem = elem.toString()
|
||||
if(elem[0] != "(" && elem[elem.length-1] != ")" && contents.some(x => elem.indexOf(x) > 0))
|
||||
return par(elem)
|
||||
if(elem[0] == "(" && elem[elem.length-1] == ")")
|
||||
return elem.substr(1, elem.length-2)
|
||||
return elem
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a latex expression for a function.
|
||||
*
|
||||
* @param {string} f - Function to convert
|
||||
* @param {Array} args - Arguments of the function
|
||||
* @returns {string}
|
||||
*/
|
||||
function functionToLatex(f, args) {
|
||||
switch(f) {
|
||||
case "derivative":
|
||||
return '\\frac{d' + args[0].substr(1, args[0].length-2).replace(new RegExp(args[1].substr(1, args[1].length-2), 'g'), 'x') + '}{dx}';
|
||||
break;
|
||||
case "integral":
|
||||
return '\\int\\limits_{' + args[0] + '}^{' + args[1] + '}' + args[2].substr(1, args[2].length-2) + ' d' + args[3].substr(1, args[3].length-2);
|
||||
break;
|
||||
case "sqrt":
|
||||
return '\\sqrt\\left(' + args.join(', ') + '\\right)';
|
||||
break;
|
||||
case "abs":
|
||||
return '\\left|' + args.join(', ') + '\\right|';
|
||||
break;
|
||||
case "floor":
|
||||
return '\\left\\lfloor' + args.join(', ') + '\\right\\rfloor';
|
||||
break;
|
||||
case "ceil":
|
||||
return '\\left\\lceil' + args.join(', ') + '\\right\\rceil';
|
||||
break;
|
||||
default:
|
||||
return '\\mathrm{' + f + '}\\left(' + args.join(', ') + '\\right)';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a latex variable from a variable.
|
||||
*
|
||||
* @param {string} vari - variable to convert
|
||||
* @returns {string}
|
||||
*/
|
||||
function variable(vari) {
|
||||
let unicodechars = ["α","β","γ","δ","ε","ζ","η",
|
||||
"π","θ","κ","λ","μ","ξ","ρ",
|
||||
"ς","σ","τ","φ","χ","ψ","ω",
|
||||
"Γ","Δ","Θ","Λ","Ξ","Π","Σ",
|
||||
"Φ","Ψ","Ω","ₐ","ₑ","ₒ","ₓ",
|
||||
"ₕ","ₖ","ₗ","ₘ","ₙ","ₚ","ₛ",
|
||||
"ₜ","¹","²","³","⁴","⁵","⁶",
|
||||
"⁷","⁸","⁹","⁰","₁","₂","₃",
|
||||
"₄","₅","₆","₇","₈","₉","₀",
|
||||
"pi"]
|
||||
let equivalchars = ["\\alpha","\\beta","\\gamma","\\delta","\\epsilon","\\zeta","\\eta",
|
||||
"\\pi","\\theta","\\kappa","\\lambda","\\mu","\\xi","\\rho",
|
||||
"\\sigma","\\sigma","\\tau","\\phi","\\chi","\\psi","\\omega",
|
||||
"\\Gamma","\\Delta","\\Theta","\\Lambda","\\Xi","\\Pi","\\Sigma",
|
||||
"\\Phy","\\Psi","\\Omega","{}_{a}","{}_{e}","{}_{o}","{}_{x}",
|
||||
"{}_{h}","{}_{k}","{}_{l}","{}_{m}","{}_{n}","{}_{p}","{}_{s}",
|
||||
"{}_{t}","{}^{1}","{}^{2}","{}^{3}","{}^{4}","{}^{5}","{}^{6}",
|
||||
"{}^{7}","{}^{8}","{}^{9}","{}^{0}","{}_{1}","{}_{2}","{}_{3}",
|
||||
"{}_{4}","{}_{5}","{}_{6}","{}_{7}","{}_{8}","{}_{9}","{}_{0}",
|
||||
"\\pi"]
|
||||
for(let i = 0; i < unicodechars.length; i++) {
|
||||
//console.log(vari, unicodechars[i], equivalchars[i]);
|
||||
if(vari.includes(unicodechars[i]))
|
||||
vari = vari.replace(new RegExp(unicodechars[i], 'g'), equivalchars[i])
|
||||
}
|
||||
return vari;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function converts expr-eval tokens to a latex string.
|
||||
* Converts expr-eval tokens to a latex string.
|
||||
*
|
||||
* @param {Array} tokens - expr-eval tokens list
|
||||
* @returns {string}
|
||||
*/
|
||||
function expressionToLatex(tokens) {
|
||||
function expression(tokens) {
|
||||
var nstack = [];
|
||||
var n1, n2, n3;
|
||||
var f, args, argCount;
|
||||
|
@ -73,7 +155,7 @@ function expressionToLatex(tokens) {
|
|||
switch(f) {
|
||||
case '-':
|
||||
case '+':
|
||||
nstack.push(n1 + this.ope + n2);
|
||||
nstack.push(n1 + f + n2);
|
||||
break;
|
||||
case '||':
|
||||
case 'or':
|
||||
|
@ -81,9 +163,12 @@ function expressionToLatex(tokens) {
|
|||
case 'and':
|
||||
case '==':
|
||||
case '!=':
|
||||
nstack.push(par(n1) + this.ope + par(n2));
|
||||
nstack.push(par(n1) + f + par(n2));
|
||||
break;
|
||||
case '*':
|
||||
if(n2 == "\\pi" || n2 == "e" || n2 == "x" || n2 == "n")
|
||||
nstack.push(parif(n1,['+','-']) + n2)
|
||||
else
|
||||
nstack.push(parif(n1,['+','-']) + " \\times " + parif(n2,['+','-']));
|
||||
break;
|
||||
case '/':
|
||||
|
@ -115,10 +200,7 @@ function expressionToLatex(tokens) {
|
|||
break;
|
||||
case ExprEval.IVAR:
|
||||
case ExprEval.IVARNAME:
|
||||
if(item.value == "pi")
|
||||
nstack.push("π")
|
||||
else
|
||||
nstack.push(item.value);
|
||||
nstack.push(variable(item.value.toString()));
|
||||
break;
|
||||
case ExprEval.IOP1: // Unary operator
|
||||
n1 = nstack.pop();
|
||||
|
@ -144,20 +226,7 @@ function expressionToLatex(tokens) {
|
|||
}
|
||||
f = nstack.pop();
|
||||
// Handling various functions
|
||||
if(f == "derivative")
|
||||
nstack.push('\\frac{d' + args[0].substr(1, args[0].length-2).replace(new RegExp(by, 'g'), 'x') + '}{dx}');
|
||||
else if(f == "integral")
|
||||
nstack.push('\\int\\limits^{' + args[0] + '}_{' + args[1] + '}' + args[2].substr(1, args[2].length-2) + ' d' + args[3]);
|
||||
else if(f == "sqrt")
|
||||
nstack.push('\\sqrt\\left(' + args.join(', ') + '\\right)');
|
||||
else if(f == "abs")
|
||||
nstack.push('\\left|' + args.join(', ') + '\\right|');
|
||||
else if(f == "floor")
|
||||
nstack.push('\\left\\lfloor' + args.join(', ') + '\\right\\rfloor');
|
||||
else if(f == "ceil")
|
||||
nstack.push('\\left\\lceil' + args.join(', ') + '\\right\\rceil');
|
||||
else
|
||||
nstack.push('\\mathrm{' + f + '}\\left(' + args.join(', ') + '\\right)');
|
||||
nstack.push(functionToLatex(f, args))
|
||||
break;
|
||||
case ExprEval.IFUNDEF:
|
||||
nstack.push(par(n1 + '(' + args.join(', ') + ') = ' + n2));
|
||||
|
@ -175,7 +244,7 @@ function expressionToLatex(tokens) {
|
|||
nstack.push('[' + args.join(', ') + ']');
|
||||
break;
|
||||
case ExprEval.IEXPR:
|
||||
nstack.push('(' + expressionToLatex(item.value) + ')');
|
||||
nstack.push('(' + expression(item.value) + ')');
|
||||
break;
|
||||
case ExprEval.IENDSTATEMENT:
|
||||
break;
|
||||
|
@ -185,11 +254,7 @@ function expressionToLatex(tokens) {
|
|||
}
|
||||
}
|
||||
if (nstack.length > 1) {
|
||||
if (toJS) {
|
||||
nstack = [ nstack.join(',') ];
|
||||
} else {
|
||||
nstack = [ nstack.join(';') ];
|
||||
}
|
||||
nstack = [ nstack.join(';') ]
|
||||
}
|
||||
return String(nstack[0]);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
.import "common.js" as C
|
||||
.import "expression.js" as Expr
|
||||
.import "../utils.js" as Utils
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
/**
|
||||
* Represents mathematical object for sequences.
|
||||
|
@ -32,9 +34,13 @@ class Sequence extends Expr.Expression {
|
|||
this.name = name
|
||||
this.baseValues = baseValues
|
||||
this.calcValues = Object.assign({}, baseValues)
|
||||
this.latexValues = Object.assign({}, baseValues)
|
||||
for(var n in this.calcValues)
|
||||
if(['string', 'number'].includes(typeof this.calcValues[n]))
|
||||
this.calcValues[n] = parser.parse(this.calcValues[n].toString()).simplify().evaluate(C.evalVariables)
|
||||
if(['string', 'number'].includes(typeof this.calcValues[n])) {
|
||||
let parsed = C.parser.parse(this.calcValues[n].toString()).simplify()
|
||||
this.latexValues[n] = Latex.expression(parsed.tokens)
|
||||
this.calcValues[n] = parsed.evaluate(C.evalVariables)
|
||||
}
|
||||
this.valuePlus = parseInt(valuePlus)
|
||||
}
|
||||
|
||||
|
@ -58,11 +64,11 @@ class Sequence extends Expr.Expression {
|
|||
|
||||
cache(n = 1) {
|
||||
var str = Utils.simplifyExpression(this.calc.substitute('n', n-this.valuePlus).toString())
|
||||
var expr = parser.parse(str).simplify()
|
||||
var expr = C.parser.parse(str).simplify()
|
||||
var l = {'n': n-this.valuePlus} // Just in case, add n (for custom functions)
|
||||
l[this.name] = this.calcValues
|
||||
currentVars = Object.assign(l, C.evalVariables)
|
||||
this.calcValues[n] = expr.evaluate(currentVars)
|
||||
C.currentVars = Object.assign(l, C.evalVariables)
|
||||
this.calcValues[n] = expr.evaluate(C.currentVars)
|
||||
}
|
||||
|
||||
toString(forceSign=false) {
|
||||
|
@ -75,4 +81,15 @@ class Sequence extends Expr.Expression {
|
|||
).join('; ')
|
||||
return ret
|
||||
}
|
||||
|
||||
toLatexString(forceSign=false) {
|
||||
var str = this.latexMarkup
|
||||
if(str[0] != '-' && forceSign) str = '+' + str
|
||||
var subtxt = '_{n' + (this.valuePlus == 0 ? '' : '+' + this.valuePlus) + '}'
|
||||
var ret = `\\begin{array}{l}${Latex.variable(this.name)}${subtxt} = ${str}${this.latexValues.length == 0 ? '' : "\n"}\\\\`
|
||||
ret += Object.keys(this.latexValues).map(
|
||||
n => `${this.name}_{${n}} = ${this.latexValues[n]}`
|
||||
).join('; ') + "\\end{array}"
|
||||
return ret
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,10 +20,16 @@
|
|||
|
||||
.import "../utils.js" as Utils
|
||||
.import "../objects.js" as Objects
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
// This file contains the default data to be imported from all other objects
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new name for an object, based on the \c allowedLetters.
|
||||
* If variables with each of the allowedLetters is created, a subscript
|
||||
* number is added to the name.
|
||||
* @return {string} New unused name for a new object.
|
||||
*/
|
||||
function getNewName(allowedLetters) {
|
||||
// Allows to get a new name, based on the allowed letters,
|
||||
// as well as adding a sub number when needs be.
|
||||
|
@ -38,33 +44,70 @@ function getNewName(allowedLetters) {
|
|||
return ret
|
||||
}
|
||||
|
||||
/**
|
||||
* Class to extend for every type of object that
|
||||
* can be drawn on the canvas.
|
||||
*/
|
||||
class DrawableObject {
|
||||
// Class to extend for every type of object that
|
||||
// can be drawn on the canvas.
|
||||
|
||||
// Base name of the object. Needs to be constant over time.
|
||||
/**
|
||||
* Base name of the object. Needs to be constant over time.
|
||||
* @return {string} Type of the object.
|
||||
*/
|
||||
static type(){return 'Unknown'}
|
||||
|
||||
// (Potentially translated) name of the object to be shown to the user.
|
||||
/**
|
||||
* Translated name of the object to be shown to the user.
|
||||
* @return {string}
|
||||
*/
|
||||
static displayType(){return 'Unknown'}
|
||||
|
||||
// Label used for the list on the ObjectsList sidebar.
|
||||
/**
|
||||
* Translated name of the object in plural form to be shown to the user.
|
||||
* @return {string}
|
||||
*/
|
||||
static displayTypeMultiple(){return 'Unknowns'}
|
||||
|
||||
// Whether this object can be created by the user
|
||||
// or are instantiated by other objects.
|
||||
/**
|
||||
* True if this object can be created by the user, false if it can only
|
||||
* be instantiated by other objects
|
||||
* @return {bool}
|
||||
*/
|
||||
static createable() {return true}
|
||||
// Properties are set with key as property name and
|
||||
// value as it's type name (e.g 'Expression', 'string'...),
|
||||
// an Enum for enumerations, an ObjectType for DrawableObjects
|
||||
// with a specific type, a List instance for lists, a
|
||||
// Dictionary instance for dictionaries...
|
||||
// Used for property modifier in the sidebar.
|
||||
|
||||
/**
|
||||
* List of properties used in the Object Editor.
|
||||
*
|
||||
* Properties are set with key as property name and
|
||||
* value as it's type name (e.g 'Expression', 'string'...),
|
||||
* an Enum for enumerations, an ObjectType for DrawableObjects
|
||||
* with a specific type, a List instance for lists, a
|
||||
* Dictionary instance for dictionaries...
|
||||
*
|
||||
* If the property is to be translated, the key should be passed
|
||||
* through the QT_TRANSLATE_NOOP macro in that form:
|
||||
* [QT_TRANSLATE_NOOP('prop','key')]
|
||||
* Enums that are translated should be indexed in parameters.js and
|
||||
* then be linked directly here.
|
||||
*
|
||||
* @return {Dictionary}
|
||||
*/
|
||||
static properties() {return {}}
|
||||
|
||||
// Whether the object can be executed (instance of ExecutableObject)
|
||||
/**
|
||||
* True if this object can be executed, so that an y value might be computed
|
||||
* for an x value. Only ExecutableObjects have that property set to true.
|
||||
* @return {bool}
|
||||
*/
|
||||
static executable() {return false}
|
||||
|
||||
/**
|
||||
* Base constructor for the object.
|
||||
* @param {string} name - Name of the object
|
||||
* @param {bool} visible - true if the object is visible, false otherwise.
|
||||
* @param {color} color - Color of the object (can be string or QColor)
|
||||
* @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') {
|
||||
if(color == null) color = Utils.getRandomColor()
|
||||
this.type = 'Unknown'
|
||||
|
@ -75,15 +118,40 @@ class DrawableObject {
|
|||
this.requiredBy = []
|
||||
}
|
||||
|
||||
/**
|
||||
* Serilizes the object in an array that can be JSON serialized.
|
||||
* These parameters will be re-entered in the constructor when restored.
|
||||
* @return {array}
|
||||
*/
|
||||
export() {
|
||||
// Should return what will be inputed as arguments when a file is loaded (serializable form)
|
||||
return [this.name, this.visible, this.color.toString(), this.labelContent]
|
||||
}
|
||||
|
||||
/**
|
||||
* String representing the object that will be displayed to the user.
|
||||
* It allows for 2 lines and translated text, but it shouldn't be too long.
|
||||
* @return {string}
|
||||
*/
|
||||
getReadableString() {
|
||||
return `${this.name} = Unknown`
|
||||
}
|
||||
|
||||
/**
|
||||
* Latex markuped version of the readable string.
|
||||
* Every non latin character should be passed as latex symbols and formulas
|
||||
* should be in latex form.
|
||||
* See ../latex.js for helper methods.
|
||||
* @return {string}
|
||||
*/
|
||||
getLatexString() {
|
||||
return this.getReadableString()
|
||||
}
|
||||
|
||||
/**
|
||||
* Readable string content of the label depending on the value of the \c latexContent.
|
||||
* @return {string}
|
||||
*/
|
||||
getLabel() {
|
||||
switch(this.labelContent) {
|
||||
case 'name':
|
||||
|
@ -96,12 +164,37 @@ class DrawableObject {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Latex markup string content of the label depending on the value of the \c latexContent.
|
||||
* Every non latin character should be passed as latex symbols and formulas
|
||||
* should be in latex form.
|
||||
* See ../latex.js for helper methods.
|
||||
* @return {string}
|
||||
*/
|
||||
getLatexLabel() {
|
||||
switch(this.labelContent) {
|
||||
case 'name':
|
||||
return Latex.variable(this.name)
|
||||
case 'name + value':
|
||||
return this.getLatexString()
|
||||
case 'null':
|
||||
return ''
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback method when one of the properties of the object is updated.
|
||||
*/
|
||||
update() {
|
||||
for(var req of this.requiredBy) {
|
||||
req.update()
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback method when the object is about to get deleted.
|
||||
*/
|
||||
delete() {
|
||||
for(var toRemove of this.requiredBy) {
|
||||
toRemove.delete()
|
||||
|
@ -109,28 +202,166 @@ class DrawableObject {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Abstract method. Draw the object onto the \c canvas with the 2D context \c ctx.
|
||||
* @param {Canvas} canvas
|
||||
* @param {Context2D} ctx
|
||||
*/
|
||||
draw(canvas, ctx) {}
|
||||
|
||||
/**
|
||||
* Applicates a \c drawFunction with two position arguments depending on
|
||||
* both the \c posX and \c posY of where the label should be displayed,
|
||||
* and the \c labelPosition which declares the label should be displayed
|
||||
* relatively to that position.
|
||||
*
|
||||
* @param {string|Enum} labelPosition - Position of the label relative to the marked position
|
||||
* @param {number} offset - Margin between the position and the object to be drawn
|
||||
* @param {Dictionary} size - Size of the label item, containing two properties, "width" and "height"
|
||||
* @param {number} posX - Component of the marked position on the x-axis
|
||||
* @param {number} posY - Component of the marked position on the y-axis
|
||||
* @param {function} drawFunction - Function with two arguments (x, y) that will be called to draw the label
|
||||
*/
|
||||
drawPositionDivergence(labelPosition, offset, size, posX, posY, drawFunction) {
|
||||
switch(labelPosition) {
|
||||
case 'center':
|
||||
drawFunction(posX-size.width/2, posY-size.height/2)
|
||||
break;
|
||||
case 'top':
|
||||
case 'above':
|
||||
drawFunction(posX-size.width/2, posY-size.height-offset)
|
||||
break;
|
||||
case 'bottom':
|
||||
case 'below':
|
||||
drawFunction(posX-size.width/2, posY+offset)
|
||||
break;
|
||||
case 'left':
|
||||
drawFunction(posX-size.width-offset, posY-size.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
drawFunction(posX+offset, posY-size.height/2)
|
||||
break;
|
||||
case 'top-left':
|
||||
case 'above-left':
|
||||
drawFunction(posX-size.width, posY-size.height-offset)
|
||||
break;
|
||||
case 'top-right':
|
||||
case 'above-right':
|
||||
drawFunction(posX+offset, posY-size.height-offset)
|
||||
break;
|
||||
case 'bottom-left':
|
||||
case 'below-left':
|
||||
drawFunction(posX-size.width-offset, posY+offset)
|
||||
break;
|
||||
case 'bottom-right':
|
||||
case 'below-right':
|
||||
drawFunction(posX+offset, posY+offset)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Automaticly draw text (by default the label of the object on the \c canvas with
|
||||
* the 2D context \c ctx depending on user settings.
|
||||
* This method takes into account both the \c posX and \c posY of where the label
|
||||
* should be displayed, including the \c labelPosition relative to it.
|
||||
* The text is get both through the \c getLatexFunction and \c getTextFunction
|
||||
* depending on whether to use latex.
|
||||
* Then, it's displayed using the \c drawFunctionLatex (x,y,imageData) and
|
||||
* \c drawFunctionText (x,y,text) depending on whether to use latex.
|
||||
*
|
||||
* @param {Canvas} canvas
|
||||
* @param {Context2D} ctx
|
||||
* @param {string|Enum} labelPosition - Position of the label relative to the marked position
|
||||
* @param {number} posX - Component of the marked position on the x-axis
|
||||
* @param {number} posY - Component of the marked position on the y-axis
|
||||
* @param {bool} forceText - Force the rendering of the label as text
|
||||
* @param {function|null} getLatexFunction - Function (no argument) to get the latex markup to be displayed
|
||||
* @param {function|null} getTextFunction - Function (no argument) to get the text to be displayed
|
||||
* @param {function|null} drawFunctionLatex - Function (x,y,imageData) to display the latex image
|
||||
* @param {function|null} drawFunctionText - Function (x,y,text,textSize) to display the text
|
||||
*/
|
||||
drawLabel(canvas, ctx, labelPosition, posX, posY, forceText = false,
|
||||
getLatexFunction = null, getTextFunction = null, drawFunctionLatex = null, drawFunctionText = null) {
|
||||
// Default functions
|
||||
if(getLatexFunction == null)
|
||||
getLatexFunction = this.getLatexLabel.bind(this)
|
||||
if(getTextFunction == null)
|
||||
getTextFunction = this.getLabel.bind(this)
|
||||
if(drawFunctionLatex == null)
|
||||
drawFunctionLatex = (x,y,ltxImg) => canvas.drawVisibleImage(ctx, ltxImg.source, x, y, ltxImg.width, ltxImg.height)
|
||||
if(drawFunctionText == null)
|
||||
drawFunctionText = (x,y,text,textSize) => canvas.drawVisibleText(ctx, text, x, y+textSize.height) // Positioned from left bottom
|
||||
// Drawing the label
|
||||
let offset
|
||||
if(!forceText && Latex.enabled) { // TODO: Check for user setting with Latex.
|
||||
// With latex
|
||||
let drawLblCb = function(canvas, ctx, ltxImg) {
|
||||
this.drawPositionDivergence(labelPosition, 8+ctx.lineWidth/2, ltxImg, posX, posY, (x,y) => drawFunctionLatex(x,y,ltxImg))
|
||||
}
|
||||
let ltxLabel = getLatexFunction();
|
||||
if(ltxLabel != "")
|
||||
canvas.renderLatexImage(ltxLabel, this.color, drawLblCb.bind(this))
|
||||
} else {
|
||||
// Without latex
|
||||
let text = getTextFunction()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
let textSize = canvas.measureText(ctx, text)
|
||||
this.drawPositionDivergence(labelPosition, 8+ctx.lineWidth/2, textSize, posX, posY, (x,y) => drawFunctionText(x,y,text,textSize))
|
||||
}
|
||||
}
|
||||
|
||||
toString() {
|
||||
return this.name;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Class to be extended for every object on which
|
||||
* an y for a x can be computed with the execute function.
|
||||
* If a value cannot be found during execute, it will
|
||||
* return null. However, theses same x values will
|
||||
* return false when passed to canExecute.
|
||||
*/
|
||||
class ExecutableObject extends DrawableObject {
|
||||
// Class to be extended for every class upon which we
|
||||
// calculate an y for a x with the execute function.
|
||||
// If a value cannot be found during execute, it should
|
||||
// return null. However, theses values should
|
||||
// return false when passed to canExecute.
|
||||
/**
|
||||
* Returns the corresponding y value for an x value.
|
||||
* If the object isn't defined on the given x, then
|
||||
* this function will return null.
|
||||
*
|
||||
* @param {number} x
|
||||
* @returns {number|null}
|
||||
*/
|
||||
execute(x = 1) {return 0}
|
||||
/**
|
||||
* Returns false if the object isn't defined on the given x, true otherwise.
|
||||
*
|
||||
* @param {number} x
|
||||
* @returns {bool}
|
||||
*/
|
||||
canExecute(x = 1) {return true}
|
||||
// Simplify returns the simplified string of the expression.
|
||||
/**
|
||||
* Returns the simplified expression string for a given x.
|
||||
*
|
||||
* @param {number} x
|
||||
* @returns {bool}
|
||||
*/
|
||||
simplify(x = 1) {return '0'}
|
||||
|
||||
// Whether the object can be executed (instance of ExecutableObject)
|
||||
|
||||
/**
|
||||
* True if this object can be executed, so that an y value might be computed
|
||||
* for an x value. Only ExecutableObjects have that property set to true.
|
||||
* @return {bool}
|
||||
*/
|
||||
static executable() {return true}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Registers the object \c obj in the object list.
|
||||
* @param {DrawableObject} obj - Object to be registered.
|
||||
*/
|
||||
function registerObject(obj) {
|
||||
// Registers an object to be used in LogarithmPlotter.
|
||||
// This function is called from autoload.js
|
||||
|
|
|
@ -22,24 +22,13 @@
|
|||
.import "../utils.js" as Utils
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class Function extends Common.ExecutableObject {
|
||||
static type(){return 'Function'}
|
||||
static displayType(){return qsTr('Function')}
|
||||
static displayTypeMultiple(){return qsTr('Functions')}
|
||||
/*static properties() {return {
|
||||
'expression': 'Expression',
|
||||
'definitionDomain': 'Domain',
|
||||
'destinationDomain': 'Domain',
|
||||
'comment1': 'Ex: R+* (ℝ⁺*), N (ℕ), Z-* (ℤ⁻*), ]0;1[, {3;4;5}',
|
||||
'labelPosition': P.Enum.Position,
|
||||
'displayMode': new P.Enum('application', 'function'),
|
||||
'labelX': 'number',
|
||||
'comment2': 'The following parameters are used when the definition domain is a non-continuous set. (Ex: ℕ, ℤ, sets like {0;3}...)',
|
||||
'drawPoints': 'boolean',
|
||||
'drawDashedLines': 'boolean'
|
||||
}}*/
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','expression')]: 'Expression',
|
||||
[QT_TRANSLATE_NOOP('prop','definitionDomain')]: 'Domain',
|
||||
|
@ -87,6 +76,15 @@ class Function extends Common.ExecutableObject {
|
|||
}
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
if(this.displayMode == 'application') {
|
||||
return `${Latex.variable(this.name)}:\\begin{array}{llll}${this.definitionDomain.latexMarkup}\\textrm{ } & \\rightarrow & \\textrm{ }${this.destinationDomain.latexMarkup}\\\\
|
||||
x\\textrm{ } & \\mapsto & \\textrm{ }${this.expression.latexMarkup}\\end{array}`
|
||||
} else {
|
||||
return `\\begin{array}{l}${Latex.variable(this.name)}(x) = ${this.expression.latexMarkup}\\\\ D_{${this.name}} = ${this.definitionDomain.latexMarkup}\\end{array}`
|
||||
}
|
||||
}
|
||||
|
||||
export() {
|
||||
return [this.name, this.visible, this.color.toString(), this.labelContent,
|
||||
this.expression.toEditableString(), this.definitionDomain.toString(), this.destinationDomain.toString(),
|
||||
|
@ -112,43 +110,13 @@ class Function extends Common.ExecutableObject {
|
|||
draw(canvas, ctx) {
|
||||
Function.drawFunction(canvas, ctx, this.expression, this.definitionDomain, this.destinationDomain, this.drawPoints, this.drawDashedLines)
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(this.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
|
||||
static drawFunction(canvas, ctx, expr, definitionDomain, destinationDomain, drawPoints = true, drawDash = true) {
|
||||
// Reusable in other objects.
|
||||
// Drawing small traits every 2px
|
||||
var pxprecision = 0.2
|
||||
// Drawing small traits every 0.2px
|
||||
var pxprecision = 1
|
||||
var previousX = canvas.px2x(0)
|
||||
var previousY;
|
||||
if(definitionDomain instanceof MathLib.SpecialDomain && definitionDomain.moveSupported) {
|
||||
|
|
|
@ -25,19 +25,13 @@
|
|||
.import "../mathlib.js" as MathLib
|
||||
.import "../historylib.js" as HistoryLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class GainBode extends Common.ExecutableObject {
|
||||
static type(){return 'Gain Bode'}
|
||||
static displayType(){return qsTr('Bode Magnitude')}
|
||||
static displayTypeMultiple(){return qsTr('Bode Magnitudes')}
|
||||
/*static properties() {return {
|
||||
'om_0': new P.ObjectType('Point'),
|
||||
'pass': new P.Enum('high', 'low'),
|
||||
'gain': 'Expression',
|
||||
'labelPosition': new P.Enum('above', 'below', 'left', 'right', 'above-left', 'above-right', 'below-left', 'below-right'),
|
||||
'labelX': 'number',
|
||||
'omGraduation': 'boolean'
|
||||
}}*/
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','om_0')]: new P.ObjectType('Point'),
|
||||
[QT_TRANSLATE_NOOP('prop','pass')]: P.Enum.BodePass,
|
||||
|
@ -81,6 +75,14 @@ class GainBode extends Common.ExecutableObject {
|
|||
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" ? 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}
|
||||
\\end{array}`
|
||||
}
|
||||
|
||||
export() {
|
||||
return [this.name, this.visible, this.color.toString(), this.labelContent,
|
||||
this.om_0.name, this.pass.toString(), this.gain.toEditableString(), this.labelPosition, this.labelX, this.omGraduation]
|
||||
|
@ -131,38 +133,9 @@ class GainBode extends Common.ExecutableObject {
|
|||
var dashPxSize = 10
|
||||
for(var i = 0; i < canvas.canvasSize.height && this.omGraduation; i += dashPxSize*2)
|
||||
canvas.drawLine(ctx, xpos, i, xpos, i+dashPxSize)
|
||||
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(this.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
|
||||
update() {
|
||||
|
|
|
@ -23,19 +23,13 @@
|
|||
.import "../mathlib.js" as MathLib
|
||||
.import "../historylib.js" as HistoryLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class PhaseBode extends Common.ExecutableObject {
|
||||
static type(){return 'Phase Bode'}
|
||||
static displayType(){return qsTr('Bode Phase')}
|
||||
static displayTypeMultiple(){return qsTr('Bode Phases')}
|
||||
/*static properties() {return {
|
||||
'om_0': new P.ObjectType('Point'),
|
||||
'phase': 'Expression',
|
||||
'unit': new P.Enum('°', 'deg', 'rad'),
|
||||
'labelPosition': new P.Enum('above', 'below', 'left', 'right', 'above-left', 'above-right', 'below-left', 'below-right'),
|
||||
'labelX': 'number'
|
||||
}}*/
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','om_0')]: new P.ObjectType('Point'),
|
||||
[QT_TRANSLATE_NOOP('prop','phase')]: 'Expression',
|
||||
|
@ -61,7 +55,7 @@ class PhaseBode extends Common.ExecutableObject {
|
|||
om_0.name = Common.getNewName('ω')
|
||||
om_0.color = this.color
|
||||
om_0.labelContent = 'name'
|
||||
om_0.labelPosition = this.phase.execute() >= 0 ? 'bottom' : 'top'
|
||||
om_0.labelPosition = this.phase.execute() >= 0 ? 'above' : 'below'
|
||||
HistoryLib.history.addToHistory(new HistoryLib.CreateNewObject(om_0.name, 'Point', om_0.export()))
|
||||
labelPosition = 'below'
|
||||
}
|
||||
|
@ -82,6 +76,10 @@ class PhaseBode extends Common.ExecutableObject {
|
|||
return `${this.name}: ${this.phase.toString(true)}${this.unit} at ${this.om_0.name} = ${this.om_0.x}`
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
return `${Latex.variable(this.name)}: ${this.phase.latexMarkup}\\textsf{${this.unit} at }${Latex.variable(this.om_0.name)} = ${this.om_0.x.latexMarkup}`
|
||||
}
|
||||
|
||||
execute(x=1) {
|
||||
if(typeof x == 'string') x = MathLib.executeExpression(x)
|
||||
if(x < this.om_0.x) {
|
||||
|
@ -120,37 +118,7 @@ class PhaseBode extends Common.ExecutableObject {
|
|||
canvas.drawLine(ctx, Math.max(0, baseX), augmtY, canvas.canvasSize.width, augmtY)
|
||||
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(this.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
|
||||
update() {
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
.import "common.js" as Common
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class Point extends Common.DrawableObject {
|
||||
|
@ -28,12 +29,6 @@ class Point extends Common.DrawableObject {
|
|||
static displayType(){return qsTr('Point')}
|
||||
static displayTypeMultiple(){return qsTr('Points')}
|
||||
|
||||
/*static properties() {return {
|
||||
'x': 'Expression',
|
||||
'y': 'Expression',
|
||||
'labelPosition': new P.Enum('above', 'below', 'left', 'right', 'above-left', 'above-right', 'below-left', 'below-right'),
|
||||
'pointStyle': new P.Enum('●', '✕', '+'),
|
||||
}}*/
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','x')]: 'Expression',
|
||||
[QT_TRANSLATE_NOOP('prop','y')]: 'Expression',
|
||||
|
@ -58,6 +53,10 @@ class Point extends Common.DrawableObject {
|
|||
return `${this.name} = (${this.x}, ${this.y})`
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
return `${Latex.variable(this.name)} = \\left(${this.x.latexMarkup}, ${this.y.latexMarkup}\\right)`
|
||||
}
|
||||
|
||||
export() {
|
||||
return [this.name, this.visible, this.color.toString(), this.labelContent, this.x.toEditableString(), this.y.toEditableString(), this.labelPosition, this.pointStyle]
|
||||
}
|
||||
|
@ -80,41 +79,6 @@ class Point extends Common.DrawableObject {
|
|||
ctx.fillRect(canvasX-1, canvasY-pointSize/2, 2, pointSize)
|
||||
break;
|
||||
}
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = ctx.measureText(text).width
|
||||
switch(this.labelPosition) {
|
||||
case 'top':
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, canvasX-textSize/2, canvasY-16)
|
||||
break;
|
||||
case 'bottom':
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, canvasX-textSize/2, canvasY+16)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, canvasX-textSize-10, canvasY+4)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, canvasX+10, canvasY+4)
|
||||
break;
|
||||
case 'top-left':
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, canvasX-textSize-10, canvasY-16)
|
||||
break;
|
||||
case 'top-right':
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, canvasX+10, canvasY-16)
|
||||
break;
|
||||
case 'bottom-left':
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, canvasX-textSize-10, canvasY+16)
|
||||
break;
|
||||
case 'bottom-right':
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, canvasX+10, canvasY+16)
|
||||
break;
|
||||
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvasX, canvasY)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
|
||||
.import "common.js" as Common
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class RepartitionFunction extends Common.ExecutableObject {
|
||||
static type(){return 'Repartition'}
|
||||
|
@ -66,6 +68,12 @@ class RepartitionFunction extends Common.ExecutableObject {
|
|||
return `F_${this.name}(x) = P(${this.name} ≤ x)\n` + keys.map(idx => `P(${this.name}=${idx})=${this.probabilities[idx]}`).join("; ")
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
let keys = Object.keys(this.probabilities).sort((a,b) => a-b);
|
||||
let varName = Latex.variable(this.name)
|
||||
return `\\begin{array}{l}F_{${varName}}(x) = P(${varName} \\le x)\\\\` + keys.map(idx => `P(${varName}=${idx})=${this.probabilities[idx]}`).join("; ") + '\\end{array}'
|
||||
}
|
||||
|
||||
execute(x = 1) {
|
||||
var ret = 0;
|
||||
Object.keys(this.probabilities).sort((a,b) => a-b).forEach(idx => {
|
||||
|
@ -145,37 +153,7 @@ class RepartitionFunction extends Common.ExecutableObject {
|
|||
}
|
||||
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(this.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
.import "function.js" as F
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class Sequence extends Common.ExecutableObject {
|
||||
|
@ -76,11 +77,14 @@ class Sequence extends Common.ExecutableObject {
|
|||
)
|
||||
}
|
||||
|
||||
|
||||
getReadableString() {
|
||||
return this.sequence.toString()
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
return this.sequence.toLatexString()
|
||||
}
|
||||
|
||||
execute(x = 1) {
|
||||
if(x % 1 == 0)
|
||||
return this.sequence.execute(x)
|
||||
|
@ -103,7 +107,17 @@ class Sequence extends Common.ExecutableObject {
|
|||
return this.getReadableString()
|
||||
case 'null':
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
getLatexLabel() {
|
||||
switch(this.labelContent) {
|
||||
case 'name':
|
||||
return `(${Latex.variable(this.name)}_n)`
|
||||
case 'name + value':
|
||||
return this.getLatexString()
|
||||
case 'null':
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -111,37 +125,7 @@ class Sequence extends Common.ExecutableObject {
|
|||
F.Function.drawFunction(canvas, ctx, this.sequence, canvas.logscalex ? MathLib.Domain.NE : MathLib.Domain.N, MathLib.Domain.R, this.drawPoints, this.drawDashedLines)
|
||||
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(this.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
.import "../objects.js" as Objects
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class SommeGainsBode extends Common.DrawableObject {
|
||||
|
@ -30,10 +31,6 @@ class SommeGainsBode extends Common.DrawableObject {
|
|||
static displayType(){return qsTr('Bode Magnitudes Sum')}
|
||||
static displayTypeMultiple(){return qsTr('Bode Magnitudes Sum')}
|
||||
static createable() {return false}
|
||||
/*static properties() {return {
|
||||
'labelPosition': new P.Enum('above', 'below', 'left', 'right', 'above-left', 'above-right', 'below-left', 'below-right'),
|
||||
'labelX': 'number'
|
||||
}}*/
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','labelPosition')]: P.Enum.Position,
|
||||
[QT_TRANSLATE_NOOP('prop','labelX')]: 'number',
|
||||
|
@ -56,6 +53,10 @@ class SommeGainsBode extends Common.DrawableObject {
|
|||
return `${this.name} = ${Objects.getObjectsName('Gain Bode').join(' + ')}`
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
return `${Latex.variable(this.name)} = ${Objects.getObjectsName('Gain Bode').map(Latex.variable).join(' + ')}`
|
||||
}
|
||||
|
||||
execute(x = 0) {
|
||||
for(var [dbfn, inDrawDom] of this.cachedParts) {
|
||||
if(inDrawDom.includes(x)) {
|
||||
|
@ -136,37 +137,7 @@ class SommeGainsBode extends Common.DrawableObject {
|
|||
F.Function.drawFunction(canvas, ctx, dbfn, inDrawDom, MathLib.Domain.R)
|
||||
if(inDrawDom.includes(this.labelX)) {
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(dbfn.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
.import "../objects.js" as Objects
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
class SommePhasesBode extends Common.ExecutableObject {
|
||||
|
@ -55,6 +56,10 @@ class SommePhasesBode extends Common.ExecutableObject {
|
|||
return `${this.name} = ${Objects.getObjectsName('Phase Bode').join(' + ')}`
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
return `${Latex.variable(this.name)} = ${Objects.getObjectsName('Phase Bode').map(Latex.variable).join(' + ')}`
|
||||
}
|
||||
|
||||
execute(x=1) {
|
||||
if(typeof x == 'string') x = MathLib.executeExpression(x)
|
||||
for(var i = 0; i < this.om0xList.length-1; i++) {
|
||||
|
@ -122,37 +127,7 @@ class SommePhasesBode extends Common.ExecutableObject {
|
|||
}
|
||||
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var posX = canvas.x2px(this.labelX)
|
||||
var posY = canvas.y2px(this.execute(this.labelX))
|
||||
switch(this.labelPosition) {
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY-textSize.height)
|
||||
break;
|
||||
case 'below':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width/2, posY+textSize.height)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height/2)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height/2)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY-textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY-textSize.height)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, posX-textSize.width, posY+textSize.height)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, posX, posY+textSize.height)
|
||||
break;
|
||||
}
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.labelX), canvas.y2px(this.execute(this.labelX)))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
.import "common.js" as Common
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
|
||||
class Text extends Common.DrawableObject {
|
||||
|
@ -37,11 +39,16 @@ class Text extends Common.DrawableObject {
|
|||
[QT_TRANSLATE_NOOP('prop','x')]: 'Expression',
|
||||
[QT_TRANSLATE_NOOP('prop','y')]: 'Expression',
|
||||
[QT_TRANSLATE_NOOP('prop','labelPosition')]: P.Enum.Positioning,
|
||||
[QT_TRANSLATE_NOOP('prop','text')]: 'string'
|
||||
[QT_TRANSLATE_NOOP('prop','text')]: 'string',
|
||||
'comment1': QT_TRANSLATE_NOOP(
|
||||
'comment',
|
||||
'If you have latex enabled, you can use use latex markup in between $$ to create equations.'
|
||||
),
|
||||
[QT_TRANSLATE_NOOP('prop','disableLatex')]: 'boolean'
|
||||
}}
|
||||
|
||||
constructor(name = null, visible = true, color = null, labelContent = 'null',
|
||||
x = 1, y = 0, labelPosition = 'center', text = 'New text') {
|
||||
x = 1, y = 0, labelPosition = 'center', text = 'New text', disableLatex = false) {
|
||||
if(name == null) name = Common.getNewName('t')
|
||||
super(name, visible, color, labelContent)
|
||||
this.type = 'Point'
|
||||
|
@ -51,50 +58,45 @@ class Text extends Common.DrawableObject {
|
|||
this.y = y
|
||||
this.labelPosition = labelPosition
|
||||
this.text = text
|
||||
this.disableLatex = disableLatex
|
||||
}
|
||||
|
||||
getReadableString() {
|
||||
return `${this.name} = "${this.text}"`
|
||||
}
|
||||
|
||||
latexMarkupText() {
|
||||
let txt = Latex.variable(this.text)
|
||||
let i
|
||||
for(i = 0; txt.includes('$$'); i++)
|
||||
if(i & 0x01) // Every odd number
|
||||
txt = txt.replace('$$', '\\textsf{')
|
||||
else
|
||||
txt = txt.replace('$$', '}')
|
||||
if(i & 0x01) // Finished by a }
|
||||
txt += "{"
|
||||
return txt
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
return `${Latex.variable(this.name)} = "\\textsf{${this.latexMarkupText()}}"`
|
||||
}
|
||||
|
||||
export() {
|
||||
return [this.name, this.visible, this.color.toString(), this.labelContent, this.x.toEditableString(), this.y.toEditableString(), this.labelPosition, this.text]
|
||||
}
|
||||
|
||||
getLabel() {
|
||||
return this.text
|
||||
}
|
||||
|
||||
getLatexLabel() {
|
||||
return `\\textsf{${this.latexMarkupText()}}`
|
||||
}
|
||||
|
||||
draw(canvas, ctx) {
|
||||
var [canvasX, canvasY] = [canvas.x2px(this.x.execute()), canvas.y2px(this.y.execute())]
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = ctx.measureText(this.text).width
|
||||
switch(this.labelPosition) {
|
||||
case 'center':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX-textSize/2, canvasY+4)
|
||||
break;
|
||||
case 'top':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX-textSize/2, canvasY-16)
|
||||
break;
|
||||
case 'bottom':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX-textSize/2, canvasY+16)
|
||||
break;
|
||||
case 'left':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX-textSize-5, canvasY+4)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX+5, canvasY+4)
|
||||
break;
|
||||
case 'top-left':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX-textSize-5, canvasY-16)
|
||||
break;
|
||||
case 'top-right':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX+5, canvasY-16)
|
||||
break;
|
||||
case 'bottom-left':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX-textSize-5, canvasY+16)
|
||||
break;
|
||||
case 'bottom-right':
|
||||
canvas.drawVisibleText(ctx, this.text, canvasX+5, canvasY+16)
|
||||
break;
|
||||
|
||||
}
|
||||
let yOffset = this.disableLatex ? canvas.textsize-4 : 0
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, canvas.x2px(this.x.execute()), canvas.y2px(this.y.execute())+yOffset, this.disableLatex)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,27 +22,14 @@
|
|||
.import "../objects.js" as Objects
|
||||
.import "../mathlib.js" as MathLib
|
||||
.import "../parameters.js" as P
|
||||
.import "../math/latex.js" as Latex
|
||||
|
||||
|
||||
|
||||
class XCursor extends Common.DrawableObject {
|
||||
static type(){return 'X Cursor'}
|
||||
static displayType(){return qsTr('X Cursor')}
|
||||
static displayTypeMultiple(){return qsTr('X Cursors')}
|
||||
/*static properties() {
|
||||
return {
|
||||
'x': 'Expression',
|
||||
'targetElement': new P.ObjectType('ExecutableObject'),
|
||||
'labelPosition': new P.Enum('left', 'right'),
|
||||
'approximate': 'boolean',
|
||||
'rounding': 'number',
|
||||
'displayStyle': new P.Enum(
|
||||
'— — — — — — —',
|
||||
'⸺⸺⸺⸺⸺⸺',
|
||||
'• • • • • • • • • •'
|
||||
),
|
||||
'targetValuePosition' : new P.Enum('Next to target', 'With label', 'Hidden')
|
||||
}
|
||||
}*/
|
||||
static properties() {return {
|
||||
[QT_TRANSLATE_NOOP('prop','x')]: 'Expression',
|
||||
[QT_TRANSLATE_NOOP('prop','targetElement')]: new P.ObjectType('ExecutableObject'),
|
||||
|
@ -87,6 +74,13 @@ class XCursor extends Common.DrawableObject {
|
|||
return `${this.name} = ${this.x.toString()}\n${this.getTargetValueLabel()}`
|
||||
}
|
||||
|
||||
getLatexString() {
|
||||
if(this.targetElement == null) return `${Latex.variable(this.name)} = ${this.x.latexMarkup}`
|
||||
return `\\begin{array}{l}
|
||||
${Latex.variable(this.name)} = ${this.x.latexMarkup} \\\\
|
||||
${this.getTargetValueLatexLabel()}`
|
||||
}
|
||||
|
||||
getTargetValueLabel() {
|
||||
var t = this.targetElement
|
||||
var approx = ''
|
||||
|
@ -98,6 +92,18 @@ class XCursor extends Common.DrawableObject {
|
|||
(this.approximate ? ' ≈ ' + approx : '')
|
||||
}
|
||||
|
||||
getTargetValueLatexLabel() {
|
||||
var t = this.targetElement
|
||||
var approx = ''
|
||||
if(this.approximate) {
|
||||
approx = t.execute(this.x.execute())
|
||||
approx = approx.toPrecision(this.rounding + Math.round(approx).toString().length)
|
||||
}
|
||||
let simpl = t.simplify(this.x.toEditableString())
|
||||
return `${Latex.variable(t.name)}(${Latex.variable(this.name)}) = ${simpl.tokens ? Latex.expression(simpl.tokens) : simpl}` +
|
||||
(this.approximate ? ' \\simeq ' + approx : '')
|
||||
}
|
||||
|
||||
getLabel() {
|
||||
switch(this.labelContent) {
|
||||
case 'name':
|
||||
|
@ -118,8 +124,28 @@ class XCursor extends Common.DrawableObject {
|
|||
}
|
||||
}
|
||||
|
||||
getLatexLabel() {
|
||||
switch(this.labelContent) {
|
||||
case 'name':
|
||||
return Latex.variable(this.name)
|
||||
break;
|
||||
case 'name + value':
|
||||
switch(this.targetValuePosition) {
|
||||
case 'Next to target':
|
||||
case 'Hidden':
|
||||
return `${Latex.variable(this.name)} = ${this.x.latexMarkup}`
|
||||
break;
|
||||
case 'With label':
|
||||
return this.getLatexString()
|
||||
break;
|
||||
}
|
||||
case 'null':
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
draw(canvas, ctx) {
|
||||
var xpos = canvas.x2px(this.x.execute())
|
||||
let xpos = canvas.x2px(this.x.execute())
|
||||
switch(this.displayStyle) {
|
||||
case '— — — — — — —':
|
||||
var dashPxSize = 10
|
||||
|
@ -139,52 +165,18 @@ class XCursor extends Common.DrawableObject {
|
|||
break;
|
||||
}
|
||||
|
||||
// Label
|
||||
var text = this.getLabel()
|
||||
ctx.font = `${canvas.textsize}px sans-serif`
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
|
||||
switch(this.labelPosition) {
|
||||
case 'left':
|
||||
case 'above-left':
|
||||
case 'below-left':
|
||||
case 'below':
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, xpos-textSize.width-5, textSize.height+5)
|
||||
break;
|
||||
case 'right':
|
||||
case 'above-right':
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, xpos+5, textSize.height+5)
|
||||
break;
|
||||
}
|
||||
// Drawing label at the top of the canvas.
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, xpos, 0, false, null, null,
|
||||
(x,y,ltxImg) => canvas.drawVisibleImage(ctx, ltxImg.source, x, 5, ltxImg.width, ltxImg.height),
|
||||
(x,y,text,textSize) => canvas.drawVisibleText(ctx, text, x, textSize.height+5))
|
||||
|
||||
// Drawing label at the position of the target element.
|
||||
if(this.targetValuePosition == 'Next to target' && this.targetElement != null) {
|
||||
var text = this.getTargetValueLabel()
|
||||
var textSize = canvas.measureText(ctx, text)
|
||||
var ypox = canvas.y2px(this.targetElement.execute(this.x.execute()))
|
||||
switch(this.labelPosition) {
|
||||
case 'left':
|
||||
case 'below':
|
||||
case 'above':
|
||||
canvas.drawVisibleText(ctx, text, xpos-textSize.width-5, ypox+textSize.height)
|
||||
break;
|
||||
case 'above-left':
|
||||
canvas.drawVisibleText(ctx, text, xpos-textSize.width-5, ypox+textSize.height+12)
|
||||
break;
|
||||
case 'below-left':
|
||||
canvas.drawVisibleText(ctx, text, xpos-textSize.width-5, ypox+textSize.height-12)
|
||||
break;
|
||||
case 'right':
|
||||
canvas.drawVisibleText(ctx, text, xpos+5, ypox+textSize.height)
|
||||
break;
|
||||
case 'above-right':
|
||||
canvas.drawVisibleText(ctx, text, xpos+5, ypox+textSize.height+12)
|
||||
break;
|
||||
case 'below-right':
|
||||
canvas.drawVisibleText(ctx, text, xpos+5, ypox+textSize.height-12)
|
||||
break;
|
||||
}
|
||||
let ypos = canvas.y2px(this.targetElement.execute(this.x.execute()))
|
||||
this.drawLabel(canvas, ctx, this.labelPosition, xpos, ypos, false,
|
||||
this.getTargetValueLatexLabel.bind(this), this.getTargetValueLabel.bind(this),
|
||||
(x,y,ltxImg) => canvas.drawVisibleImage(ctx, ltxImg.source, x, y, ltxImg.width, ltxImg.height),
|
||||
(x,y,text,textSize) => canvas.drawVisibleText(ctx, text, x, y+textSize.height))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ DEFAULT_SETTINGS = {
|
|||
"check_for_updates": True,
|
||||
"reset_redo_stack": True,
|
||||
"last_install_greet": "0",
|
||||
"enable_latex": True
|
||||
}
|
||||
|
||||
# Create config directory
|
||||
|
|
192
LogarithmPlotter/util/latex.py
Normal file
192
LogarithmPlotter/util/latex.py
Normal file
|
@ -0,0 +1,192 @@
|
|||
"""
|
||||
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and distribution functions.
|
||||
* Copyright (C) 2022 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 <https://www.gnu.org/licenses/>.
|
||||
"""
|
||||
|
||||
from PySide2.QtCore import QObject, Slot, Property, QCoreApplication
|
||||
from PySide2.QtGui import QImage, QColor
|
||||
from PySide2.QtWidgets import QApplication, QMessageBox
|
||||
|
||||
from os import path, remove
|
||||
from string import Template
|
||||
from tempfile import TemporaryDirectory
|
||||
from subprocess import Popen, TimeoutExpired, PIPE
|
||||
from platform import system
|
||||
from shutil import which
|
||||
from sys import argv
|
||||
|
||||
"""
|
||||
Searches for a valid Latex and DVIPNG (http://savannah.nongnu.org/projects/dvipng/)
|
||||
installation and collects the binary path in the DVIPNG_PATH variable.
|
||||
If not found, it will send an alert to the user.
|
||||
"""
|
||||
LATEX_PATH = which('latex')
|
||||
DVIPNG_PATH = which('dvipng')
|
||||
#subprocess.run(["ls", "-l", "/dev/null"], capture_output=True)
|
||||
|
||||
DEFAULT_LATEX_DOC = Template(r"""
|
||||
\documentclass[]{minimal}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{calligra}
|
||||
\usepackage{amsfonts}
|
||||
|
||||
\title{}
|
||||
\author{}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$$$ $markup $$$$
|
||||
|
||||
\end{document}
|
||||
""")
|
||||
|
||||
class Latex(QObject):
|
||||
"""
|
||||
Base class to convert Latex equations into PNG images with custom font color and size.
|
||||
It doesn't have any python dependency, but requires a working latex installation and
|
||||
dvipng to be installed on the system.
|
||||
"""
|
||||
def __init__(self, tempdir: TemporaryDirectory):
|
||||
QObject.__init__(self)
|
||||
self.tempdir = tempdir
|
||||
|
||||
def check_latex_install(self):
|
||||
"""
|
||||
Checks if the current latex installation is valid.
|
||||
"""
|
||||
if LATEX_PATH is None:
|
||||
print("No Latex installation found.")
|
||||
if "--test-build" not in argv:
|
||||
QMessageBox.warning(None, "LogarithmPlotter - Latex setup", QCoreApplication.translate("latex", "No Latex installation found.\nIf you already have a latex distribution installed, make sure it's installed on your path.\nOtherwise, you can download a Latex distribution like TeX Live at https://tug.org/texlive/."))
|
||||
elif DVIPNG_PATH is None:
|
||||
print("DVIPNG not found.")
|
||||
if "--test-build" not in argv:
|
||||
QMessageBox.warning(None, "LogarithmPlotter - Latex setup", QCoreApplication.translate("latex", "DVIPNG was not found. Make sure you include it from your Latex distribution."))
|
||||
|
||||
@Property(bool)
|
||||
def latexSupported(self):
|
||||
return LATEX_PATH is not None and DVIPNG_PATH is not None
|
||||
|
||||
@Slot(str, float, QColor, result=str)
|
||||
def render(self, latex_markup: str, font_size: float, color: QColor = True) -> str:
|
||||
"""
|
||||
Renders a latex string into a png file.
|
||||
"""
|
||||
markup_hash = hash(latex_markup)
|
||||
export_path = path.join(self.tempdir.name, f'{markup_hash}_{font_size}_{color.rgb()}')
|
||||
if self.latexSupported and not path.exists(export_path + ".png"):
|
||||
print("Rendering", latex_markup, export_path)
|
||||
# Generating file
|
||||
try:
|
||||
latex_path = path.join(self.tempdir.name, str(markup_hash))
|
||||
# If the formula is just recolored or the font is just changed, no need to recreate the DVI.
|
||||
if not path.exists(latex_path + ".dvi"):
|
||||
self.create_latex_doc(latex_path, latex_markup)
|
||||
self.convert_latex_to_dvi(latex_path)
|
||||
self.cleanup(latex_path)
|
||||
self.convert_dvi_to_png(latex_path, export_path, font_size, color)
|
||||
except Exception as e: # One of the processes failed. A message will be sent every time.
|
||||
raise e
|
||||
img = QImage(export_path + ".png");
|
||||
# Small hack, not very optimized since we load the image twice, but you can't pass a QImage to QML and expect it to be loaded
|
||||
return f'{export_path}.png,{img.width()},{img.height()}'
|
||||
|
||||
def create_latex_doc(self, export_path: str, latex_markup: str):
|
||||
"""
|
||||
Creates a temporary latex document with base file_hash as file name and a given expression markup latex_markup.
|
||||
"""
|
||||
ltx_path = export_path + ".tex"
|
||||
f = open(export_path + ".tex", 'w')
|
||||
f.write(DEFAULT_LATEX_DOC.substitute(markup = latex_markup))
|
||||
f.close()
|
||||
|
||||
def convert_latex_to_dvi(self, export_path: str):
|
||||
"""
|
||||
Converts a DVI file to a PNG file.
|
||||
"""
|
||||
self.run([
|
||||
LATEX_PATH,
|
||||
export_path + ".tex"
|
||||
])
|
||||
|
||||
|
||||
def convert_dvi_to_png(self, dvi_path: str, export_path: str, font_size: float, color: QColor):
|
||||
"""
|
||||
Converts a DVI file to a PNG file.
|
||||
Documentation: https://linux.die.net/man/1/dvipng
|
||||
"""
|
||||
fg = color.convertTo(QColor.Rgb)
|
||||
fg = f'rgb {fg.redF()} {fg.greenF()} {fg.blueF()}'
|
||||
depth = int(font_size * 72.27 / 100) * 10
|
||||
self.run([
|
||||
DVIPNG_PATH,
|
||||
'-T', 'tight', # Make sure image borders are as tight around the equation as possible to avoid blank space.
|
||||
'--truecolor', # Make sure it's rendered in 24 bit colors.
|
||||
'-D',f'{depth}', # Depth of the image
|
||||
'-bg', 'Transparent', # Transparent background
|
||||
'-fg',f'{fg}', # Foreground of the wanted color.
|
||||
f'{dvi_path}.dvi', # Input file
|
||||
'-o',f'{export_path}.png', # Output file
|
||||
])
|
||||
|
||||
def run(self, process: list):
|
||||
"""
|
||||
Runs a subprocess and handles exceptions and messages them to the user.
|
||||
"""
|
||||
proc = Popen(process, stdout=PIPE, stderr=PIPE, cwd=self.tempdir.name)
|
||||
try:
|
||||
out, err = proc.communicate(timeout=2) # 2 seconds is already FAR too long.
|
||||
if proc.returncode != 0:
|
||||
# Process errored
|
||||
QMessageBox.warning(None, "LogarithmPlotter - Latex",
|
||||
QCoreApplication.translate("latex", "An exception occured within the creation of the latex formula.\nProcess '{}' ended with a non-zero return code {}:\n\n{}\nPlease make sure your latex installation is correct and report a bug if so.")
|
||||
.format(" ".join(process), proc.returncode, str(out, 'utf8')+"\n"+str(err,'utf8')))
|
||||
raise Exception(" ".join(process) + " process exited with return code " + str(proc.returncode) + ":\n" + str(out, 'utf8')+"\n"+str(err,'utf8'))
|
||||
except TimeoutExpired as e:
|
||||
# Process timed out
|
||||
proc.kill()
|
||||
out, err = proc.communicate()
|
||||
QMessageBox.warning(None, "LogarithmPlotter - Latex",
|
||||
QCoreApplication.translate("latex", "An exception occured within the creation of the latex formula.\nProcess '{}' took too long to finish:\n{}\nPlease make sure your latex installation is correct and report a bug if so.")
|
||||
.format(" ".join(process), str(out, 'utf8')+"\n"+str(err,'utf8')))
|
||||
raise Exception(" ".join(process) + " process timed out:\n" + str(out, 'utf8')+"\n"+str(err,'utf8'))
|
||||
|
||||
def cleanup(self, export_path):
|
||||
"""
|
||||
Removes auxiliary, logs and Tex temporary files.
|
||||
"""
|
||||
for i in [".tex", ".aux", ".log"]:
|
||||
remove(export_path + i)
|
||||
|
||||
|
||||
@Slot(str, float, QColor, result=str)
|
||||
def render_legacy(self, latexstring, font_size, color = True):
|
||||
exprpath = path.join(self.tempdir.name, f'{hash(latexstring)}_{font_size}_{color.rgb()}.png')
|
||||
print("Rendering", latexstring, exprpath)
|
||||
if not path.exists(exprpath):
|
||||
fg = color.convertTo(QColor.Rgb)
|
||||
fg = f'rgb {fg.redF()} {fg.greenF()} {fg.blueF()}'
|
||||
preview('$${' + latexstring + '}$$', viewer='file', filename=exprpath, dvioptions=[
|
||||
"-T", "tight",
|
||||
"-z", "0",
|
||||
"--truecolor",
|
||||
f"-D {int(font_size * 72.27 / 100) * 10}", # See https://linux.die.net/man/1/dvipng#-D for convertion
|
||||
"-bg", "Transparent",
|
||||
"-fg", fg],
|
||||
euler=False)
|
||||
img = QImage(exprpath);
|
||||
# Small hack, not very optimized since we load the image twice, but you can't pass a QImage to QML and expect it to be loaded
|
||||
return f'{exprpath},{img.width()},{img.height()}'
|
|
@ -14,6 +14,7 @@ steps:
|
|||
- name: Linux test
|
||||
image: ad5001/ubuntu-pyside2-xvfb:hirsute-5.15.2
|
||||
commands:
|
||||
- apt install -y texlive-latex-base dvipng
|
||||
- xvfb-run python3 run.py --test-build --no-check-for-updates
|
||||
- xvfb-run python3 run.py --test-build --no-check-for-updates ./ci/test1.lpf
|
||||
- xvfb-run python3 run.py --test-build --no-check-for-updates ./ci/test2.lpf
|
||||
|
|
|
@ -1 +1 @@
|
|||
LPFv1{"xzoom":100,"yzoom":485,"xmin":-1,"ymax":1,"xaxisstep":"1","yaxisstep":"0.1","xaxislabel":"ω (rad/s)","yaxislabel":"G (dB)","logscalex":false,"linewidth":2,"showxgrad":true,"showygrad":true,"textsize":22,"history":[[["EditedProperty",["h","Function","labelX",3,2.5,false]],["EditedProperty",["h","Function","labelPosition","above-left","above",false]],["EditedProperty",["h","Function","labelPosition","above","left",false]],["EditedProperty",["h","Function","labelX",2.5,2,false]],["EditedProperty",["h","Function","labelX",2,2.2,false]],["EditedProperty",["h","Function","labelX",2.2,9,false]]],[]],"width":1908,"height":1005,"objects":{"Sequence":[["u",true,"#ff5500","name + value",true,true,{"1":"cos(u[n])"},{"0":"-1"},"above-left",8]],"Function":[["f",true,"#2b156d","name + value","integral((x + 1), x, \"cos (t)\", \"t\")","ℝ⁺*","ℝ","application","left",7,true,true],["g",true,"#ac539c","name + value","0.739083","ℝ","ℝ","application","below",-1,true,false],["h",true,"#00aa00","name + value","derivative(\"cos t\", \"t\", x)","ℤ","ℝ","application","left",9,true,true]],"Repartition":[["X",true,"#1E1EAF","name",true,true,{"0":"0.2","1":"0.1","2":"0.2"},"above",2.5]],"Point":[["A",true,"#060759","name + value","4","(-0.5)","top","●"]]},"type":"logplotv1"}
|
||||
LPFv1{"xzoom":100,"yzoom":485,"xmin":-1,"ymax":1,"xaxisstep":"1","yaxisstep":"0.1","xaxislabel":"ω (rad/s)","yaxislabel":"G (dB)","logscalex":false,"linewidth":2,"showxgrad":true,"showygrad":true,"textsize":22,"history":[[["EditedProperty",["h","Function","labelX",3,2.5,false]],["EditedProperty",["h","Function","labelPosition","above-left","above",false]],["EditedProperty",["h","Function","labelPosition","above","left",false]],["EditedProperty",["h","Function","labelX",2.5,2,false]],["EditedProperty",["h","Function","labelX",2,2.2,false]],["EditedProperty",["h","Function","labelX",2.2,9,false]],["EditedProperty",["f","Function","labelPosition","left","above-left",false]],["EditedProperty",["f","Function","labelX",7,7.4,false]],["EditedProperty",["A","Point","y","(-0.5)","(-0.6)",true]],["EditedProperty",["X","Repartition","labelX",2.5,5,false]],["EditedProperty",["u","Sequence","labelPosition","above-left","below-right",false]],["EditedProperty",["u","Sequence","labelPosition","below-right","below-left",false]],["EditedProperty",["u","Sequence","labelX",8,6,false]],["EditedProperty",["u","Sequence","baseValues",{"0":"-1"},{"0":"-1"},false]],["EditedProperty",["u","Sequence","labelX",6,7,false]],["EditedProperty",["u","Sequence","labelPosition","below-left","above-right",false]]],[]],"width":1908,"height":1005,"objects":{"Sequence":[["u",true,"#ff5500","name + value",true,true,{"1":"cos(u[n])"},{"0":"-1"},"above-right",7]],"Function":[["f",true,"#2b156d","name + value","integral((x + 1), x, \"cos (t)\", \"t\")","ℝ⁺*","ℝ","application","above-left",7.4,true,true],["g",true,"#ac539c","null","0.739083","ℝ","ℝ","application","below",-1,true,false],["h",true,"#00aa00","name + value","derivative(\"cos t\", \"t\", x)","ℤ","ℝ","application","left",9,true,true]],"Repartition":[["X",true,"#1E1EAF","name + value",true,true,{"0":"0.2","1":"0.1","2":"0.2"},"above",5]],"Point":[["A",true,"#060759","name + value","4","(-0.6)","top","●"]]},"type":"logplotv1"}
|
|
@ -1 +1 @@
|
|||
LPFv1{"xzoom":300,"yzoom":22,"xmin":0.5,"ymax":22,"xaxisstep":"4","yaxisstep":"4","xaxislabel":"","yaxislabel":"","logscalex":true,"linewidth":2,"showxgrad":true,"showygrad":true,"textsize":14,"history":[[["CreateNewObject",["g","Function",["g",true,"#697F4E","name + value","x","ℝ⁺*","ℝ","application","above",1,true,true]]],["EditedProperty",["g","Function","expression","x","(x ^ 3)",true]],["CreateNewObject",["h","Function",["h",true,"#0CA920","name + value","x","ℝ⁺*","ℝ","application","above",1,true,true]]],["EditedProperty",["h","Function","expression","x","Integrate(\"x^3\", x)",true]],["EditedProperty",["h","Function","expression","Integrate(\"x^3\", x)","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["g","Function","labelX",1,2,false]],["EditedProperty",["g","Function","displayMode","application","function",false]],["EditedProperty",["g","Function","labelPosition","above","above-left",false]],["EditedProperty",["g","Function","labelX",2,1.5,false]],["EditedProperty",["g","Function","labelPosition","above-left","above",false]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral((x + 1), x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral((x + 1), x, \"t^3\", \"t\")","integral(x, (x + 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, (x + 1), \"t^3\", \"t\")","integral(0, (x + 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x + 1), \"t^3\", \"t\")","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral(0, (x + 0), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x + 0), \"t^3\", \"t\")","integral(1, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(1, x, \"t^3\", \"t\")","integral(x, 0, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, 0, \"t^3\", \"t\")","integral(x, (x + 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, (x + 1), \"t^3\", \"t\")","integral(x, 1, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, 1, \"t^3\", \"t\")","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","displayMode","application","function",false]],["EditedProperty",["h","Function","displayMode","function","application",false]],["EditedProperty",["h","Function","labelX",1,2,false]],["EditedProperty",["h","Function","labelPosition","above","below",false]],["EditedProperty",["h","Function","labelPosition","below","below-right",false]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral(0, (x - 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x - 1), \"t^3\", \"t\")","integral(0, (x - 0), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x - 0), \"t^3\", \"t\")","integral(0, (x + 0.01), \"t^3\", \"t\")",true]]],[]],"width":1027,"height":594,"objects":{"Function":[["f",true,"#8F6027","name + value","derivative(\"t^3\", \"t\", x)","ℝ⁺*","ℝ","application","above-left",2,true,true],["g",true,"#697F4E","name + value","(x ^ 3)","ℝ⁺*","ℝ","function","above",1.5,true,true],["h",true,"#0CA920","name + value","integral(0, (x + 0.01), \"t^3\", \"t\")","ℝ⁺*","ℝ","application","below-right",2,true,true]]},"type":"logplotv1"}
|
||||
LPFv1{"xzoom":300,"yzoom":22,"xmin":0.5,"ymax":22,"xaxisstep":"4","yaxisstep":"4","xaxislabel":"","yaxislabel":"","logscalex":true,"linewidth":2,"showxgrad":true,"showygrad":true,"textsize":20,"history":[[["CreateNewObject",["g","Function",["g",true,"#697F4E","name + value","x","ℝ⁺*","ℝ","application","above",1,true,true]]],["EditedProperty",["g","Function","expression","x","(x ^ 3)",true]],["CreateNewObject",["h","Function",["h",true,"#0CA920","name + value","x","ℝ⁺*","ℝ","application","above",1,true,true]]],["EditedProperty",["h","Function","expression","x","Integrate(\"x^3\", x)",true]],["EditedProperty",["h","Function","expression","Integrate(\"x^3\", x)","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["g","Function","labelX",1,2,false]],["EditedProperty",["g","Function","displayMode","application","function",false]],["EditedProperty",["g","Function","labelPosition","above","above-left",false]],["EditedProperty",["g","Function","labelX",2,1.5,false]],["EditedProperty",["g","Function","labelPosition","above-left","above",false]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral((x + 1), x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral((x + 1), x, \"t^3\", \"t\")","integral(x, (x + 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, (x + 1), \"t^3\", \"t\")","integral(0, (x + 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x + 1), \"t^3\", \"t\")","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral(0, (x + 0), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x + 0), \"t^3\", \"t\")","integral(1, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(1, x, \"t^3\", \"t\")","integral(x, 0, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, 0, \"t^3\", \"t\")","integral(x, (x + 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, (x + 1), \"t^3\", \"t\")","integral(x, 1, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(x, 1, \"t^3\", \"t\")","integral(0, x, \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","displayMode","application","function",false]],["EditedProperty",["h","Function","displayMode","function","application",false]],["EditedProperty",["h","Function","labelX",1,2,false]],["EditedProperty",["h","Function","labelPosition","above","below",false]],["EditedProperty",["h","Function","labelPosition","below","below-right",false]],["EditedProperty",["h","Function","expression","integral(0, x, \"t^3\", \"t\")","integral(0, (x - 1), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x - 1), \"t^3\", \"t\")","integral(0, (x - 0), \"t^3\", \"t\")",true]],["EditedProperty",["h","Function","expression","integral(0, (x - 0), \"t^3\", \"t\")","integral(0, (x + 0.01), \"t^3\", \"t\")",true]]],[]],"width":1027,"height":594,"objects":{"Function":[["f",true,"#8F6027","name + value","derivative(\"t^3\", \"t\", x)","ℝ⁺*","ℝ","application","above-left",2,true,true],["g",true,"#697F4E","name + value","(x ^ 3)","ℝ⁺*","ℝ","function","above",1.5,true,true],["h",true,"#0CA920","name + value","integral(0, (x + 0.01), \"t^3\", \"t\")","ℝ⁺*","ℝ","application","below-right",2,true,true]]},"type":"logplotv1"}
|
|
@ -1,9 +1,9 @@
|
|||
Package: logarithmplotter
|
||||
Source: logarithmplotter
|
||||
Version: 0.1.9
|
||||
Version: 0.2.0
|
||||
Architecture: all
|
||||
Maintainer: Ad5001 <mail@ad5001.eu>
|
||||
Depends: python3, python3-pip, qml-module-qtquick-controls2 (>= 5.12.0), qml-module-qtmultimedia (>= 5.12.0), qml-module-qtgraphicaleffects (>= 5.12.0), qml-module-qtquick2 (>= 5.12.0), qml-module-qtqml-models2 (>= 5.12.0), qml-module-qtquick-controls (>= 5.12.0), python3-pyside2.qtcore (>= 5.12.0), python3-pyside2.qtqml (>= 5.12.0), python3-pyside2.qtgui (>= 5.12.0), python3-pyside2.qtquick (>= 5.12.0), python3-pyside2.qtwidgets (>= 5.12.0), python3-pyside2.qtmultimedia (>= 5.12.0), python3-pyside2.qtnetwork (>= 5.12.0), python3-sympy
|
||||
Depends: python3, python3-pip, qml-module-qtquick-controls2 (>= 5.12.0), qml-module-qtmultimedia (>= 5.12.0), qml-module-qtgraphicaleffects (>= 5.12.0), qml-module-qtquick2 (>= 5.12.0), qml-module-qtqml-models2 (>= 5.12.0), qml-module-qtquick-controls (>= 5.12.0), python3-pyside2.qtcore (>= 5.12.0), python3-pyside2.qtqml (>= 5.12.0), python3-pyside2.qtgui (>= 5.12.0), python3-pyside2.qtquick (>= 5.12.0), python3-pyside2.qtwidgets (>= 5.12.0), python3-pyside2.qtmultimedia (>= 5.12.0), python3-pyside2.qtnetwork (>= 5.12.0), texlive-latex-base, dvipng
|
||||
|
||||
Build-Depends: debhelper (>=11~), dh-python, dpkg-dev (>= 1.16.1~), python-setuptools, python3-all-dev (>=3.6)
|
||||
Section: science
|
||||
|
|
|
@ -1 +1 @@
|
|||
python3-pip, qml-module-qtquick-controls2 (>= 5.12.0), qml-module-qtmultimedia (>= 5.12.0), qml-module-qtgraphicaleffects (>= 5.12.0), qml-module-qtquick2 (>= 5.12.0), qml-module-qtqml-models2 (>= 5.12.0), qml-module-qtquick-controls (>= 5.12.0), python3-pyside2.qtcore (>= 5.12.0), python3-pyside2.qtqml (>= 5.12.0), python3-pyside2.qtgui (>= 5.12.0), python3-pyside2.qtquick (>= 5.12.0), python3-pyside2.qtwidgets (>= 5.12.0), python3-pyside2.qtmultimedia (>= 5.12.0), python3-pyside2.qtnetwork (>= 5.12.0), python3-sympy
|
||||
python3-pip, qml-module-qtquick-controls2 (>= 5.12.0), qml-module-qtmultimedia (>= 5.12.0), qml-module-qtgraphicaleffects (>= 5.12.0), qml-module-qtquick2 (>= 5.12.0), qml-module-qtqml-models2 (>= 5.12.0), qml-module-qtquick-controls (>= 5.12.0), python3-pyside2.qtcore (>= 5.12.0), python3-pyside2.qtqml (>= 5.12.0), python3-pyside2.qtgui (>= 5.12.0), python3-pyside2.qtquick (>= 5.12.0), python3-pyside2.qtwidgets (>= 5.12.0), python3-pyside2.qtmultimedia (>= 5.12.0), python3-pyside2.qtnetwork (>= 5.12.0), texlive-latex-base, dvipng
|
||||
|
|
|
@ -8,7 +8,24 @@ set \
|
|||
-o pipefail
|
||||
|
||||
# GTK theme integration (we have Qt fetch the GTK theme mirroring the host Qt theme...)
|
||||
# Currently broken with portals
|
||||
#export QT_QPA_PLATFORMTHEME=kde
|
||||
|
||||
# Finally run the next part of the command chain
|
||||
# Check if the last parameter is a file, and if so, add the argument "--no-checks-for-updates" BEFORE it.
|
||||
|
||||
length=$(($#-1))
|
||||
|
||||
echo "Len: $length"
|
||||
|
||||
if [ $length -gt 0 ]; then
|
||||
last="${@:$#}" # last parameter
|
||||
args=("${@:1:$length}") # all parameters except the last
|
||||
|
||||
if [ -f "$last" ]; then
|
||||
${args} --no-check-for-updates "$last"
|
||||
else
|
||||
${@} --no-check-for-updates
|
||||
fi
|
||||
else
|
||||
${@} --no-check-for-updates
|
||||
fi
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
cd "$(dirname "$(readlink -f "$0" || realpath "$0")")/.."
|
||||
|
||||
VERSION=0.1.9
|
||||
VERSION=0.2.0
|
||||
title="LogarithmPlotter v${VERSION} Setup"
|
||||
finalDMGName="LogarithmPlotter-v${VERSION}-setup.dmg"
|
||||
applicationName=LogarithmPlotter
|
||||
|
|
4
setup.py
4
setup.py
|
@ -127,7 +127,7 @@ if sys.platform == 'linux':
|
|||
os.remove(os.environ["PREFIX"] + '/icons/hicolor/scalable/apps/logplotter.svg')
|
||||
|
||||
setuptools.setup(
|
||||
install_requires=([] if "FLATPAK_INSTALL" in os.environ else ["PySide2", "sympy"]),
|
||||
install_requires=([] if "FLATPAK_INSTALL" in os.environ else ["PySide2"]),
|
||||
python_requires='>=3.8',
|
||||
|
||||
name='logarithmplotter',
|
||||
|
@ -145,7 +145,7 @@ setuptools.setup(
|
|||
|
||||
classifiers=CLASSIFIERS,
|
||||
zip_safe=False,
|
||||
packages=["LogarithmPlotter"],
|
||||
packages=["LogarithmPlotter", "LogarithmPlotter.util"],
|
||||
|
||||
package_data={
|
||||
'LogarithmPlotter':package_data(),
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
name: logarithmplotter
|
||||
title: LogarithmPlotter
|
||||
version: '0.1.9'
|
||||
version: '0.2.0'
|
||||
summary: 2D logarithmic-scaled plotter software to create asymptotic Bode plots
|
||||
confinement: strict
|
||||
base: core20
|
||||
|
@ -79,6 +79,9 @@ parts:
|
|||
source: .
|
||||
stage-packages:
|
||||
- breeze-icon-theme
|
||||
# Latex dependencies
|
||||
- texlive-latex-base
|
||||
- dvipng
|
||||
# Additional dependencies
|
||||
- libxcomposite1
|
||||
- libxcursor1
|
||||
|
@ -131,7 +134,7 @@ parts:
|
|||
- libxcb-render-util0
|
||||
- libdouble-conversion3
|
||||
- libpcre2-16-0
|
||||
snapcraft-preload: # Fixes error related to multiprocessing on python.
|
||||
snapcraft-preload:
|
||||
source: https://github.com/sergiusens/snapcraft-preload.git
|
||||
plugin: cmake
|
||||
cmake-parameters:
|
||||
|
@ -142,6 +145,11 @@ parts:
|
|||
- g++-multilib
|
||||
stage-packages:
|
||||
- lib32stdc++6
|
||||
changelog:
|
||||
source: .
|
||||
plugin: dump
|
||||
organize:
|
||||
CHANGELOG.md: lib/python3.8/site-packages/LogarithmPlotter/CHANGELOG.md
|
||||
|
||||
apps:
|
||||
logarithmplotter:
|
||||
|
|
|
@ -11,7 +11,7 @@ Unicode True
|
|||
!define PROG_ID "LogarithmPlotter.File.1"
|
||||
!define DEV_NAME "Ad5001"
|
||||
!define WEBSITE "https://apps.ad5001.eu/logarithmplotter"
|
||||
!define VERSION_SHORT "0.1.9"
|
||||
!define VERSION_SHORT "0.2.0"
|
||||
!define APP_VERSION "${VERSION_SHORT}.0"
|
||||
!define COPYRIGHT "Ad5001 (c) 2022"
|
||||
!define DESCRIPTION "Create graphs with logarithm scales."
|
||||
|
|
Loading…
Reference in a new issue