Changing description, starting translator.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Ad5001 2022-01-20 18:19:36 +01:00
parent 94dc7b28a1
commit 74ea50d19f
Signed by: Ad5001
GPG key ID: EF45F9C6AFE20160
57 changed files with 2659 additions and 154 deletions

View file

@ -1,5 +1,5 @@
"""
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
"""
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
"""
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -19,12 +19,13 @@
from os import path, environ, makedirs
from platform import system
from json import load, dumps
from PySide2.QtCore import QLocale, QTranslator
DEFAULT_SETTINGS = {
"check_for_updates": True,
"reset_redo_stack": True,
"last_install_greet": "0",
"lang": "en"
}
# Create config directory
@ -35,7 +36,10 @@ CONFIG_PATH = {
}[system()]
CONFIG_FILE = path.join(CONFIG_PATH, "config.json")
CONFIG = DEFAULT_SETTINGS
initialized = False
current_config= DEFAULT_SETTINGS
def init():
"""
@ -47,13 +51,13 @@ def init():
cfg_data = load(open(CONFIG_FILE, 'r', -1, 'utf8'))
for setting_name in cfg_data:
setSetting(setting_name, cfg_data[setting_name])
def save():
"""
Saves the config to the path.
"""
write_file = open(CONFIG_FILE, 'w', -1, 'utf8')
write_file.write(dumps(CONFIG))
write_file.write(dumps(current_config))
write_file.close()
def getSetting(namespace):
@ -63,7 +67,7 @@ def getSetting(namespace):
by using the "test.foo" namespace.
"""
names = namespace.split(".")
setting = CONFIG
setting = current_config
for name in names:
if name in setting:
setting = setting[name]
@ -79,7 +83,7 @@ def setSetting(namespace, data):
by using the "test.foo" namespace.
"""
names = namespace.split(".")
setting = CONFIG
setting = current_config
for name in names:
if name != names[-1]:
if name in setting:

View file

@ -0,0 +1,607 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<context>
<name>About</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="26"/>
<source>About LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="52"/>
<source>LogarithmPlotter v%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="64"/>
<source>2D plotter software to make BODE plots, sequences and repartition functions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="103"/>
<source>Report a bug</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AppMenuBar</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="27"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="29"/>
<source>&amp;Load...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="36"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
<source>Save &amp;As...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="50"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="58"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="60"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="68"/>
<source>&amp;Redo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
<source>&amp;Copy plot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<source>&amp;Create</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="107"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="110"/>
<source>Check for updates on startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="119"/>
<source>Reset redo stack automaticly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditorDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="45"/>
<source>Edit properties of %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="59"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="85"/>
<source>Label content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>null</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name + value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="185"/>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="199"/>
<source>+ Create new %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Export Logarithm Plot file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Import Logarithm Plot file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GreetScreen</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="58"/>
<source>Welcome to LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="72"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="84"/>
<source>Take a few seconds to configure LogarithmPlotter.
These settings can be changed at any time from the &quot;Settings&quot; menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="93"/>
<source>Check for updates on startup (requires online connectivity)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="105"/>
<source>Reset redo stack when a new action is added to history</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="63"/>
<source>Redo &gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="82"/>
<source>&gt; Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="116"/>
<source>&lt; Undo</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LogarithmPlotter</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="77"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="83"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="89"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="197"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="202"/>
<source>Loading file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="241"/>
<source>Unknown object type: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="255"/>
<source>Invalid file provided.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="259"/>
<source>Could not save file: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="263"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="284"/>
<source>Copied plot screenshot to clipboard!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="295"/>
<source>&amp;Update</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="297"/>
<source>&amp;Update LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ObjectCreationGrid</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml" line="32"/>
<source>+ Create new:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ObjectLists</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Hide all %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Show all %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="100"/>
<source>Hide %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="101"/>
<source>Show %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="139"/>
<source>Set %1 %2 position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="164"/>
<source>Delete %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="197"/>
<source>Pick new color for %1 %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PickLocationOverlay</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="88"/>
<source>Pointer precision:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="108"/>
<source>Snap to grid</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="73"/>
<source>X Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="88"/>
<source>Y Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="104"/>
<source>Min X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="123"/>
<source>Max Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="138"/>
<source>Max X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<source>Min Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="174"/>
<source>X Axis Step</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="188"/>
<source>Y Axis Step</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="202"/>
<source>Line width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="217"/>
<source>Text size (px)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="232"/>
<source>X Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="258"/>
<source>Y Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="286"/>
<source>X Log scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="296"/>
<source>Show X graduation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="306"/>
<source>Show Y graduation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="317"/>
<source>Copy to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="326"/>
<source>Save plot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="335"/>
<source>Save plot as</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Load plot</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>function</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
<source>Function</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
<source>Functions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>gainbode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
<source>Bode Magnitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
<source>Bode Magnitudes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>low-pass</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>high-pass</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>historylib</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="77"/>
<source>New %1 %2 created.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="94"/>
<source>%1 %2 deleted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="133"/>
<source>%1 of %2 %3 changed from &quot;%4&quot; to &quot;%5&quot;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="147"/>
<source>%1 %2 shown.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
<source>%1 %2 hidden.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>phasebode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
<source>Bode Phase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
<source>Bode Phases</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>point</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
<source>Point</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
<source>Points</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>repartition</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
<source>Repartition</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
<source>Repartition functions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>sequence</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
<source>Sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
<source>Sequences</source>
<translation type="unfinished"></translation>
</message>
</context>
<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"/>
<source>Bode Magnitudes Sum</source>
<translation type="unfinished"></translation>
</message>
</context>
<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"/>
<source>Bode Phases Sum</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>text</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
<source>Texts</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>update</name>
<message>
<location filename="../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"/>
<source>No update available.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../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"/>
<source>Could not fetch update information: {}.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>xcursor</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
<source>X Cursor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
<source>X Cursors</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -0,0 +1,607 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_US">
<context>
<name>About</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="26"/>
<source>About LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="52"/>
<source>LogarithmPlotter v%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="64"/>
<source>2D plotter software to make BODE plots, sequences and repartition functions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="103"/>
<source>Report a bug</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AppMenuBar</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="27"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="29"/>
<source>&amp;Load...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="36"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
<source>Save &amp;As...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="50"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="58"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="60"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="68"/>
<source>&amp;Redo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
<source>&amp;Copy plot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<source>&amp;Create</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="107"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="110"/>
<source>Check for updates on startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="119"/>
<source>Reset redo stack automaticly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditorDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="45"/>
<source>Edit properties of %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="59"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="85"/>
<source>Label content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>null</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name + value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="185"/>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="199"/>
<source>+ Create new %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Export Logarithm Plot file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Import Logarithm Plot file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GreetScreen</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="58"/>
<source>Welcome to LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="72"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="84"/>
<source>Take a few seconds to configure LogarithmPlotter.
These settings can be changed at any time from the &quot;Settings&quot; menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="93"/>
<source>Check for updates on startup (requires online connectivity)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="105"/>
<source>Reset redo stack when a new action is added to history</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="63"/>
<source>Redo &gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="82"/>
<source>&gt; Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="116"/>
<source>&lt; Undo</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LogarithmPlotter</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="77"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="83"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="89"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="197"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="202"/>
<source>Loading file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="241"/>
<source>Unknown object type: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="255"/>
<source>Invalid file provided.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="259"/>
<source>Could not save file: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="263"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="284"/>
<source>Copied plot screenshot to clipboard!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="295"/>
<source>&amp;Update</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="297"/>
<source>&amp;Update LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ObjectCreationGrid</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml" line="32"/>
<source>+ Create new:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ObjectLists</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Hide all %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Show all %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="100"/>
<source>Hide %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="101"/>
<source>Show %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="139"/>
<source>Set %1 %2 position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="164"/>
<source>Delete %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="197"/>
<source>Pick new color for %1 %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PickLocationOverlay</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="88"/>
<source>Pointer precision:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="108"/>
<source>Snap to grid</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="73"/>
<source>X Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="88"/>
<source>Y Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="104"/>
<source>Min X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="123"/>
<source>Max Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="138"/>
<source>Max X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<source>Min Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="174"/>
<source>X Axis Step</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="188"/>
<source>Y Axis Step</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="202"/>
<source>Line width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="217"/>
<source>Text size (px)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="232"/>
<source>X Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="258"/>
<source>Y Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="286"/>
<source>X Log scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="296"/>
<source>Show X graduation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="306"/>
<source>Show Y graduation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="317"/>
<source>Copy to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="326"/>
<source>Save plot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="335"/>
<source>Save plot as</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Load plot</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>function</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
<source>Function</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
<source>Functions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>gainbode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
<source>Bode Magnitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
<source>Bode Magnitudes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>low-pass</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>high-pass</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>historylib</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="77"/>
<source>New %1 %2 created.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="94"/>
<source>%1 %2 deleted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="133"/>
<source>%1 of %2 %3 changed from &quot;%4&quot; to &quot;%5&quot;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="147"/>
<source>%1 %2 shown.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
<source>%1 %2 hidden.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>phasebode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
<source>Bode Phase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
<source>Bode Phases</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>point</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
<source>Point</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
<source>Points</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>repartition</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
<source>Repartition</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
<source>Repartition functions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>sequence</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
<source>Sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
<source>Sequences</source>
<translation type="unfinished"></translation>
</message>
</context>
<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"/>
<source>Bode Magnitudes Sum</source>
<translation type="unfinished"></translation>
</message>
</context>
<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"/>
<source>Bode Phases Sum</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>text</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
<source>Texts</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>update</name>
<message>
<location filename="../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"/>
<source>No update available.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../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"/>
<source>Could not fetch update information: {}.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>xcursor</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
<source>X Cursor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
<source>X Cursors</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -0,0 +1,607 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es_ES">
<context>
<name>About</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="26"/>
<source>About LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="52"/>
<source>LogarithmPlotter v%1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="64"/>
<source>2D plotter software to make BODE plots, sequences and repartition functions.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="103"/>
<source>Report a bug</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AppMenuBar</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="27"/>
<source>&amp;File</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="29"/>
<source>&amp;Load...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="36"/>
<source>&amp;Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
<source>Save &amp;As...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="50"/>
<source>&amp;Quit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="58"/>
<source>&amp;Edit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="60"/>
<source>&amp;Undo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="68"/>
<source>&amp;Redo</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
<source>&amp;Copy plot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<source>&amp;Create</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="107"/>
<source>&amp;Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="110"/>
<source>Check for updates on startup</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="119"/>
<source>Reset redo stack automaticly</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;About</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>EditorDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="45"/>
<source>Edit properties of %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="59"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="85"/>
<source>Label content</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>null</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name + value</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="185"/>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="199"/>
<source>+ Create new %1</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Export Logarithm Plot file</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Import Logarithm Plot file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GreetScreen</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="58"/>
<source>Welcome to LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="72"/>
<source>Version %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="84"/>
<source>Take a few seconds to configure LogarithmPlotter.
These settings can be changed at any time from the &quot;Settings&quot; menu.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="93"/>
<source>Check for updates on startup (requires online connectivity)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="105"/>
<source>Reset redo stack when a new action is added to history</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="63"/>
<source>Redo &gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="82"/>
<source>&gt; Now</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="116"/>
<source>&lt; Undo</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>LogarithmPlotter</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="77"/>
<source>Objects</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="83"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="89"/>
<source>History</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="197"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="202"/>
<source>Loading file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="241"/>
<source>Unknown object type: %1.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="255"/>
<source>Invalid file provided.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="259"/>
<source>Could not save file: </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="263"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="284"/>
<source>Copied plot screenshot to clipboard!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="295"/>
<source>&amp;Update</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="297"/>
<source>&amp;Update LogarithmPlotter</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ObjectCreationGrid</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml" line="32"/>
<source>+ Create new:</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ObjectLists</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Hide all %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Show all %1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="100"/>
<source>Hide %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="101"/>
<source>Show %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="139"/>
<source>Set %1 %2 position</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="164"/>
<source>Delete %1 %2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="197"/>
<source>Pick new color for %1 %2</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PickLocationOverlay</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="88"/>
<source>Pointer precision:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="108"/>
<source>Snap to grid</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="73"/>
<source>X Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="88"/>
<source>Y Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="104"/>
<source>Min X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="123"/>
<source>Max Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="138"/>
<source>Max X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<source>Min Y</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="174"/>
<source>X Axis Step</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="188"/>
<source>Y Axis Step</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="202"/>
<source>Line width</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="217"/>
<source>Text size (px)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="232"/>
<source>X Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="258"/>
<source>Y Label</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="286"/>
<source>X Log scale</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="296"/>
<source>Show X graduation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="306"/>
<source>Show Y graduation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="317"/>
<source>Copy to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="326"/>
<source>Save plot</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="335"/>
<source>Save plot as</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Load plot</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>function</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
<source>Function</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
<source>Functions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>gainbode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
<source>Bode Magnitude</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
<source>Bode Magnitudes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>low-pass</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>high-pass</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>historylib</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="77"/>
<source>New %1 %2 created.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="94"/>
<source>%1 %2 deleted.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="133"/>
<source>%1 of %2 %3 changed from &quot;%4&quot; to &quot;%5&quot;.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="147"/>
<source>%1 %2 shown.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
<source>%1 %2 hidden.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>phasebode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
<source>Bode Phase</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
<source>Bode Phases</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>point</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
<source>Point</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
<source>Points</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>repartition</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
<source>Repartition</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
<source>Repartition functions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>sequence</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
<source>Sequence</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
<source>Sequences</source>
<translation type="unfinished"></translation>
</message>
</context>
<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"/>
<source>Bode Magnitudes Sum</source>
<translation type="unfinished"></translation>
</message>
</context>
<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"/>
<source>Bode Phases Sum</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>text</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
<source>Text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
<source>Texts</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>update</name>
<message>
<location filename="../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"/>
<source>No update available.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../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"/>
<source>Could not fetch update information: {}.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>xcursor</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
<source>X Cursor</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
<source>X Cursors</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View file

@ -0,0 +1,617 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
<context>
<name>About</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="26"/>
<location filename="../logarithmplotter.py" line="194"/>
<source>About LogarithmPlotter</source>
<translation>À propos de LogarithmPlotter</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="52"/>
<source>LogarithmPlotter v%1</source>
<translation>LogarithmPlotter v%1</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="64"/>
<source>2D plotter software to make BODE plots, sequences and repartition functions.</source>
<translation>Logiciel de traçage 2D pour les diagrammes de BODE, les suites et les fonctions de répartition.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/About.qml" line="103"/>
<source>Report a bug</source>
<translation>Rapporter un bug</translation>
</message>
</context>
<context>
<name>AppMenuBar</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="27"/>
<source>&amp;File</source>
<translation>&amp;Fichier</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="29"/>
<source>&amp;Load...</source>
<translation>&amp;Ouvrir...</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="36"/>
<source>&amp;Save</source>
<translation>&amp;Sauvegarder</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="42"/>
<source>Save &amp;As...</source>
<translation>Sauvegarde &amp;Sous...</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="50"/>
<source>&amp;Quit</source>
<translation>&amp;Quitter</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="58"/>
<source>&amp;Edit</source>
<translation>&amp;Édition</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="60"/>
<source>&amp;Undo</source>
<translation>&amp;Annuler</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="68"/>
<source>&amp;Redo</source>
<translation>&amp;Rétablir</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="77"/>
<source>&amp;Copy plot</source>
<translation>&amp;Copier le graphe</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="85"/>
<source>&amp;Create</source>
<translation>&amp;Créer</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="107"/>
<source>&amp;Settings</source>
<translation>&amp;Paramètres</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="110"/>
<source>Check for updates on startup</source>
<translation>Vérifier la présence de mise à jour au démarage</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="119"/>
<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&apos;action &quot;Rétablir&quot; automatiquement</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="128"/>
<source>&amp;Help</source>
<translation>&amp;Aide</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml" line="130"/>
<source>&amp;About</source>
<translation>&amp;À propos</translation>
</message>
</context>
<context>
<name>EditorDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="45"/>
<source>Edit properties of %1 %2</source>
<translation>Changer les propriétés de %1 %2</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="59"/>
<source>Name</source>
<translation>Nom</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="85"/>
<source>Label content</source>
<translation>Étiquette</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>null</source>
<translation>vide</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name</source>
<translation>nom</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="86"/>
<source>name + value</source>
<translation>nom + valeur</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="185"/>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/EditorDialog.qml" line="199"/>
<source>+ Create new %1</source>
<translatorcomment>Traduction non litéralle pour éviter les problèmes de genre.</translatorcomment>
<translation>+ Créer un nouvel objet %1</translation>
</message>
</context>
<context>
<name>FileDialog</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Export Logarithm Plot file</source>
<translation>Exporter le graphe Logarithmique</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/FileDialog.qml" line="26"/>
<source>Import Logarithm Plot file</source>
<translation>Importer un graphe Logarithmique</translation>
</message>
</context>
<context>
<name>GreetScreen</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="58"/>
<source>Welcome to LogarithmPlotter</source>
<translation>Bienvenue sur LogarithmPlotter</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="72"/>
<source>Version %1</source>
<translation>Version %1</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="84"/>
<source>Take a few seconds to configure LogarithmPlotter.
These settings can be changed at any time from the &quot;Settings&quot; menu.</source>
<translation>Prenez quelques secondes pour configurer LogarithmPlotter.
Ces paramètres peuvent être modifiés à tout moment à partir du menu &quot;Paramètres&quot;.</translation>
</message>
<message>
<source>Take a few seconds to configure LogarithmPlotter.
These settings can always be changed at any time from the &quot;Settings&quot; menu.</source>
<translation type="obsolete">Take a few seconds to configure LogarithmPlotter.
These settings can always be changed at any time from the &quot;Settings&quot; menu.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="93"/>
<source>Check for updates on startup (requires online connectivity)</source>
<translation>Vérifier les mises à jour au démarrage (nécessite d&apos;être connecté à internet)</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/GreetScreen.qml" line="105"/>
<source>Reset redo stack when a new action is added to history</source>
<translation>Réinitialiser la pile d&apos;action &quot;Rétablir&quot; lorsqu&apos;une nouvelle action est ajoutée à l&apos;historique</translation>
</message>
</context>
<context>
<name>HistoryBrowser</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="63"/>
<source>Redo &gt;</source>
<translation>Rétablir &gt;</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="82"/>
<source>&gt; Now</source>
<translation>&gt; État actuel</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/HistoryBrowser.qml" line="116"/>
<source>&lt; Undo</source>
<translation>&lt; Annuler</translation>
</message>
</context>
<context>
<name>LogarithmPlotter</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="77"/>
<source>Objects</source>
<translation>Objets</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="83"/>
<source>Settings</source>
<translation>Paramètres</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="89"/>
<source>History</source>
<translation>Historique</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="197"/>
<source>Saved plot to &apos;%1&apos;.</source>
<translation>Graphe sauvegardé dans &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="202"/>
<source>Loading file &apos;%1&apos;.</source>
<translation>Chargement du fichier &apos;%1&apos;.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="241"/>
<source>Unknown object type: %1.</source>
<translation>Type d&apos;objet inconnu : %1.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="255"/>
<source>Invalid file provided.</source>
<translation>Fichier fourni invalide.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="259"/>
<source>Could not save file: </source>
<translation>Impossible de sauvegarder le fichier : </translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="263"/>
<source>Loaded file &apos;%1&apos;.</source>
<translation>Fichier &apos;%1&apos; chargé.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="284"/>
<source>Copied plot screenshot to clipboard!</source>
<translation>Image du graphe copiée dans le presse-papiers !</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="295"/>
<source>&amp;Update</source>
<translation>&amp;Mise à jour</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/LogarithmPlotter.qml" line="297"/>
<source>&amp;Update LogarithmPlotter</source>
<translation>&amp;Mettre à jour LogarithmPlotter</translation>
</message>
</context>
<context>
<name>ObjectCreationGrid</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectCreationGrid.qml" line="32"/>
<source>+ Create new:</source>
<translation>+ Créer :</translation>
</message>
</context>
<context>
<name>ObjectLists</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Hide all %1</source>
<translation>Cacher tous les %1</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="63"/>
<source>Show all %1</source>
<translation>Montrer tous les %1</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="100"/>
<source>Hide %1 %2</source>
<translation>Cacher l&apos;objet %1 %2</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="101"/>
<source>Show %1 %2</source>
<translation>Montrer l&apos;objet %1 %2</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="139"/>
<source>Set %1 %2 position</source>
<translation>Définir la position de l&apos;objet %1 %2</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="164"/>
<source>Delete %1 %2</source>
<translation>Supprimer l&apos;objet %1 %2</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/ObjectLists/ObjectLists.qml" line="197"/>
<source>Pick new color for %1 %2</source>
<translation>Choisissez une nouvelle couleur pour %1 %2</translation>
</message>
</context>
<context>
<name>PickLocationOverlay</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="88"/>
<source>Pointer precision:</source>
<translation>Précision du pointeur :</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/PickLocationOverlay.qml" line="108"/>
<source>Snap to grid</source>
<translation>Placement sur la grille</translation>
</message>
</context>
<context>
<name>Settings</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="73"/>
<source>X Zoom</source>
<translation>Zoom en X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="88"/>
<source>Y Zoom</source>
<translation>Zoom en Y</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="104"/>
<source>Min X</source>
<translation>Min X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="123"/>
<source>Max Y</source>
<translation>Max Y</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="138"/>
<source>Max X</source>
<translation>Max X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="157"/>
<source>Min Y</source>
<translation>Min Y</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="174"/>
<source>X Axis Step</source>
<translation>Pas de l&apos;axe X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="188"/>
<source>Y Axis Step</source>
<translation>Pas de l&apos;axe Y</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="202"/>
<source>Line width</source>
<translation>Taille des lignes</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="217"/>
<source>Text size (px)</source>
<translation>Taille du texte (px)</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="232"/>
<source>X Label</source>
<translation>Label de l&apos;axe X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="258"/>
<source>Y Label</source>
<translation>Label de l&apos;axe Y</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="286"/>
<source>X Log scale</source>
<translation>Échelle logarithmique en X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="296"/>
<source>Show X graduation</source>
<translation>Montrer la graduation de l&apos;axe X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="306"/>
<source>Show Y graduation</source>
<translation>Montrer la graduation de l&apos;axe Y</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="317"/>
<source>Copy to clipboard</source>
<translation>Copier vers le presse-papiers</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="326"/>
<source>Save plot</source>
<translation>Sauvegarder le graphe</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="335"/>
<source>Save plot as</source>
<translation>Sauvegarder le graphe sous</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/Settings.qml" line="344"/>
<source>Load plot</source>
<translation>Charger un graphe</translation>
</message>
</context>
<context>
<name>function</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="29"/>
<source>Function</source>
<translation>Fonction</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/function.js" line="30"/>
<source>Functions</source>
<translation>Fonctions</translation>
</message>
</context>
<context>
<name>gainbode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="31"/>
<source>Bode Magnitude</source>
<translation>Gain de Bode</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="32"/>
<source>Bode Magnitudes</source>
<translation>Gains de Bode</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>low-pass</source>
<translation>passe-bas</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/gainbode.js" line="72"/>
<source>high-pass</source>
<translation>passe-haut</translation>
</message>
</context>
<context>
<name>historylib</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="77"/>
<source>New %1 %2 created.</source>
<translation>Nouveau %1 %2 créé(e).</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="94"/>
<source>%1 %2 deleted.</source>
<translation>%1 %2 supprimé(e).</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="133"/>
<source>%1 of %2 %3 changed from &quot;%4&quot; to &quot;%5&quot;.</source>
<translation>%1 de %2 %3 modifiée de &quot;%4&quot; à &quot;%5&quot;.</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="147"/>
<source>%1 %2 shown.</source>
<translation>%1 %2 affiché(e).</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/historylib.js" line="149"/>
<source>%1 %2 hidden.</source>
<translation>%1 %2 cachée(e).</translation>
</message>
</context>
<context>
<name>phasebode</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="30"/>
<source>Bode Phase</source>
<translation>Phase de Bode</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/phasebode.js" line="31"/>
<source>Bode Phases</source>
<translation>Phases de Bode</translation>
</message>
</context>
<context>
<name>point</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="28"/>
<source>Point</source>
<translation>Point</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/point.js" line="29"/>
<source>Points</source>
<translation>Points</translation>
</message>
</context>
<context>
<name>repartition</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="26"/>
<source>Repartition</source>
<translation>Répartition</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/repartition.js" line="27"/>
<source>Repartition functions</source>
<translation>Fonctions de répartition</translation>
</message>
</context>
<context>
<name>sequence</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="29"/>
<source>Sequence</source>
<translation>Suite</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/sequence.js" line="30"/>
<source>Sequences</source>
<translation>Suites</translation>
</message>
</context>
<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"/>
<source>Bode Magnitudes Sum</source>
<translation>Sommes des gains de Bode</translation>
</message>
</context>
<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"/>
<source>Bode Phases Sum</source>
<translation>Somme des phases de Bode</translation>
</message>
</context>
<context>
<name>text</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="28"/>
<source>Text</source>
<translation>Texte</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/text.js" line="29"/>
<source>Texts</source>
<translation>Textes</translation>
</message>
</context>
<context>
<name>update</name>
<message>
<location filename="../update.py" line="54"/>
<source>An update for LogarithPlotter (v{}) is available.</source>
<translation>Une mise à jour de LogarithPlotter (v{}) est disponible.</translation>
</message>
<message>
<location filename="../update.py" line="58"/>
<source>No update available.</source>
<translation>À jour.</translation>
</message>
<message>
<location filename="../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"/>
<source>Could not fetch update information: {}.</source>
<translation>Impossible de récupérer les informations de mise à jour. {}.</translation>
</message>
</context>
<context>
<name>xcursor</name>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="29"/>
<source>X Cursor</source>
<translation>Curseur X</translation>
</message>
<message>
<location filename="../qml/eu/ad5001/LogarithmPlotter/js/objs/xcursor.js" line="30"/>
<source>X Cursors</source>
<translation>Curseurs X</translation>
</message>
</context>
</TS>

View file

@ -0,0 +1,2 @@
#!/bin/bash
lrelease *.ts

View file

@ -0,0 +1,5 @@
#!/bin/bash
lupdate -extensions js,qs,qml,py -recursive .. -ts lp_en.ts
lupdate -extensions js,qs,qml,py -recursive .. -ts lp_fr.ts
lupdate -extensions js,qs,qml,py -recursive .. -ts lp_de.ts
lupdate -extensions js,qs,qml,py -recursive .. -ts lp_es.ts

View file

@ -1,5 +1,5 @@
"""
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -22,7 +22,7 @@ start_time = time()
from PySide2.QtWidgets import QApplication, QFileDialog
from PySide2.QtQml import QQmlApplicationEngine, qmlRegisterType
from PySide2.QtCore import Qt, QObject, Signal, Slot, Property
from PySide2.QtCore import Qt, QObject, Signal, Slot, Property, QTranslator, QLocale, QCoreApplication
from PySide2.QtGui import QIcon, QImage, QKeySequence
from PySide2 import __version__ as PySide2_version
@ -46,8 +46,8 @@ if path.realpath(path.join(getcwd(), "..")) not in sys_path:
from LogarithmPlotter import config, native, __VERSION__
from LogarithmPlotter.update import check_for_updates
config.init()
config.init()
def get_linux_theme():
des = {
@ -63,6 +63,10 @@ def get_linux_theme():
return "Material"
class Helper(QObject):
def __init__(self, engine: QQmlApplicationEngine):
QObject.__init__(self)
self.engine = engine;
@Slot(str, str)
def write(self, filename, filedata):
@ -80,6 +84,7 @@ class Helper(QObject):
def load(self, filename):
chdir(pwd)
data = '{}'
from PySide2.QtWidgets import QMessageBox
if path.exists(path.realpath(filename)):
f = open(path.realpath(filename), 'r', -1, 'utf8')
data = f.read()
@ -93,10 +98,9 @@ class Helper(QObject):
else:
raise Exception("Invalid LogarithmPlotter file.")
except Exception as e: # If file can't be loaded
from PySide2.QtWidgets import QMessageBox
QMessageBox.warning(None, 'LogarithmPlotter', 'Could not open file "{}":\n{}'.format(filename, e), QMessageBox.Ok) # Cannot parse file
QMessageBox.warning(None, 'LogarithmPlotter', QCoreApplication.translate('main','Could not open file "{}":\n{}').format(filename, e), QMessageBox.Ok) # Cannot parse file
else:
QMessageBox.warning(None, 'LogarithmPlotter', 'Could not open file: "{}"\nFile does not exist.'.format(filename), QMessageBox.Ok) # Cannot parse file
QMessageBox.warning(None, 'LogarithmPlotter', QCoreApplication.translate('main','Could not open file: "{}"\nFile does not exist.').format(filename), QMessageBox.Ok) # Cannot parse file
chdir(path.dirname(path.realpath(__file__)))
return data
@ -131,12 +135,16 @@ class Helper(QObject):
def setSettingBool(self, namespace, value):
return config.setSetting(namespace, value)
@Slot(str)
def setLanguage(self, new_lang):
config.setSetting("language", new_lang)
@Slot(result=str)
def getDebugInfos(self):
"""
Returns the version info about Qt, PySide2 & Python
"""
return "Built with PySide2 (Qt) v{} and python v{}".format(PySide2_version, sys_version.split("\n")[0])
return QCoreApplication.translate('main',"Built with PySide2 (Qt) v{} and python v{}").format(PySide2_version, sys_version.split("\n")[0])
@Slot(str)
def openUrl(self, url):
@ -166,6 +174,11 @@ def run():
app.setOrganizationName("Ad5001")
app.setWindowIcon(QIcon(path.realpath(path.join(getcwd(), "logarithmplotter.svg"))))
# Installing translators
translator = QTranslator()
if (translator.load(QLocale(), "lp", "_", path.realpath(path.join(getcwd(), "i18n")))):
app.installTranslator(translator);
# Installing macOS file handler.
macOSFileOpenHandler = None
if platform == "darwin":
@ -173,13 +186,16 @@ def run():
app.installEventFilter(macOSFileOpenHandler)
engine = QQmlApplicationEngine()
helper = Helper()
helper = Helper(engine)
engine.rootContext().setContextProperty("Helper", helper)
engine.rootContext().setContextProperty("TestBuild", "--test-build" in argv)
engine.rootContext().setContextProperty("StartTime", dep_time)
app.translate("About","About LogarithmPlotter") # FOR SOME REASON, if this isn't included, Qt refuses to load the QML file.
engine.addImportPath(path.realpath(path.join(getcwd(), "qml")))
engine.load(path.realpath(path.join(getcwd(), "qml", "eu", "ad5001", "LogarithmPlotter", "LogarithmPlotter.qml")))
if not engine.rootObjects():
print("No root object", path.realpath(path.join(getcwd(), "qml")))

View file

@ -1,5 +1,5 @@
"""
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -23,7 +23,7 @@ import QtQuick.Controls 2.12
D.Dialog {
id: about
title: `About LogarithmPlotter`
title: qsTr("About LogarithmPlotter")
width: 400
height: 600
@ -49,7 +49,7 @@ D.Dialog {
width: parent.width
wrapMode: Text.WordWrap
font.pixelSize: 25
text: "LogarithmPlotter v" + Helper.getVersion()
text: qsTr("LogarithmPlotter v%1").arg(Helper.getVersion())
}
Label {
@ -61,7 +61,7 @@ D.Dialog {
width: parent.width
wrapMode: Text.WordWrap
font.pixelSize: 18
text: "Create graphs with logarithm scales."
text: qsTr("2D plotter software to make BODE plots, sequences and repartition functions.")
}
Label {
@ -100,7 +100,7 @@ You should have received a copy of the GNU General Public License along with thi
anchors.top: copyrightInfos.bottom
anchors.horizontalCenter: parent.horizontalCenter
anchors.topMargin: 10
text: 'Report a bug'
text: qsTr('Report a bug')
icon.name: 'bug'
onClicked: Helper.openUrl('https://git.ad5001.eu/Ad5001/LogarithmPlotter')
}

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -23,7 +23,7 @@ D.FileDialog {
property bool exportMode: false
title: exportMode ? "Export Logarithm Plot file" : "Import Logarithm Plot file"
title: exportMode ? qsTr("Export Logarithm Plot file") : qsTr("Import Logarithm Plot file")
nameFilters: ["Logarithm Plot File (*.lpf)", "All files (*)"]
folder: shortcuts.documents

View file

@ -1,6 +1,6 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -55,7 +55,7 @@ Popup {
//width: parent.width
wrapMode: Text.WordWrap
font.pixelSize: 32
text: "Welcome to LogarithmPlotter"
text: qsTr("Welcome to LogarithmPlotter")
}
}
@ -69,7 +69,7 @@ Popup {
width: implicitWidth
font.pixelSize: 18
font.italic: true
text: "Version " + Helper.getVersion()
text: qsTr("Version %1").arg(Helper.getVersion())
}
Label {
@ -81,7 +81,7 @@ Popup {
wrapMode: Text.WordWrap
font.pixelSize: 14
width: parent.width - 50
text: "Take a few seconds to configure LogarithmPlotter.\nThese settings can always be changed at any time from the \"Settings\" menu."
text: qsTr("Take a few seconds to configure LogarithmPlotter.\nThese settings can be changed at any time from the \"Settings\" menu.")
}
CheckBox {
@ -90,7 +90,7 @@ Popup {
anchors.top: helpText.bottom
anchors.topMargin: 10
checked: Helper.getSettingBool("check_for_updates")
text: 'Check for updates on startup (requires online connectivity)'
text: qsTr('Check for updates on startup (requires online connectivity)')
onClicked: {
Helper.setSettingBool("check_for_updates", checked)
checkForUpdatesMenuSetting.checked = checked
@ -102,7 +102,7 @@ Popup {
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: checkForUpdatesSetting.bottom
checked: Helper.getSettingBool("reset_redo_stack")
text: 'Reset redo stack when a new action is added to history'
text: qsTr('Reset redo stack when a new action is added to history')
onClicked: {
Helper.setSettingBool("reset_redo_stack", checked)
resetRedoStackMenuSetting.checked = checked

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -60,7 +60,7 @@ ScrollView {
Text {
anchors.left: parent.left
anchors.bottom: nowRect.top
text: "Redo >"
text: qsTr("Redo >")
color: sysPaletteIn.windowText
transform: Rotation { origin.x: 30; origin.y: 30; angle: 270}
height: 70
@ -79,7 +79,7 @@ ScrollView {
anchors.verticalCenter: parent.verticalCenter
anchors.left: parent.left
anchors.leftMargin: 5
text: "> Now"
text: qsTr("> Now")
color: sysPalette.windowText
}
}
@ -113,7 +113,7 @@ ScrollView {
Text {
anchors.left: parent.left
anchors.top: undoColumn.top
text: "< Undo"
text: qsTr("< Undo")
color: sysPaletteIn.windowText
transform: Rotation { origin.x: 30; origin.y: 30; angle: 270}
height: 60

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -39,6 +39,7 @@ ApplicationWindow {
SystemPalette { id: sysPalette; colorGroup: SystemPalette.Active }
SystemPalette { id: sysPaletteIn; colorGroup: SystemPalette.Disabled }
menuBar: appMenu.trueItem
GreetScreen {}
@ -193,12 +194,12 @@ ApplicationWindow {
"objects": objs,
"type": "logplotv1"
}))
alert.show("Saved plot to '" + filename.split("/").pop() + "'.")
alert.show(qsTr("Saved plot to '%1'.").arg(filename.split("/").pop()))
}
function loadDiagram(filename) {
let basename = filename.split("/").pop()
alert.show("Loading file '" + basename + "'.")
alert.show(qsTr("Loading file '%1'.").arg(basename))
let data = JSON.parse(Helper.load(filename))
let error = "";
if(Object.keys(data).includes("type") && data["type"] == "logplotv1") {
@ -237,7 +238,7 @@ ApplicationWindow {
Objects.currentObjects[objType].push(obj)
}
} else {
error += "Unknown object type: " +objType + "\n";
error += qsTr("Unknown object type: %1.").arg(objType) + "\n";
}
}
// Refreshing sidebar
@ -251,15 +252,15 @@ ApplicationWindow {
objectLists.update()
}
} else {
error = "Invalid file provided."
error = qsTr("Invalid file provided.")
}
if(error != "") {
console.log(error)
alert.show("Could not save file: " + error)
alert.show(qsTr("Could not save file: ") + error)
// TODO: Error handling
}
drawCanvas.requestPaint()
alert.show("Loaded file '" + basename + "'.")
alert.show(qsTr("Loaded file '%1'.").arg(basename))
}
Timer {
@ -280,7 +281,7 @@ ApplicationWindow {
var file = Helper.gettmpfile()
drawCanvas.save(file)
Helper.copyImageToClipboard()
alert.show("Copied plot screenshot to clipboard!")
alert.show(qsTr("Copied plot screenshot to clipboard!"))
}
function showAlert(alertText) {

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -42,7 +42,7 @@ D.Dialog {
anchors.left: parent.left
anchors.top: parent.top
verticalAlignment: TextInput.AlignVCenter
text: `Edit properties of ${objEditor.objType} ${objEditor.obj.name}`
text: qsTr("Edit properties of %1 %2").arg(Objects.types[objEditor.objType].displayType()).arg(objEditor.obj.name)
font.pixelSize: 20
color: sysPalette.windowText
}
@ -56,7 +56,7 @@ D.Dialog {
TextSetting {
id: nameProperty
height: 30
label: "Name"
label: qsTr("Name")
icon: "icons/settings/custom/label.svg"
min: 1
width: dlgProperties.width
@ -82,13 +82,14 @@ D.Dialog {
id: labelContentProperty
height: 30
width: dlgProperties.width
label: "Label content"
model: ["null", "name", "name + value"]
label: qsTr("Label content")
model: [qsTr("null"), qsTr("name"), qsTr("name + value")]
property var idModel: ["null", "name", "name + value"]
icon: "icons/settings/custom/label.svg"
currentIndex: model.indexOf(objEditor.obj.labelContent)
currentIndex: idModel.indexOf(objEditor.obj.labelContent)
onActivated: function(newIndex) {
if(model[newIndex] != objEditor.obj.labelContent) {
objEditor.obj.labelContent = model[newIndex]
if(idModel[newIndex] != objEditor.obj.labelContent) {
objEditor.obj.labelContent = idModel[newIndex]
objectListList.update()
}
}
@ -109,7 +110,7 @@ D.Dialog {
width: parent.width
height: visible ? implicitHeight : 0
visible: modelData[0].startsWith('comment')
text: visible ? modelData[1].replace(/\{name\}/g, objEditor.obj.name) : ''
text: visible ? (modelData[1].replace(/\{name\}/g, objEditor.obj.name)) : ''
//color: sysPalette.windowText
wrapMode: Text.WordWrap
}
@ -181,7 +182,7 @@ D.Dialog {
property bool selectObjMode: paramTypeIn(modelData[1], ['ObjectType'])
model: visible ?
(selectObjMode ? Objects.getObjectsName(modelData[1].objType).concat(['+ Create new ' + modelData[1].objType]) : modelData[1].values)
(selectObjMode ? Objects.getObjectsName(modelData[1].objType).concat([qsTr("+ Create new %1").arg(Objects.types[modelData[1].objType].displayType())]) : modelData[1].values)
: []
visible: paramTypeIn(modelData[1], ['ObjectType', 'Enum'])
currentIndex: model.indexOf(selectObjMode ? objEditor.obj[modelData[0]].name : objEditor.obj[modelData[0]])
@ -195,7 +196,7 @@ D.Dialog {
// Creating new object.
selectedObj = Objects.createNewRegisteredObject(modelData[1].objType)
history.addToHistory(new HistoryLib.CreateNewObject(selectedObj.name, modelData[1].objType, selectedObj.export()))
model = Objects.getObjectsName(modelData[1].objType).concat(['+ Create new ' + modelData[1].objType])
model = Objects.getObjectsName(modelData[1].objType).concat([qsTr("+ Create new %1").arg(Objects.types[modelData[1].objType].displayType())])
currentIndex = model.indexOf(selectedObj.name)
}
//Objects.currentObjects[objEditor.objType][objEditor.objIndex].requiredBy = objEditor.obj[modelData[0]].filter((obj) => objEditor.obj.name != obj.name)

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -29,7 +29,7 @@ Column {
Label {
id: createTitle
verticalAlignment: TextInput.AlignVCenter
text: '+ Create new:'
text: qsTr('+ Create new:')
font.pixelSize: 20
}

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -60,7 +60,7 @@ ListView {
}
ToolTip.visible: hovered
ToolTip.text: checked ? `Hide all ${Objects.types[objType].displayTypeMultiple()}` : `Show all ${Objects.types[objType].displayTypeMultiple()}`
ToolTip.text: checked ? qsTr("Hide all %1").arg(Objects.types[objType].displayTypeMultiple()) : qsTr("Show all %1").arg(Objects.types[objType].displayTypeMultiple())
}
Label {
@ -96,7 +96,9 @@ ListView {
}
ToolTip.visible: hovered
ToolTip.text: checked ? `Hide ${objType} ${obj.name}` : `Show ${objType} ${obj.name}`
ToolTip.text: checked ?
qsTr("Hide %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name) :
qsTr("Show %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name)
}
Label {
@ -134,7 +136,7 @@ ListView {
property bool hasYProp: Objects.types[objType].properties().hasOwnProperty('y')
visible: hasXProp || hasYProp
ToolTip.visible: hovered
ToolTip.text: 'Set ' + Objects.types[objType].displayType() + ' position.'
ToolTip.text: qsTr("Set %1 %2 position").arg(Objects.types[objType].displayType()).arg(obj.name)
onClicked: {
positionPicker.objType = objType
@ -159,7 +161,7 @@ ListView {
icon.source: '../icons/delete.svg'
icon.color: sysPalette.buttonText
ToolTip.visible: hovered
ToolTip.text: 'Delete ' + Objects.types[objType].displayType() + '.'
ToolTip.text: qsTr("Delete %1 %2").arg(Objects.types[objType].displayType()).arg(obj.name)
onClicked: {
history.addToHistory(new HistoryLib.DeleteObject(
@ -191,8 +193,8 @@ ListView {
D.ColorDialog {
id: pickColor
color: obj.color
title: `Pick new color for ${objType} ${obj.name}`
color: obj.color.arg(obj.name)
title: qsTr("Pick new color for %1 %2").arg(Objects.types[objType].displayType())
onAccepted: {
history.addToHistory(new HistoryLib.EditedProperty(
obj.name, objType, "color",

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -85,7 +85,7 @@ Item {
Row {
height: precisionSlider.height
Text {
text: " Pointer precision: "
text: " "+ qsTr("Pointer precision:") + " "
color: 'black'
anchors.verticalCenter: parent.verticalCenter
}
@ -105,7 +105,7 @@ Item {
CheckBox {
id: snapToGridCheckbox
text: "Snap to grid"
text: qsTr("Snap to grid")
checked: false
}
}

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -70,7 +70,7 @@ ScrollView {
id: zoomX
height: 30
isDouble: true
label: "X Zoom"
label: qsTr("X Zoom")
min: 1
icon: "icons/settings/xzoom.svg"
width: settings.settingWidth
@ -85,7 +85,7 @@ ScrollView {
id: zoomY
height: 30
isDouble: true
label: "Y Zoom"
label: qsTr("Y Zoom")
icon: "icons/settings/yzoom.svg"
width: settings.settingWidth
value: settings.yzoom.toFixed(2)
@ -101,7 +101,7 @@ ScrollView {
height: 30
isDouble: true
min: -Infinity
label: "Min X"
label: qsTr("Min X")
icon: "icons/settings/xmin.svg"
width: settings.settingWidth
defValue: settings.xmin
@ -120,7 +120,7 @@ ScrollView {
height: 30
isDouble: true
min: -Infinity
label: "Max Y"
label: qsTr("Max Y")
icon: "icons/settings/ymax.svg"
width: settings.settingWidth
defValue: settings.ymax
@ -135,7 +135,7 @@ ScrollView {
height: 30
isDouble: true
min: -Infinity
label: "Max X"
label: qsTr("Max X")
icon: "icons/settings/xmax.svg"
width: settings.settingWidth
value: canvas.px2x(canvas.canvasSize.width).toFixed(2)
@ -154,7 +154,7 @@ ScrollView {
height: 30
isDouble: true
min: -Infinity
label: "Min Y"
label: qsTr("Min Y")
icon: "icons/settings/ymin.svg"
width: settings.settingWidth
defValue: canvas.px2y(canvas.canvasSize.height).toFixed(2)
@ -171,7 +171,7 @@ ScrollView {
TextSetting {
id: xAxisStep
height: 30
label: "X Axis Step"
label: qsTr("X Axis Step")
icon: "icons/settings/xaxisstep.svg"
width: settings.settingWidth
defValue: settings.xaxisstep
@ -185,7 +185,7 @@ ScrollView {
TextSetting {
id: yAxisStep
height: 30
label: "Y Axis Step"
label: qsTr("Y Axis Step")
icon: "icons/settings/yaxisstep.svg"
width: settings.settingWidth
defValue: settings.yaxisstep
@ -199,7 +199,7 @@ ScrollView {
id: lineWidth
height: 30
isDouble: true
label: "Line width"
label: qsTr("Line width")
min: 1
icon: "icons/settings/linewidth.svg"
width: settings.settingWidth
@ -214,7 +214,7 @@ ScrollView {
id: textSize
height: 30
isDouble: true
label: "Text size (px)"
label: qsTr("Text size (px)")
min: 1
icon: "icons/settings/textsize.svg"
width: settings.settingWidth
@ -229,7 +229,7 @@ ScrollView {
id: xAxisLabel
height: 30
width: settings.settingWidth
label: 'X Label'
label: qsTr('X Label')
icon: "icons/settings/xlabel.svg"
model: ListModel {
ListElement { text: "" }
@ -255,7 +255,7 @@ ScrollView {
id: yAxisLabel
height: 30
width: settings.settingWidth
label: 'Y Label'
label: qsTr('Y Label')
icon: "icons/settings/ylabel.svg"
model: ListModel {
ListElement { text: "" }
@ -283,7 +283,7 @@ ScrollView {
CheckBox {
id: logScaleX
checked: settings.logscalex
text: 'X Log scale'
text: qsTr('X Log scale')
onClicked: {
settings.logscalex = checked
settings.changed()
@ -293,7 +293,7 @@ ScrollView {
CheckBox {
id: showXGrad
checked: settings.showxgrad
text: 'Show X graduation'
text: qsTr('Show X graduation')
onClicked: {
settings.showxgrad = checked
settings.changed()
@ -303,7 +303,7 @@ ScrollView {
CheckBox {
id: showYGrad
checked: settings.showygrad
text: 'Show Y graduation'
text: qsTr('Show Y graduation')
onClicked: {
settings.showygrad = checked
settings.changed()
@ -314,7 +314,7 @@ ScrollView {
id: copyToClipboard
height: 30
width: settings.settingWidth
text: "Copy to clipboard"
text: qsTr("Copy to clipboard")
icon.name: 'editcopy'
onClicked: root.copyDiagramToClipboard()
}
@ -323,7 +323,7 @@ ScrollView {
id: saveDiagram
height: 30
width: settings.settingWidth
text: "Save plot"
text: qsTr("Save plot")
icon.name: 'document-save'
onClicked: save()
}
@ -332,7 +332,7 @@ ScrollView {
id: saveDiagramAs
height: 30
width: settings.settingWidth
text: "Save plot as"
text: qsTr("Save plot as")
icon.name: 'document-save-as'
onClicked: saveAs()
}
@ -341,7 +341,7 @@ ScrollView {
id: loadDiagram
height: 30
width: settings.settingWidth
text: "Load plot"
text: qsTr("Load plot")
icon.name: 'document-open'
onClicked: load()
}

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -74,7 +74,7 @@ class CreateNewObject extends Action {
}
getReadableString() {
return `New ${this.targetType} ${this.targetName} created.`
return qsTr("New %1 %2 created.").arg(this.targetType).arg(this.targetName)
}
}
@ -91,7 +91,7 @@ class DeleteObject extends CreateNewObject {
}
getReadableString() {
return `${this.targetType} ${this.targetName} deleted.`
return qsTr("%1 %2 deleted.").arg(this.targetType).arg(this.targetName)
}
}
@ -130,7 +130,7 @@ class EditedProperty extends Action {
getReadableString() {
var prev = this.previousValue == null ? ""+this.previousValue : this.previousValue.toString()
var next = this.newValue == null ? ""+this.newValue : this.newValue.toString()
return `${this.targetPropertyReadable} of ${this.targetType} ${this.targetName} changed from "${prev}" to "${next}".`
return qsTr('%1 of %2 %3 changed from "%4" to "%5".').arg(this.targetPropertyReadable).arg(this.targetType).arg(this.targetName).arg(prev).arg(next)
}
}
@ -144,9 +144,9 @@ class EditedVisibility extends EditedProperty {
getReadableString() {
if(this.newValue) {
return `${this.targetType} ${this.targetName} shown.`
return qsTr('%1 %2 shown.').arg(this.targetType).arg(this.targetName)
} else {
return `${this.targetType} ${this.targetName} hidden.`
return qsTr('%1 %2 hidden.').arg(this.targetType).arg(this.targetName)
}
}
}

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -26,8 +26,8 @@
class Function extends Common.ExecutableObject {
static type(){return 'Function'}
static displayType(){return 'Function'}
static displayTypeMultiple(){return 'Functions'}
static displayType(){return qsTr('Function')}
static displayTypeMultiple(){return qsTr('Functions')}
static properties() {return {
'expression': 'Expression',
'definitionDomain': 'Domain',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -28,8 +28,8 @@
class GainBode extends Common.ExecutableObject {
static type(){return 'Gain Bode'}
static displayType(){return 'Bode Magnitude'}
static displayTypeMultiple(){return 'Bode Magnitudes'}
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'),
@ -69,7 +69,8 @@ class GainBode extends Common.ExecutableObject {
}
getReadableString() {
return `${this.name}: ${this.pass}-pass; ${this.om_0.name} = ${this.om_0.x}\n ${' '.repeat(this.name.length)}${this.gain.toString(true)} dB/dec`
let pass = this.pass == "low" ? qsTr("low-pass") : qsTr("high-pass");
return `${this.name}: ${pass}; ${this.om_0.name} = ${this.om_0.x}\n ${' '.repeat(this.name.length)}${this.gain.toString(true)} dB/dec`
}
export() {

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -27,8 +27,8 @@
class PhaseBode extends Common.ExecutableObject {
static type(){return 'Phase Bode'}
static displayType(){return 'Bode Phase'}
static displayTypeMultiple(){return 'Bode Phases'}
static displayType(){return qsTr('Bode Phase')}
static displayTypeMultiple(){return qsTr('Bode Phases')}
static properties() {return {
'om_0': new P.ObjectType('Point'),
'phase': 'Expression',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -25,8 +25,8 @@
class Point extends Common.DrawableObject {
static type(){return 'Point'}
static displayType(){return 'Point'}
static displayTypeMultiple(){return 'Points'}
static displayType(){return qsTr('Point')}
static displayTypeMultiple(){return qsTr('Points')}
static properties() {return {
'x': 'Expression',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -23,8 +23,8 @@
class RepartitionFunction extends Common.ExecutableObject {
static type(){return 'Repartition'}
static displayType(){return 'Repartition'}
static displayTypeMultiple(){return 'Repartition functions'}
static displayType(){return qsTr('Repartition')}
static displayTypeMultiple(){return qsTr('Repartition functions')}
static properties() {return {
'beginIncluded': 'boolean',
'drawLineEnds': 'boolean',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -26,8 +26,8 @@
class Sequence extends Common.ExecutableObject {
static type(){return 'Sequence'}
static displayType(){return 'Sequence'}
static displayTypeMultiple(){return 'Sequences'}
static displayType(){return qsTr('Sequence')}
static displayTypeMultiple(){return qsTr('Sequences')}
static properties() {return {
'drawPoints': 'boolean',
'drawDashedLines': 'boolean',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -27,8 +27,8 @@
class SommeGainsBode extends Common.DrawableObject {
static type(){return 'Somme gains Bode'}
static displayType(){return 'Bode Magnitudes Sum'}
static displayTypeMultiple(){return 'Bode Magnitudes Sum'}
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'),

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -26,8 +26,8 @@
class SommePhasesBode extends Common.ExecutableObject {
static type(){return 'Somme phases Bode'}
static displayType(){return 'Bode Phases Sum'}
static displayTypeMultiple(){return 'Bode Phases Sum'}
static displayType(){return qsTr('Bode Phases Sum')}
static displayTypeMultiple(){return qsTr('Bode Phases Sum')}
static createable() {return false}
static properties() {return {
'labelPosition': new P.Enum('above', 'below', 'left', 'right', 'above-left', 'above-right', 'below-left', 'below-right'),

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -25,8 +25,8 @@
class Text extends Common.DrawableObject {
static type(){return 'Text'}
static displayType(){return 'Text'}
static displayTypeMultiple(){return 'Texts'}
static displayType(){return qsTr('Text')}
static displayTypeMultiple(){return qsTr('Texts')}
static properties() {return {
'x': 'Expression',
'y': 'Expression',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -26,8 +26,8 @@
class XCursor extends Common.DrawableObject {
static type(){return 'X Cursor'}
static displayType(){return 'X Cursor'}
static displayTypeMultiple(){return 'X Cursors'}
static displayType(){return qsTr('X Cursor')}
static displayTypeMultiple(){return qsTr('X Cursors')}
static properties() {
return {
'x': 'Expression',

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -18,7 +18,7 @@
.pragma library
import "reference.js" as Reference
.import "reference.js" as Reference
const OPERATION_PRIORITY = {
"+": 10, "-": 10,

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -45,7 +45,7 @@ class InputExpression {
}
raise(message) {
throw new SyntaxError(message + " at " + this.position ".")
throw new SyntaxError(message + " at " + this.position + ".")
}
}

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -18,7 +18,7 @@
.pragma library
import "reference.js" as Reference
.import "reference.js" as Reference
const WHITESPACES = " \t\n\r"
const STRING_LIMITORS = '"\'`';

View file

@ -1,5 +1,5 @@
/**
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify

View file

@ -1,5 +1,5 @@
"""
* LogarithmPlotter - Create graphs with logarithm scales.
* LogarithmPlotter - 2D plotter software to make BODE plots, sequences and repartition functions.
* Copyright (C) 2022 Ad5001
*
* This program is free software: you can redistribute it and/or modify
@ -16,7 +16,7 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
"""
from PySide2.QtCore import Qt, QRunnable, QThreadPool, QThread, QObject, Signal
from PySide2.QtCore import Qt, QRunnable, QThreadPool, QThread, QObject, Signal, QCoreApplication
from urllib.request import urlopen
from urllib.error import HTTPError, URLError
from sys import argv
@ -51,17 +51,16 @@ class UpdateCheckerRunnable(QRunnable):
current_version_tuple = self.current_version.split(".")
is_version_newer = version_tuple > current_version_tuple
if is_version_newer:
msg_text = "An update for LogarithPlotter (v" + version + ") is available."
msg_text = QCoreApplication.translate("update","An update for LogarithPlotter (v{}) is available.").format(version)
update_available = True
else:
show_alert = False
msg_text = "No update available."
msg_text = QCoreApplication.translate("update","No update available.")
except HTTPError as e:
msg_text = "Could not fetch update information: Server error " + str(e.code) + "."
msg_text = QCoreApplication.translate("update","Could not fetch update information: Server error {}.").format(str(e.code))
except URLError as e:
msg_text = "Could not fetch update information: Could not connect to the update server. " + str(e.reason) + "."
print(msg_text)
msg_text = QCoreApplication.translate("update","Could not fetch update information: {}.").format(str(e.reason))
self.callback.got_update_info.emit(show_alert, msg_text,update_available)
def check_for_updates(current_version, window):

View file

@ -2,7 +2,14 @@
rm $(find . -name "*.qmlc")
rm $(find . -name "*.pyc")
python3 -m pip install -U pyinstaller
# Buiilding translations
cd "LogarithmPlotter/i18n/"
bash release.sh
cd ../../
pyinstaller --add-data "LogarithmPlotter/qml:qml" \
--add-data "LogarithmPlotter/i18n:i18n" \
--add-data "LICENSE.md:." \
--add-data "mac/logarithmplotterfile.icns:." \
--add-data "README.md:." \

View file

@ -1,3 +1,9 @@
rem Need pyinstaller >= 4.3, or there is an issue regarding the PATH of the building.
python -m pip install -U pyinstaller>=4.3
pyinstaller --add-data "logplotter.svg;." --add-data "LogarithmPlotter/qml;qml" --noconsole LogarithmPlotter/logarithmplotter.py --icon=win/logarithmplotter.ico -n logarithmplotter
rem Buiilding translations
cd "LogarithmPlotter\i18n"
bash release.sh
cd ..\..
pyinstaller --add-data "logplotter.svg;." --add-data "LogarithmPlotter/qml;qml" --add-data "LogarithmPlotter/i18n;i18n" --noconsole LogarithmPlotter/logarithmplotter.py --icon=win/logarithmplotter.ico -n logarithmplotter

View file

@ -3,4 +3,10 @@
rm $(find . -name "*.qmlc")
rm $(find . -name "*.pyc")
wine python -m pip install -U pyinstaller
wine pyinstaller --add-data "logplotter.svg;." --add-data "LogarithmPlotter/qml;qml" --noconsole LogarithmPlotter/logarithmplotter.py --icon=win/logarithmplotter.ico -n logarithmplotter
# Buiilding translations
cd "LogarithmPlotter/i18n/"
bash release.sh
cd ../../
wine pyinstaller --add-data "logplotter.svg;." --add-data "LogarithmPlotter/qml;qml" --add-data "LogarithmPlotter/i18n;i18n" --noconsole LogarithmPlotter/logarithmplotter.py --icon=win/logarithmplotter.ico -n logarithmplotter

View file

@ -1,5 +1,11 @@
#!/bin/bash
# Buiilding translations
cd "LogarithmPlotter/i18n/"
bash release.sh
cd ../../
# Deb
python3 setup.py --remove-git-version --command-packages=stdeb.command sdist_dsc \
--package logarithmplotter --copyright-file linux/debian/copyright --suite impish --depends3 "$(cat linux/debian/depends)" --section science \
--debian-version "ppa1" bdist_deb

11
run.py
View file

@ -1,5 +1,16 @@
def update_translations():
"""
Updates all binary translations
"""
from os import system, getcwd, chdir, path
pwd = getcwd()
chdir(path.join("LogarithmPlotter", "i18n"))
system("./release.sh")
chdir(pwd)
def run():
update_translations()
from LogarithmPlotter import logarithmplotter
logarithmplotter.run()