mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-25 23:54:22 +01:00
Make English the source language of the interface text
Every tr() source string in the code and the forms is now the English
text, and French is a translation (qet_fr.ts) like the other languages.
Generated, not hand-edited: master ef795a21e5 converted by
qet-en-source (harness 4c4ddc9).
3144 messages get an English source, 665 already had one, 0 left French; 8 shared-wording pairs disambiguated.
C++: 2904 literals in 233 files. Forms: 809 strings in 65 files. All 34 .ts files re-keyed; qet_fr.ts filled.
lupdate check: PASS. What each of 38 languages shows, old vs new: same 118266, English instead of French 38433, comment fallback 51, differences 0.
This commit is contained in:
@@ -60,9 +60,9 @@ AboutQETDialog::~AboutQETDialog()
|
||||
void AboutQETDialog::setAbout()
|
||||
{
|
||||
|
||||
QString str = tr("QElectroTech, une application de réalisation de schémas électriques.", "about tab, description line") +
|
||||
QString str = tr("QElectroTech, an application to design electric diagrams.", "about tab, description line") +
|
||||
"<br><br>© 2006-"+QDate::currentDate().toString("yyyy")+
|
||||
tr(" Les développeurs de QElectroTech", "about tab, developers line") +
|
||||
tr(" The developers of QElectroTech", "about tab, developers line") +
|
||||
"<br><br>"
|
||||
"<a href=\"https://qelectrotech.org/\">https://qelectrotech.org/</a>"
|
||||
"<br><br>" +
|
||||
@@ -85,17 +85,17 @@ void AboutQETDialog::setAbout()
|
||||
*/
|
||||
void AboutQETDialog::setAuthors()
|
||||
{
|
||||
addAuthor(ui->m_author_label, "Benoît Ansieau", "benoit@qelectrotech.org", tr("Idée originale"));
|
||||
addAuthor(ui->m_author_label, "Laurent Trinques", "scorpio@qelectrotech.org", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Joshua Claveau", "Joshua@qelectrotech.org", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Davi Fochi", "davi@fochi.com.br", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Ronny Desmedt", "r.desmedt@live.be", tr("Convertisseur DXF"));
|
||||
addAuthor(ui->m_author_label, "Raul Roda", "raulroda8@gmail.com", tr("Plugin Bornier"));
|
||||
addAuthor(ui->m_author_label, "Abhishek Bansal", "abhishek@qelectrotech.org", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Simon De Backer", "debacker@qelectrotech.org", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "David Varley", "David.Varley@cborn.com", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Damian Caceres", "damiancaceresmoreno@yahoo.es", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Martin Marmsoler", "martin.marmsoler@gmail.com", tr("Développement"));
|
||||
addAuthor(ui->m_author_label, "Benoît Ansieau", "benoit@qelectrotech.org", tr("Original concept"));
|
||||
addAuthor(ui->m_author_label, "Laurent Trinques", "scorpio@qelectrotech.org", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Joshua Claveau", "Joshua@qelectrotech.org", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Davi Fochi", "davi@fochi.com.br", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Ronny Desmedt", "r.desmedt@live.be", tr("DXF converter"));
|
||||
addAuthor(ui->m_author_label, "Raul Roda", "raulroda8@gmail.com", tr("Terminal Block plugin"));
|
||||
addAuthor(ui->m_author_label, "Abhishek Bansal", "abhishek@qelectrotech.org", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Simon De Backer", "debacker@qelectrotech.org", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "David Varley", "David.Varley@cborn.com", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Damian Caceres", "damiancaceresmoreno@yahoo.es", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Martin Marmsoler", "martin.marmsoler@gmail.com", tr("Development"));
|
||||
addAuthor(ui->m_author_label, "Sébastien Deffaux", "s.deffaux@live.fr", tr("Collection"));
|
||||
}
|
||||
|
||||
@@ -104,37 +104,37 @@ void AboutQETDialog::setAuthors()
|
||||
*/
|
||||
void AboutQETDialog::setTranslators()
|
||||
{
|
||||
addAuthor(ui->m_translators_label, "Alfredo Carreto", "electronicos_mx@yahoo.com.mx", tr("Traduction en espagnol"));
|
||||
addAuthor(ui->m_translators_label, "Edgar Robles Najar", "tgo.edrobles@gmail.com", tr("Traduction en espagnol"));
|
||||
addAuthor(ui->m_translators_label, "Yuriy Litkevich", "yuriy@qelectrotech.org", tr("Traduction en russe"));
|
||||
addAuthor(ui->m_translators_label, "Evgeny Kozlov", "Evgeny.Kozlov.mailbox@gmail.com",tr("Traduction en russe"));
|
||||
addAuthor(ui->m_translators_label, "José Carlos Martins", "jose@qelectrotech.org", tr("Traduction en portugais"));
|
||||
addAuthor(ui->m_translators_label, "Pavel Fric", "pavelfric@seznam.cz", tr("Traduction en tchèque"));
|
||||
addAuthor(ui->m_translators_label, "Paweł Śmiech", "pawel32640@gmail.com", tr("Traduction en polonais"));
|
||||
addAuthor(ui->m_translators_label, "Markus Budde & Jonas Stein & Noah Braden", "news@jonasstein.de", tr("Traduction en allemand"));
|
||||
addAuthor(ui->m_translators_label, "Nuri", "nuri@qelectrotech.org", tr("Traduction en allemand"));
|
||||
addAuthor(ui->m_translators_label, "Gabi Mandoc", "gabriel.mandoc@gic.ro", tr("Traduction en roumain"));
|
||||
addAuthor(ui->m_translators_label, "Alessandro Conti & Silvio", "silvio@qelectrotech.org", tr("Traduction en italien"));
|
||||
addAuthor(ui->m_translators_label, "Mohamed Souabni", "souabnimohamed@yahoo.fr", tr("Traduction en arabe"));
|
||||
addAuthor(ui->m_translators_label, "Antun Maraković", "antun.marakovic@lolaribar.hr", tr("Traduction en croate"));
|
||||
addAuthor(ui->m_translators_label, "Eduard Amorós", "amoros@marmenuda.com", tr("Traduction en catalan"));
|
||||
addAuthor(ui->m_translators_label, "Nikos Papadopoylos", "231036448@freemail.gr", tr("Traduction en grec"));
|
||||
addAuthor(ui->m_translators_label, "Yannis Gyftomitros", "yang@hellug.gr", tr("Traduction en grec"));
|
||||
addAuthor(ui->m_translators_label, "Paul Van Deelen", "shooter@home.nl", tr("Traduction en néerlandais"));
|
||||
addAuthor(ui->m_translators_label, "Dik Leenheer", "dleenheer@suzerein.nl", tr("Traduction en néerlandais"));
|
||||
addAuthor(ui->m_translators_label, "Ronny Desmedt", "r.desmedt@live.be", tr("Traduction en flamand"));
|
||||
addAuthor(ui->m_translators_label, "OSS au2mation", "OSSau2mation@OSSau2mation.dk", tr("Traduction en danois"));
|
||||
addAuthor(ui->m_translators_label, "Hilario Silveira & Gleisson J.J.Cardoso", "hilario@soliton.com.br", tr("Traduction en brézilien"));
|
||||
addAuthor(ui->m_translators_label, "Aziz Karabudak", "aziz.karabudak@argevi.com", tr("Traduction en Turc"));
|
||||
addAuthor(ui->m_translators_label, "Emir Izmiroglu", "emirizmiroglu@gmail.com", tr("Traduction en Turc"));
|
||||
addAuthor(ui->m_translators_label, "Gábor Gubányi", "gubanyig@gmail.com", tr("Traduction en hongrois"));
|
||||
addAuthor(ui->m_translators_label, "", "", tr("Traduction en serbe"));
|
||||
addAuthor(ui->m_translators_label, "Yaroslav", "", tr("Traduction en ukrainien"));
|
||||
addAuthor(ui->m_translators_label, "JoelAs", "", tr("Traduction en norvégien"));
|
||||
addAuthor(ui->m_translators_label, "Yuki", "yuki.atoh@gmail.com", tr("Traduction en japonais"));
|
||||
addAuthor(ui->m_translators_label, "Jung Kwang-Ho", "jkh2rokmc@daum.net", tr("Traduction en coréen"));
|
||||
addAuthor(ui->m_translators_label, "Nathalie", "nathalie.roussier@giz.de", tr("Traduction en mongol"));
|
||||
addAuthor(ui->m_translators_label, "Uroš Platiše", "uros.platise@energycon.eu", tr("Traduction en slovène"));
|
||||
addAuthor(ui->m_translators_label, "Alfredo Carreto", "electronicos_mx@yahoo.com.mx", tr("Spanish translation"));
|
||||
addAuthor(ui->m_translators_label, "Edgar Robles Najar", "tgo.edrobles@gmail.com", tr("Spanish translation"));
|
||||
addAuthor(ui->m_translators_label, "Yuriy Litkevich", "yuriy@qelectrotech.org", tr("Russian translation"));
|
||||
addAuthor(ui->m_translators_label, "Evgeny Kozlov", "Evgeny.Kozlov.mailbox@gmail.com",tr("Russian translation"));
|
||||
addAuthor(ui->m_translators_label, "José Carlos Martins", "jose@qelectrotech.org", tr("Portuguese translation"));
|
||||
addAuthor(ui->m_translators_label, "Pavel Fric", "pavelfric@seznam.cz", tr("Czech translation"));
|
||||
addAuthor(ui->m_translators_label, "Paweł Śmiech", "pawel32640@gmail.com", tr("Polish translation"));
|
||||
addAuthor(ui->m_translators_label, "Markus Budde & Jonas Stein & Noah Braden", "news@jonasstein.de", tr("German translation"));
|
||||
addAuthor(ui->m_translators_label, "Nuri", "nuri@qelectrotech.org", tr("German translation"));
|
||||
addAuthor(ui->m_translators_label, "Gabi Mandoc", "gabriel.mandoc@gic.ro", tr("Romanian translation"));
|
||||
addAuthor(ui->m_translators_label, "Alessandro Conti & Silvio", "silvio@qelectrotech.org", tr("Italian translation"));
|
||||
addAuthor(ui->m_translators_label, "Mohamed Souabni", "souabnimohamed@yahoo.fr", tr("Arabic translation"));
|
||||
addAuthor(ui->m_translators_label, "Antun Maraković", "antun.marakovic@lolaribar.hr", tr("Croatian translation"));
|
||||
addAuthor(ui->m_translators_label, "Eduard Amorós", "amoros@marmenuda.com", tr("Catalan translation"));
|
||||
addAuthor(ui->m_translators_label, "Nikos Papadopoylos", "231036448@freemail.gr", tr("Greek translation"));
|
||||
addAuthor(ui->m_translators_label, "Yannis Gyftomitros", "yang@hellug.gr", tr("Greek translation"));
|
||||
addAuthor(ui->m_translators_label, "Paul Van Deelen", "shooter@home.nl", tr("Dutch translation"));
|
||||
addAuthor(ui->m_translators_label, "Dik Leenheer", "dleenheer@suzerein.nl", tr("Dutch translation"));
|
||||
addAuthor(ui->m_translators_label, "Ronny Desmedt", "r.desmedt@live.be", tr("Flemish translation"));
|
||||
addAuthor(ui->m_translators_label, "OSS au2mation", "OSSau2mation@OSSau2mation.dk", tr("Danish translation"));
|
||||
addAuthor(ui->m_translators_label, "Hilario Silveira & Gleisson J.J.Cardoso", "hilario@soliton.com.br", tr("Brazilian translation"));
|
||||
addAuthor(ui->m_translators_label, "Aziz Karabudak", "aziz.karabudak@argevi.com", tr("Turkish translation"));
|
||||
addAuthor(ui->m_translators_label, "Emir Izmiroglu", "emirizmiroglu@gmail.com", tr("Turkish translation"));
|
||||
addAuthor(ui->m_translators_label, "Gábor Gubányi", "gubanyig@gmail.com", tr("Hungarian translation"));
|
||||
addAuthor(ui->m_translators_label, "", "", tr("Serbian Translation"));
|
||||
addAuthor(ui->m_translators_label, "Yaroslav", "", tr("Ukrainian translation"));
|
||||
addAuthor(ui->m_translators_label, "JoelAs", "", tr("Norwegian Translation"));
|
||||
addAuthor(ui->m_translators_label, "Yuki", "yuki.atoh@gmail.com", tr("Japanese translation"));
|
||||
addAuthor(ui->m_translators_label, "Jung Kwang-Ho", "jkh2rokmc@daum.net", tr("Translation into Korean"));
|
||||
addAuthor(ui->m_translators_label, "Nathalie", "nathalie.roussier@giz.de", tr("Mongolian Translation"));
|
||||
addAuthor(ui->m_translators_label, "Uroš Platiše", "uros.platise@energycon.eu", tr("Slovenian translation"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -142,24 +142,24 @@ void AboutQETDialog::setTranslators()
|
||||
*/
|
||||
void AboutQETDialog::setContributors()
|
||||
{
|
||||
addAuthor(ui->m_contrib_label, "Remi Collet", "remi@fedoraproject.org", tr("Paquets Fedora et Red Hat"));
|
||||
addAuthor(ui->m_contrib_label, "David Geiger", "david.david@mageialinux-online.org", tr("Paquets Mageia"));
|
||||
addAuthor(ui->m_contrib_label, "Laurent Trinques", "scorpio@qelectrotech.org", tr("Paquets Debian"));
|
||||
addAuthor(ui->m_contrib_label, "Denis Briand", "debian@denis-briand.fr", tr("Paquets Debian"));
|
||||
addAuthor(ui->m_contrib_label, "W. Martin Borgert", "debacle@debian.org", tr("Paquets Debian"));
|
||||
addAuthor(ui->m_contrib_label, "Markos Chandras", "hwoarang@gentoo.org.", tr("Paquets Gentoo"));
|
||||
addAuthor(ui->m_contrib_label, "Mbit", "", tr("Paquets Gentoo"));
|
||||
addAuthor(ui->m_contrib_label, "Elbert", "", tr("Paquets OS/2"));
|
||||
addAuthor(ui->m_contrib_label, "zloidemon", "", tr("Paquets FreeBSD"));
|
||||
addAuthor(ui->m_contrib_label, "Yoann Varenne", "yoann@tuxfamily.org", tr("Paquets MAC OS X"));
|
||||
addAuthor(ui->m_contrib_label, "Chipsterjulien", "", tr("Paquets Archlinux AUR"));
|
||||
addAuthor(ui->m_contrib_label, "Nuno Pinheiro", "nuno@nuno-icons.com", tr("Icônes"));
|
||||
addAuthor(ui->m_contrib_label, "Cyril Frausti", "cyril@qelectrotech.org", tr("Développement"));
|
||||
addAuthor(ui->m_contrib_label, "Remi Collet", "remi@fedoraproject.org", tr("Fedora and Red Hat packages"));
|
||||
addAuthor(ui->m_contrib_label, "David Geiger", "david.david@mageialinux-online.org", tr("Mageia packages"));
|
||||
addAuthor(ui->m_contrib_label, "Laurent Trinques", "scorpio@qelectrotech.org", tr("Debian packages"));
|
||||
addAuthor(ui->m_contrib_label, "Denis Briand", "debian@denis-briand.fr", tr("Debian packages"));
|
||||
addAuthor(ui->m_contrib_label, "W. Martin Borgert", "debacle@debian.org", tr("Debian packages"));
|
||||
addAuthor(ui->m_contrib_label, "Markos Chandras", "hwoarang@gentoo.org.", tr("Gentoo packages"));
|
||||
addAuthor(ui->m_contrib_label, "Mbit", "", tr("Gentoo packages"));
|
||||
addAuthor(ui->m_contrib_label, "Elbert", "", tr("OS/2 packages"));
|
||||
addAuthor(ui->m_contrib_label, "zloidemon", "", tr("FreeBSD packages"));
|
||||
addAuthor(ui->m_contrib_label, "Yoann Varenne", "yoann@tuxfamily.org", tr("MAC OS X packages"));
|
||||
addAuthor(ui->m_contrib_label, "Chipsterjulien", "", tr("Archlinux AUR packages"));
|
||||
addAuthor(ui->m_contrib_label, "Nuno Pinheiro", "nuno@nuno-icons.com", tr("Icons"));
|
||||
addAuthor(ui->m_contrib_label, "Cyril Frausti", "cyril@qelectrotech.org", tr("Development"));
|
||||
addAuthor(ui->m_contrib_label, "Fernando Mateu Palou de Comasema", "fdomateu@gmail.com", tr("Documentation"));
|
||||
addAuthor(ui->m_contrib_label, "Arun Kishore Eswara", "eswara.arun@gmail.com", tr("Documentation"));
|
||||
addAuthor(ui->m_contrib_label, "René Negre", "runsys@qelectrotech.org", tr("Développement"));
|
||||
addAuthor(ui->m_contrib_label, "Nuri", "nuri@qelectrotech.org", tr("Collection d'éléments"));
|
||||
addAuthor(ui->m_contrib_label, "Maximilian Federle", "", tr("Paquets Snap"));
|
||||
addAuthor(ui->m_contrib_label, "René Negre", "runsys@qelectrotech.org", tr("Development"));
|
||||
addAuthor(ui->m_contrib_label, "Nuri", "nuri@qelectrotech.org", tr("Collection of elements"));
|
||||
addAuthor(ui->m_contrib_label, "Maximilian Federle", "", tr("Snap package"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -175,13 +175,13 @@ void AboutQETDialog::setVersion()
|
||||
|
||||
void AboutQETDialog::setAnnexProject()
|
||||
{
|
||||
addLibrary(ui->m_annex_project_label, tr("Redimensionneur d'éléments", "Element scaler"),
|
||||
addLibrary(ui->m_annex_project_label, tr("Elements resizer", "Element scaler"),
|
||||
"https://github.com/plc-user/QET_ElementScaler");
|
||||
addLibrary(ui->m_annex_project_label, tr("Générateur d'élément lambda", "Lambda element generator"),
|
||||
addLibrary(ui->m_annex_project_label, tr("Lambda element generator", "Lambda element generator"),
|
||||
"https://github.com/asnigma/qet_gen_element");
|
||||
addLibrary(ui->m_annex_project_label, tr("Convertisseur d'élément DXF", "Dxf2elmt"),
|
||||
addLibrary(ui->m_annex_project_label, tr("DXF Element Converter", "Dxf2elmt"),
|
||||
"https://github.com/Vadoola/dxf2elmt");
|
||||
addLibrary(ui->m_annex_project_label, tr("Outil de traduction d'éléments", "Qet_translate"),
|
||||
addLibrary(ui->m_annex_project_label, tr("Elements translation tool", "Qet_translate"),
|
||||
"https://qelectrotech.org/forum/viewtopic.php?pid=16027#p16027");
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>À propos de QElectrotech</string>
|
||||
<string>About QElectroTech</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@@ -27,7 +27,7 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>À propos</string>
|
||||
<string>About</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
@@ -50,7 +50,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Auteurs</string>
|
||||
<string>Authors</string>
|
||||
</attribute>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<property name="spacing">
|
||||
@@ -130,7 +130,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Traducteurs</string>
|
||||
<string>Translators</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<property name="spacing">
|
||||
@@ -213,7 +213,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_4">
|
||||
<attribute name="title">
|
||||
<string>Contributeurs</string>
|
||||
<string>Contributors</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<property name="spacing">
|
||||
@@ -345,7 +345,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="m_annex_project_tab">
|
||||
<attribute name="title">
|
||||
<string>Projet annexe</string>
|
||||
<string>Side project</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||
<property name="spacing">
|
||||
@@ -425,7 +425,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_7">
|
||||
<attribute name="title">
|
||||
<string>Bibliothèques</string>
|
||||
<string>Libraries</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<property name="spacing">
|
||||
@@ -529,7 +529,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_8">
|
||||
<attribute name="title">
|
||||
<string>log</string>
|
||||
<string>Log</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
|
||||
@@ -44,7 +44,7 @@ const char *const GUIDE_URL =
|
||||
AiAssistantDialog::AiAssistantDialog(QWidget *parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
setWindowTitle(tr("Connecter un assistant IA"));
|
||||
setWindowTitle(tr("Connect an AI assistant"));
|
||||
resize(720, 560);
|
||||
|
||||
#ifdef Q_OS_WIN
|
||||
@@ -59,11 +59,10 @@ AiAssistantDialog::AiAssistantDialog(QWidget *parent) :
|
||||
auto *layout = new QVBoxLayout(this);
|
||||
|
||||
auto *intro = new QLabel(
|
||||
tr("Un assistant IA (Claude, GitHub Copilot, Gemini…) peut ouvrir, "
|
||||
"vérifier et modifier vos schémas grâce au serveur MCP de "
|
||||
"QElectroTech, qui fonctionne sur cet ordinateur. Copiez le texte "
|
||||
"ci-dessous dans la configuration de votre assistant. "
|
||||
"<a href=\"%1\">Guide détaillé</a>").arg(QLatin1String(GUIDE_URL)),
|
||||
tr("An AI assistant (Claude, GitHub Copilot, Gemini…) can open, check "
|
||||
"and edit your diagrams through QElectroTech's MCP server, which "
|
||||
"runs on this computer. Copy the text below into your assistant's "
|
||||
"configuration. <a href=\"%1\">Detailed guide</a>").arg(QLatin1String(GUIDE_URL)),
|
||||
this);
|
||||
intro->setWordWrap(true);
|
||||
intro->setOpenExternalLinks(true);
|
||||
@@ -71,8 +70,8 @@ AiAssistantDialog::AiAssistantDialog(QWidget *parent) :
|
||||
|
||||
if (m_paths.server.isEmpty()) {
|
||||
auto *missing = new QLabel(
|
||||
tr("<b>Le serveur MCP n'est pas installé avec cette version de "
|
||||
"QElectroTech.</b> Le guide explique comment l'obtenir."),
|
||||
tr("<b>The MCP server is not installed with this version of "
|
||||
"QElectroTech.</b> The guide explains how to get it."),
|
||||
this);
|
||||
missing->setWordWrap(true);
|
||||
layout->addWidget(missing);
|
||||
@@ -82,19 +81,19 @@ AiAssistantDialog::AiAssistantDialog(QWidget *parent) :
|
||||
&& m_paths.python_status != AiAssistantSetup::PythonStatus::Found) {
|
||||
QString text;
|
||||
if (m_paths.python_status == AiAssistantSetup::PythonStatus::StoreShortcut)
|
||||
text = tr("<b>Python n'est peut-être pas installé.</b> Seul le raccourci "
|
||||
"« python » du Microsoft Store a été trouvé : sans Python, il "
|
||||
"ouvre le Store au lieu de lancer le serveur.");
|
||||
text = tr("<b>Python may not be installed.</b> Only the Microsoft Store "
|
||||
"“python” shortcut was found: without Python, it opens the "
|
||||
"Store instead of starting the server.");
|
||||
else
|
||||
text = tr("<b>Python est introuvable sur cet ordinateur</b> (commande "
|
||||
"« %1 »). Le serveur en a besoin.").arg(m_paths.python);
|
||||
text = tr("<b>Python was not found on this computer</b> (command "
|
||||
"“%1”). The server needs it.").arg(m_paths.python);
|
||||
if (windows)
|
||||
text += QLatin1Char(' ') + tr("Relancez l'installateur de QElectroTech et "
|
||||
"cochez « Python pour l'assistant IA », ou "
|
||||
"installez Python depuis python.org.");
|
||||
text += QLatin1Char(' ') + tr("Run the QElectroTech installer again and "
|
||||
"tick “Python for the AI assistant”, or "
|
||||
"install Python from python.org.");
|
||||
else
|
||||
text += QLatin1Char(' ') + tr("Installez Python 3 avec le gestionnaire "
|
||||
"de paquets de votre système.");
|
||||
text += QLatin1Char(' ') + tr("Install Python 3 with your system's "
|
||||
"package manager.");
|
||||
auto *python = new QLabel(text, this);
|
||||
python->setWordWrap(true);
|
||||
layout->addWidget(python);
|
||||
@@ -109,27 +108,26 @@ AiAssistantDialog::AiAssistantDialog(QWidget *parent) :
|
||||
m_client->addItem(QStringLiteral("Gemini CLI"), int(Client::GeminiCli));
|
||||
m_client->addItem(QStringLiteral("Codex CLI"), int(Client::CodexCli));
|
||||
m_client->addItem(QStringLiteral("LM Studio"), int(Client::LmStudio));
|
||||
form->addRow(tr("Assistant :"), m_client);
|
||||
form->addRow(tr("Assistant:"), m_client);
|
||||
|
||||
auto *workspace_row = new QHBoxLayout();
|
||||
m_workspace = new QLineEdit(this);
|
||||
m_workspace->setPlaceholderText(tr("Le dossier de vos schémas"));
|
||||
auto *browse = new QPushButton(tr("Parcourir…"), this);
|
||||
m_workspace->setPlaceholderText(tr("Your diagrams folder"));
|
||||
auto *browse = new QPushButton(tr("Browse…"), this);
|
||||
workspace_row->addWidget(m_workspace);
|
||||
workspace_row->addWidget(browse);
|
||||
form->addRow(tr("Dossier accessible :"), workspace_row);
|
||||
form->addRow(tr("Folder it can use:"), workspace_row);
|
||||
|
||||
m_allow_edit = new QCheckBox(tr("Autoriser l'assistant à modifier les schémas"), this);
|
||||
m_allow_edit = new QCheckBox(tr("Allow the assistant to edit diagrams"), this);
|
||||
form->addRow(QString(), m_allow_edit);
|
||||
layout->addLayout(form);
|
||||
|
||||
auto *scope = new QLabel(
|
||||
tr("L'assistant ne peut lire et écrire que dans ce dossier. Sans "
|
||||
"modification autorisée, il peut seulement lire, comparer et "
|
||||
"exporter. Un assistant lit le texte des projets (repères, "
|
||||
"notes…) : un texte écrit comme une instruction peut "
|
||||
"l'influencer. Laissez les modifications désactivées pour les "
|
||||
"schémas reçus d'autres personnes."),
|
||||
tr("The assistant can only read and write in this folder. Without "
|
||||
"editing allowed, it can only read, compare and export. An "
|
||||
"assistant reads the text in projects (labels, notes…): text "
|
||||
"written as an instruction can influence it. Leave editing off "
|
||||
"for diagrams you received from other people."),
|
||||
this);
|
||||
scope->setWordWrap(true);
|
||||
layout->addWidget(scope);
|
||||
@@ -146,7 +144,7 @@ AiAssistantDialog::AiAssistantDialog(QWidget *parent) :
|
||||
layout->addWidget(m_text);
|
||||
|
||||
auto *buttons = new QDialogButtonBox(QDialogButtonBox::Close, this);
|
||||
m_copy = buttons->addButton(tr("Copier"), QDialogButtonBox::ActionRole);
|
||||
m_copy = buttons->addButton(tr("Copy"), QDialogButtonBox::ActionRole);
|
||||
layout->addWidget(buttons);
|
||||
|
||||
connect(m_client, QOverload<int>::of(&QComboBox::currentIndexChanged),
|
||||
@@ -166,8 +164,8 @@ void AiAssistantDialog::refresh()
|
||||
{
|
||||
const auto client = Client(m_client->currentData().toInt());
|
||||
m_where->setText(whereItGoes(client) + QLatin1Char(' ')
|
||||
+ tr("Si le fichier contient déjà d'autres serveurs, "
|
||||
"ajoutez seulement l'entrée « qet »."));
|
||||
+ tr("If the file already lists other servers, add "
|
||||
"only the “qet” entry."));
|
||||
|
||||
const QString workspace = m_workspace->text().trimmed();
|
||||
const bool ready = !m_paths.server.isEmpty() && !workspace.isEmpty();
|
||||
@@ -175,7 +173,7 @@ void AiAssistantDialog::refresh()
|
||||
if (m_paths.server.isEmpty())
|
||||
m_text->setPlainText(QString());
|
||||
else if (workspace.isEmpty())
|
||||
m_text->setPlainText(tr("Choisissez d'abord le dossier de vos schémas."));
|
||||
m_text->setPlainText(tr("Choose your diagrams folder first."));
|
||||
else
|
||||
m_text->setPlainText(AiAssistantSetup::configuration(
|
||||
client, m_paths, workspace, m_allow_edit->isChecked()));
|
||||
@@ -184,7 +182,7 @@ void AiAssistantDialog::refresh()
|
||||
void AiAssistantDialog::chooseWorkspace()
|
||||
{
|
||||
const QString dir = QFileDialog::getExistingDirectory(
|
||||
this, tr("Dossier accessible à l'assistant"), m_workspace->text());
|
||||
this, tr("Folder the assistant can use"), m_workspace->text());
|
||||
if (!dir.isEmpty())
|
||||
m_workspace->setText(QDir::toNativeSeparators(dir));
|
||||
}
|
||||
@@ -192,32 +190,29 @@ void AiAssistantDialog::chooseWorkspace()
|
||||
void AiAssistantDialog::copy()
|
||||
{
|
||||
QApplication::clipboard()->setText(m_text->toPlainText());
|
||||
m_copy->setText(tr("Copié"));
|
||||
m_copy->setText(tr("Copied"));
|
||||
}
|
||||
|
||||
QString AiAssistantDialog::whereItGoes(Client client) const
|
||||
{
|
||||
switch (client) {
|
||||
case Client::ClaudeDesktop:
|
||||
return tr("Dans Claude Desktop : Paramètres → Développeur → "
|
||||
"Modifier la configuration. Puis quittez et relancez Claude.");
|
||||
return tr("In Claude Desktop: Settings → Developer → Edit Config. Then "
|
||||
"quit and restart Claude.");
|
||||
case Client::ClaudeCode:
|
||||
return tr("Enregistrez-le sous le nom .mcp.json dans le dossier de vos schémas.");
|
||||
return tr("Save it as .mcp.json in your diagrams folder.");
|
||||
case Client::VsCode:
|
||||
return tr("Enregistrez-le sous le nom .vscode/mcp.json dans le dossier "
|
||||
"ouvert dans VS Code. Copilot utilise les outils en mode agent.");
|
||||
return tr("Save it as .vscode/mcp.json in the folder open in VS Code. "
|
||||
"Copilot uses the tools in agent mode.");
|
||||
case Client::Cursor:
|
||||
return tr("Ajoutez-le au fichier .cursor/mcp.json de votre dossier "
|
||||
"personnel.");
|
||||
return tr("Add it to the .cursor/mcp.json file in your home folder.");
|
||||
case Client::GeminiCli:
|
||||
return tr("Ajoutez-le au fichier .gemini/settings.json de votre dossier "
|
||||
"personnel. Gemini CLI demande de faire confiance au dossier "
|
||||
"la première fois.");
|
||||
return tr("Add it to the .gemini/settings.json file in your home folder. "
|
||||
"Gemini CLI asks you to trust the folder the first time.");
|
||||
case Client::CodexCli:
|
||||
return tr("Ajoutez-le au fichier .codex/config.toml de votre dossier "
|
||||
"personnel.");
|
||||
return tr("Add it to the .codex/config.toml file in your home folder.");
|
||||
case Client::LmStudio:
|
||||
return tr("Dans LM Studio : onglet Program → Install → Edit mcp.json.");
|
||||
return tr("In LM Studio: Program tab → Install → Edit mcp.json.");
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Alignement du texte</string>
|
||||
<string>text alignment</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
|
||||
@@ -30,13 +30,13 @@
|
||||
BackupDialog::BackupDialog(QWidget *parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
setWindowTitle(tr("Créer une copie de sauvegarde ?", "window title"));
|
||||
setWindowTitle(tr("Create a backup copy?", "window title"));
|
||||
setFixedSize(450, 100);
|
||||
|
||||
auto main_layout = new QVBoxLayout(this);
|
||||
|
||||
auto label = new QLabel(
|
||||
tr("Souhaitez-vous créer une copie de sauvegarde ?",
|
||||
tr("Would you like to create a backup copy?",
|
||||
"dialog message"));
|
||||
label->setWordWrap(true);
|
||||
main_layout->addWidget(label);
|
||||
@@ -46,8 +46,8 @@ BackupDialog::BackupDialog(QWidget *parent) :
|
||||
auto button_layout = new QHBoxLayout();
|
||||
button_layout->addStretch();
|
||||
|
||||
auto yes_button = new QPushButton(tr("Oui", "yes button"));
|
||||
auto no_button = new QPushButton(tr("Non", "no button"));
|
||||
auto yes_button = new QPushButton(tr("Yes", "yes button"));
|
||||
auto no_button = new QPushButton(tr("No", "no button"));
|
||||
|
||||
button_layout->addWidget(yes_button);
|
||||
button_layout->addWidget(no_button);
|
||||
|
||||
@@ -45,15 +45,14 @@ BackupRestoreDialog::BackupRestoreDialog(
|
||||
QDialog(parent),
|
||||
m_groups(groups)
|
||||
{
|
||||
setWindowTitle(tr("Fichiers de restauration", "window title"));
|
||||
setWindowTitle(tr("Recovery files", "window title"));
|
||||
|
||||
auto main_layout = new QVBoxLayout(this);
|
||||
|
||||
auto intro = new QLabel(
|
||||
tr("<b>Des fichiers de restauration ont été trouvés,<br>"
|
||||
"voulez-vous les ouvrir ?</b><br>"
|
||||
"Pour un projet ayant plusieurs versions de restauration, "
|
||||
"la plus récente est sélectionnée par défaut.",
|
||||
tr("<b>Recovery files were found,<br>do you want to open "
|
||||
"them?</b><br>For a project with several recovery "
|
||||
"versions, the newest is selected by default.",
|
||||
"dialog message"));
|
||||
intro->setWordWrap(true);
|
||||
main_layout->addWidget(intro);
|
||||
@@ -81,7 +80,7 @@ BackupRestoreDialog::BackupRestoreDialog(
|
||||
QString label = QLocale::system().toString(
|
||||
modified, QLocale::ShortFormat);
|
||||
if (i == 0) {
|
||||
label = tr("%1 (la plus récente)", "recovery generation label")
|
||||
label = tr("%1 (newest)", "recovery generation label")
|
||||
.arg(label);
|
||||
}
|
||||
combo->addItem(label);
|
||||
|
||||
@@ -75,16 +75,16 @@ int BOMExportDialog::exec()
|
||||
//save in csv file in same directory as project by default
|
||||
QString dir = m_project->currentDir();
|
||||
if (dir.isEmpty()) dir = QETApp::documentDir();
|
||||
QString file_name = dir % "/" % tr("nomenclature_") % QString(m_project ->title() % ".csv");
|
||||
QString file_path = QFileDialog::getSaveFileName(this, tr("Enregister sous... "), file_name, tr("Fichiers csv (*.csv)"));
|
||||
QString file_name = dir % "/" % tr("parts list_") % QString(m_project ->title() % ".csv");
|
||||
QString file_path = QFileDialog::getSaveFileName(this, tr("Save As... "), file_name, tr("Files csv (*.csv)"));
|
||||
if (!file_path.isEmpty())
|
||||
{
|
||||
QString error;
|
||||
const auto csv = getBom(&error);
|
||||
if (!error.isEmpty() || !BomExport::writeCsv(file_path, csv, &error)) {
|
||||
QMessageBox::critical(
|
||||
this, tr("Erreur"),
|
||||
tr("Impossible d'enregistrer la nomenclature dans %1.\n%2")
|
||||
this, tr("Error"),
|
||||
tr("Unable to save the parts list to %1.\n%2")
|
||||
.arg(file_path, error));
|
||||
}
|
||||
}
|
||||
@@ -126,9 +126,9 @@ QByteArray BOMExportDialog::getBom(QString *error)
|
||||
if (field_name == QLatin1String("position")) {
|
||||
header_names << tr("Position");
|
||||
} else if (field_name == QLatin1String("diagram_position")) {
|
||||
header_names << tr("Position du folio");
|
||||
header_names << tr("Sheet position");
|
||||
} else if (field_name == QLatin1String("designation_qty")) {
|
||||
header_names << tr("Quantité numéro d'article", "Special field with name : designation quantity");
|
||||
header_names << tr("Designation quantity", "Special field with name : designation quantity");
|
||||
} else {
|
||||
const auto translated = QETInformation::translatedInfoKey(field_name);
|
||||
header_names << (translated.isEmpty() ? field_name : translated);
|
||||
@@ -170,14 +170,14 @@ void BOMExportDialog::on_m_preview_pb_clicked()
|
||||
auto query_ = m_project->dataBase()->newQuery(m_query_widget->queryStr(), &rejection);
|
||||
|
||||
if (!rejection.isEmpty()) {
|
||||
QMessageBox::warning(this, tr("Requête refusée"), rejection);
|
||||
QMessageBox::warning(this, tr("Request refused"), rejection);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!query_.exec()) {
|
||||
QMessageBox::warning(
|
||||
this, tr("Erreur"),
|
||||
tr("Erreur dans la requête :\n%1").arg(query_.lastError().text()));
|
||||
this, tr("Error"),
|
||||
tr("Error in the request:\n%1").arg(query_.lastError().text()));
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Mise en page</string>
|
||||
<string>Page layout</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_include_headers">
|
||||
<property name="text">
|
||||
<string>inclure les en-têtes</string>
|
||||
<string>include headers</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
@@ -33,7 +33,7 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_format_as_bom">
|
||||
<property name="text">
|
||||
<string>Formater en tant que liste de materiel</string>
|
||||
<string>Format as a part list</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
@@ -43,10 +43,10 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_no_junctions">
|
||||
<property name="toolTip">
|
||||
<string>Bornes sans repère, désignation, fabricant ni référence fabricant</string>
|
||||
<string>Terminals with no label, designation, manufacturer or manufacturer reference</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Laisser de côté les jonctions</string>
|
||||
<string>Leave out junctions</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
@@ -74,7 +74,7 @@
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_preview_pb">
|
||||
<property name="text">
|
||||
<string>Aperçu</string>
|
||||
<string>Preview</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -113,10 +113,10 @@ BorderPropertiesWidget::BorderPropertiesWidget(const BorderProperties &bp, QWidg
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
ui->m_paper_cb->addItem(tr("Personnalisé"));
|
||||
ui->m_paper_cb->addItem(tr("Custom"));
|
||||
for (const PaperSize &paper : paper_sizes)
|
||||
ui->m_paper_cb->addItem(QString::fromLatin1(paper.name));
|
||||
ui->m_orientation_cb->addItem(tr("Paysage"));
|
||||
ui->m_orientation_cb->addItem(tr("Landscape"));
|
||||
ui->m_orientation_cb->addItem(tr("Portrait"));
|
||||
|
||||
if (TitleBlockTemplate *tbt = QETApp::defaultTitleBlockTemplate())
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="border_gb">
|
||||
<property name="title">
|
||||
<string>Dimensions du folio</string>
|
||||
<string>Sheet size</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="1" column="2">
|
||||
<widget class="QSpinBox" name="m_rows_height_sp">
|
||||
<property name="suffix">
|
||||
<string comment="pixel" extracomment="pixel">px</string>
|
||||
<string comment="pixel" extracomment="pixel">pixel</string>
|
||||
</property>
|
||||
<property name="prefix">
|
||||
<string>x</string>
|
||||
@@ -39,7 +39,7 @@
|
||||
<item row="0" column="2">
|
||||
<widget class="QSpinBox" name="m_columns_width_sp">
|
||||
<property name="suffix">
|
||||
<string comment="pixel" extracomment="pixel">px</string>
|
||||
<string comment="pixel" extracomment="pixel">pixel</string>
|
||||
</property>
|
||||
<property name="prefix">
|
||||
<string>x</string>
|
||||
@@ -52,14 +52,14 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Lignes :</string>
|
||||
<string>Rows:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QCheckBox" name="m_display_rows_cb">
|
||||
<property name="text">
|
||||
<string>Afficher les en-têtes</string>
|
||||
<string>Display headers</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -69,28 +69,28 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Colonnes :</string>
|
||||
<string>Columns:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QCheckBox" name="m_display_columns_cb">
|
||||
<property name="text">
|
||||
<string>Afficher les en-têtes</string>
|
||||
<string>Display headers</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="m_paper_label">
|
||||
<property name="text">
|
||||
<string>Format :</string>
|
||||
<string>Format:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QComboBox" name="m_paper_cb">
|
||||
<property name="toolTip">
|
||||
<string>Règle les colonnes et les lignes pour que le folio, cartouche compris, ait la taille de ce format de papier, à 96 points par pouce comme l'export PDF.</string>
|
||||
<string>Sets the columns and rows so the sheet, title block included, has the size of this paper format, at 96 dots per inch like the PDF export.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -19,7 +19,7 @@ CompositeTextEditDialog::CompositeTextEditDialog(DynamicElementTextItem *text, Q
|
||||
QET::trackDialogGeometry(this);
|
||||
m_default_text = m_text->compositeText();
|
||||
ui->m_plain_text_edit->setPlainText(m_default_text);
|
||||
ui->m_plain_text_edit->setPlaceholderText(tr("Entrée votre texte composé ici, en vous aidant des variables disponible"));
|
||||
ui->m_plain_text_edit->setPlaceholderText(tr("Enter your composite text here, using the available variables"));
|
||||
bool report = false;
|
||||
if ((m_text) &&(m_text->parentElement()->linkType()) & (Element::AllReport))
|
||||
{
|
||||
@@ -36,7 +36,7 @@ CompositeTextEditDialog::CompositeTextEditDialog(QString text, bool report, QWid
|
||||
QET::trackDialogGeometry(this);
|
||||
m_default_text = std::move(text);
|
||||
ui->m_plain_text_edit->setPlainText(m_default_text);
|
||||
ui->m_plain_text_edit->setPlaceholderText(tr("Entrée votre texte composé ici, en vous aidant des variables disponible"));
|
||||
ui->m_plain_text_edit->setPlaceholderText(tr("Enter your composite text here, using the available variables"));
|
||||
setUpComboBox(report);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Texte composé</string>
|
||||
<string>Composite text</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
@@ -20,7 +20,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Ajouter une variable :</string>
|
||||
<string>Add a variable :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -48,15 +48,15 @@ namespace {
|
||||
QList<NamedColor> standardColors()
|
||||
{
|
||||
return {
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Noir"), QColor(0x00, 0x00, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Marron"), QColor(0x7B, 0x3F, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Gris"), QColor(0x80, 0x80, 0x80)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Bleu"), QColor(0x00, 0x00, 0xFF)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Vert"), QColor(0x00, 0x80, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Rouge"), QColor(0xFF, 0x00, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Black"), QColor(0x00, 0x00, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Brown"), QColor(0x7B, 0x3F, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Gray"), QColor(0x80, 0x80, 0x80)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Blue"), QColor(0x00, 0x00, 0xFF)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Green"), QColor(0x00, 0x80, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Red"), QColor(0xFF, 0x00, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Orange"), QColor(0xFF, 0x80, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Violet"), QColor(0x80, 0x00, 0x80)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Blanc"), QColor(0xFF, 0xFF, 0xFF)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "Purple"), QColor(0x80, 0x00, 0x80)},
|
||||
{QT_TRANSLATE_NOOP("ConductorColorToolButton", "White"), QColor(0xFF, 0xFF, 0xFF)},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -73,8 +73,8 @@ ConductorColorToolButton::ConductorColorToolButton(QETDiagramEditor *editor, QWi
|
||||
m_editor(editor)
|
||||
{
|
||||
setPopupMode(QToolButton::InstantPopup);
|
||||
setToolTip(tr("Couleur de conducteur"));
|
||||
setStatusTip(tr("Applique une couleur aux conducteurs sélectionnés, et l'utilise pour les prochains conducteurs tracés",
|
||||
setToolTip(tr("Conductor color"));
|
||||
setStatusTip(tr("Applies a color to the selected conductors, and uses it for the next conductors drawn",
|
||||
"status bar tip"));
|
||||
|
||||
m_current = LastUsedStyle::hasConductorColor() ? LastUsedStyle::conductorColor()
|
||||
@@ -128,7 +128,7 @@ void ConductorColorToolButton::rebuildMenu()
|
||||
if (!m_recent.isEmpty())
|
||||
{
|
||||
m->addSeparator();
|
||||
QAction *title = m->addAction(tr("Récemment utilisées"));
|
||||
QAction *title = m->addAction(tr("Recently used"));
|
||||
title->setEnabled(false);
|
||||
for (const QColor &c : std::as_const(m_recent))
|
||||
{
|
||||
@@ -138,7 +138,7 @@ void ConductorColorToolButton::rebuildMenu()
|
||||
}
|
||||
|
||||
m->addSeparator();
|
||||
QAction *other = m->addAction(tr("Autre couleur…"));
|
||||
QAction *other = m->addAction(tr("Other color…"));
|
||||
connect(other, &QAction::triggered, this, &ConductorColorToolButton::chooseOtherColor);
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ void ConductorColorToolButton::applyColor(const QColor &color)
|
||||
conductors += conductor->relatedPotentialConductors();
|
||||
}
|
||||
|
||||
QUndoCommand *undo = new QUndoCommand(tr("Modifier la couleur de %n conducteur(s)",
|
||||
QUndoCommand *undo = new QUndoCommand(tr("Change the colour of %n conductors",
|
||||
"undo caption", conductors.count()));
|
||||
int changed = 0;
|
||||
for (Conductor *conductor : conductors)
|
||||
@@ -219,7 +219,7 @@ void ConductorColorToolButton::applyColor(const QColor &color)
|
||||
void ConductorColorToolButton::chooseOtherColor()
|
||||
{
|
||||
QColorDialog dialog(m_current, this);
|
||||
dialog.setWindowTitle(tr("Choisir une couleur de conducteur"));
|
||||
dialog.setWindowTitle(tr("Choose a conductor color"));
|
||||
dialog.setOption(QColorDialog::DontUseNativeDialog);
|
||||
ColorDialogDoubleClick::install(&dialog);
|
||||
if (dialog.exec() == QDialog::Accepted && dialog.selectedColor().isValid()) {
|
||||
|
||||
@@ -75,11 +75,11 @@ void ConductorPropertiesDialog::PropertiesDialog(Conductor *conductor,
|
||||
new_value.setValue(cpd.properties());
|
||||
|
||||
QPropertyUndoCommand *undo = new QPropertyUndoCommand(conductor, "properties", old_value, new_value);
|
||||
undo->setText(tr("Modifier les propriétés d'un conducteur", "undo caption"));
|
||||
undo->setText(tr("Edit conductor properties", "undo caption"));
|
||||
|
||||
if (!conductor->relatedPotentialConductors().isEmpty() && cpd.applyAll())
|
||||
{
|
||||
undo->setText(tr("Modifier les propriétés de plusieurs conducteurs", "undo caption"));
|
||||
undo->setText(tr("Edit the properties of several conductors", "undo caption"));
|
||||
|
||||
foreach (Conductor *potential_conductor, conductor->relatedPotentialConductors())
|
||||
{
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Éditer les propriétés d'un conducteur</string>
|
||||
<string>Edit conductor properties</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="main_layout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_apply_all_cb">
|
||||
<property name="text">
|
||||
<string>Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel</string>
|
||||
<string>Apply properties to all conductors of this potential</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
|
||||
@@ -68,7 +68,7 @@ ConductorPropertiesEditorWidget::ConductorPropertiesEditorWidget(
|
||||
// Reuse the modal dialog's exact wording for consistency (and so the
|
||||
// existing translation applies).
|
||||
m_apply_all_cb = new QCheckBox(
|
||||
tr("Appliquer les propriétés à l'ensemble des conducteurs de ce potentiel"),
|
||||
tr("Apply properties to all conductors of this potential"),
|
||||
this);
|
||||
m_apply_all_cb->setChecked(QSettings().value(
|
||||
QStringLiteral("diagrameditor/conductor_apply_all"), true).toBool());
|
||||
@@ -168,7 +168,7 @@ void ConductorPropertiesEditorWidget::setConductors(
|
||||
|
||||
const int count = conductors.size();
|
||||
m_count_label->setText(
|
||||
tr("%n conducteurs sélectionnés : seuls les champs modifiés leur sont appliqués.",
|
||||
tr("%n conductors selected: only the fields you change are applied to them.",
|
||||
"selection properties panel", count));
|
||||
m_count_label->setVisible(count > 1);
|
||||
|
||||
@@ -372,5 +372,5 @@ QUndoCommand *ConductorPropertiesEditorWidget::associatedUndo() const
|
||||
*/
|
||||
QString ConductorPropertiesEditorWidget::title() const
|
||||
{
|
||||
return tr("Conducteur");
|
||||
return tr("Conductor");
|
||||
}
|
||||
|
||||
@@ -219,7 +219,7 @@ void ConductorPropertiesWidget::setMixedTextFields(
|
||||
|
||||
for (const auto &edit : edits)
|
||||
edit.second->setPlaceholderText(mixed.contains(edit.first)
|
||||
? tr("Plusieurs valeurs", "several conductors, different values")
|
||||
? tr("Several values", "several conductors, different values")
|
||||
: QString());
|
||||
}
|
||||
|
||||
@@ -234,9 +234,9 @@ void ConductorPropertiesWidget::setTextLocked(bool locked)
|
||||
m_text_locked = locked;
|
||||
ui->m_text_le->setEnabled(!locked && ui->m_formula_le->text().isEmpty());
|
||||
ui->m_text_le->setToolTip(locked
|
||||
? tr("Plusieurs conducteurs sélectionnés : le texte se modifie "
|
||||
"sur un seul conducteur à la fois.")
|
||||
: tr("Texte"));
|
||||
? tr("Several conductors selected: the text is changed on one "
|
||||
"conductor at a time.")
|
||||
: tr("Text"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -247,10 +247,10 @@ void ConductorPropertiesWidget::setDisabledShowText(const bool &disable) {
|
||||
ui->m_show_text_cb->setDisabled(disable==true? true : false);
|
||||
//Say why the box is locked: the setting that locks it is not in this dialog
|
||||
ui->m_show_text_cb->setToolTip(disable
|
||||
? tr("Texte visible\n"
|
||||
"Verrouillé par l'option « Afficher un texte de potentiel par "
|
||||
"folio » de ce folio, dans Propriétés du folio.")
|
||||
: tr("Texte visible"));
|
||||
? tr("Visible text\n"
|
||||
"Locked by this sheet's “Show one potential text per sheet” "
|
||||
"option, in Sheet properties.")
|
||||
: tr("Visible text"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -285,9 +285,9 @@ void ConductorPropertiesWidget::initWidget()
|
||||
m_horiz_select = QETApp::createTextOrientationSpinBoxWidget();
|
||||
ui -> m_text_angle_gl -> addWidget(m_horiz_select, 2, 1, Qt::AlignHCenter);
|
||||
|
||||
ui -> m_line_style_cb -> addItem(tr("Trait plein", "conductor style: solid line"), QPen(Qt::SolidLine));
|
||||
ui -> m_line_style_cb -> addItem(tr("Trait en pointillés", "conductor style: dashed line"), QPen(Qt::DashLine));
|
||||
ui -> m_line_style_cb -> addItem(tr("Traits et points", "conductor style: dashed and dotted line"), QPen(Qt::DashDotLine));
|
||||
ui -> m_line_style_cb -> addItem(tr("Solid line", "conductor style: solid line"), QPen(Qt::SolidLine));
|
||||
ui -> m_line_style_cb -> addItem(tr("Dashed line", "conductor style: dashed line"), QPen(Qt::DashLine));
|
||||
ui -> m_line_style_cb -> addItem(tr("Dots and dashes", "conductor style: dashed and dotted line"), QPen(Qt::DashDotLine));
|
||||
|
||||
ui -> m_update_preview_pb -> setHidden(true);
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="Multifilaire">
|
||||
<attribute name="title">
|
||||
<string>&Multifilaire</string>
|
||||
<string>&Multiline</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="0" column="0">
|
||||
@@ -43,7 +43,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>&Multifilaire</string>
|
||||
<string>&Multiline</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
@@ -55,14 +55,14 @@
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_14">
|
||||
<property name="text">
|
||||
<string>Couleur du texte:</string>
|
||||
<string>Text color :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="3">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Couleur du conducteur</string>
|
||||
<string>Conductor color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -72,7 +72,7 @@
|
||||
<item row="3" column="1">
|
||||
<widget class="QLineEdit" name="m_text_le">
|
||||
<property name="toolTip">
|
||||
<string>Texte</string>
|
||||
<string>Text</string>
|
||||
</property>
|
||||
<property name="clearButtonEnabled">
|
||||
<bool>true</bool>
|
||||
@@ -82,14 +82,14 @@
|
||||
<item row="2" column="3">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>Tension / Protocole :</string>
|
||||
<string>Voltage / Protocol :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="m_autonum_label">
|
||||
<property name="text">
|
||||
<string>Autonumérotation</string>
|
||||
<string>Auto Numbering</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -99,7 +99,7 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QSpinBox" name="m_text_size_sb">
|
||||
<property name="toolTip">
|
||||
<string>Taille du texte</string>
|
||||
<string>Text size</string>
|
||||
</property>
|
||||
<property name="wrapping">
|
||||
<bool>false</bool>
|
||||
@@ -128,14 +128,14 @@
|
||||
<item row="4" column="3">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Section du conducteur</string>
|
||||
<string>Conductor section</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QCheckBox" name="m_show_text_cb">
|
||||
<property name="toolTip">
|
||||
<string>Texte visible</string>
|
||||
<string>Visible text</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -148,17 +148,17 @@
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="m_one_text_per_folio_cb">
|
||||
<property name="toolTip">
|
||||
<string>activer l'option un texte par potentiel</string>
|
||||
<string>Activate the option text by potential</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Afficher un texte de potentiel par folio. </string>
|
||||
<string>Show one text per sheet potential. </string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Fonction :</string>
|
||||
<string>Function :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -168,12 +168,12 @@
|
||||
<widget class="QComboBox" name="m_verti_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Vertical à gauche</string>
|
||||
<string>Vertical left</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Vertical à droite</string>
|
||||
<string>Vertical right</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -181,7 +181,7 @@
|
||||
<item row="0" column="0" colspan="2">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Position et rotation du texte de conducteur :</string>
|
||||
<string>Position and rotation of the conductor text:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignHCenter|Qt::AlignTop</set>
|
||||
@@ -192,12 +192,12 @@
|
||||
<widget class="QComboBox" name="m_horiz_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Horizontal en haut</string>
|
||||
<string>Horizontal at the top</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Horizontal en bas</string>
|
||||
<string>Horizontal down</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -210,7 +210,7 @@
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Texte :</string>
|
||||
<string>Text:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -220,14 +220,14 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Taille du texte :</string>
|
||||
<string>Text size :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QPushButton" name="m_edit_autonum_pb">
|
||||
<property name="toolTip">
|
||||
<string>éditer les numérotations</string>
|
||||
<string>Edit numbering</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -250,7 +250,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="text">
|
||||
<string>Formule du texte :</string>
|
||||
<string>Text Formula :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -297,7 +297,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="Unifilaire">
|
||||
<attribute name="title">
|
||||
<string>Unifilaire</string>
|
||||
<string>Single line</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
@@ -309,7 +309,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Unifilaire</string>
|
||||
<string>Single line</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
@@ -336,7 +336,7 @@
|
||||
<item row="2" column="3">
|
||||
<widget class="QSpinBox" name="m_phase_sb">
|
||||
<property name="toolTip">
|
||||
<string>Nombre de phase</string>
|
||||
<string>Number of phase</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
@@ -356,10 +356,10 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QCheckBox" name="m_neutral_cb">
|
||||
<property name="toolTip">
|
||||
<string>Neutre</string>
|
||||
<string>Neutral</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>neutre</string>
|
||||
<string>neutral</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="neutral"/>
|
||||
@@ -369,10 +369,10 @@
|
||||
<item row="0" column="1">
|
||||
<widget class="QCheckBox" name="m_earth_cb">
|
||||
<property name="toolTip">
|
||||
<string>Terre</string>
|
||||
<string>Ground</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>terre</string>
|
||||
<string>ground</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="ground"/>
|
||||
@@ -401,7 +401,7 @@
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Nombre de phase</string>
|
||||
<string>Number of phase</string>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
@@ -450,7 +450,7 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="appearance">
|
||||
<attribute name="title">
|
||||
<string>Apparence</string>
|
||||
<string>Appearance</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="1">
|
||||
@@ -459,7 +459,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="text">
|
||||
<string>Taille :</string>
|
||||
<string>Size :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -479,17 +479,17 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="toolTip">
|
||||
<string>Style du conducteur</string>
|
||||
<string>Conductor style</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Style :</string>
|
||||
<string>Style:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="2">
|
||||
<widget class="QGroupBox" name="m_color_2_gb">
|
||||
<property name="title">
|
||||
<string>Couleur secondaire :</string>
|
||||
<string>Secondary color :</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
@@ -504,7 +504,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Taille de trait :</string>
|
||||
<string>Line size :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -521,7 +521,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>Couleur :</string>
|
||||
<string>Color:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -550,17 +550,17 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QComboBox" name="m_line_style_cb">
|
||||
<property name="toolTip">
|
||||
<string>Style du conducteur</string>
|
||||
<string>Conductor style</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="toolTip">
|
||||
<string>Couleur du conducteur</string>
|
||||
<string>Conductor color</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Couleur :</string>
|
||||
<string>Color:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -154,23 +154,23 @@ NewDiagramPage::NewDiagramPage(QETProject *project,
|
||||
diagram_layout -> addWidget(ipw);
|
||||
tab_widget->setMinimumSize(800, 650);
|
||||
|
||||
tab_widget -> addTab (diagram_widget, tr("Folio"));
|
||||
tab_widget -> addTab (m_cpw, tr("Conducteur"));
|
||||
tab_widget -> addTab (rpw, tr("Reports de folio"));
|
||||
tab_widget -> addTab (xrefpw, tr("Références croisées"));
|
||||
tab_widget -> addTab (diagram_widget, tr("Sheet"));
|
||||
tab_widget -> addTab (m_cpw, tr("Conductor"));
|
||||
tab_widget -> addTab (rpw, tr("Sheet references"));
|
||||
tab_widget -> addTab (xrefpw, tr("Cross-references"));
|
||||
tab_widget -> addTab (m_gpw, tr("Guides"));
|
||||
|
||||
// add auto-numbering tab only for global settings (not per project)
|
||||
if (!m_project) {
|
||||
QWidget *autonum_widget = new QWidget();
|
||||
QVBoxLayout *autonum_layout = new QVBoxLayout(autonum_widget);
|
||||
autonum_layout->addWidget(new QLabel(tr("Définir les règles de numérotation automatique par défaut pour les nouveaux projets :")));
|
||||
autonum_layout->addWidget(new QLabel(tr("Set the default automatic numbering rules for new projects:")));
|
||||
QTabWidget *autonum_inner_tab = new QTabWidget();
|
||||
autonum_inner_tab->addTab(m_autonum_conductor.widget, tr("Conducteurs"));
|
||||
autonum_inner_tab->addTab(m_autonum_element.widget, tr("Eléments"));
|
||||
autonum_inner_tab->addTab(m_autonum_folio.widget, tr("Folios"));
|
||||
autonum_inner_tab->addTab(m_autonum_conductor.widget, tr("Conductors"));
|
||||
autonum_inner_tab->addTab(m_autonum_element.widget, tr("Elements"));
|
||||
autonum_inner_tab->addTab(m_autonum_folio.widget, tr("Sheets"));
|
||||
autonum_layout->addWidget(autonum_inner_tab);
|
||||
tab_widget -> addTab (autonum_widget, tr("Numérotation auto"));
|
||||
tab_widget -> addTab (autonum_widget, tr("Auto Numbering"));
|
||||
}
|
||||
|
||||
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
||||
@@ -300,8 +300,8 @@ QIcon NewDiagramPage::icon() const
|
||||
*/
|
||||
QString NewDiagramPage::title() const
|
||||
{
|
||||
if (m_project) return(tr("Nouveau folio", "configuration page title"));
|
||||
return(tr("Nouveau projet", "configuration page title"));
|
||||
if (m_project) return(tr("New sheet", "configuration page title"));
|
||||
return(tr("New project", "configuration page title"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -580,6 +580,6 @@ QIcon PrintConfigPage::icon() const
|
||||
/// @return le titre de cette page
|
||||
QString PrintConfigPage::title() const
|
||||
{
|
||||
return(tr("Impression", "configuration page title"));
|
||||
return(tr("Printing", "configuration page title"));
|
||||
}
|
||||
|
||||
|
||||
@@ -53,11 +53,11 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) :
|
||||
QSettings settings;
|
||||
|
||||
//Appearance tab
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Arrondi supérieur pour 0.5 et plus"), QLatin1String("Round"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Toujours arrondi supérieur"), QLatin1String("Ceil"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Toujours arrondi inférieur"), QLatin1String("Floor"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Arrondi supérieur pour 0.75 et plus"), QLatin1String("RoundPreferFloor"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Pas d'arrondi"), QLatin1String("PassThrough"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Rounding up for 0.5 and more"), QLatin1String("Round"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Always top rounding"), QLatin1String("Ceil"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Always rounded down"), QLatin1String("Floor"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("Rounding up for 0.75 and more"), QLatin1String("RoundPreferFloor"));
|
||||
ui->m_hdpi_round_policy_cb->addItem(tr("No rounding"), QLatin1String("PassThrough"));
|
||||
switch (QetSettings::hdpiScaleFactorRoundingPolicy()) {
|
||||
case Qt::HighDpiScaleFactorRoundingPolicy::Round:
|
||||
ui->m_hdpi_round_policy_cb->setCurrentIndex(0);
|
||||
@@ -88,7 +88,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) :
|
||||
ui->DiagramEditor_yGrid_sb->setValue(settings.value("diagrameditor/Ygrid", 10).toInt());
|
||||
for (const qreal divisor : TextGrid::divisors)
|
||||
ui->DiagramEditor_textGrid_cb->addItem(
|
||||
divisor > 0 ? TextGrid::ratioLabel(divisor) : tr("Désactivée"),
|
||||
divisor > 0 ? TextGrid::ratioLabel(divisor) : tr("Disabled", "fr: Désactivée"),
|
||||
divisor);
|
||||
int text_grid_index = ui->DiagramEditor_textGrid_cb->findData(
|
||||
settings.value(TextGrid::settings_key, 1).toReal());
|
||||
@@ -139,9 +139,9 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) :
|
||||
//say so rather than offer a tick that changes nothing.
|
||||
ui->m_enable_scripting->setEnabled(false);
|
||||
ui->m_enable_scripting->setToolTip(
|
||||
tr("Activé par la variable d'environnement "
|
||||
"QET_ENABLE_SCRIPTING ; ce réglage est sans effet "
|
||||
"tant qu'elle est définie."));
|
||||
tr("Enabled by the QET_ENABLE_SCRIPTING environment "
|
||||
"variable; this setting has no effect while it is "
|
||||
"set."));
|
||||
}
|
||||
#else
|
||||
//Built without Qt Qml: there is no scripting to allow. Disabled as
|
||||
@@ -266,7 +266,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) :
|
||||
if (path.isEmpty())
|
||||
{
|
||||
ui->m_material_list_path_le->setPlaceholderText(
|
||||
tr("Non configuré (par défaut : %1)",
|
||||
tr("Not set (default: %1)",
|
||||
"hint shown in the material file field when no file is configured yet")
|
||||
.arg(MaterialList::defaultPath()));
|
||||
}
|
||||
@@ -491,7 +491,7 @@ void GeneralConfigurationPage::applyConf()
|
||||
*/
|
||||
QString GeneralConfigurationPage::title() const
|
||||
{
|
||||
return(tr("Général", "configuration page title"));
|
||||
return(tr("General", "configuration page title"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -509,38 +509,38 @@ QIcon GeneralConfigurationPage::icon() const
|
||||
*/
|
||||
void GeneralConfigurationPage::fillLang()
|
||||
{
|
||||
ui->m_lang_cb->addItem(QET::Icons::translation, tr("Système"), "system");
|
||||
ui->m_lang_cb->addItem(QET::Icons::translation, tr("System"), "system");
|
||||
ui->m_lang_cb->insertSeparator(1);
|
||||
|
||||
// all lang available on lang directory
|
||||
ui->m_lang_cb->addItem(QET::Icons::sa, tr("Arabe"), "ar");
|
||||
ui->m_lang_cb->addItem(QET::Icons::br, tr("Brézilien"), "pt_BR");
|
||||
ui->m_lang_cb->addItem(QET::Icons::sa, tr("Arabic"), "ar");
|
||||
ui->m_lang_cb->addItem(QET::Icons::br, tr("Brazilian"), "pt_BR");
|
||||
ui->m_lang_cb->addItem(QET::Icons::catalonia, tr("Catalan"), "ca");
|
||||
ui->m_lang_cb->addItem(QET::Icons::cs, tr("Tchèque"), "cs");
|
||||
ui->m_lang_cb->addItem(QET::Icons::de, tr("Allemand"), "de");
|
||||
ui->m_lang_cb->addItem(QET::Icons::da, tr("Danois"), "da");
|
||||
ui->m_lang_cb->addItem(QET::Icons::gr, tr("Grec"), "el");
|
||||
ui->m_lang_cb->addItem(QET::Icons::en, tr("Anglais"), "en");
|
||||
ui->m_lang_cb->addItem(QET::Icons::es, tr("Espagnol"), "es");
|
||||
ui->m_lang_cb->addItem(QET::Icons::fr, tr("Français"), "fr");
|
||||
ui->m_lang_cb->addItem(QET::Icons::hr, tr("Croate"), "hr");
|
||||
ui->m_lang_cb->addItem(QET::Icons::it, tr("Italien"), "it");
|
||||
ui->m_lang_cb->addItem(QET::Icons::jp, tr("Japonais"), "ja");
|
||||
ui->m_lang_cb->addItem(QET::Icons::ko, tr("Coréen"), "ko");
|
||||
ui->m_lang_cb->addItem(QET::Icons::pl, tr("Polonais"), "pl");
|
||||
ui->m_lang_cb->addItem(QET::Icons::pt, tr("Portugais"), "pt");
|
||||
ui->m_lang_cb->addItem(QET::Icons::ro, tr("Roumains"), "ro");
|
||||
ui->m_lang_cb->addItem(QET::Icons::ru, tr("Russe"), "ru");
|
||||
ui->m_lang_cb->addItem(QET::Icons::sl, tr("Slovène"), "sl");
|
||||
ui->m_lang_cb->addItem(QET::Icons::nl, tr("Pays-Bas"), "nl");
|
||||
ui->m_lang_cb->addItem(QET::Icons::no, tr("Norvege"), "nb");
|
||||
ui->m_lang_cb->addItem(QET::Icons::nl_BE, tr("Belgique-Flemish"), "nl_BE");
|
||||
ui->m_lang_cb->addItem(QET::Icons::tr, tr("Turc"), "tr");
|
||||
ui->m_lang_cb->addItem(QET::Icons::hu, tr("Hongrois"), "hu");
|
||||
ui->m_lang_cb->addItem(QET::Icons::mn, tr("Mongol"), "mn");
|
||||
ui->m_lang_cb->addItem(QET::Icons::uk, tr("Ukrainien"), "uk");
|
||||
ui->m_lang_cb->addItem(QET::Icons::zh, tr("Chinois"), "zh");
|
||||
ui->m_lang_cb->addItem(QET::Icons::se, tr("Suédois"), "sv");
|
||||
ui->m_lang_cb->addItem(QET::Icons::cs, tr("Czech"), "cs");
|
||||
ui->m_lang_cb->addItem(QET::Icons::de, tr("German"), "de");
|
||||
ui->m_lang_cb->addItem(QET::Icons::da, tr("Danish"), "da");
|
||||
ui->m_lang_cb->addItem(QET::Icons::gr, tr("Greek"), "el");
|
||||
ui->m_lang_cb->addItem(QET::Icons::en, tr("English"), "en");
|
||||
ui->m_lang_cb->addItem(QET::Icons::es, tr("Spanish"), "es");
|
||||
ui->m_lang_cb->addItem(QET::Icons::fr, tr("French"), "fr");
|
||||
ui->m_lang_cb->addItem(QET::Icons::hr, tr("Croatian"), "hr");
|
||||
ui->m_lang_cb->addItem(QET::Icons::it, tr("Italian"), "it");
|
||||
ui->m_lang_cb->addItem(QET::Icons::jp, tr("Japanese"), "ja");
|
||||
ui->m_lang_cb->addItem(QET::Icons::ko, tr("Korean"), "ko");
|
||||
ui->m_lang_cb->addItem(QET::Icons::pl, tr("Polish"), "pl");
|
||||
ui->m_lang_cb->addItem(QET::Icons::pt, tr("Portuguese"), "pt");
|
||||
ui->m_lang_cb->addItem(QET::Icons::ro, tr("Romanian"), "ro");
|
||||
ui->m_lang_cb->addItem(QET::Icons::ru, tr("Russian"), "ru");
|
||||
ui->m_lang_cb->addItem(QET::Icons::sl, tr("Slovenian"), "sl");
|
||||
ui->m_lang_cb->addItem(QET::Icons::nl, tr("Dutch"), "nl");
|
||||
ui->m_lang_cb->addItem(QET::Icons::no, tr("Norwegian"), "nb");
|
||||
ui->m_lang_cb->addItem(QET::Icons::nl_BE, tr("Belgium-Flemish"), "nl_BE");
|
||||
ui->m_lang_cb->addItem(QET::Icons::tr, tr("Turkish"), "tr");
|
||||
ui->m_lang_cb->addItem(QET::Icons::hu, tr("Hungarian"), "hu");
|
||||
ui->m_lang_cb->addItem(QET::Icons::mn, tr("Mongolian"), "mn");
|
||||
ui->m_lang_cb->addItem(QET::Icons::uk, tr("Ukrainian"), "uk");
|
||||
ui->m_lang_cb->addItem(QET::Icons::zh, tr("Chinese"), "zh");
|
||||
ui->m_lang_cb->addItem(QET::Icons::se, tr("Swedish"), "sv");
|
||||
//set current index to the lang found in setting file
|
||||
//if lang doesn't exist set to system
|
||||
QSettings settings;
|
||||
@@ -608,7 +608,7 @@ void GeneralConfigurationPage::on_m_common_elmt_path_cb_currentIndexChanged(int
|
||||
{
|
||||
if (index == 1)
|
||||
{
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Chemin de la collection commune"), QETApp::documentDir());
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Path of the Common Collection"), QETApp::documentDir());
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_common_elmt_path_cb->setItemData(1, path, Qt::DisplayRole);
|
||||
}
|
||||
@@ -622,7 +622,7 @@ void GeneralConfigurationPage::on_m_company_elmt_path_cb_currentIndexChanged(int
|
||||
{
|
||||
if (index == 1)
|
||||
{
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Chemin de la collection company"), QETApp::documentDir());
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Company collection path"), QETApp::documentDir());
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_company_elmt_path_cb->setItemData(1, path, Qt::DisplayRole);
|
||||
}
|
||||
@@ -636,7 +636,7 @@ void GeneralConfigurationPage::on_m_custom_elmt_path_cb_currentIndexChanged(int
|
||||
{
|
||||
if (index == 1)
|
||||
{
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Chemin de la collection utilisateur"), QETApp::documentDir());
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("User Collection Path"), QETApp::documentDir());
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_custom_elmt_path_cb->setItemData(1, path, Qt::DisplayRole);
|
||||
}
|
||||
@@ -650,7 +650,7 @@ void GeneralConfigurationPage::on_m_company_tbt_path_cb_currentIndexChanged(int
|
||||
{
|
||||
if (index == 1)
|
||||
{
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Chemin des cartouches company"), QETApp::documentDir());
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Company title-blocks"), QETApp::documentDir());
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_company_tbt_path_cb->setItemData(1, path, Qt::DisplayRole);
|
||||
}
|
||||
@@ -664,7 +664,7 @@ void GeneralConfigurationPage::on_m_custom_tbt_path_cb_currentIndexChanged(int i
|
||||
{
|
||||
if (index == 1)
|
||||
{
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Chemin des cartouches utilisateur"), QETApp::documentDir());
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("User Title blocks Path"), QETApp::documentDir());
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_custom_tbt_path_cb->setItemData(1, path, Qt::DisplayRole);
|
||||
}
|
||||
@@ -678,7 +678,7 @@ void GeneralConfigurationPage::on_m_user_macros_path_cb_currentIndexChanged(int
|
||||
{
|
||||
if (index == 1)
|
||||
{
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("Chemin des macros utilisateur"), QETApp::documentDir());
|
||||
QString path = QFileDialog::getExistingDirectory(this, tr("User macro path"), QETApp::documentDir());
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_user_macros_path_cb->setItemData(1, path, Qt::DisplayRole);
|
||||
}
|
||||
@@ -720,8 +720,8 @@ void GeneralConfigurationPage::on_m_prefix_pb_clicked()
|
||||
|
||||
if (!QDir(directory).exists() && !QDir().mkpath(directory)) {
|
||||
QMessageBox::warning(this,
|
||||
tr("Répertoire introuvable"),
|
||||
tr("Le répertoire de la collection utilisateur :\n%1\nn'existe pas et n'a pas pu être créé.")
|
||||
tr("Folder not found"),
|
||||
tr("The user collection folder:\n%1\ndoes not exist and could not be created.")
|
||||
.arg(directory));
|
||||
return;
|
||||
}
|
||||
@@ -729,8 +729,8 @@ void GeneralConfigurationPage::on_m_prefix_pb_clicked()
|
||||
const QList<QStringList> folders = QetLabelsFile::scanFolders(directory);
|
||||
if (folders.isEmpty()) {
|
||||
QMessageBox::information(this,
|
||||
tr("Aucun sous-dossier"),
|
||||
tr("La collection utilisateur :\n%1\nne contient aucun sous-dossier : il n'y a donc aucun préfixe à configurer.")
|
||||
tr("No subfolder"),
|
||||
tr("The user collection:\n%1\nhas no subfolder, so there is no prefix to configure.")
|
||||
.arg(directory));
|
||||
return;
|
||||
}
|
||||
@@ -738,7 +738,7 @@ void GeneralConfigurationPage::on_m_prefix_pb_clicked()
|
||||
QetLabelsFile labels;
|
||||
if (!labels.load(directory)) {
|
||||
QMessageBox::warning(this,
|
||||
tr("Fichier de préfixes illisible"),
|
||||
tr("Prefix file cannot be read"),
|
||||
labels.errorString());
|
||||
return;
|
||||
}
|
||||
@@ -747,21 +747,23 @@ void GeneralConfigurationPage::on_m_prefix_pb_clicked()
|
||||
//perfectly valid : tell what is wrong and let the user decide,
|
||||
//rebuilding would drop every prefix the file still holds.
|
||||
QMessageBox box(QMessageBox::Warning,
|
||||
tr("Fichier de préfixes endommagé"),
|
||||
tr("Le fichier %1 n'est pas un fichier XML valide :\n%2")
|
||||
tr("Prefix file damaged"),
|
||||
tr("The file %1 is not a valid XML file:\n%2")
|
||||
.arg(labels.filePath(), labels.brokenReason()),
|
||||
QMessageBox::NoButton,
|
||||
this);
|
||||
box.addButton(tr("Corriger le fichier"), QMessageBox::AcceptRole);
|
||||
auto *rebuild_button = box.addButton(tr("Reconstruire"), QMessageBox::DestructiveRole);
|
||||
box.setInformativeText(tr("Rien n'a encore été modifié.\n\n"
|
||||
"« Corriger le fichier » : cette fenêtre se ferme sans rien changer. "
|
||||
"Ouvrez le fichier dans un éditeur de texte à l'endroit indiqué, "
|
||||
"corrigez-le puis relancez cette commande.\n\n"
|
||||
"« Reconstruire » : l'arborescence des dossiers est recréée, "
|
||||
"mais tous les préfixes actuels sont perdus. Le fichier actuel "
|
||||
"est conservé sous le nom qet_labels.xml.bak avant d'être remplacé."));
|
||||
box.setDetailedText(tr("Fichier : %1").arg(labels.filePath()));
|
||||
box.addButton(tr("Fix the file"), QMessageBox::AcceptRole);
|
||||
auto *rebuild_button = box.addButton(tr("Rebuild"), QMessageBox::DestructiveRole);
|
||||
box.setInformativeText(tr("Nothing has been changed yet.\n"
|
||||
"\n"
|
||||
"“Fix the file”: this window closes without changing anything. Open "
|
||||
"the file in a text editor at the place shown, fix it, then run this "
|
||||
"command again.\n"
|
||||
"\n"
|
||||
"“Rebuild”: the folder tree is made again, but all the current "
|
||||
"prefixes are lost. The current file is kept as qet_labels.xml.bak "
|
||||
"before it is replaced."));
|
||||
box.setDetailedText(tr("File: %1").arg(labels.filePath()));
|
||||
box.exec();
|
||||
if (box.clickedButton() != rebuild_button) {
|
||||
return;
|
||||
@@ -785,9 +787,9 @@ void GeneralConfigurationPage::on_m_material_list_browse_pb_clicked()
|
||||
|
||||
const QString path = QFileDialog::getOpenFileName(
|
||||
this,
|
||||
tr("Sélectionner le fichier de la liste de matériaux"),
|
||||
tr("Select the materials list file"),
|
||||
start_dir,
|
||||
tr("Fichiers csv (*.csv)"));
|
||||
tr("CSV files (*.csv)"));
|
||||
|
||||
if (!path.isEmpty()) {
|
||||
ui->m_material_list_path_le->setText(path);
|
||||
@@ -808,9 +810,9 @@ void GeneralConfigurationPage::on_m_material_list_create_pb_clicked()
|
||||
|
||||
path = QFileDialog::getSaveFileName(
|
||||
this,
|
||||
tr("Créer le fichier de la liste de matériaux"),
|
||||
tr("Create the materials list file"),
|
||||
path,
|
||||
tr("Fichiers csv (*.csv)"));
|
||||
tr("CSV files (*.csv)"));
|
||||
if (path.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -826,8 +828,8 @@ void GeneralConfigurationPage::on_m_material_list_create_pb_clicked()
|
||||
if (!MaterialList::createFile(path, &error))
|
||||
{
|
||||
QET::QetMessageBox::critical(this,
|
||||
tr("Création impossible"),
|
||||
tr("Impossible de créer le fichier :\n%1\n%2")
|
||||
tr("Cannot create"),
|
||||
tr("Cannot create the file:\n%1\n%2")
|
||||
.arg(path, error));
|
||||
return;
|
||||
}
|
||||
@@ -856,7 +858,7 @@ void GeneralConfigurationPage::on_m_indi_text_font_pb_clicked()
|
||||
void GeneralConfigurationPage::on_MaxPartsElementEditorList_sb_valueChanged(int value)
|
||||
{
|
||||
if (value > 500) {
|
||||
ui->MaxPartsElementEditorList_sb->setToolTip(tr("To high values might lead to crashes of the application."));
|
||||
ui->MaxPartsElementEditorList_sb->setToolTip(tr("Values that are too high might cause the application to crash"));
|
||||
ui->MaxPartsElementEditorList_sb->setStyleSheet("background-color: orange");
|
||||
} else {
|
||||
ui->MaxPartsElementEditorList_sb->setToolTip("");
|
||||
@@ -891,13 +893,14 @@ void GeneralConfigurationPage::on_m_hdpi_round_cb_clicked(bool checked)
|
||||
if (checked) {
|
||||
if (QMessageBox::Cancel == QET::QetMessageBox::warning(
|
||||
this,
|
||||
tr("Fonctionnalité expérimental"),
|
||||
tr("AVERTISSEMENT :\n"
|
||||
"Toutes valeurs autre que ‘Pas d’arrondi’ peut causer des erreurs de rendu "
|
||||
"du projet en fonction de :\n\n"
|
||||
"1 - la valeur sélectionnée \n"
|
||||
"2 - du dpi de l'écran \n"
|
||||
"3 - Modifier le projet sur un autre ordinateur et/ou écran n'ayant pas les mêmes paramètres des points 1 et 2."),
|
||||
tr("Experimental feature"),
|
||||
tr("WARNING:\n"
|
||||
"Any setting other than “No rounding” may cause rendering errors in the project, depending on:\n"
|
||||
"\n"
|
||||
"1 - the selected setting \n"
|
||||
"2 - the screen's dpi \n"
|
||||
"3 - editing the project on another computer and/or screen that does not have the same settings as in points 1 "
|
||||
"and 2."),
|
||||
QMessageBox::StandardButton::Cancel|QMessageBox::StandardButton::Ok,
|
||||
QMessageBox::StandardButton::Cancel
|
||||
)) {
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<attribute name="title">
|
||||
<string>Apparence</string>
|
||||
<string>Appearance</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@@ -29,14 +29,14 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_use_system_color_cb">
|
||||
<property name="text">
|
||||
<string>Utiliser les couleurs du système</string>
|
||||
<string>Use system colors</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="KColorButton" name="m_custom_app_color_kpb">
|
||||
<property name="toolTip">
|
||||
<string>Couleur de l'application</string>
|
||||
<string>Application color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -52,31 +52,31 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_use_gesture_trackpad">
|
||||
<property name="text">
|
||||
<string>Utiliser les gestes du pavé tactile</string>
|
||||
<string>Use gestures touchpad</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_zoom_out_beyond_folio">
|
||||
<property name="text">
|
||||
<string>Autoriser le dézoom au delà du folio</string>
|
||||
<string>Allow unzoom beyond the sheet</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_conductor_properties_panel">
|
||||
<property name="text">
|
||||
<string>Afficher les propriétés d'un conducteur sélectionné dans le panneau Propriétés de la sélection</string>
|
||||
<string>Show the properties of a selected conductor in the Selection properties panel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_wiring_rules_cb">
|
||||
<property name="toolTip">
|
||||
<string>Décoché, aucune règle de conducteurs par borne n'est appliquée, quels que soient les réglages des projets.</string>
|
||||
<string>When unticked, no conductors-per-terminal rule applies, whatever the projects' settings.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Appliquer les règles de conducteurs par borne des projets</string>
|
||||
<string>Apply the projects' conductors-per-terminal rules</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
@@ -91,7 +91,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="m_wiring_max_wires_label">
|
||||
<property name="text">
|
||||
<string>Nombre maximal de conducteurs par borne :</string>
|
||||
<string>Maximum conductors per terminal:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -104,10 +104,10 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Pour tous les projets, sauf ceux qui ont leurs propres réglages. Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé ; les conducteurs déjà dessinés ne sont pas modifiés. 4 correspond à deux embouts doubles, un de chaque côté de la vis.</string>
|
||||
<string>For every project except those with their own settings. A new conductor that would take a terminal past this number is refused; conductors already drawn are not changed. 4 means two twin ferrules, one on each side of the screw.</string>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string>Sans limite</string>
|
||||
<string>No limit</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>99</number>
|
||||
@@ -131,10 +131,10 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_wiring_one_wire_per_report_cb">
|
||||
<property name="toolTip">
|
||||
<string>Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, celui qui continue sur l'autre folio.</string>
|
||||
<string>A sheet reference is a virtual point: it takes only one conductor, the one that continues on the other sheet.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Un seul conducteur par renvoi de folio</string>
|
||||
<string>Only one conductor per sheet reference</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -150,54 +150,54 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="grid_startup_cb">
|
||||
<property name="text">
|
||||
<string>Afficher la grille par défaut (appliqué au prochain lancement)</string>
|
||||
<string>Show the default grid (applied the next time the programme is launched)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_collection_dblclick_edits">
|
||||
<property name="toolTip">
|
||||
<string>Par défaut, un double-clic insère l'élément sur le folio ; l'édition reste accessible par le menu contextuel.</string>
|
||||
<string>By default, a double-click inserts the element on the sheet; editing remains accessible from the context menu.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Double-cliquer dans la collection ouvre l'éditeur d'élément au lieu de l'insérer</string>
|
||||
<string>Double-clicking in the collection opens the element editor instead of inserting it</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_collection_search_flat_cb">
|
||||
<property name="toolTip">
|
||||
<string>Coché : une seule liste, la meilleure correspondance en premier. Décoché : l'arborescence de la collection, filtrée sur la recherche.</string>
|
||||
<string>Ticked: a single list, best match first. Unticked: the collection tree, filtered by the search.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Afficher les résultats de recherche sous forme de liste triée</string>
|
||||
<string>Show search results as a sorted list</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_context_toolbar_cb">
|
||||
<property name="toolTip">
|
||||
<string>Après un clic qui sélectionne un élément ou un conducteur, les commandes de la barre de raccourcis apparaissent près du curseur et s'effacent quand la souris s'éloigne.</string>
|
||||
<string>After a click that selects an element or a conductor, the shortcut bar commands appear near the cursor and fade away when the mouse moves away.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Afficher les commandes près de la sélection</string>
|
||||
<string>Show commands near the selection</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_mouse_gestures_cb">
|
||||
<property name="toolTip">
|
||||
<string>Maintenir le bouton droit et glisser dans une direction lance une commande de la barre de raccourcis. Un simple clic droit ouvre toujours le menu contextuel, au relâchement du bouton.</string>
|
||||
<string>Holding the right button and dragging in a direction launches a shortcut bar command. A simple right-click still opens the context menu, on button release.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Gestes de la souris avec le bouton droit</string>
|
||||
<string>Right-button mouse gestures</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="guides_startup_cb">
|
||||
<property name="text">
|
||||
<string>Afficher les guides par défaut (appliqué au prochain lancement)</string>
|
||||
<string>Show default guides (applies from the next time the programme is launched)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -211,14 +211,14 @@
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_use_windows_mode_rb">
|
||||
<property name="text">
|
||||
<string>Utiliser des fen&êtres (appliqué au prochain lancement de QElectroTech)</string>
|
||||
<string>Use &Windows (applied at the next launch of QElectroTech)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_use_tab_mode_rb">
|
||||
<property name="text">
|
||||
<string>Utiliser des onglets (appliqué au prochain lance&ment de QElectroTech)</string>
|
||||
<string>Use &tabs (applied at the next launch of QElectroTech)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -257,7 +257,7 @@
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Méthode de mise à l'echelle des écrans à haute densité de pixels (hdpi) (appliqué au prochain lancement de QElectroTech) :</string>
|
||||
<string>High pixel density (hdpi) displays scaling method (applied to the next launch of QElectroTech) :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -288,20 +288,20 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_4">
|
||||
<attribute name="title">
|
||||
<string>Projets</string>
|
||||
<string>Projects</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="1" column="0">
|
||||
<widget class="QCheckBox" name="m_use_folio_label">
|
||||
<property name="text">
|
||||
<string>Utiliser les numéros de folio à la place de leur position dans le projet</string>
|
||||
<string>Use sheet numbers instead of their position in the project</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Sauvegarde automatique des projets (appliqué au prochain lancement de QElectroTech)</string>
|
||||
<string>Automatic backup of projects (applied at the next launch of QElectroTech)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -311,7 +311,7 @@
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string>Désactivé</string>
|
||||
<string>Disabled</string>
|
||||
</property>
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
@@ -330,37 +330,37 @@
|
||||
<item row="6" column="0">
|
||||
<widget class="QCheckBox" name="m_autonumber_pasted">
|
||||
<property name="text">
|
||||
<string>Numéroter automatiquement les éléments collés ou dupliqués qui suivent une numérotation</string>
|
||||
<string>Automatically number pasted or duplicated elements that follow a numbering</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Un élément collé reçoit le numéro suivant de sa numérotation au lieu du nom de l'élément copié, et la numérotation avance.</string>
|
||||
<string>A pasted element receives the next number of its numbering instead of the copied element's name, and the numbering advances.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QCheckBox" name="m_save_label_paste">
|
||||
<property name="text">
|
||||
<string>Ne pas conserver les labels des éléments lors des copier coller</string>
|
||||
<string>Do not store the labels of items in the copy paste</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0">
|
||||
<widget class="QCheckBox" name="m_enable_scripting">
|
||||
<property name="text">
|
||||
<string>Autoriser l'exécution de scripts JavaScript (Projet > Exécuter un script, et --run)</string>
|
||||
<string>Allow running JavaScript scripts (Project > Run a script, and --run)</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Un script s'exécute avec vos droits : il peut lire et modifier le projet ouvert et écrire des fichiers. Désactivé par défaut ; n'exécutez que des scripts dont vous connaissez l'origine.</string>
|
||||
<string>A script runs with your permissions: it can read and modify the open project and write files. Disabled by default; only run scripts whose origin you know.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0">
|
||||
<widget class="QCheckBox" name="m_live_assistant">
|
||||
<property name="text">
|
||||
<string>Autoriser un assistant IA à agir sur le projet ouvert (mode direct)</string>
|
||||
<string>Allow an AI assistant to act on the open project (live mode)</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Un assistant connecté par le serveur MCP peut alors exécuter des scripts sur le projet ouvert, sous vos yeux. Un avertissement est affiché à chaque démarrage tant que ce réglage est activé. Prend effet au prochain démarrage ; le décocher coupe la connexion tout de suite.</string>
|
||||
<string>An assistant connected through the MCP server can then run scripts on the open project, as you watch. A warning is shown at every start while this setting is on. Takes effect at the next start; unticking it closes the connection at once.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -393,7 +393,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QCheckBox" name="m_border_0">
|
||||
<property name="text">
|
||||
<string extracomment="Choix de l'increment de depart 1 ou 0">Numéroter les colonnes de cartouche à partir de 0 (1 sinon)</string>
|
||||
<string extracomment="Choix de l'increment de depart 1 ou 0">Number the title block columns from 0 (1 otherwise)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -407,7 +407,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_5">
|
||||
<property name="title">
|
||||
<string>Accès aux collections</string>
|
||||
<string>Access the collections</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
@@ -419,7 +419,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_16">
|
||||
<property name="text">
|
||||
<string>Répertoire de la collection company</string>
|
||||
<string>Company collection directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -427,12 +427,12 @@
|
||||
<widget class="QComboBox" name="m_custom_tbt_path_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Par defaut</string>
|
||||
<string>By default</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -441,12 +441,12 @@
|
||||
<widget class="QComboBox" name="m_custom_elmt_path_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Par defaut</string>
|
||||
<string>By default</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -454,24 +454,24 @@
|
||||
<item row="4" column="2">
|
||||
<widget class="QPushButton" name="m_prefix_pb">
|
||||
<property name="toolTip">
|
||||
<string extracomment="tooltip of the button opening the prefix configuration dialog of the user collection">Créer ou modifier le préfixe des dossiers de la collection utilisateur (fichier qet_labels.xml)</string>
|
||||
<string extracomment="tooltip of the button opening the prefix configuration dialog of the user collection">Create or change the prefix of the user collection's folders (qet_labels.xml file)</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string extracomment="button opening the dialog where the folder prefixes of the user collection are configured">Configurer les préfixes…</string>
|
||||
<string extracomment="button opening the dialog where the folder prefixes of the user collection are configured">Configure prefixes…</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="text">
|
||||
<string>Répertoire de la collection commune</string>
|
||||
<string>Common collection directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_17">
|
||||
<property name="text">
|
||||
<string>Répertoire des cartouches company</string>
|
||||
<string>Company title-block directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -479,12 +479,12 @@
|
||||
<widget class="QComboBox" name="m_company_tbt_path_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Par defaut</string>
|
||||
<string>By default</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -492,14 +492,14 @@
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Répertoire de la collection utilisateur</string>
|
||||
<string>User collection directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0">
|
||||
<widget class="QLabel" name="label_23">
|
||||
<property name="text">
|
||||
<string>Répertoire des Macros utilisateur</string>
|
||||
<string>User Macro Directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -507,12 +507,12 @@
|
||||
<widget class="QComboBox" name="m_user_macros_path_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Par defaut</string>
|
||||
<string>By default</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -521,12 +521,12 @@
|
||||
<widget class="QComboBox" name="m_common_elmt_path_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Par defaut</string>
|
||||
<string>By default</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -534,7 +534,7 @@
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="text">
|
||||
<string>Répertoire des cartouches utilisateur</string>
|
||||
<string>User title blocks directory</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -542,12 +542,12 @@
|
||||
<widget class="QComboBox" name="m_company_elmt_path_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Par defaut</string>
|
||||
<string>By default</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -555,14 +555,14 @@
|
||||
<item row="8" column="1">
|
||||
<widget class="QLabel" name="label_9">
|
||||
<property name="text">
|
||||
<string>(Recharger les collections d'éléments pour appliquer les changements)</string>
|
||||
<string>(Reload the elements collections to apply the changes)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="m_material_list_label">
|
||||
<property name="text">
|
||||
<string>Fichier de la liste de matériaux</string>
|
||||
<string>Materials list file</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -571,30 +571,30 @@
|
||||
<item>
|
||||
<widget class="QLineEdit" name="m_material_list_path_le">
|
||||
<property name="toolTip">
|
||||
<string extracomment="tooltip of the material file path field">Répertoire de matériaux utilisé pour renseigner les articles d'un élément</string>
|
||||
<string extracomment="tooltip of the material file path field">Materials list used to fill in a symbol's items</string>
|
||||
</property>
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="placeholderText">
|
||||
<string extracomment="hint shown when no material file is configured yet">Non configuré</string>
|
||||
<string extracomment="hint shown when no material file is configured yet">Not set</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_material_list_browse_pb">
|
||||
<property name="text">
|
||||
<string>Parcourir...</string>
|
||||
<string>Browse...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="m_material_list_create_pb">
|
||||
<property name="toolTip">
|
||||
<string extracomment="tooltip of the button creating the material file with its header line">Créer le fichier de la liste avec ses en-têtes</string>
|
||||
<string extracomment="tooltip of the button creating the material file with its header line">Create the list file with its headers</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Créer...</string>
|
||||
<string>Create...</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -606,7 +606,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_3">
|
||||
<property name="title">
|
||||
<string>Gestion des éléments</string>
|
||||
<string>Elements management</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
@@ -615,15 +615,14 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_highlight_integrated_elements">
|
||||
<property name="text">
|
||||
<string>Mettre en valeur dans le panel les éléments fraîchement intégrés</string>
|
||||
<string>Highlight freshly integrated elements in the panel</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre.
|
||||
Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez :</string>
|
||||
<string>Element may include information about its authors, license, or other useful information. Specify the default value of this textfield for new elements below:</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
@@ -650,7 +649,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_6">
|
||||
<attribute name="title">
|
||||
<string>Langues</string>
|
||||
<string>Languages</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
@@ -659,7 +658,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Appliqué au prochain lancement de QElectroTech</string>
|
||||
<string>Applied to the next launch of QElectroTech</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -693,13 +692,13 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Textes</string>
|
||||
<string>texts</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_15">
|
||||
<property name="text">
|
||||
<string>Vous pouvez définir ici l'apparence par defaut des differents textes de QElectroTech</string>
|
||||
<string>Here you can define the default appearance of the different texts of QElectroTech</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -713,7 +712,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_6">
|
||||
<property name="title">
|
||||
<string>Textes d'éléments</string>
|
||||
<string>Elements texts</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="2" column="2">
|
||||
@@ -726,7 +725,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>Police :</string>
|
||||
<string>Font:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -746,7 +745,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Longueur :</string>
|
||||
<string>Length :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -779,7 +778,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_7">
|
||||
<property name="title">
|
||||
<string>Textes indépendants</string>
|
||||
<string>Independent texts</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_7">
|
||||
<item row="1" column="0">
|
||||
@@ -792,7 +791,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_13">
|
||||
<property name="text">
|
||||
<string>Police :</string>
|
||||
<string>Font:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -832,13 +831,13 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_9">
|
||||
<property name="title">
|
||||
<string>Autres textes</string>
|
||||
<string>Other texts</string>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Police :</string>
|
||||
<string>Font:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -882,13 +881,13 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
</widget>
|
||||
<widget class="QWidget" name="GrilleClavier">
|
||||
<attribute name="title">
|
||||
<string>Grille + Clavier</string>
|
||||
<string>Grid + Keyboard</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Grille : 1 - 30</string>
|
||||
<string>Grid: 1 - 30</string>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
@@ -929,7 +928,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="Label_Grid_Tip">
|
||||
<property name="text">
|
||||
<string>La Grille doite etre active pour pouvoir voir les modifications.</string>
|
||||
<string>The Grid must be active to see the changes.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -975,10 +974,10 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="Label_Diagram_textGrid">
|
||||
<property name="text">
|
||||
<string>Grille des textes déplacés à la souris</string>
|
||||
<string>Grid for texts moved with the mouse</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Fraction de la grille des folios. Maintenir Ctrl pendant le déplacement pour placer librement.</string>
|
||||
<string>Fraction of the sheet grid. Hold Ctrl while moving to place freely.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -998,7 +997,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_2">
|
||||
<property name="title">
|
||||
<string>Déplacement au clavier : 1 - 30</string>
|
||||
<string>Keyboard movement: 1 - 30</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_10">
|
||||
<item row="0" column="2">
|
||||
@@ -1048,14 +1047,14 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="Label_Diagram_Key_xGrid">
|
||||
<property name="text">
|
||||
<string>DiagramEditor (touche : gauche / droite) xGrid</string>
|
||||
<string comment="fr: DiagramEditor (touche : gauche / droite) xGrid">DiagramEditor (key: left / right) xGrid</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="Label_Diagram_Key_yGrid">
|
||||
<property name="text">
|
||||
<string>DiagramEditor (touche : haut / bas) yGrid</string>
|
||||
<string>DiagramEditor (key: up / down) yGrid</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1078,13 +1077,13 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_4">
|
||||
<property name="title">
|
||||
<string>Déplacement au clavier avec la touche ALT : 1 - 9</string>
|
||||
<string>Keyboard movement with the ALT key: 1 - 9</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_11">
|
||||
<item row="0" column="1">
|
||||
<widget class="QLabel" name="Label_Diagram_Key_xGrid_ALT">
|
||||
<property name="text">
|
||||
<string>DiagramEditor (touche : gauche / droite ) xGrid</string>
|
||||
<string>DiagramEditor (key: left / right) xGrid</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1113,7 +1112,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="Label_Diagram_Key_yGrid_ALT">
|
||||
<property name="text">
|
||||
<string>DiagramEditor (touche : haut / bas) yGrid</string>
|
||||
<string comment="fr: DiagramEditor (touche : haut / bas) yGrid">DiagramEditor (key: up / down) yGrid</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1158,7 +1157,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_8">
|
||||
<property name="title">
|
||||
<string>Affichage Grille</string>
|
||||
<string>View grid</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="2">
|
||||
@@ -1216,7 +1215,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="Label_Diagram_Grid_PointSize">
|
||||
<property name="text">
|
||||
<string>Taille des points de la grille de Diagram-Editor : 1 - 5</string>
|
||||
<string>Point-size in diagram-editor: 1 - 5</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1276,7 +1275,7 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_20">
|
||||
<property name="text">
|
||||
<string>Taille des points de la grille de l'éditeur d'éléments : 1 - 5</string>
|
||||
<string>Point-size in element-editor: 1 - 5</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -1343,10 +1342,10 @@ Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_check_terminal_names_cb">
|
||||
<property name="toolTip">
|
||||
<string>À l'enregistrement d'un élément : refuser deux bornes portant le même nom, et signaler les bornes sans nom (IEC 61666).</string>
|
||||
<string>When saving a symbol: refuse two terminals with the same name, and report terminals without a name (IEC 61666).</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Vérifier les noms des bornes à l'enregistrement</string>
|
||||
<string>Check terminal names when saving</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
|
||||
@@ -300,11 +300,11 @@ GesturesConfigPage::GesturesConfigPage(QWidget *parent) :
|
||||
}
|
||||
|
||||
auto *explanation = new QLabel(
|
||||
tr("Faites glisser avec le bouton droit sur un folio : un anneau "
|
||||
"de commandes s'ouvre, relâchez vers celle à lancer. Tant que "
|
||||
"vous ne changez pas l'anneau d'un contexte, il montre les "
|
||||
"commandes de la barre de raccourcis. Les gestes s'activent "
|
||||
"ou se désactivent dans la page Général."), this);
|
||||
tr("Drag with the right mouse button on a sheet: a ring of "
|
||||
"commands opens, release towards the one to run. Until you "
|
||||
"change the ring for a context, it shows the commands of the "
|
||||
"shortcut bar. Gestures are turned on or off in the General "
|
||||
"page."), this);
|
||||
explanation->setWordWrap(true);
|
||||
|
||||
m_directions = new QComboBox(this);
|
||||
@@ -344,10 +344,10 @@ GesturesConfigPage::GesturesConfigPage(QWidget *parent) :
|
||||
m_state = new QLabel(this);
|
||||
m_state->setWordWrap(true);
|
||||
|
||||
auto *place = new QPushButton(tr("Placer →"), this);
|
||||
auto *place = new QPushButton(tr("Place →"), this);
|
||||
place->setObjectName(QStringLiteral("placeButton"));
|
||||
auto *clear = new QPushButton(tr("Vider la direction"), this);
|
||||
auto *follow = new QPushButton(tr("Comme la barre de raccourcis"), this);
|
||||
auto *clear = new QPushButton(tr("Clear the direction"), this);
|
||||
auto *follow = new QPushButton(tr("Same as the shortcut bar"), this);
|
||||
follow->setObjectName(QStringLiteral("followBarButton"));
|
||||
|
||||
auto *ring_column = new QVBoxLayout();
|
||||
@@ -357,8 +357,8 @@ GesturesConfigPage::GesturesConfigPage(QWidget *parent) :
|
||||
ring_column->addStretch();
|
||||
|
||||
auto *grid = new QGridLayout();
|
||||
grid->addWidget(new QLabel(tr("Commandes disponibles"), this), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("Anneau, la direction choisie en surbrillance"), this), 0, 2);
|
||||
grid->addWidget(new QLabel(tr("Available commands"), this), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("Ring, the chosen direction highlighted"), this), 0, 2);
|
||||
grid->addWidget(m_available, 1, 0);
|
||||
grid->addWidget(place, 1, 1, Qt::AlignVCenter);
|
||||
grid->addLayout(ring_column, 1, 2);
|
||||
@@ -366,10 +366,10 @@ GesturesConfigPage::GesturesConfigPage(QWidget *parent) :
|
||||
grid->setColumnStretch(2, 1);
|
||||
|
||||
auto *top_row = new QHBoxLayout();
|
||||
top_row->addWidget(new QLabel(tr("Directions :"), this));
|
||||
top_row->addWidget(new QLabel(tr("Directions:"), this));
|
||||
top_row->addWidget(m_directions);
|
||||
top_row->addSpacing(12);
|
||||
top_row->addWidget(new QLabel(tr("Contexte :"), this));
|
||||
top_row->addWidget(new QLabel(tr("Context:"), this));
|
||||
top_row->addWidget(m_context, 1);
|
||||
|
||||
auto *state_row = new QHBoxLayout();
|
||||
@@ -422,7 +422,7 @@ void GesturesConfigPage::applyConf()
|
||||
|
||||
QString GesturesConfigPage::title() const
|
||||
{
|
||||
return tr("Gestes de la souris", "configuration page title");
|
||||
return tr("Mouse gestures", "configuration page title");
|
||||
}
|
||||
|
||||
QIcon GesturesConfigPage::icon() const
|
||||
@@ -467,9 +467,9 @@ void GesturesConfigPage::updateState()
|
||||
const int slot = m_ring->currentSlot();
|
||||
const QStringList ids = m_ring->ids();
|
||||
const QString id = slot < ids.count() ? ids.at(slot) : QString();
|
||||
m_slot_name->setText(id.isEmpty() ? tr("(direction vide)")
|
||||
m_slot_name->setText(id.isEmpty() ? tr("(empty direction)")
|
||||
: m_descriptions.value(id, id));
|
||||
m_state->setText(m_custom.value(m_shown)
|
||||
? tr("Anneau personnalisé pour ce contexte.")
|
||||
: tr("Cet anneau suit la barre de raccourcis."));
|
||||
? tr("Custom ring for this context.")
|
||||
: tr("This ring follows the shortcut bar."));
|
||||
}
|
||||
|
||||
@@ -20,12 +20,12 @@ void GuidesPropertiesWidget::setupUi() {
|
||||
QVBoxLayout *main_layout = new QVBoxLayout(this);
|
||||
|
||||
m_table = new QTableWidget(0, 3, this);
|
||||
m_table->setHorizontalHeaderLabels({tr("Orientation"), tr("Position"), tr("Couleur")});
|
||||
m_table->setHorizontalHeaderLabels({tr("Orientation"), tr("Position"), tr("Color")});
|
||||
m_table->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||
m_table->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
|
||||
m_add_btn = new QPushButton(tr("Ajouter"), this);
|
||||
m_remove_btn = new QPushButton(tr("Supprimer"), this);
|
||||
m_add_btn = new QPushButton(tr("Add"), this);
|
||||
m_remove_btn = new QPushButton(tr("Delete"), this);
|
||||
|
||||
QHBoxLayout *btn_layout = new QHBoxLayout();
|
||||
btn_layout->addWidget(m_add_btn);
|
||||
@@ -90,7 +90,7 @@ void GuidesPropertiesWidget::addGuide() {
|
||||
spin->setValue(100.0);
|
||||
m_table->setCellWidget(row, 1, spin);
|
||||
|
||||
QPushButton *colorBtn = new QPushButton(tr("Couleur"), this);
|
||||
QPushButton *colorBtn = new QPushButton(tr("Color"), this);
|
||||
QColor defaultColor = Qt::lightGray;
|
||||
colorBtn->setProperty("color", defaultColor);
|
||||
colorBtn->setStyleSheet(QString("background-color: %1; color: white; font-weight: bold;").arg(defaultColor.name()));
|
||||
|
||||
@@ -143,7 +143,7 @@ ProjectMainConfigPage::~ProjectMainConfigPage()
|
||||
*/
|
||||
QString ProjectMainConfigPage::title() const
|
||||
{
|
||||
return(tr("Général", "configuration page title"));
|
||||
return(tr("General", "configuration page title"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -225,12 +225,12 @@ QString ProjectMainConfigPage::projectTitle() const
|
||||
*/
|
||||
void ProjectMainConfigPage::initWidgets()
|
||||
{
|
||||
title_label_ = new QLabel(tr("Titre du projet :", "label when configuring"));
|
||||
title_label_ = new QLabel(tr("Project title :", "label when configuring"));
|
||||
title_value_ = new QLineEdit();
|
||||
title_information_ = new QLabel(tr("Ce titre sera disponible pour tous les folios de ce projet en tant que %projecttitle.", "informative label"));
|
||||
title_information_ = new QLabel(tr("This title is made available to all child sheets as %projecttitle.", "informative label"));
|
||||
project_variables_label_ = new QLabel(
|
||||
tr(
|
||||
"Vous pouvez définir ci-dessous des propriétés personnalisées qui seront disponibles pour tous les folios de ce projet (typiquement pour les cartouches).",
|
||||
"You may define below custom properties that will be made available to all sheets of the project (typically to use within title blocks).",
|
||||
"informative label"
|
||||
)
|
||||
);
|
||||
@@ -238,38 +238,38 @@ void ProjectMainConfigPage::initWidgets()
|
||||
project_variables_ = new DiagramContextWidget();
|
||||
project_variables_ -> setContext(DiagramContext());
|
||||
|
||||
usage_label_ = new QLabel(tr("Temps passé sur ce projet :", "label when configuring"));
|
||||
usage_label_ = new QLabel(tr("Time spent on this project:", "label when configuring"));
|
||||
usage_value_ = new QLabel();
|
||||
usage_enabled_cb_ = new QCheckBox(tr("Suivre le temps passé sur ce projet (uniquement enregistré localement dans ce fichier)", "checkbox label"));
|
||||
usage_reset_pb_ = new QPushButton(tr("Réinitialiser", "button label"));
|
||||
usage_enabled_cb_ = new QCheckBox(tr("Track the time spent on this project (recorded locally in this file only)", "checkbox label"));
|
||||
usage_reset_pb_ = new QPushButton(tr("Reset", "button label"));
|
||||
connect(usage_reset_pb_, &QPushButton::clicked, this, &ProjectMainConfigPage::resetUsageTracker);
|
||||
|
||||
//Hops where two conductors cross without being connected (issue #436)
|
||||
wire_hops_label_ = new QLabel(tr("Croisements de conducteurs :", "label when configuring"));
|
||||
wire_hops_label_ = new QLabel(tr("Conductor crossings:", "label when configuring"));
|
||||
wire_hops_cb_ = new QComboBox();
|
||||
wire_hops_cb_ -> addItem(tr("Sans saut", "wire crossings"),
|
||||
wire_hops_cb_ -> addItem(tr("No hop", "wire crossings"),
|
||||
WireHops::toString(WireHops::Mode::None));
|
||||
wire_hops_cb_ -> addItem(tr("Saut sur les conducteurs horizontaux", "wire crossings"),
|
||||
wire_hops_cb_ -> addItem(tr("Hop on horizontal conductors", "wire crossings"),
|
||||
WireHops::toString(WireHops::Mode::Horizontal));
|
||||
wire_hops_cb_ -> addItem(tr("Saut sur les conducteurs verticaux", "wire crossings"),
|
||||
wire_hops_cb_ -> addItem(tr("Hop on vertical conductors", "wire crossings"),
|
||||
WireHops::toString(WireHops::Mode::Vertical));
|
||||
wire_hops_cb_ -> setToolTip(tr("Dessine un petit arc là où deux conducteurs se croisent sans être reliés. "
|
||||
"Seul le dessin change : aucun élément n'est ajouté et aucun conducteur n'est coupé.",
|
||||
wire_hops_cb_ -> setToolTip(tr("Draws a small arc where two conductors cross without being connected. Only the "
|
||||
"drawing changes: no element is added and no conductor is cut.",
|
||||
"tooltip"));
|
||||
|
||||
//Texts of turned symbols kept horizontal
|
||||
upright_symbol_texts_cb_ = new QCheckBox(tr("Garder horizontaux les textes des symboles pivotés",
|
||||
upright_symbol_texts_cb_ = new QCheckBox(tr("Keep the texts of rotated elements horizontal",
|
||||
"checkbox label"));
|
||||
upright_symbol_texts_cb_ -> setToolTip(tr("Les textes dessinés dans un symbole et les noms de ses bornes restent "
|
||||
"lisibles quand le symbole est pivoté : leur cadre tourne avec le symbole, "
|
||||
"pas le texte. Décochez pour qu'ils tournent avec le symbole, comme avant.",
|
||||
upright_symbol_texts_cb_ -> setToolTip(tr("Texts drawn in an element and the names of its terminals stay readable "
|
||||
"when the element is rotated: their frame turns with the element, not the "
|
||||
"text. Uncheck to make them turn with the element, as before.",
|
||||
"tooltip"));
|
||||
|
||||
//How many wires a terminal may take (discussion #1158)
|
||||
wiring_rules_gb_ = new QGroupBox(tr("Conducteurs par borne", "group box title"));
|
||||
use_application_rules_cb_ = new QCheckBox(tr("Utiliser les réglages de l'application", "checkbox label"));
|
||||
use_application_rules_cb_ -> setToolTip(tr("Les réglages de Configurer QElectroTech > Général s'appliquent. "
|
||||
"Décochez pour donner à ce projet ses propres réglages, enregistrés dans le projet.",
|
||||
wiring_rules_gb_ = new QGroupBox(tr("Conductors per terminal", "group box title"));
|
||||
use_application_rules_cb_ = new QCheckBox(tr("Use the application settings", "checkbox label"));
|
||||
use_application_rules_cb_ -> setToolTip(tr("The settings in Configure QElectroTech > General apply. Untick to give this "
|
||||
"project its own settings, saved in the project.",
|
||||
"tooltip"));
|
||||
connect(use_application_rules_cb_, &QCheckBox::toggled, this, [this](bool use) {
|
||||
//Show the values that will apply: the application's, or the
|
||||
@@ -281,20 +281,20 @@ void ProjectMainConfigPage::initWidgets()
|
||||
}
|
||||
updateWiringRulesWidgets();
|
||||
});
|
||||
max_wires_label_ = new QLabel(tr("Nombre maximal de conducteurs par borne :", "label when configuring"));
|
||||
max_wires_label_ = new QLabel(tr("Maximum conductors per terminal:", "label when configuring"));
|
||||
max_wires_sb_ = new QSpinBox();
|
||||
max_wires_sb_ -> setRange(0, 99);
|
||||
max_wires_sb_ -> setSpecialValueText(tr("Sans limite", "wires per terminal"));
|
||||
max_wires_sb_ -> setToolTip(tr("Un nouveau conducteur qui dépasserait ce nombre sur une borne est refusé. "
|
||||
"Les conducteurs déjà dessinés ne sont pas modifiés. "
|
||||
"4 correspond à deux embouts doubles, un de chaque côté de la vis.",
|
||||
max_wires_sb_ -> setSpecialValueText(tr("No limit", "wires per terminal"));
|
||||
max_wires_sb_ -> setToolTip(tr("A new conductor that would take a terminal past this number is refused. "
|
||||
"Conductors already drawn are not changed. 4 means two twin ferrules, one "
|
||||
"on each side of the screw.",
|
||||
"tooltip"));
|
||||
one_wire_per_report_cb_ = new QCheckBox(tr("Un seul conducteur par renvoi de folio", "checkbox label"));
|
||||
one_wire_per_report_cb_ -> setToolTip(tr("Un renvoi de folio est un point virtuel : il ne reçoit qu'un conducteur, "
|
||||
"celui qui continue sur l'autre folio.",
|
||||
one_wire_per_report_cb_ = new QCheckBox(tr("Only one conductor per sheet reference", "checkbox label"));
|
||||
one_wire_per_report_cb_ -> setToolTip(tr("A sheet reference is a virtual point: it takes only one conductor, the "
|
||||
"one that continues on the other sheet.",
|
||||
"tooltip"));
|
||||
wiring_rules_off_label_ = new QLabel(tr("Ces règles sont désactivées pour tous les projets "
|
||||
"(Configurer QElectroTech > Général).",
|
||||
wiring_rules_off_label_ = new QLabel(tr("These rules are turned off for every project "
|
||||
"(Configure QElectroTech > General).",
|
||||
"informative label"));
|
||||
wiring_rules_off_label_ -> setWordWrap(true);
|
||||
}
|
||||
@@ -456,7 +456,7 @@ ProjectAutoNumConfigPage::ProjectAutoNumConfigPage (QETProject *project,
|
||||
*/
|
||||
QString ProjectAutoNumConfigPage::title() const
|
||||
{
|
||||
return tr("Numérotation auto");
|
||||
return tr("Auto Numbering");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -490,7 +490,7 @@ QWidget *schemeTab(SelectAutonumW *saw, QGroupBox *&box, QTableWidget *&table)
|
||||
box = new QGroupBox(tab);
|
||||
auto *box_layout = new QVBoxLayout(box);
|
||||
table = new QTableWidget(0, 2, box);
|
||||
table->setHorizontalHeaderLabels({QObject::tr("Folio"), QObject::tr("Titre")});
|
||||
table->setHorizontalHeaderLabels({QObject::tr("Sheet"), QObject::tr("Title")});
|
||||
table->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
table->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
table->verticalHeader()->setVisible(false);
|
||||
@@ -518,7 +518,7 @@ void ProjectAutoNumConfigPage::initWidgets()
|
||||
//Conductor tab
|
||||
m_saw_conductor = new SelectAutonumW(1);
|
||||
m_saw_conductor->setExplicitNaming();
|
||||
tab_widget->addTab(schemeTab(m_saw_conductor, m_conductor_users_box, m_conductor_users), tr("Conducteurs"));
|
||||
tab_widget->addTab(schemeTab(m_saw_conductor, m_conductor_users_box, m_conductor_users), tr("Conductors"));
|
||||
|
||||
//Element tab
|
||||
m_saw_element = new SelectAutonumW(0);
|
||||
@@ -533,38 +533,38 @@ void ProjectAutoNumConfigPage::initWidgets()
|
||||
m_element_users_box = new QGroupBox(element_tab);
|
||||
auto *users_layout = new QVBoxLayout(m_element_users_box);
|
||||
m_element_users = new QTableWidget(0, 5, m_element_users_box);
|
||||
m_element_users->setHorizontalHeaderLabels({tr("N°"), tr("Nom"), tr("Folio"), tr("Élément"), tr("Figé")});
|
||||
m_element_users->setHorizontalHeaderLabels({tr("No."), tr("Name"), tr("Sheet"), tr("Element"), tr("Frozen")});
|
||||
m_element_users->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
m_element_users->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||
m_element_users->verticalHeader()->setVisible(false);
|
||||
m_element_users->horizontalHeader()->setStretchLastSection(true);
|
||||
m_element_users->setAlternatingRowColors(true);
|
||||
users_layout->addWidget(m_element_users);
|
||||
m_assign_number_pb = new QPushButton(tr("Attribuer un numéro libre…"), m_element_users_box);
|
||||
m_assign_number_pb->setToolTip(tr("Donner à l'élément sélectionné un numéro que personne n'a : "
|
||||
"il garde sa numérotation, seul son numéro change."));
|
||||
m_assign_number_pb = new QPushButton(tr("Assign a free number…"), m_element_users_box);
|
||||
m_assign_number_pb->setToolTip(tr("Give the selected element a number nobody has: it keeps its "
|
||||
"numbering, only its number changes."));
|
||||
m_assign_number_pb->setEnabled(false);
|
||||
users_layout->addWidget(m_assign_number_pb, 0, Qt::AlignLeft);
|
||||
connect(m_assign_number_pb, &QPushButton::clicked, this, &ProjectAutoNumConfigPage::assignFreeNumber);
|
||||
connect(m_element_users, &QTableWidget::itemSelectionChanged,
|
||||
this, &ProjectAutoNumConfigPage::updateAssignNumberButton);
|
||||
element_layout->addWidget(m_element_users_box, 1);
|
||||
tab_widget->addTab(element_tab, tr("Eléments"));
|
||||
tab_widget->addTab(element_tab, tr("Elements"));
|
||||
|
||||
//Folio Tab
|
||||
m_saw_folio = new SelectAutonumW(2);
|
||||
m_saw_folio->setExplicitNaming();
|
||||
tab_widget->addTab(schemeTab(m_saw_folio, m_folio_users_box, m_folio_users), tr("Folios"));
|
||||
tab_widget->addTab(schemeTab(m_saw_folio, m_folio_users_box, m_folio_users), tr("Sheets"));
|
||||
|
||||
//AutoNumbering Tab
|
||||
m_faw = new FolioAutonumberingW(project());
|
||||
tab_widget->addTab(m_faw, tr("Numérotation auto des folios"));
|
||||
tab_widget->addTab(m_faw, tr("Sheet Auto Numbering"));
|
||||
|
||||
m_import_pb = new QPushButton(
|
||||
tr("Importer depuis un autre projet..."), this);
|
||||
tr("Import from another project..."), this);
|
||||
m_import_pb->setToolTip(
|
||||
tr("Reprendre les numérotations automatiques "
|
||||
"enregistrées dans un autre projet"));
|
||||
tr("Reuse the automatic numbering saved in "
|
||||
"another project"));
|
||||
|
||||
QHBoxLayout *button_layout = new QHBoxLayout();
|
||||
button_layout->addStretch();
|
||||
@@ -752,7 +752,7 @@ void ProjectAutoNumConfigPage::refreshElementUsers()
|
||||
entry.element->elementInformations().value(QStringLiteral("label")).toString(),
|
||||
entry.element->diagram() ? QString::number(entry.element->diagram()->folioIndex() + 1) : QString(),
|
||||
entry.element->name(),
|
||||
is_frozen ? tr("figé") : QString()};
|
||||
is_frozen ? tr("frozen") : QString()};
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -760,8 +760,8 @@ void ProjectAutoNumConfigPage::refreshElementUsers()
|
||||
cells = QStringList{
|
||||
entry.to > entry.number ? QStringLiteral("%1 – %2").arg(entry.number).arg(entry.to)
|
||||
: QString::number(entry.number),
|
||||
tr("— libre —"), QString(),
|
||||
tr("aucun élément n'a ce numéro (supprimé ou renuméroté)"), QString()};
|
||||
tr("— free —"), QString(),
|
||||
tr("no element has this number (deleted or renumbered)"), QString()};
|
||||
}
|
||||
for (int column = 0 ; column < cells.size() ; ++column) {
|
||||
auto *item = new QTableWidgetItem(cells.at(column));
|
||||
@@ -778,10 +778,10 @@ void ProjectAutoNumConfigPage::refreshElementUsers()
|
||||
m_element_users->resizeColumnsToContents();
|
||||
m_element_users_box->setTitle(
|
||||
users.isEmpty()
|
||||
? tr("Aucun élément ne suit cette numérotation")
|
||||
: tr("%n élément(s) suivent cette numérotation, dont %1 au nom figé", "", users.size())
|
||||
? tr("No element follows this numbering")
|
||||
: tr("%n elements follow this numbering, %1 with a frozen name", "", users.size())
|
||||
.arg(frozen)
|
||||
+ (gaps ? tr(" ; %n numéro(s) sans élément", "", gaps) : QString()));
|
||||
+ (gaps ? tr("; %n numbers without an element", "", gaps) : QString()));
|
||||
updateAssignNumberButton();
|
||||
}
|
||||
|
||||
@@ -803,10 +803,10 @@ void ProjectAutoNumConfigPage::updateAssignNumberButton()
|
||||
m_assign_number_pb->setEnabled(element && supported && !m_project->isReadOnly());
|
||||
m_assign_number_pb->setToolTip(
|
||||
!supported
|
||||
? tr("Cette numérotation a plusieurs numéros (ou un numéro par folio) : "
|
||||
"on ne peut pas en choisir un à la main.")
|
||||
: tr("Donner à l'élément sélectionné un numéro que personne n'a : "
|
||||
"il garde sa numérotation, seul son numéro change."));
|
||||
? tr("This numbering has several numbers (or one number per sheet): one "
|
||||
"cannot be chosen by hand.")
|
||||
: tr("Give the selected element a number nobody has: it keeps its "
|
||||
"numbering, only its number changes."));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -820,18 +820,18 @@ void ProjectAutoNumConfigPage::assignFreeNumber()
|
||||
const int row = m_element_users->currentRow();
|
||||
Element *element = row >= 0 ? m_element_rows.value(row).data() : nullptr;
|
||||
const QString title = m_saw_element->contextComboBox()->currentText();
|
||||
const QString caption = tr("Attribuer un numéro libre");
|
||||
const QString caption = tr("Assign a free number");
|
||||
if (!element || m_project->isReadOnly()) {
|
||||
return;
|
||||
}
|
||||
if (element->isFreezeLabel()) {
|
||||
QMessageBox::information(this, caption,
|
||||
tr("Le nom de cet élément est figé : dégelez-le d'abord."));
|
||||
tr("This element's name is frozen: unfreeze it first."));
|
||||
return;
|
||||
}
|
||||
const QList<int> numbers = ElementAutoNumSchemeCommand::freeNumbers(m_project, title, element);
|
||||
if (numbers.isEmpty()) {
|
||||
QMessageBox::information(this, caption, tr("Aucun numéro n'est libre."));
|
||||
QMessageBox::information(this, caption, tr("No number is free."));
|
||||
return;
|
||||
}
|
||||
QStringList items;
|
||||
@@ -842,7 +842,7 @@ void ProjectAutoNumConfigPage::assignFreeNumber()
|
||||
bool ok = false;
|
||||
const QString chosen = QInputDialog::getItem(
|
||||
this, caption,
|
||||
tr("Numéro libre pour l'élément « %1 » (%2) :")
|
||||
tr("Free number for element “%1” (%2):")
|
||||
.arg(element->elementInformations().value(QStringLiteral("label")).toString(), element->name()),
|
||||
items, 0, false, &ok);
|
||||
if (!ok) {
|
||||
@@ -893,7 +893,7 @@ QString ProjectAutoNumConfigPage::askElementSchemeName(const QString &title,
|
||||
for (;;)
|
||||
{
|
||||
bool ok = false;
|
||||
name = QInputDialog::getText(this, title, tr("Nom de la numérotation :"),
|
||||
name = QInputDialog::getText(this, title, tr("Numbering name:"),
|
||||
QLineEdit::Normal, name, &ok);
|
||||
if (!ok) {
|
||||
return QString();
|
||||
@@ -922,9 +922,9 @@ bool ProjectAutoNumConfigPage::pushElementSchemeCommand(ElementAutoNumSchemeComm
|
||||
{
|
||||
if (!RenumberPreviewDialog::confirm(
|
||||
this,
|
||||
tr("Modifier la numérotation"),
|
||||
tr("%n élément(s) suivent cette numérotation et vont "
|
||||
"changer de formule et de nom.", "", changed),
|
||||
tr("Modify numbering"),
|
||||
tr("%n elements follow this numbering and will change "
|
||||
"formula and name.", "", changed),
|
||||
cmd->changes(), {})) {
|
||||
delete cmd;
|
||||
return false;
|
||||
@@ -944,7 +944,7 @@ void ProjectAutoNumConfigPage::newContextElement()
|
||||
if (m_project->isReadOnly()) {
|
||||
return;
|
||||
}
|
||||
const QString name = askElementSchemeName(tr("Nouvelle numérotation"),
|
||||
const QString name = askElementSchemeName(tr("New numbering"),
|
||||
QString(), QString());
|
||||
if (name.isEmpty()) {
|
||||
return;
|
||||
@@ -969,7 +969,7 @@ void ProjectAutoNumConfigPage::renameContextElement()
|
||||
if (m_project->isReadOnly() || !m_project->elementAutoNum().contains(old_title)) {
|
||||
return;
|
||||
}
|
||||
const QString name = askElementSchemeName(tr("Renommer la numérotation"),
|
||||
const QString name = askElementSchemeName(tr("Rename numbering"),
|
||||
old_title, old_title);
|
||||
if (name.isEmpty() || name == old_title) {
|
||||
return;
|
||||
@@ -997,7 +997,7 @@ void ProjectAutoNumConfigPage::saveContextElement()
|
||||
if (!m_project->elementAutoNum().contains(title))
|
||||
{
|
||||
//No numbering yet: the definition needs a name
|
||||
shown = askElementSchemeName(tr("Nouvelle numérotation"),
|
||||
shown = askElementSchemeName(tr("New numbering"),
|
||||
QString(), QString());
|
||||
if (shown.isEmpty()) {
|
||||
return;
|
||||
@@ -1012,11 +1012,11 @@ void ProjectAutoNumConfigPage::saveContextElement()
|
||||
m_project, title, wanted).size())
|
||||
{
|
||||
QMessageBox::warning(
|
||||
this, tr("Modifier la numérotation"),
|
||||
tr("La numérotation « %1 » ne peut pas être modifiée : "
|
||||
"%n élément(s) au nom figé la suivent.\n"
|
||||
"Dégelez-les d'abord (voir la liste), ou renommez seulement la "
|
||||
"numérotation.", "", frozen).arg(title));
|
||||
this, tr("Modify numbering"),
|
||||
tr("The “%1” numbering cannot be modified: %n elements with a "
|
||||
"frozen name follow it.\n"
|
||||
"Unfreeze them first (see the list), or just rename the "
|
||||
"numbering.", "", frozen).arg(title));
|
||||
refreshElementSchemes(title); //Back to the definition the project has
|
||||
return;
|
||||
}
|
||||
@@ -1052,24 +1052,24 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
|
||||
const QString path = QFileDialog::getOpenFileName(
|
||||
this,
|
||||
tr("Importer les numérotations d'un projet"),
|
||||
tr("Import numbering from a project"),
|
||||
m_project->currentDir(),
|
||||
tr("Projet QElectroTech (*.qet)"));
|
||||
tr("Project QElectroTech (*.qet)"));
|
||||
if (path.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
QFile file(path);
|
||||
if (!file.open(QIODevice::ReadOnly)) {
|
||||
QMessageBox::warning(this, tr("Import impossible"),
|
||||
tr("Impossible d'ouvrir %1").arg(path));
|
||||
QMessageBox::warning(this, tr("Import not possible"),
|
||||
tr("Unable to open %1").arg(path));
|
||||
return;
|
||||
}
|
||||
|
||||
QDomDocument doc;
|
||||
if (!doc.setContent(&file)) {
|
||||
QMessageBox::warning(this, tr("Import impossible"),
|
||||
tr("%1 n'est pas un projet QElectroTech valide.")
|
||||
QMessageBox::warning(this, tr("Import not possible"),
|
||||
tr("%1 is not a valid QElectroTech project.")
|
||||
.arg(QFileInfo(path).fileName()));
|
||||
return;
|
||||
}
|
||||
@@ -1078,8 +1078,8 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
const QDomNodeList newdiagrams =
|
||||
doc.elementsByTagName(QStringLiteral("newdiagrams"));
|
||||
if (newdiagrams.isEmpty()) {
|
||||
QMessageBox::information(this, tr("Aucune numérotation"),
|
||||
tr("Ce projet ne contient aucune numérotation automatique."));
|
||||
QMessageBox::information(this, tr("No numbering"),
|
||||
tr("This project does not contain any automatic numbering."));
|
||||
return;
|
||||
}
|
||||
const QDomElement root = newdiagrams.at(0).toElement();
|
||||
@@ -1092,18 +1092,18 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
};
|
||||
const QList<Category> categories {
|
||||
{QStringLiteral("conductors_autonums"),
|
||||
QStringLiteral("conductor_autonum"), tr("Conducteurs")},
|
||||
QStringLiteral("conductor_autonum"), tr("Conductors")},
|
||||
{QStringLiteral("element_autonums"),
|
||||
QStringLiteral("element_autonum"), tr("Eléments")},
|
||||
QStringLiteral("element_autonum"), tr("Elements")},
|
||||
{QStringLiteral("folio_autonums"),
|
||||
QStringLiteral("folio_autonum"), tr("Folios")}
|
||||
QStringLiteral("folio_autonum"), tr("Sheets")}
|
||||
};
|
||||
|
||||
QDialog dialog(this);
|
||||
dialog.setWindowTitle(tr("Numérotations à importer"));
|
||||
dialog.setWindowTitle(tr("Numbering to import"));
|
||||
QVBoxLayout *layout = new QVBoxLayout(&dialog);
|
||||
layout->addWidget(new QLabel(
|
||||
tr("Numérotations trouvées dans %1 :")
|
||||
tr("Numbering found in %1:")
|
||||
.arg(QFileInfo(path).fileName()), &dialog));
|
||||
|
||||
QListWidget *list = new QListWidget(&dialog);
|
||||
@@ -1141,7 +1141,7 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
}
|
||||
|
||||
QListWidgetItem *item = new QListWidgetItem(
|
||||
exists ? tr("%1 : %2 (existe déjà)")
|
||||
exists ? tr("%1: %2 (already exists)")
|
||||
.arg(category.label, title)
|
||||
: QStringLiteral("%1 : %2")
|
||||
.arg(category.label, title),
|
||||
@@ -1160,13 +1160,13 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
}
|
||||
|
||||
if (contexts.isEmpty()) {
|
||||
QMessageBox::information(this, tr("Aucune numérotation"),
|
||||
tr("Ce projet ne contient aucune numérotation automatique."));
|
||||
QMessageBox::information(this, tr("No numbering"),
|
||||
tr("This project does not contain any automatic numbering."));
|
||||
return;
|
||||
}
|
||||
|
||||
QCheckBox *overwrite_cb = new QCheckBox(
|
||||
tr("Remplacer les numérotations de même nom"), &dialog);
|
||||
tr("Replace numbering with the same name"), &dialog);
|
||||
layout->addWidget(overwrite_cb);
|
||||
|
||||
QDialogButtonBox *buttons = new QDialogButtonBox(
|
||||
@@ -1180,7 +1180,7 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
}
|
||||
|
||||
int imported = 0, skipped = 0, conductors = 0, relabelled = 0, blocked = 0;
|
||||
m_project->undoStack()->beginMacro(tr("Importer des numérotations"));
|
||||
m_project->undoStack()->beginMacro(tr("Import numberings"));
|
||||
for (int row = 0 ; row < list->count() ; ++row)
|
||||
{
|
||||
QListWidgetItem *item = list->item(row);
|
||||
@@ -1261,17 +1261,17 @@ void ProjectAutoNumConfigPage::importFromProject()
|
||||
}
|
||||
|
||||
QMessageBox::information(
|
||||
this, tr("Import terminé"),
|
||||
(skipped ? tr("%1 numérotation(s) importée(s), "
|
||||
"%2 conservée(s) telles quelles.")
|
||||
this, tr("Import complete"),
|
||||
(skipped ? tr("%1 numbering(s) imported, %2 "
|
||||
"kept unchanged.")
|
||||
.arg(imported).arg(skipped)
|
||||
: tr("%1 numérotation(s) importée(s).").arg(imported))
|
||||
: tr("%1 numbering(s) imported.").arg(imported))
|
||||
+ (blocked ? QStringLiteral("\n")
|
||||
+ tr("%n numérotation(s) suivie(s) par des éléments au nom figé "
|
||||
"n'ont pas été remplacées.", "", blocked)
|
||||
+ tr("%n numberings followed by elements with a frozen name were "
|
||||
"not replaced.", "", blocked)
|
||||
: QString())
|
||||
+ (relabelled ? QStringLiteral("\n")
|
||||
+ tr("%n élément(s) ont changé de formule.", "", relabelled)
|
||||
+ tr("%n elements changed formula.", "", relabelled)
|
||||
: QString()));
|
||||
}
|
||||
|
||||
@@ -1288,10 +1288,10 @@ void ProjectAutoNumConfigPage::removeContextElement()
|
||||
if (const int used = m_project->elementsUsingElementAutoNum(title).size())
|
||||
{
|
||||
QMessageBox::information(
|
||||
this, tr("Supprimer la numérotation"),
|
||||
tr("%n élément(s) suivent la numérotation « %1 », elle ne "
|
||||
"peut pas être supprimée.\nDonnez-leur une autre "
|
||||
"numérotation ou un nom fixe d'abord.", "", used)
|
||||
this, tr("Delete numbering"),
|
||||
tr("%n elements follow the “%1” numbering, so it cannot be "
|
||||
"deleted.\n"
|
||||
"Give them another numbering or a fixed name first.", "", used)
|
||||
.arg(title));
|
||||
return;
|
||||
}
|
||||
@@ -1513,12 +1513,12 @@ void ProjectAutoNumConfigPage::refreshSchemeUsers(SchemeKind kind)
|
||||
table->resizeColumnsToContents();
|
||||
if (kind == SchemeKind::Folio) {
|
||||
box->setTitle(users.isEmpty()
|
||||
? tr("Aucun folio ne nomme cette numérotation")
|
||||
: tr("%n folio(s) nomment cette numérotation", "", users.size()));
|
||||
? tr("No sheet names this numbering")
|
||||
: tr("%n sheets name this numbering", "", users.size()));
|
||||
} else {
|
||||
box->setTitle(users.isEmpty()
|
||||
? tr("Aucun folio ne suit cette numérotation")
|
||||
: tr("%n folio(s) suivent cette numérotation", "", users.size()));
|
||||
? tr("No sheet follows this numbering")
|
||||
: tr("%n sheets follow this numbering", "", users.size()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1528,7 +1528,7 @@ QString ProjectAutoNumConfigPage::askSchemeName(SchemeKind kind, const QString &
|
||||
for (;;)
|
||||
{
|
||||
bool ok = false;
|
||||
name = QInputDialog::getText(this, title, tr("Nom de la numérotation :"),
|
||||
name = QInputDialog::getText(this, title, tr("Numbering name:"),
|
||||
QLineEdit::Normal, name, &ok);
|
||||
if (!ok) {
|
||||
return QString();
|
||||
@@ -1550,7 +1550,7 @@ void ProjectAutoNumConfigPage::newScheme(SchemeKind kind)
|
||||
if (m_project->isReadOnly()) {
|
||||
return;
|
||||
}
|
||||
const QString name = askSchemeName(kind, tr("Nouvelle numérotation"), QString(), QString());
|
||||
const QString name = askSchemeName(kind, tr("New numbering"), QString(), QString());
|
||||
if (name.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -1572,7 +1572,7 @@ void ProjectAutoNumConfigPage::renameScheme(SchemeKind kind)
|
||||
if (m_project->isReadOnly() || !AutoNumSchemeCommand::contains(m_project, kind, old_title)) {
|
||||
return;
|
||||
}
|
||||
const QString name = askSchemeName(kind, tr("Renommer la numérotation"), old_title, old_title);
|
||||
const QString name = askSchemeName(kind, tr("Rename numbering"), old_title, old_title);
|
||||
if (name.isEmpty() || name == old_title) {
|
||||
return;
|
||||
}
|
||||
@@ -1601,7 +1601,7 @@ void ProjectAutoNumConfigPage::saveScheme(SchemeKind kind)
|
||||
AutoNumSchemeCommand *cmd = nullptr;
|
||||
if (!AutoNumSchemeCommand::contains(m_project, kind, title))
|
||||
{
|
||||
shown = askSchemeName(kind, tr("Nouvelle numérotation"), QString(), QString());
|
||||
shown = askSchemeName(kind, tr("New numbering"), QString(), QString());
|
||||
if (shown.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -1630,9 +1630,9 @@ void ProjectAutoNumConfigPage::removeScheme(SchemeKind kind)
|
||||
if (const int used = AutoNumSchemeCommand::usersOf(m_project, kind, title).size())
|
||||
{
|
||||
QMessageBox::information(
|
||||
this, tr("Supprimer la numérotation"),
|
||||
tr("%n folio(s) suivent la numérotation « %1 », elle ne peut pas être "
|
||||
"supprimée.\nDonnez-leur une autre numérotation d'abord.", "", used)
|
||||
this, tr("Delete numbering"),
|
||||
tr("%n sheets follow the “%1” numbering, so it cannot be deleted.\n"
|
||||
"Give them another numbering first.", "", used)
|
||||
.arg(title));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -49,10 +49,9 @@ ShortcutBarConfigPage::ShortcutBarConfigPage(QWidget *parent) :
|
||||
}
|
||||
|
||||
auto *explanation = new QLabel(
|
||||
tr("La barre de raccourcis s'ouvre à la position du curseur "
|
||||
"(touche S par défaut). Elle montre les commandes choisies "
|
||||
"ici selon ce qui est sélectionné, puis le sélecteur "
|
||||
"d'éléments."), this);
|
||||
tr("The shortcut bar opens at the cursor position (S key by "
|
||||
"default). It shows the commands chosen here based on what "
|
||||
"is selected, then the element picker."), this);
|
||||
explanation->setWordWrap(true);
|
||||
|
||||
m_context = new QComboBox(this);
|
||||
@@ -67,11 +66,11 @@ ShortcutBarConfigPage::ShortcutBarConfigPage(QWidget *parent) :
|
||||
m_chosen->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
m_chosen->setDragDropMode(QAbstractItemView::InternalMove);
|
||||
|
||||
auto *add = new QPushButton(tr("Ajouter →"), this);
|
||||
auto *remove = new QPushButton(tr("← Retirer"), this);
|
||||
auto *up = new QPushButton(tr("Monter"), this);
|
||||
auto *down = new QPushButton(tr("Descendre"), this);
|
||||
auto *reset = new QPushButton(tr("Valeurs par défaut"), this);
|
||||
auto *add = new QPushButton(tr("Add →"), this);
|
||||
auto *remove = new QPushButton(tr("← Remove"), this);
|
||||
auto *up = new QPushButton(tr("Move up"), this);
|
||||
auto *down = new QPushButton(tr("Move down"), this);
|
||||
auto *reset = new QPushButton(tr("Default values"), this);
|
||||
|
||||
auto *buttons = new QVBoxLayout();
|
||||
buttons->addStretch();
|
||||
@@ -83,14 +82,14 @@ ShortcutBarConfigPage::ShortcutBarConfigPage(QWidget *parent) :
|
||||
buttons->addStretch();
|
||||
|
||||
auto *grid = new QGridLayout();
|
||||
grid->addWidget(new QLabel(tr("Commandes disponibles"), this), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("Dans la barre, dans l'ordre"), this), 0, 2);
|
||||
grid->addWidget(new QLabel(tr("Available commands"), this), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("In the bar, in order"), this), 0, 2);
|
||||
grid->addWidget(m_available, 1, 0);
|
||||
grid->addLayout(buttons, 1, 1);
|
||||
grid->addWidget(m_chosen, 1, 2);
|
||||
|
||||
auto *context_row = new QHBoxLayout();
|
||||
context_row->addWidget(new QLabel(tr("Contexte :"), this));
|
||||
context_row->addWidget(new QLabel(tr("Context:"), this));
|
||||
context_row->addWidget(m_context, 1);
|
||||
context_row->addWidget(reset);
|
||||
|
||||
@@ -128,7 +127,7 @@ void ShortcutBarConfigPage::applyConf()
|
||||
|
||||
QString ShortcutBarConfigPage::title() const
|
||||
{
|
||||
return tr("Barre de raccourcis", "configuration page title");
|
||||
return tr("Shortcut bar", "configuration page title");
|
||||
}
|
||||
|
||||
QIcon ShortcutBarConfigPage::icon() const
|
||||
|
||||
@@ -82,21 +82,21 @@ ShortcutsConfigPage::ShortcutsConfigPage(QWidget *parent) :
|
||||
vlayout->addWidget(horiz_line);
|
||||
|
||||
m_filter_edit = new QLineEdit(this);
|
||||
m_filter_edit->setPlaceholderText(tr("Filtrer les raccourcis…"));
|
||||
m_filter_edit->setPlaceholderText(tr("Filter shortcuts…"));
|
||||
connect(m_filter_edit, &QLineEdit::textChanged, this, &ShortcutsConfigPage::filterRows);
|
||||
|
||||
m_quick_filter = new QComboBox(this);
|
||||
m_quick_filter->setObjectName(QStringLiteral("quickFilterCombo"));
|
||||
m_quick_filter->addItem(tr("Tous"));
|
||||
m_quick_filter->addItem(tr("Attribués uniquement"));
|
||||
m_quick_filter->addItem(tr("Non attribués uniquement"));
|
||||
m_quick_filter->addItem(tr("Conflits uniquement"));
|
||||
m_quick_filter->addItem(tr("all"));
|
||||
m_quick_filter->addItem(tr("Awarded exclusively"));
|
||||
m_quick_filter->addItem(tr("Unallocated only"));
|
||||
m_quick_filter->addItem(tr("Conflicts only"));
|
||||
connect(m_quick_filter, QOverload<int>::of(&QComboBox::currentIndexChanged),
|
||||
this, &ShortcutsConfigPage::quickFilterChanged);
|
||||
|
||||
m_category_filter = new QComboBox(this);
|
||||
m_category_filter->setObjectName(QStringLiteral("categoryFilterCombo"));
|
||||
m_category_filter->addItem(tr("Toutes les catégories"));
|
||||
m_category_filter->addItem(tr("All categories"));
|
||||
connect(m_category_filter, QOverload<int>::of(&QComboBox::currentIndexChanged),
|
||||
this, &ShortcutsConfigPage::quickFilterChanged);
|
||||
|
||||
@@ -114,7 +114,7 @@ ShortcutsConfigPage::ShortcutsConfigPage(QWidget *parent) :
|
||||
//know how QElectroTech spells it ("Ctrl+Maj+S", "Ctrl+Shift+S"…)
|
||||
m_key_search = new QKeySequenceEdit(this);
|
||||
m_key_search->setObjectName(QStringLiteral("keySearchEdit"));
|
||||
m_key_search->setToolTip(tr("Appuyez sur une combinaison de touches pour voir quelle commande l'utilise"));
|
||||
m_key_search->setToolTip(tr("Press a key combination to see which command uses it"));
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
|
||||
m_key_search->setMaximumSequenceLength(1);
|
||||
#endif
|
||||
@@ -122,19 +122,19 @@ ShortcutsConfigPage::ShortcutsConfigPage(QWidget *parent) :
|
||||
|
||||
auto *clear_key_button = new QToolButton(this);
|
||||
clear_key_button->setIcon(QET::Icons::EditClear);
|
||||
clear_key_button->setToolTip(tr("Effacer la touche recherchée"));
|
||||
clear_key_button->setToolTip(tr("Clear the searched key"));
|
||||
clear_key_button->setAutoRaise(true);
|
||||
connect(clear_key_button, &QToolButton::clicked, m_key_search, &QKeySequenceEdit::clear);
|
||||
|
||||
auto *key_layout = new QHBoxLayout();
|
||||
key_layout->addWidget(new QLabel(tr("Rechercher par touche :"), this));
|
||||
key_layout->addWidget(new QLabel(tr("Search by key:"), this));
|
||||
key_layout->addWidget(m_key_search);
|
||||
key_layout->addWidget(clear_key_button);
|
||||
key_layout->addStretch();
|
||||
vlayout->addLayout(key_layout);
|
||||
|
||||
m_tree = new QTreeWidget(this);
|
||||
m_tree->setHeaderLabels({tr("Action"), tr("Menu"), tr("Raccourci"), QString()});
|
||||
m_tree->setHeaderLabels({tr("Action"), tr("Menu"), tr("Shortcut"), QString()});
|
||||
m_tree->header()->setSectionResizeMode(ActionColumn, QHeaderView::Stretch);
|
||||
m_tree->header()->setSectionResizeMode(MenuColumn, QHeaderView::ResizeToContents);
|
||||
m_tree->header()->setSectionResizeMode(SequenceColumn, QHeaderView::ResizeToContents);
|
||||
@@ -143,11 +143,11 @@ ShortcutsConfigPage::ShortcutsConfigPage(QWidget *parent) :
|
||||
m_tree->setSelectionMode(QAbstractItemView::NoSelection);
|
||||
vlayout->addWidget(m_tree);
|
||||
|
||||
auto *reset_all_button = new QPushButton(tr("Tout réinitialiser"), this);
|
||||
auto *reset_all_button = new QPushButton(tr("Reset everything"), this);
|
||||
connect(reset_all_button, &QPushButton::clicked, this, &ShortcutsConfigPage::resetAllRows);
|
||||
|
||||
auto *copy_button = new QPushButton(QET::Icons::EditCopy, tr("Copier la liste"), this);
|
||||
copy_button->setToolTip(tr("Copie les raccourcis affichés, à coller dans un tableur ou un document"));
|
||||
auto *copy_button = new QPushButton(QET::Icons::EditCopy, tr("Copy list"), this);
|
||||
copy_button->setToolTip(tr("Copies the shortcuts shown, to paste into a spreadsheet or a document"));
|
||||
connect(copy_button, &QPushButton::clicked, this, &ShortcutsConfigPage::copyList);
|
||||
|
||||
auto *bottom_layout = new QHBoxLayout();
|
||||
@@ -214,7 +214,7 @@ void ShortcutsConfigPage::populateTable()
|
||||
|
||||
auto *reset_button = new QToolButton(m_tree);
|
||||
reset_button->setIcon(QET::Icons::EditUndo);
|
||||
reset_button->setToolTip(tr("Réinitialiser ce raccourci"));
|
||||
reset_button->setToolTip(tr("Reset this shortcut"));
|
||||
reset_button->setAutoRaise(true);
|
||||
const int row_index = m_rows.size();
|
||||
connect(reset_button, &QToolButton::clicked, this, [this, row_index]() { resetRow(row_index); });
|
||||
@@ -334,7 +334,7 @@ void ShortcutsConfigPage::applyFilter()
|
||||
top->setExpanded(filtering && any_visible);
|
||||
}
|
||||
|
||||
m_count_label->setText(tr("%n action(s)", nullptr, visible_actions));
|
||||
m_count_label->setText(tr("%n actions", nullptr, visible_actions));
|
||||
}
|
||||
|
||||
// IDs use stable context prefixes; translated display categories are not scopes.
|
||||
@@ -392,7 +392,7 @@ void ShortcutsConfigPage::checkConflicts()
|
||||
}
|
||||
current_row.item->setBackground(ActionColumn, QColor(255, 205, 205));
|
||||
current_row.edit->setToolTip(
|
||||
tr("Ce raccourci est aussi utilisé par : %1").arg(other_descriptions.join(QStringLiteral(", "))));
|
||||
tr("This shortcut is also used by : %1").arg(other_descriptions.join(QStringLiteral(", "))));
|
||||
} else {
|
||||
current_row.item->setBackground(ActionColumn, QBrush());
|
||||
current_row.edit->setToolTip(QString());
|
||||
@@ -487,7 +487,7 @@ QString ShortcutsConfigPage::menuPath(const QAction *action)
|
||||
QString ShortcutsConfigPage::listAsText() const
|
||||
{
|
||||
QStringList lines;
|
||||
lines << QStringList{tr("Catégorie"), tr("Menu"), tr("Action"), tr("Raccourci")}
|
||||
lines << QStringList{tr("Category"), tr("Menu"), tr("Action"), tr("Shortcut")}
|
||||
.join(QLatin1Char('\t'));
|
||||
for (const Row &row : std::as_const(m_rows)) {
|
||||
if (row.item->isHidden()) {
|
||||
@@ -511,7 +511,7 @@ void ShortcutsConfigPage::copyList()
|
||||
|
||||
QString ShortcutsConfigPage::title() const
|
||||
{
|
||||
return tr("Raccourcis", "configuration page title");
|
||||
return tr("Shortcuts", "configuration page title");
|
||||
}
|
||||
|
||||
QIcon ShortcutsConfigPage::icon() const
|
||||
|
||||
@@ -46,7 +46,7 @@ namespace {
|
||||
//nothing. Real action ids are never empty (ShortcutManager assigns
|
||||
//them from source, not user input), so an empty string can never
|
||||
//collide with a real one.
|
||||
const QString UNBOUND_LABEL = QObject::tr("(Aucune action)", "spacemouse config: unbound button");
|
||||
const QString UNBOUND_LABEL = QObject::tr("(No action)", "spacemouse config: unbound button");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -68,10 +68,9 @@ SpaceMouseConfigPage::SpaceMouseConfigPage(QWidget *parent) :
|
||||
vlayout->addWidget(buildMotionGroup());
|
||||
|
||||
auto *intro_label = new QLabel(
|
||||
tr("Associez un numéro de bouton de votre souris 3D (SpaceMouse, SpacePilot...) "
|
||||
"à une action de QElectroTech. Le numéro de bouton dépend de votre appareil "
|
||||
"et de son pilote -- reportez-vous à sa documentation, ou essayez successivement "
|
||||
"les valeurs à partir de 0.",
|
||||
tr("Link a button number on your 3D mouse (SpaceMouse, SpacePilot...) to a "
|
||||
"QElectroTech action. The button number depends on your device and its driver -- "
|
||||
"see its documentation, or try the values one by one starting from 0.",
|
||||
"spacemouse config page intro"));
|
||||
intro_label->setWordWrap(true);
|
||||
|
||||
@@ -79,7 +78,7 @@ SpaceMouseConfigPage::SpaceMouseConfigPage(QWidget *parent) :
|
||||
buttons_layout->addWidget(intro_label);
|
||||
|
||||
m_table = new QTableWidget(0, 3, this);
|
||||
m_table->setHorizontalHeaderLabels({tr("N° bouton"), tr("Action"), QString()});
|
||||
m_table->setHorizontalHeaderLabels({tr("Button no."), tr("Action"), QString()});
|
||||
m_table->horizontalHeader()->setSectionResizeMode(COL_BUTTON, QHeaderView::ResizeToContents);
|
||||
m_table->horizontalHeader()->setSectionResizeMode(COL_ACTION, QHeaderView::Stretch);
|
||||
m_table->horizontalHeader()->setSectionResizeMode(COL_REMOVE, QHeaderView::ResizeToContents);
|
||||
@@ -88,7 +87,7 @@ SpaceMouseConfigPage::SpaceMouseConfigPage(QWidget *parent) :
|
||||
m_table->setSelectionMode(QAbstractItemView::NoSelection);
|
||||
buttons_layout->addWidget(m_table);
|
||||
|
||||
auto *add_button = new QPushButton(QET::Icons::Add, tr("Ajouter une association"), this);
|
||||
auto *add_button = new QPushButton(QET::Icons::Add, tr("Add a link"), this);
|
||||
connect(add_button, &QPushButton::clicked, this, &SpaceMouseConfigPage::addRow);
|
||||
|
||||
auto *bottom_layout = new QHBoxLayout();
|
||||
@@ -96,7 +95,7 @@ SpaceMouseConfigPage::SpaceMouseConfigPage(QWidget *parent) :
|
||||
bottom_layout->addStretch();
|
||||
buttons_layout->addLayout(bottom_layout);
|
||||
|
||||
auto *buttons_group = new QGroupBox(tr("Boutons"), this);
|
||||
auto *buttons_group = new QGroupBox(tr("Buttons"), this);
|
||||
buttons_group->setLayout(buttons_layout);
|
||||
vlayout->addWidget(buttons_group);
|
||||
|
||||
@@ -132,34 +131,34 @@ QGroupBox *SpaceMouseConfigPage::buildMotionGroup()
|
||||
m_dead_zone = new QSpinBox(this);
|
||||
m_dead_zone->setRange(0, 200);
|
||||
m_dead_zone->setValue(settings.dead_zone);
|
||||
m_dead_zone->setToolTip(tr("Les petits mouvements en dessous de ce seuil sont ignorés. "
|
||||
"Augmentez-le si la vue dérive quand vous ne touchez pas la souris."));
|
||||
m_dead_zone->setToolTip(tr("Small movements below this threshold are ignored. Raise it if the "
|
||||
"view drifts when you are not touching the mouse."));
|
||||
|
||||
m_zoom_axis = new QComboBox(this);
|
||||
m_zoom_axis->addItem(tr("Pousser / tirer le capuchon"),
|
||||
m_zoom_axis->addItem(tr("Push / pull the cap"),
|
||||
static_cast<int>(SpaceMouseSettings::ZoomAxis::PushPull));
|
||||
m_zoom_axis->addItem(tr("Tourner le capuchon"),
|
||||
m_zoom_axis->addItem(tr("Twist the cap"),
|
||||
static_cast<int>(SpaceMouseSettings::ZoomAxis::Twist));
|
||||
m_zoom_axis->setCurrentIndex(
|
||||
m_zoom_axis->findData(static_cast<int>(settings.zoom_axis)));
|
||||
|
||||
m_invert_pan_x = new QCheckBox(tr("Inverser le déplacement horizontal"), this);
|
||||
m_invert_pan_x = new QCheckBox(tr("Reverse horizontal movement"), this);
|
||||
m_invert_pan_x->setChecked(settings.invert_pan_x);
|
||||
m_invert_pan_y = new QCheckBox(tr("Inverser le déplacement vertical"), this);
|
||||
m_invert_pan_y = new QCheckBox(tr("Reverse vertical movement"), this);
|
||||
m_invert_pan_y->setChecked(settings.invert_pan_y);
|
||||
m_invert_zoom = new QCheckBox(tr("Inverser le zoom"), this);
|
||||
m_invert_zoom = new QCheckBox(tr("Reverse zoom"), this);
|
||||
m_invert_zoom->setChecked(settings.invert_zoom);
|
||||
|
||||
auto *form = new QFormLayout();
|
||||
form->addRow(tr("Vitesse de déplacement :"), m_pan_speed);
|
||||
form->addRow(tr("Vitesse du zoom :"), m_zoom_speed);
|
||||
form->addRow(tr("Zoomer en :"), m_zoom_axis);
|
||||
form->addRow(tr("Zone morte :"), m_dead_zone);
|
||||
form->addRow(tr("Pan speed:"), m_pan_speed);
|
||||
form->addRow(tr("Zoom speed:"), m_zoom_speed);
|
||||
form->addRow(tr("Zoom by:"), m_zoom_axis);
|
||||
form->addRow(tr("Dead zone:"), m_dead_zone);
|
||||
form->addRow(m_invert_pan_x);
|
||||
form->addRow(m_invert_pan_y);
|
||||
form->addRow(m_invert_zoom);
|
||||
|
||||
auto *group = new QGroupBox(tr("Mouvement"), this);
|
||||
auto *group = new QGroupBox(tr("Movement"), this);
|
||||
group->setLayout(form);
|
||||
return group;
|
||||
}
|
||||
@@ -217,7 +216,7 @@ void SpaceMouseConfigPage::appendRow(int button, const QString &action_id)
|
||||
|
||||
auto *remove_button = new QToolButton(m_table);
|
||||
remove_button->setIcon(QET::Icons::EditTableDeleteRow);
|
||||
remove_button->setToolTip(tr("Supprimer cette association"));
|
||||
remove_button->setToolTip(tr("Remove this link"));
|
||||
connect(remove_button, &QToolButton::clicked, this, &SpaceMouseConfigPage::removeSelectedRow);
|
||||
m_table->setCellWidget(row, COL_REMOVE, remove_button);
|
||||
}
|
||||
@@ -293,7 +292,7 @@ void SpaceMouseConfigPage::applyConf()
|
||||
|
||||
QString SpaceMouseConfigPage::title() const
|
||||
{
|
||||
return tr("Souris 3D", "configuration page title");
|
||||
return tr("3D mouse", "configuration page title");
|
||||
}
|
||||
|
||||
QIcon SpaceMouseConfigPage::icon() const
|
||||
|
||||
@@ -48,23 +48,23 @@ ToolbarCommandsConfigPage::ToolbarCommandsConfigPage(QWidget *parent) :
|
||||
}
|
||||
|
||||
auto *explanation = new QLabel(
|
||||
tr("Choisissez les commandes de chaque barre d'outils de l'éditeur "
|
||||
"de schémas. Glissez une commande de la liste de gauche vers la "
|
||||
"barre, ou double-cliquez dessus ; Suppr la retire."), this);
|
||||
tr("Choose the commands of each toolbar of the diagram editor. Drag "
|
||||
"a command from the list on the left to the bar, or double-click "
|
||||
"it; Delete removes it."), this);
|
||||
explanation->setWordWrap(true);
|
||||
|
||||
m_toolbar = new QComboBox(this);
|
||||
m_toolbar->setObjectName(QStringLiteral("toolbarCombo"));
|
||||
auto *new_toolbar = new QPushButton(tr("Nouvelle barre…"), this);
|
||||
auto *new_toolbar = new QPushButton(tr("New bar…"), this);
|
||||
new_toolbar->setObjectName(QStringLiteral("newToolbarButton"));
|
||||
m_rename = new QPushButton(tr("Renommer…"), this);
|
||||
m_delete = new QPushButton(tr("Supprimer la barre"), this);
|
||||
m_rename = new QPushButton(tr("Rename…"), this);
|
||||
m_delete = new QPushButton(tr("Delete the bar"), this);
|
||||
m_delete->setObjectName(QStringLiteral("deleteToolbarButton"));
|
||||
auto *reset = new QPushButton(tr("Valeurs par défaut"), this);
|
||||
auto *reset = new QPushButton(tr("Defaults"), this);
|
||||
reset->setObjectName(QStringLiteral("resetButton"));
|
||||
|
||||
m_filter = new QLineEdit(this);
|
||||
m_filter->setPlaceholderText(tr("Rechercher une commande"));
|
||||
m_filter->setPlaceholderText(tr("Search for a command"));
|
||||
m_filter->setClearButtonEnabled(true);
|
||||
|
||||
m_available = new QListWidget(this);
|
||||
@@ -80,12 +80,12 @@ ToolbarCommandsConfigPage::ToolbarCommandsConfigPage(QWidget *parent) :
|
||||
m_chosen->setDragDropMode(QAbstractItemView::DragDrop);
|
||||
m_chosen->setDefaultDropAction(Qt::MoveAction);
|
||||
|
||||
auto *add = new QPushButton(tr("Ajouter →"), this);
|
||||
auto *separator = new QPushButton(tr("Séparateur"), this);
|
||||
auto *add = new QPushButton(tr("Add →"), this);
|
||||
auto *separator = new QPushButton(tr("Separator"), this);
|
||||
separator->setObjectName(QStringLiteral("separatorButton"));
|
||||
auto *remove = new QPushButton(tr("← Retirer"), this);
|
||||
auto *up = new QPushButton(tr("Monter"), this);
|
||||
auto *down = new QPushButton(tr("Descendre"), this);
|
||||
auto *remove = new QPushButton(tr("← Remove"), this);
|
||||
auto *up = new QPushButton(tr("Move up"), this);
|
||||
auto *down = new QPushButton(tr("Move down"), this);
|
||||
|
||||
auto *buttons = new QVBoxLayout();
|
||||
buttons->addStretch();
|
||||
@@ -98,15 +98,15 @@ ToolbarCommandsConfigPage::ToolbarCommandsConfigPage(QWidget *parent) :
|
||||
buttons->addStretch();
|
||||
|
||||
auto *grid = new QGridLayout();
|
||||
grid->addWidget(new QLabel(tr("Commandes disponibles"), this), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("Dans la barre, dans l'ordre"), this), 0, 2);
|
||||
grid->addWidget(new QLabel(tr("Available commands"), this), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("In the bar, in order"), this), 0, 2);
|
||||
grid->addWidget(m_filter, 1, 0);
|
||||
grid->addWidget(m_available, 2, 0);
|
||||
grid->addLayout(buttons, 2, 1);
|
||||
grid->addWidget(m_chosen, 1, 2, 2, 1);
|
||||
|
||||
auto *toolbar_row = new QHBoxLayout();
|
||||
toolbar_row->addWidget(new QLabel(tr("Barre d'outils :"), this));
|
||||
toolbar_row->addWidget(new QLabel(tr("Toolbar:"), this));
|
||||
toolbar_row->addWidget(m_toolbar, 1);
|
||||
toolbar_row->addWidget(new_toolbar);
|
||||
toolbar_row->addWidget(m_rename);
|
||||
@@ -170,7 +170,7 @@ void ToolbarCommandsConfigPage::applyConf()
|
||||
|
||||
QString ToolbarCommandsConfigPage::title() const
|
||||
{
|
||||
return tr("Contenu des barres", "configuration page title: what each toolbar holds");
|
||||
return tr("Toolbar contents", "configuration page title: what each toolbar holds");
|
||||
}
|
||||
|
||||
QIcon ToolbarCommandsConfigPage::icon() const
|
||||
@@ -348,8 +348,8 @@ void ToolbarCommandsConfigPage::resetToolbar()
|
||||
void ToolbarCommandsConfigPage::newToolbar()
|
||||
{
|
||||
bool ok = false;
|
||||
const QString title = QInputDialog::getText(this, tr("Nouvelle barre d'outils"),
|
||||
tr("Nom de la barre d'outils :"),
|
||||
const QString title = QInputDialog::getText(this, tr("New toolbar"),
|
||||
tr("Toolbar name:"),
|
||||
QLineEdit::Normal, QString(), &ok).trimmed();
|
||||
if (!ok || title.isEmpty()) {
|
||||
return;
|
||||
@@ -369,8 +369,8 @@ void ToolbarCommandsConfigPage::renameToolbar()
|
||||
for (DiagramToolbarSettings::Toolbar &toolbar : m_custom) {
|
||||
if (toolbar.name != m_shown) continue;
|
||||
bool ok = false;
|
||||
const QString title = QInputDialog::getText(this, tr("Renommer la barre d'outils"),
|
||||
tr("Nom de la barre d'outils :"),
|
||||
const QString title = QInputDialog::getText(this, tr("Rename the toolbar"),
|
||||
tr("Toolbar name:"),
|
||||
QLineEdit::Normal, toolbar.title, &ok).trimmed();
|
||||
if (ok && !title.isEmpty()) {
|
||||
storeToolbar();
|
||||
@@ -408,7 +408,7 @@ QListWidgetItem *ToolbarCommandsConfigPage::makeItem(const QString &id) const
|
||||
QString tip;
|
||||
QIcon icon;
|
||||
if (id == DiagramToolbarSettings::separatorId()) {
|
||||
text = tr("─── Séparateur ───");
|
||||
text = tr("─── Separator ───");
|
||||
} else if (DiagramToolbarSettings::isWidget(id)) {
|
||||
text = DiagramToolbarSettings::widgetTitle(id);
|
||||
} else if (QAction *action = ShortcutManager::instance().action(id, nullptr)) {
|
||||
|
||||
@@ -38,32 +38,32 @@ ToolbarsConfigPage::ToolbarsConfigPage(QWidget *parent) :
|
||||
|
||||
m_icon_size = new QComboBox(this);
|
||||
m_icon_size->setObjectName(QStringLiteral("iconSizeCombo"));
|
||||
m_icon_size->addItem(tr("Par défaut"), 0);
|
||||
m_icon_size->addItem(tr("Petites (16 px)"), 16);
|
||||
m_icon_size->addItem(tr("Moyennes (24 px)"), 24);
|
||||
m_icon_size->addItem(tr("Grandes (32 px)"), 32);
|
||||
m_icon_size->addItem(tr("Très grandes (48 px)"), 48);
|
||||
m_icon_size->addItem(tr("Default"), 0);
|
||||
m_icon_size->addItem(tr("Small (16 px)"), 16);
|
||||
m_icon_size->addItem(tr("Medium (24 px)"), 24);
|
||||
m_icon_size->addItem(tr("Large (32 px)"), 32);
|
||||
m_icon_size->addItem(tr("Very large (48 px)"), 48);
|
||||
const int size_index = m_icon_size->findData(ToolbarSettings::iconSize());
|
||||
m_icon_size->setCurrentIndex(size_index < 0 ? 0 : size_index);
|
||||
|
||||
m_button_style = new QComboBox(this);
|
||||
m_button_style->setObjectName(QStringLiteral("buttonStyleCombo"));
|
||||
m_button_style->addItem(tr("Icône seule"), int(Qt::ToolButtonIconOnly));
|
||||
m_button_style->addItem(tr("Texte à côté de l'icône"), int(Qt::ToolButtonTextBesideIcon));
|
||||
m_button_style->addItem(tr("Texte sous l'icône"), int(Qt::ToolButtonTextUnderIcon));
|
||||
m_button_style->addItem(tr("Icon only"), int(Qt::ToolButtonIconOnly));
|
||||
m_button_style->addItem(tr("Text beside the icon"), int(Qt::ToolButtonTextBesideIcon));
|
||||
m_button_style->addItem(tr("Text under the icon"), int(Qt::ToolButtonTextUnderIcon));
|
||||
m_button_style->setCurrentIndex(m_button_style->findData(int(ToolbarSettings::buttonStyle())));
|
||||
|
||||
m_locked = new QCheckBox(tr("Verrouiller les barres d'outils (elles ne peuvent plus être déplacées)"), this);
|
||||
m_locked = new QCheckBox(tr("Lock the toolbars (they can no longer be moved)"), this);
|
||||
m_locked->setObjectName(QStringLiteral("lockedCheck"));
|
||||
m_locked->setChecked(ToolbarSettings::locked());
|
||||
|
||||
auto *form = new QFormLayout();
|
||||
form->addRow(tr("Taille des icônes :"), m_icon_size);
|
||||
form->addRow(tr("Boutons :"), m_button_style);
|
||||
form->addRow(tr("Icon size:"), m_icon_size);
|
||||
form->addRow(tr("Buttons:"), m_button_style);
|
||||
form->addRow(m_locked);
|
||||
vlayout->addLayout(form);
|
||||
|
||||
auto *hint = new QLabel(tr("Pour afficher ou masquer une barre d'outils, faites un clic droit sur une barre d'outils."), this);
|
||||
auto *hint = new QLabel(tr("To show or hide a toolbar, right-click on a toolbar."), this);
|
||||
hint->setWordWrap(true);
|
||||
vlayout->addWidget(hint);
|
||||
vlayout->addStretch();
|
||||
@@ -79,7 +79,7 @@ void ToolbarsConfigPage::applyConf()
|
||||
|
||||
QString ToolbarsConfigPage::title() const
|
||||
{
|
||||
return tr("Barres d'outils", "configuration page title");
|
||||
return tr("Toolbars", "configuration page title");
|
||||
}
|
||||
|
||||
QIcon ToolbarsConfigPage::icon() const
|
||||
|
||||
@@ -35,12 +35,12 @@ ContactGroupSelectionDialog::ContactGroupSelectionDialog(
|
||||
: QDialog(parent)
|
||||
{
|
||||
m_used_indices = usedGroupIndices;
|
||||
setWindowTitle(tr("Sélectionner un groupe de contacts"));
|
||||
setWindowTitle(tr("Select a group of contacts"));
|
||||
|
||||
auto *main_layout = new QVBoxLayout(this);
|
||||
|
||||
auto *info_label = new QLabel(
|
||||
tr("Sélectionnez le groupe de contacts à assigner à cet élément esclave :"));
|
||||
tr("Select the contact group to assign to this slave element :"));
|
||||
main_layout->addWidget(info_label);
|
||||
|
||||
// Determine max terminal count for dynamic columns
|
||||
@@ -54,9 +54,9 @@ ContactGroupSelectionDialog::ContactGroupSelectionDialog(
|
||||
QStringList headers;
|
||||
headers << tr("#")
|
||||
<< tr("Type")
|
||||
<< tr("Sous-type")
|
||||
<< tr("Subtype")
|
||||
<< tr("Contacts")
|
||||
<< tr("Bornes");
|
||||
<< tr("Terminals");
|
||||
for (int t = 0; t < max_terminals; ++t) {
|
||||
headers << tr("T%1").arg(t + 1);
|
||||
}
|
||||
@@ -116,18 +116,18 @@ ContactGroupSelectionDialog::ContactGroupSelectionDialog(
|
||||
|
||||
if (m_used_indices.contains(row)) {
|
||||
disabled = true;
|
||||
reason = tr("(déjà assigné)");
|
||||
reason = tr("(already assigned)");
|
||||
} else {
|
||||
const auto &g = groups.at(row);
|
||||
if (g.type != slaveData.m_slave_state) {
|
||||
disabled = true;
|
||||
reason = tr("(état ne correspond pas)");
|
||||
reason = tr("(status does not match)");
|
||||
} else if (g.subtype != slaveData.m_slave_type) {
|
||||
disabled = true;
|
||||
reason = tr("(sous-type ne correspond pas)");
|
||||
reason = tr("(subtype does not match)");
|
||||
} else if (g.contactCount != slaveData.m_contact_count) {
|
||||
disabled = true;
|
||||
reason = tr("(nombre de contacts ne correspond pas)");
|
||||
reason = tr("(number of contacts does not match)");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,7 +189,7 @@ ContactGroupSelectionDialog::ContactGroupSelectionDialog(
|
||||
m_ok_button = new QPushButton(tr("OK"), this);
|
||||
button_layout->addWidget(m_ok_button);
|
||||
|
||||
auto *cancel_button = new QPushButton(tr("Annuler"), this);
|
||||
auto *cancel_button = new QPushButton(tr("Undo"), this);
|
||||
button_layout->addWidget(cancel_button);
|
||||
|
||||
main_layout->addLayout(button_layout);
|
||||
@@ -221,11 +221,11 @@ int ContactGroupSelectionDialog::selectedIndex() const
|
||||
QString ContactGroupSelectionDialog::typeToString(ElementData::SlaveState type)
|
||||
{
|
||||
switch (type) {
|
||||
case ElementData::NO: return tr("Normalement ouvert");
|
||||
case ElementData::NC: return tr("Normalement fermé");
|
||||
case ElementData::SW: return tr("Inverseur");
|
||||
case ElementData::Other: return tr("Autre");
|
||||
default: return tr("Inconnu");
|
||||
case ElementData::NO: return tr("Switch normally open");
|
||||
case ElementData::NC: return tr("Switch normally closed");
|
||||
case ElementData::SW: return tr("switch");
|
||||
case ElementData::Other: return tr("Other");
|
||||
default: return tr("Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -233,10 +233,10 @@ QString ContactGroupSelectionDialog::subtypeToString(ElementData::SlaveType subt
|
||||
{
|
||||
switch (subtype) {
|
||||
case ElementData::SSimple: return tr("Simple");
|
||||
case ElementData::Power: return tr("Puissance");
|
||||
case ElementData::DelayOn: return tr("Temporisé travail");
|
||||
case ElementData::DelayOff: return tr("Temporisé repos");
|
||||
case ElementData::delayOnOff: return tr("Temporisé travail & repos");
|
||||
default: return tr("Inconnu");
|
||||
case ElementData::Power: return tr("Power switch");
|
||||
case ElementData::DelayOn: return tr("Switch-on delayed");
|
||||
case ElementData::DelayOff: return tr("Switch-off delayed");
|
||||
case ElementData::delayOnOff: return tr("Switch-on and off delayed");
|
||||
default: return tr("Unknown");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,12 +40,12 @@ CustomElementInfoPartWidget::CustomElementInfoPartWidget(
|
||||
m_value_edit(new QLineEdit(value, this)),
|
||||
m_remove_button(new QToolButton(this))
|
||||
{
|
||||
m_key_edit->setPlaceholderText(tr("nom_de_la_propriete"));
|
||||
m_key_edit->setToolTip(tr("Lettres minuscules, chiffres, tiret et underscore uniquement"));
|
||||
m_key_edit->setPlaceholderText(tr("name_of_the_property"));
|
||||
m_key_edit->setToolTip(tr("Lower-case letters, numbers, hyphens and underscores only"));
|
||||
m_value_edit->setClearButtonEnabled(true);
|
||||
|
||||
m_remove_button->setIcon(QET::Icons::Remove);
|
||||
m_remove_button->setToolTip(tr("Supprimer cette propriété"));
|
||||
m_remove_button->setToolTip(tr("Delete this property"));
|
||||
m_remove_button->setAutoRaise(true);
|
||||
|
||||
auto *layout = new QGridLayout(this);
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
CustomizeDialog::CustomizeDialog(QWidget *parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
setWindowTitle(tr("Personnaliser", "window title"));
|
||||
setWindowTitle(tr("Customize", "window title"));
|
||||
|
||||
m_tabs = new QTabWidget(this);
|
||||
m_tabs->setObjectName(QStringLiteral("customizeTabs"));
|
||||
|
||||
@@ -37,12 +37,12 @@ namespace {
|
||||
QList<NamedColor> standardColors()
|
||||
{
|
||||
return {
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Blanc"), QColor(0xFF, 0xFF, 0xFF)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Blanc cassé"), QColor(0xFD, 0xFB, 0xF5)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Gris clair"), QColor(0xE0, 0xE0, 0xE0)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Gris"), QColor(0x80, 0x80, 0x80)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Gris foncé"), QColor(0x40, 0x40, 0x40)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Noir"), QColor(0x00, 0x00, 0x00)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "White"), QColor(0xFF, 0xFF, 0xFF)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Off-white"), QColor(0xFD, 0xFB, 0xF5)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Light gray"), QColor(0xE0, 0xE0, 0xE0)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Gray"), QColor(0x80, 0x80, 0x80)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Dark gray"), QColor(0x40, 0x40, 0x40)},
|
||||
{QT_TRANSLATE_NOOP("DiagramBgColorToolButton", "Black"), QColor(0x00, 0x00, 0x00)},
|
||||
};
|
||||
}
|
||||
|
||||
@@ -59,8 +59,8 @@ DiagramBgColorToolButton::DiagramBgColorToolButton(QETDiagramEditor *editor, QWi
|
||||
m_editor(editor)
|
||||
{
|
||||
setPopupMode(QToolButton::InstantPopup);
|
||||
setToolTip(tr("Couleur de fond du folio"));
|
||||
setStatusTip(tr("Choisir la couleur de fond du folio",
|
||||
setToolTip(tr("Sheet background color"));
|
||||
setStatusTip(tr("Choose the sheet background color",
|
||||
"status bar tip"));
|
||||
|
||||
//main() already restored the stored choice onto the global
|
||||
@@ -85,7 +85,7 @@ DiagramBgColorToolButton::DiagramBgColorToolButton(QETDiagramEditor *editor, QWi
|
||||
m_recent.removeLast();
|
||||
}
|
||||
|
||||
setMenu(new QMenu(tr("Couleur de fond du folio"), this));
|
||||
setMenu(new QMenu(tr("Sheet background color"), this));
|
||||
rebuildMenu();
|
||||
setSwatch(m_current);
|
||||
}
|
||||
@@ -98,7 +98,7 @@ void DiagramBgColorToolButton::rebuildMenu()
|
||||
QMenu *m = menu();
|
||||
m->clear();
|
||||
|
||||
QAction *sys = m->addAction(tr("Couleur système"));
|
||||
QAction *sys = m->addAction(tr("System color"));
|
||||
connect(sys, &QAction::triggered, this, &DiagramBgColorToolButton::applySystemColor);
|
||||
m->addSeparator();
|
||||
|
||||
@@ -113,7 +113,7 @@ void DiagramBgColorToolButton::rebuildMenu()
|
||||
if (!m_recent.isEmpty())
|
||||
{
|
||||
m->addSeparator();
|
||||
QAction *title = m->addAction(tr("Récemment utilisées"));
|
||||
QAction *title = m->addAction(tr("Recently used"));
|
||||
title->setEnabled(false);
|
||||
for (const QColor &c : std::as_const(m_recent))
|
||||
{
|
||||
@@ -123,7 +123,7 @@ void DiagramBgColorToolButton::rebuildMenu()
|
||||
}
|
||||
|
||||
m->addSeparator();
|
||||
QAction *other = m->addAction(tr("Autre couleur…"));
|
||||
QAction *other = m->addAction(tr("Other color…"));
|
||||
connect(other, &QAction::triggered, this, &DiagramBgColorToolButton::chooseOtherColor);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ void DiagramBgColorToolButton::applySystemColor()
|
||||
void DiagramBgColorToolButton::chooseOtherColor()
|
||||
{
|
||||
const QColor c = QColorDialog::getColor(m_current, this,
|
||||
tr("Choisir une couleur de fond"),
|
||||
tr("Choose a background color"),
|
||||
QColorDialog::DontUseNativeDialog);
|
||||
if (c.isValid()) {
|
||||
applyColor(c);
|
||||
|
||||
@@ -153,8 +153,7 @@ int DiagramContextWidget::highlightNonAcceptableKeys()
|
||||
void DiagramContextWidget::refreshFormatLabel()
|
||||
{
|
||||
QString format_text = tr(
|
||||
"Les noms ne peuvent contenir que des lettres minuscules, des "
|
||||
"chiffres et des tirets."
|
||||
"Names may only contain lowercase letters, digits and dashes."
|
||||
);
|
||||
|
||||
if (highlightNonAcceptableKeys()) {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="m_label">
|
||||
<property name="text">
|
||||
<string>Les noms ne peuvent contenir que des lettres minuscules, des chiffres et des tirets.</string>
|
||||
<string>Names may only contain lowercase letters, digits and dashes.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -47,12 +47,12 @@
|
||||
<row/>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Nom</string>
|
||||
<string>Name</string>
|
||||
</property>
|
||||
</column>
|
||||
<column>
|
||||
<property name="text">
|
||||
<string>Valeur</string>
|
||||
<string>Value</string>
|
||||
</property>
|
||||
</column>
|
||||
</widget>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Poignées :</string>
|
||||
<string>Handles :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -49,7 +49,7 @@ DiagramPropertiesDialog::DiagramPropertiesDialog(Diagram *diagram, QWidget *pare
|
||||
setWindowFlags(Qt::Sheet);
|
||||
#endif
|
||||
|
||||
setWindowTitle(tr("Propriétés du folio", "window title"));
|
||||
setWindowTitle(tr("Sheet properties", "window title"));
|
||||
|
||||
//Border widget
|
||||
BorderPropertiesWidget *border_infos = new BorderPropertiesWidget(border, this);
|
||||
|
||||
@@ -72,7 +72,7 @@ void DialogWaiting::setProgressReset()
|
||||
*/
|
||||
void DialogWaiting::setProgressBarRange(int min, int max){
|
||||
ui->progressBar->setRange(min,max);
|
||||
ui->progressBar->setFormat(QObject::tr("%p% effectué (%v sur %m)"));
|
||||
ui->progressBar->setFormat(QObject::tr("%p% done (%v on %m)"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Merci de patienter</string>
|
||||
<string>Thank you for your patience</string>
|
||||
</property>
|
||||
<property name="windowIcon">
|
||||
<iconset>
|
||||
@@ -23,7 +23,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="labelTitle">
|
||||
<property name="text">
|
||||
<string>Titre</string>
|
||||
<string>Title</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::AutoText</enum>
|
||||
|
||||
@@ -35,23 +35,23 @@ namespace {
|
||||
DuplicateOffsetDialog::DuplicateOffsetDialog(QWidget *parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
setWindowTitle(tr("Dupliquer"));
|
||||
setWindowTitle(tr("Duplicate"));
|
||||
|
||||
auto *form = new QFormLayout;
|
||||
|
||||
m_spacing = new QSpinBox(this);
|
||||
m_spacing->setRange(1, 1000);
|
||||
m_spacing->setSuffix(tr(" pas de grille"));
|
||||
form->addRow(tr("Espacement :"), m_spacing);
|
||||
m_spacing->setSuffix(tr(" no grid"));
|
||||
form->addRow(tr("Spacing:"), m_spacing);
|
||||
|
||||
m_direction = new QComboBox(this);
|
||||
// Order matches the Direction enum, so currentIndex() can be used
|
||||
// directly wherever Direction is needed.
|
||||
m_direction->addItem(tr("Haut"));
|
||||
m_direction->addItem(tr("Bas"));
|
||||
m_direction->addItem(tr("Gauche"));
|
||||
m_direction->addItem(tr("Droite"));
|
||||
form->addRow(tr("Direction :"), m_direction);
|
||||
m_direction->addItem(tr("Top"));
|
||||
m_direction->addItem(tr("Bottom"));
|
||||
m_direction->addItem(tr("Left"));
|
||||
m_direction->addItem(tr("Right"));
|
||||
form->addRow(tr("Direction:"), m_direction);
|
||||
|
||||
const QPoint saved = savedStepOffset();
|
||||
// The saved value is a signed (dx, dy) pair, not itself a
|
||||
|
||||
@@ -126,7 +126,7 @@ void DynamicElementTextItemEditor::apply()
|
||||
else
|
||||
{
|
||||
QUndoStack &us = m_element->diagram()->undoStack();
|
||||
us.beginMacro(tr("Modifier des textes d'élément"));
|
||||
us.beginMacro(tr("Edit an element texts"));
|
||||
for (QUndoCommand *quc : undo_list)
|
||||
us.push(quc);
|
||||
us.endMacro();
|
||||
@@ -168,7 +168,7 @@ void DynamicElementTextItemEditor::setCurrentGroup(ElementTextItemGroup *group)
|
||||
|
||||
QUndoCommand *DynamicElementTextItemEditor::associatedUndo() const
|
||||
{
|
||||
QUndoCommand *parent_undo = new QUndoCommand(tr("Modifier un texte d'élément"));
|
||||
QUndoCommand *parent_undo = new QUndoCommand(tr("Edit element text"));
|
||||
for (DynamicElementTextItem *deti : m_element.data()->dynamicTextItems())
|
||||
m_model->undoForEditedText(deti, parent_undo);
|
||||
|
||||
@@ -178,7 +178,7 @@ QUndoCommand *DynamicElementTextItemEditor::associatedUndo() const
|
||||
if(parent_undo->childCount() >= 1)
|
||||
{
|
||||
if(parent_undo->childCount() >= 2)
|
||||
parent_undo->setText(tr("Modifier %1 textes d'élément").arg(QString::number(parent_undo->childCount())));
|
||||
parent_undo->setText(tr("Edit %1 telement text").arg(QString::number(parent_undo->childCount())));
|
||||
return parent_undo;
|
||||
}
|
||||
else
|
||||
@@ -240,7 +240,7 @@ void DynamicElementTextItemEditor::on_m_remove_selection_clicked()
|
||||
*/
|
||||
void DynamicElementTextItemEditor::on_m_add_group_clicked()
|
||||
{
|
||||
QString name = QInputDialog::getText(this, tr("Nom du groupe"), tr("Entrer le nom du nouveau groupe"));
|
||||
QString name = QInputDialog::getText(this, tr("Name of the group"), tr("Enter the name of the new group"));
|
||||
|
||||
if(name.isEmpty())
|
||||
return;
|
||||
|
||||
@@ -40,7 +40,7 @@ class DynamicElementTextItemEditor : public AbstractElementPropertiesEditorWidge
|
||||
~DynamicElementTextItemEditor() override;
|
||||
|
||||
void setElement(Element *element) override;
|
||||
QString title() const override {return tr("Textes");}
|
||||
QString title() const override {return tr("texts");}
|
||||
bool setLiveEdit(bool live_edit) override;
|
||||
void apply() override;
|
||||
void setCurrentText(DynamicElementTextItem *text);
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_export_pb">
|
||||
<property name="toolTip">
|
||||
<string>Exporter l'actuelle configuration des textes</string>
|
||||
<string>Export the current text configuration</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
@@ -32,7 +32,7 @@
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_import_pb">
|
||||
<property name="toolTip">
|
||||
<string>Importer une configuration de texte</string>
|
||||
<string>Import a text configuration</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
@@ -58,7 +58,7 @@
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_add_text">
|
||||
<property name="toolTip">
|
||||
<string>Ajouter un texte</string>
|
||||
<string>Add text</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
@@ -71,7 +71,7 @@
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_add_group">
|
||||
<property name="toolTip">
|
||||
<string>Ajouter un groupe de textes</string>
|
||||
<string>Add a group of texts</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
@@ -84,7 +84,7 @@
|
||||
<item>
|
||||
<widget class="QToolButton" name="m_remove_selection">
|
||||
<property name="toolTip">
|
||||
<string>Supprimer la sélection</string>
|
||||
<string>Delete selection</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>...</string>
|
||||
|
||||
@@ -67,8 +67,8 @@ DynamicElementTextModel::DynamicElementTextModel(Element *element, QObject *pare
|
||||
m_element(element)
|
||||
{
|
||||
setColumnCount(2);
|
||||
setHeaderData(0, Qt::Horizontal, tr("Propriété"), Qt::DisplayRole);
|
||||
setHeaderData(1, Qt::Horizontal, tr("Valeur"), Qt::DisplayRole);
|
||||
setHeaderData(0, Qt::Horizontal, tr("Property"), Qt::DisplayRole);
|
||||
setHeaderData(1, Qt::Horizontal, tr("Value"), Qt::DisplayRole);
|
||||
|
||||
connect(this, &DynamicElementTextModel::itemChanged, this, &DynamicElementTextModel::itemDataChanged);
|
||||
|
||||
@@ -142,15 +142,15 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
|
||||
|
||||
//Source of text
|
||||
QStandardItem *src = new QStandardItem(tr("Source du texte"));
|
||||
QStandardItem *src = new QStandardItem(tr("Source of text"));
|
||||
src->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QString title;
|
||||
if (deti->textFrom() == DynamicElementTextItem::UserText)
|
||||
title = tr("Texte utilisateur");
|
||||
title = tr("User text");
|
||||
else if (deti->textFrom() == DynamicElementTextItem::ElementInfo)
|
||||
title = tr("Information de l'élément");
|
||||
else title = tr("Texte composé");
|
||||
title = tr("Element information");
|
||||
else title = tr("Composite text");
|
||||
QStandardItem *srca = new QStandardItem(title);
|
||||
srca->setFlags(Qt::ItemIsSelectable
|
||||
| Qt::ItemIsEnabled
|
||||
@@ -161,7 +161,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//User text
|
||||
QStandardItem *usr = new QStandardItem(tr("Texte"));
|
||||
QStandardItem *usr = new QStandardItem(tr("Text"));
|
||||
usr->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *usra = new QStandardItem(deti->toPlainText());
|
||||
@@ -195,14 +195,14 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Composite text
|
||||
QStandardItem *composite = new QStandardItem(tr("Texte composé"));
|
||||
QStandardItem *composite = new QStandardItem(tr("Composite text"));
|
||||
composite->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
DiagramContext dc;
|
||||
if(deti->elementUseForInfo())
|
||||
dc = deti->elementUseForInfo()->elementInformations();
|
||||
QStandardItem *compositea = new QStandardItem(deti->compositeText().isEmpty()
|
||||
? tr("Mon texte composé")
|
||||
? tr("My composite text")
|
||||
: autonum::AssignVariables::replaceVariable(
|
||||
deti->compositeText(), dc));
|
||||
compositea->setFlags(Qt::ItemIsSelectable
|
||||
@@ -219,7 +219,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Size
|
||||
QStandardItem *size = new QStandardItem(tr("Taille"));
|
||||
QStandardItem *size = new QStandardItem(tr("Size"));
|
||||
size->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *siza = new QStandardItem();
|
||||
@@ -234,7 +234,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Font
|
||||
QStandardItem *font = new QStandardItem(tr("Police"));
|
||||
QStandardItem *font = new QStandardItem(tr("Font"));
|
||||
font->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *fonta = new QStandardItem();
|
||||
@@ -248,7 +248,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Color
|
||||
QStandardItem *color = new QStandardItem(tr("Couleur"));
|
||||
QStandardItem *color = new QStandardItem(tr("Color"));
|
||||
color->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
// Shown as a swatch next to the value, not as the text color: black
|
||||
@@ -266,7 +266,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Frame
|
||||
QStandardItem *frame = new QStandardItem(tr("Cadre"));
|
||||
QStandardItem *frame = new QStandardItem(tr("Frame"));
|
||||
frame->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *frame_a = new QStandardItem;
|
||||
@@ -282,7 +282,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Width
|
||||
QStandardItem *width = new QStandardItem(tr("Largeur"));
|
||||
QStandardItem *width = new QStandardItem(tr("Width"));
|
||||
width->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *width_a = new QStandardItem;
|
||||
@@ -345,7 +345,7 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//keep visual rotation
|
||||
auto keep_rotation = new QStandardItem(tr("Conserver la rotation visuel"));
|
||||
auto keep_rotation = new QStandardItem(tr("Maintain visual rotation"));
|
||||
keep_rotation->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
auto keep_rotation_a = new QStandardItem;
|
||||
@@ -359,10 +359,10 @@ QList<QStandardItem *> DynamicElementTextModel::itemsForText(
|
||||
qsi->appendRow(qsi_list);
|
||||
|
||||
//Alignment
|
||||
QStandardItem *alignment = new QStandardItem(tr("Alignement"));
|
||||
QStandardItem *alignment = new QStandardItem(tr("Alignment"));
|
||||
alignment->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QStandardItem *alignmenta = new QStandardItem(tr("Éditer"));
|
||||
QStandardItem *alignmenta = new QStandardItem(tr("Edit"));
|
||||
alignmenta->setFlags(Qt::ItemIsSelectable
|
||||
| Qt::ItemIsEnabled
|
||||
| Qt::ItemIsEditable);
|
||||
@@ -523,7 +523,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
if(parent_undo)
|
||||
undo = parent_undo;
|
||||
else
|
||||
undo = new QUndoCommand(tr("Éditer un texte d'élément"));
|
||||
undo = new QUndoCommand(tr("Edit an element text"));
|
||||
|
||||
if (!m_texts_list.contains(deti))
|
||||
return undo;
|
||||
@@ -531,26 +531,26 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
QStandardItem *text_qsi = m_texts_list.value(deti);
|
||||
|
||||
QString from = text_qsi->child(src_txt_row,1)->data(Qt::DisplayRole).toString();
|
||||
if ((from == tr("Texte utilisateur")) && (deti->textFrom() != DynamicElementTextItem::UserText))
|
||||
if ((from == tr("User text")) && (deti->textFrom() != DynamicElementTextItem::UserText))
|
||||
new QPropertyUndoCommand(deti, "textFrom", QVariant(deti->textFrom()), QVariant(DynamicElementTextItem::UserText), undo);
|
||||
else if ((from == tr("Information de l'élément")) && (deti->textFrom() != DynamicElementTextItem::ElementInfo))
|
||||
else if ((from == tr("Element information")) && (deti->textFrom() != DynamicElementTextItem::ElementInfo))
|
||||
new QPropertyUndoCommand(deti, "textFrom", QVariant(deti->textFrom()), QVariant(DynamicElementTextItem::ElementInfo), undo);
|
||||
else if ((from == tr("Texte composé")) && (deti->textFrom() != DynamicElementTextItem::CompositeText))
|
||||
else if ((from == tr("Composite text")) && (deti->textFrom() != DynamicElementTextItem::CompositeText))
|
||||
new QPropertyUndoCommand(deti, "textFrom", QVariant(deti->textFrom()), QVariant(DynamicElementTextItem::CompositeText), undo);
|
||||
|
||||
if(from == tr("Texte utilisateur"))
|
||||
if(from == tr("User text"))
|
||||
{
|
||||
QString text = text_qsi->child(usr_txt_row,1)->data(Qt::DisplayRole).toString();
|
||||
if (text != deti->text())
|
||||
new QPropertyUndoCommand(deti, "text", QVariant(deti->text()), QVariant(text), undo);
|
||||
}
|
||||
else if (from == tr("Information de l'élément"))
|
||||
else if (from == tr("Element information"))
|
||||
{
|
||||
QString info_name = text_qsi->child(info_txt_row,1)->data(Qt::UserRole+2).toString();
|
||||
if(info_name != deti->infoName())
|
||||
new QPropertyUndoCommand(deti, "infoName", QVariant(deti->infoName()), QVariant(info_name), undo);
|
||||
}
|
||||
else if (from == tr("Texte composé"))
|
||||
else if (from == tr("Composite text"))
|
||||
{
|
||||
QString composite_text = text_qsi->child(compo_txt_row,1)->data(Qt::UserRole+2).toString();
|
||||
if(composite_text != deti->compositeText())
|
||||
@@ -563,28 +563,28 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
QFont font = deti->font();
|
||||
font.setPointSize(fs);
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "font", QVariant(deti->font()), QVariant(font), undo);
|
||||
quc->setText(tr("Modifier la taille d'un texte d'élément"));
|
||||
quc->setText(tr("Change the size of an element text"));
|
||||
}
|
||||
|
||||
QFont font = text_qsi->child(font_txt_row, 1)->data(Qt::UserRole+2).value<QFont>();
|
||||
if (font != deti->font())
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "font", QVariant(deti->font()), QVariant(font), undo);
|
||||
quc->setText(tr("Modifier la police d'un texte d'élément"));
|
||||
quc->setText(tr("Change the font of an element text"));
|
||||
}
|
||||
|
||||
QColor color = text_qsi->child(color_txt_row,1)->data(Qt::EditRole).value<QColor>();
|
||||
if(color != deti->color())
|
||||
{
|
||||
QUndoCommand *quc = new QPropertyUndoCommand(deti, "color", QVariant(deti->color()), QVariant(color), undo);
|
||||
quc->setText(tr("Modifier la couleur d'un texte d'élément"));
|
||||
quc->setText(tr("Change the color of an element text"));
|
||||
}
|
||||
|
||||
bool frame = text_qsi->child(frame_txt_row,1)->checkState() == Qt::Checked? true : false;
|
||||
if(frame != deti->frame())
|
||||
{
|
||||
QUndoCommand *quc = new QPropertyUndoCommand(deti, "frame", QVariant(deti->frame()), QVariant(frame), undo);
|
||||
quc->setText(tr("Modifier le cadre d'un texte d'élément"));
|
||||
quc->setText(tr("Modify the frame of an element text"));
|
||||
}
|
||||
|
||||
qreal text_width = text_qsi->child(width_txt_row, 1)->data(Qt::EditRole).toDouble();
|
||||
@@ -592,7 +592,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "textWidth", QVariant(deti->textWidth()), QVariant(text_width), undo);
|
||||
quc->setAnimated(true, false);
|
||||
quc->setText(tr("Modifier la largeur d'un texte d'élément"));
|
||||
quc->setText(tr("Change the width of an element text"));
|
||||
}
|
||||
|
||||
//When text is in a group, they're isn't item for position of the text
|
||||
@@ -604,7 +604,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "anchorPos", QVariant(deti->anchorPos()), QVariant(p), undo);
|
||||
quc->setAnimated(true, false);
|
||||
quc->setText(tr("Déplacer un texte d'élément"));
|
||||
quc->setText(tr("Move an item text"));
|
||||
}
|
||||
}
|
||||
//When text is in a group, they're isn't item for the rotation of the text
|
||||
@@ -616,7 +616,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "rotation", QVariant(deti->rotation()), QVariant(rot), undo);
|
||||
quc->setAnimated(true, false);
|
||||
quc->setText(tr("Pivoter un texte d'élément"));
|
||||
quc->setText(tr("Rotate element text"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -626,7 +626,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
if (keep_rot != deti->keepVisualRotation())
|
||||
{
|
||||
auto qpuc = new QPropertyUndoCommand(deti, "keepVisualRotation", QVariant(deti->keepVisualRotation()), QVariant(keep_rot), undo);
|
||||
qpuc->setText(tr("Modifier le maintient de la rotation d'un texte d'élément"));
|
||||
qpuc->setText(tr("Change the way item text stays rotated"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -637,7 +637,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedText(
|
||||
if (alignment != deti->alignment())
|
||||
{
|
||||
QPropertyUndoCommand *quc = new QPropertyUndoCommand(deti, "alignmentAtAnchor", QVariant(deti->alignment()), QVariant(alignment), undo);
|
||||
quc->setText(tr("Modifier l'alignement d'un texte d'élément"));
|
||||
quc->setText(tr("Modify the alignment of an element text"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -661,7 +661,7 @@ QUndoCommand *DynamicElementTextModel::undoForEditedGroup(
|
||||
if(parent_undo)
|
||||
undo = parent_undo;
|
||||
else
|
||||
undo = new QUndoCommand(tr("Éditer un groupe de textes"));
|
||||
undo = new QUndoCommand(tr("Edit a group of texts"));
|
||||
|
||||
if (!m_groups_list.contains(group))
|
||||
return undo;
|
||||
@@ -669,11 +669,11 @@ QUndoCommand *DynamicElementTextModel::undoForEditedGroup(
|
||||
QStandardItem *group_qsi = m_groups_list.value(group);
|
||||
|
||||
QString alignment = group_qsi->child(align_grp_row,1)->data(Qt::DisplayRole).toString();
|
||||
if((alignment == tr("Gauche")) && (group->alignment() != Qt::AlignLeft))
|
||||
if((alignment == tr("Left")) && (group->alignment() != Qt::AlignLeft))
|
||||
new QPropertyUndoCommand(group, "alignment", QVariant(group->alignment()), QVariant(Qt::AlignLeft), undo);
|
||||
else if((alignment == tr("Droite")) && (group->alignment() != Qt::AlignRight))
|
||||
else if((alignment == tr("Right")) && (group->alignment() != Qt::AlignRight))
|
||||
new QPropertyUndoCommand(group, "alignment", QVariant(group->alignment()), QVariant(Qt::AlignRight), undo);
|
||||
else if((alignment == tr("Centre")) && (group->alignment() != Qt::AlignVCenter))
|
||||
else if((alignment == tr("Middle")) && (group->alignment() != Qt::AlignVCenter))
|
||||
new QPropertyUndoCommand(group, "alignment", QVariant(group->alignment()), QVariant(Qt::AlignVCenter), undo);
|
||||
|
||||
|
||||
@@ -742,14 +742,14 @@ void DynamicElementTextModel::addGroup(ElementTextItemGroup *group)
|
||||
m_groups_list.insert(group, grp);
|
||||
|
||||
//Alignment
|
||||
QStandardItem *alignment = new QStandardItem(tr("Alignement"));
|
||||
QStandardItem *alignment = new QStandardItem(tr("Alignment"));
|
||||
alignment->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
|
||||
QString text;
|
||||
switch (group->alignment()) {
|
||||
case Qt::AlignLeft: text = tr("Gauche"); break;
|
||||
case Qt::AlignRight: text = tr("Droite"); break;
|
||||
case Qt::AlignVCenter: text = tr("Centre"); break;
|
||||
case Qt::AlignLeft: text = tr("Left"); break;
|
||||
case Qt::AlignRight: text = tr("Right"); break;
|
||||
case Qt::AlignVCenter: text = tr("Middle"); break;
|
||||
default: break;}
|
||||
|
||||
QStandardItem *alignment_a = new QStandardItem(text);
|
||||
@@ -807,7 +807,7 @@ void DynamicElementTextModel::addGroup(ElementTextItemGroup *group)
|
||||
grp->appendRow(qsi_list);
|
||||
|
||||
//Vertical adjustment
|
||||
QStandardItem *v_adj = new QStandardItem(tr("Ajustement vertical"));
|
||||
QStandardItem *v_adj = new QStandardItem(tr("Vertical adjustment"));
|
||||
v_adj->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
|
||||
|
||||
QStandardItem *v_adj_a = new QStandardItem;
|
||||
@@ -821,7 +821,7 @@ void DynamicElementTextModel::addGroup(ElementTextItemGroup *group)
|
||||
grp->appendRow(qsi_list);
|
||||
|
||||
//Frame
|
||||
QStandardItem *frame_ = new QStandardItem(tr("Cadre"));
|
||||
QStandardItem *frame_ = new QStandardItem(tr("Frame"));
|
||||
frame_->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
|
||||
|
||||
QStandardItem *frame_a = new QStandardItem;
|
||||
@@ -837,7 +837,7 @@ void DynamicElementTextModel::addGroup(ElementTextItemGroup *group)
|
||||
|
||||
|
||||
//Hold to the bottom of the page
|
||||
QStandardItem *hold_bottom = new QStandardItem(tr("Maintenir en bas de page"));
|
||||
QStandardItem *hold_bottom = new QStandardItem(tr("Keep at the bottom of the page"));
|
||||
hold_bottom->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable);
|
||||
|
||||
QStandardItem *hold_bottom_a = new QStandardItem();
|
||||
@@ -1143,7 +1143,7 @@ bool DynamicElementTextModel::dropMimeData(const QMimeData *data,
|
||||
if(group && deti)
|
||||
{
|
||||
QUndoStack &stack = m_element.data()->diagram()->undoStack();
|
||||
stack.beginMacro(tr("Déplacer un texte dans un autre groupe"));
|
||||
stack.beginMacro(tr("Move a text to another group"));
|
||||
stack.push(new RemoveTextFromGroupCommand(deti, grp));
|
||||
stack.push(new AddTextToGroupCommand(deti, group));
|
||||
stack.endMacro();
|
||||
@@ -1315,12 +1315,12 @@ void DynamicElementTextModel::itemDataChanged(QStandardItem *qsi)
|
||||
{
|
||||
QString from = qsi->data(Qt::DisplayRole).toString();
|
||||
|
||||
if (from == tr("Texte utilisateur"))
|
||||
if (from == tr("User text"))
|
||||
{
|
||||
enableSourceText(deti, DynamicElementTextItem::UserText);
|
||||
text_qsi->setData(text_qsi->child(usr_txt_row,1)->data(Qt::DisplayRole).toString());
|
||||
}
|
||||
else if (from == tr("Information de l'élément"))
|
||||
else if (from == tr("Element information"))
|
||||
{
|
||||
enableSourceText(deti, DynamicElementTextItem::ElementInfo);
|
||||
QString info = text_qsi->child(info_txt_row,1)->data(Qt::UserRole+2).toString();
|
||||
@@ -1457,9 +1457,9 @@ void DynamicElementTextModel::updateDataFromText(DynamicElementTextItem *deti,
|
||||
{
|
||||
switch (deti->textFrom())
|
||||
{
|
||||
case DynamicElementTextItem::UserText: qsi->child(0,1)->setData(tr("Texte utilisateur"), Qt::DisplayRole); break;
|
||||
case DynamicElementTextItem::ElementInfo : qsi->child(0,1)->setData(tr("Information de l'élément"), Qt::DisplayRole); break;
|
||||
case DynamicElementTextItem::CompositeText : qsi->child(0,1)->setData(tr("Texte composé"), Qt::DisplayRole); break;
|
||||
case DynamicElementTextItem::UserText: qsi->child(0,1)->setData(tr("User text"), Qt::DisplayRole); break;
|
||||
case DynamicElementTextItem::ElementInfo : qsi->child(0,1)->setData(tr("Element information"), Qt::DisplayRole); break;
|
||||
case DynamicElementTextItem::CompositeText : qsi->child(0,1)->setData(tr("Composite text"), Qt::DisplayRole); break;
|
||||
}
|
||||
enableSourceText(deti, deti->textFrom());
|
||||
qsi->setData(deti->toPlainText(), Qt::DisplayRole);
|
||||
@@ -1559,9 +1559,9 @@ void DynamicElementTextModel::updateDataFromGroup(
|
||||
{
|
||||
switch (group->alignment())
|
||||
{
|
||||
case Qt::AlignLeft: qsi->child(align_grp_row,1)->setData(tr("Gauche"), Qt::DisplayRole); break;
|
||||
case Qt::AlignRight : qsi->child(align_grp_row,1)->setData(tr("Droite"), Qt::DisplayRole); break;
|
||||
case Qt::AlignVCenter : qsi->child(align_grp_row,1)->setData(tr("Centre"), Qt::DisplayRole); break;
|
||||
case Qt::AlignLeft: qsi->child(align_grp_row,1)->setData(tr("Left"), Qt::DisplayRole); break;
|
||||
case Qt::AlignRight : qsi->child(align_grp_row,1)->setData(tr("Right"), Qt::DisplayRole); break;
|
||||
case Qt::AlignVCenter : qsi->child(align_grp_row,1)->setData(tr("Middle"), Qt::DisplayRole); break;
|
||||
default: qsi->child(0,1)->setData("", Qt::DisplayRole); break;
|
||||
}
|
||||
break;
|
||||
@@ -1626,9 +1626,9 @@ QWidget *DynamicTextItemDelegate::createEditor(
|
||||
{
|
||||
QComboBox *qcb = new QComboBox(parent);
|
||||
qcb->setObjectName("text_from");
|
||||
qcb->addItem(tr("Texte utilisateur"));
|
||||
qcb->addItem(tr("Information de l'élément"));
|
||||
qcb->addItem(tr("Texte composé"));
|
||||
qcb->addItem(tr("User text"));
|
||||
qcb->addItem(tr("Element information"));
|
||||
qcb->addItem(tr("Composite text"));
|
||||
return qcb;
|
||||
}
|
||||
case DynamicElementTextModel::infoText:
|
||||
@@ -1774,9 +1774,9 @@ QWidget *DynamicTextItemDelegate::createEditor(
|
||||
QComboBox *qcb = new QComboBox(parent);
|
||||
qcb->setFrame(false);
|
||||
qcb->setObjectName("group_alignment");
|
||||
qcb->addItem(tr("Gauche"));
|
||||
qcb->addItem(tr("Centre"));
|
||||
qcb->addItem(tr("Droite"));
|
||||
qcb->addItem(tr("Left"));
|
||||
qcb->addItem(tr("Middle"));
|
||||
qcb->addItem(tr("Right"));
|
||||
return qcb;
|
||||
}
|
||||
case DynamicElementTextModel::grpPos:
|
||||
|
||||
@@ -60,8 +60,8 @@ ElementInfoPartWidget::ElementInfoPartWidget(
|
||||
{
|
||||
auto *validator = new QETInformation::NumericInfoValidator(ui->line_edit);
|
||||
ui->line_edit->setValidator(validator);
|
||||
ui->line_edit->setPlaceholderText(tr("ex. 80.5"));
|
||||
ui->line_edit->setToolTip(tr("Nombre décimal avec un point comme séparateur (ex. 80.5)"));
|
||||
ui->line_edit->setPlaceholderText(tr("e.g. 80.5"));
|
||||
ui->line_edit->setToolTip(tr("Decimal number with a dot as separator (e.g. 80.5)"));
|
||||
}
|
||||
|
||||
connect(ui->line_edit, &QLineEdit::textEdited,
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
<item row="2" column="1">
|
||||
<widget class="QCheckBox" name="m_erase_text">
|
||||
<property name="toolTip">
|
||||
<string>Supprimer ce texte</string>
|
||||
<string>Delete this text</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -68,7 +68,7 @@
|
||||
<item row="2" column="2">
|
||||
<widget class="QToolButton" name="m_material_btn">
|
||||
<property name="toolTip">
|
||||
<string extracomment="tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry">Choisir un article dans la liste de matériaux</string>
|
||||
<string extracomment="tooltip of the button opening the material file; it fills the fields of this block from a catalogue entry">Choose an item from the materials list</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string notr="true">…</string>
|
||||
|
||||
@@ -149,7 +149,7 @@ QUndoCommand* ElementInfoWidget::associatedUndo() const
|
||||
}
|
||||
|
||||
auto *macro = new QUndoCommand(
|
||||
QObject::tr("Modifier les informations de l'élément : %1")
|
||||
QObject::tr("Edit information of the element : %1")
|
||||
.arg(m_element->name()));
|
||||
DiagramContext base_info = old_info;
|
||||
bool state_frozen = was_frozen;
|
||||
@@ -312,18 +312,18 @@ void ElementInfoWidget::buildInterface()
|
||||
setupNumberRow();
|
||||
setupFreezeRow();
|
||||
|
||||
m_add_custom_property_btn = new QPushButton(tr("Ajouter une propriété personnalisée"), this);
|
||||
m_add_custom_property_btn = new QPushButton(tr("Add a custom property"), this);
|
||||
connect(m_add_custom_property_btn, &QPushButton::clicked, this, [this]() { addCustomProperty(); });
|
||||
ui->scroll_vlayout->addWidget(m_add_custom_property_btn);
|
||||
|
||||
ui->scroll_vlayout->addStretch();
|
||||
|
||||
// Existing potential isolating checkbox
|
||||
m_potential_isolating_cb = new QCheckBox(tr("Séparation de potentiel"), this);
|
||||
m_potential_isolating_cb = new QCheckBox(tr("Potential separation"), this);
|
||||
m_potential_isolating_cb->setStyleSheet(QStringLiteral("margin: 5px; font-weight: bold;"));
|
||||
|
||||
// English: Initialize and style the BOM exclusion checkbox
|
||||
m_exclude_from_bom_cb = new QCheckBox(tr("Exclure de la nomenclature"), this);
|
||||
m_exclude_from_bom_cb = new QCheckBox(tr("Exclude from the bill of materials"), this);
|
||||
m_exclude_from_bom_cb->setStyleSheet(QStringLiteral("margin: 5px; font-weight: bold;"));
|
||||
|
||||
if (QVBoxLayout *mainLayout = qobject_cast<QVBoxLayout*>(this->layout())) {
|
||||
@@ -490,9 +490,11 @@ void ElementInfoWidget::materialFromFile(int block)
|
||||
{
|
||||
const auto answer = QET::QetMessageBox::question(
|
||||
this,
|
||||
tr("Liste de matériaux absente"),
|
||||
tr("Aucun fichier de liste de matériaux n'existe à cet emplacement :\n"
|
||||
"%1\n\nLe créer ?", "message asking to create the material file").arg(path),
|
||||
tr("No materials list"),
|
||||
tr("There is no materials list file at this location:\n"
|
||||
"%1\n"
|
||||
"\n"
|
||||
"Create it?", "message asking to create the material file").arg(path),
|
||||
QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::Yes);
|
||||
|
||||
@@ -504,8 +506,8 @@ void ElementInfoWidget::materialFromFile(int block)
|
||||
if (!MaterialList::createFile(path, &error))
|
||||
{
|
||||
QET::QetMessageBox::critical(this,
|
||||
tr("Création impossible"),
|
||||
tr("Impossible de créer le fichier :\n%1\n%2")
|
||||
tr("Cannot create"),
|
||||
tr("Cannot create the file:\n%1\n%2")
|
||||
.arg(path, error));
|
||||
return;
|
||||
}
|
||||
@@ -779,7 +781,7 @@ void ElementInfoWidget::setupSchemeRow()
|
||||
m_scheme_row = new QWidget(this);
|
||||
auto *layout = new QHBoxLayout(m_scheme_row);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
layout->addWidget(new QLabel(tr("Numérotation automatique"), m_scheme_row));
|
||||
layout->addWidget(new QLabel(tr("Automatic numbering"), m_scheme_row));
|
||||
|
||||
m_scheme_cb = new QComboBox(m_scheme_row);
|
||||
m_scheme_cb->setObjectName(QStringLiteral("m_scheme_cb"));
|
||||
@@ -787,7 +789,7 @@ void ElementInfoWidget::setupSchemeRow()
|
||||
layout->addWidget(m_scheme_cb, 1);
|
||||
|
||||
auto *open = new QPushButton(tr("…"), m_scheme_row);
|
||||
open->setToolTip(tr("Ouvrir les numérotations d'éléments du projet"));
|
||||
open->setToolTip(tr("Open the project's element numberings"));
|
||||
open->setMaximumWidth(32);
|
||||
layout->addWidget(open);
|
||||
|
||||
@@ -815,9 +817,9 @@ void ElementInfoWidget::setupFreezeRow()
|
||||
if (!label || !m_element) {
|
||||
return;
|
||||
}
|
||||
m_freeze_cb = new QCheckBox(tr("Figer le nom"), this);
|
||||
m_freeze_cb->setToolTip(tr("Un nom figé n'est pas changé par la numérotation automatique, "
|
||||
"et son numéro n'est pas donné à un autre élément."));
|
||||
m_freeze_cb = new QCheckBox(tr("Freeze name"), this);
|
||||
m_freeze_cb->setToolTip(tr("A frozen name is not changed by automatic numbering, and its "
|
||||
"number is not given to another element."));
|
||||
ui->scroll_vlayout->insertWidget(ui->scroll_vlayout->indexOf(label) + 1, m_freeze_cb);
|
||||
connect(m_freeze_cb, &QCheckBox::toggled, this, &ElementInfoWidget::updateNumberRow);
|
||||
}
|
||||
@@ -852,12 +854,12 @@ void ElementInfoWidget::setupNumberRow()
|
||||
m_number_row = new QWidget(this);
|
||||
auto *layout = new QHBoxLayout(m_number_row);
|
||||
layout->setContentsMargins(0, 0, 0, 0);
|
||||
layout->addWidget(new QLabel(tr("Numéro"), m_number_row));
|
||||
layout->addWidget(new QLabel(tr("Number"), m_number_row));
|
||||
m_number_cb = new QComboBox(m_number_row);
|
||||
m_number_cb->setObjectName(QStringLiteral("m_number_cb"));
|
||||
m_number_cb->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
m_number_cb->setToolTip(tr("Seuls les numéros libres sont proposés : un élément qui doit garder son "
|
||||
"numéro réel peut le retrouver si personne ne l'a."));
|
||||
m_number_cb->setToolTip(tr("Only free numbers are offered: an element that must keep its real number "
|
||||
"can get it back if nobody else has it."));
|
||||
layout->addWidget(m_number_cb, 1);
|
||||
ui->scroll_vlayout->insertWidget(ui->scroll_vlayout->indexOf(m_scheme_row) + 1, m_number_row);
|
||||
m_number_row->hide();
|
||||
@@ -890,9 +892,9 @@ void ElementInfoWidget::refreshNumberRow()
|
||||
}
|
||||
if (const auto own = ElementAutoNumSchemeCommand::numberOf(support, m_element)) {
|
||||
m_number_current = *own;
|
||||
m_number_cb->addItem(tr("%1 (actuel)").arg(*own), *own);
|
||||
m_number_cb->addItem(tr("%1 (current)").arg(*own), *own);
|
||||
} else {
|
||||
m_number_cb->addItem(tr("— (numéro inconnu)"), 0);
|
||||
m_number_cb->addItem(tr("— (unknown number)"), 0);
|
||||
}
|
||||
for (int n : ElementAutoNumSchemeCommand::freeNumbers(project, title, m_element)) {
|
||||
if (n == m_number_current) continue;
|
||||
@@ -918,10 +920,10 @@ void ElementInfoWidget::updateNumberRow()
|
||||
const bool frozen = m_freeze_cb ? m_freeze_cb->isChecked() : m_element->isFreezeLabel();
|
||||
m_number_cb->setEnabled(keeps && !frozen);
|
||||
m_number_cb->setToolTip(
|
||||
frozen ? tr("Le nom est figé : dégelez-le pour changer son numéro.")
|
||||
: !keeps ? tr("Le numéro se choisit quand l'élément garde sa numérotation.")
|
||||
: tr("Seuls les numéros libres sont proposés : un élément qui doit garder son "
|
||||
"numéro réel peut le retrouver si personne ne l'a."));
|
||||
frozen ? tr("The name is frozen: unfreeze it to change its number.")
|
||||
: !keeps ? tr("The number can be chosen when the element keeps its numbering.")
|
||||
: tr("Only free numbers are offered: an element that must keep its real number "
|
||||
"can get it back if nobody else has it."));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -984,7 +986,7 @@ void ElementInfoWidget::refreshSchemeRow()
|
||||
|
||||
const QSignalBlocker blocker(m_scheme_cb);
|
||||
m_scheme_cb->clear();
|
||||
m_scheme_cb->addItem(tr("Aucune (nom saisi à la main)"), QString());
|
||||
m_scheme_cb->addItem(tr("None (name entered by hand)"), QString());
|
||||
|
||||
QStringList titles(project->elementAutoNum().keys());
|
||||
titles.sort(Qt::CaseInsensitive);
|
||||
@@ -1003,7 +1005,7 @@ void ElementInfoWidget::refreshSchemeRow()
|
||||
.value(QETInformation::ELMT_FORMULA).toString();
|
||||
if (!formula.isEmpty()) {
|
||||
//Same data as "none" would clash: the entry is for display only
|
||||
m_scheme_cb->insertItem(1, tr("Formule propre : %1").arg(formula), QStringLiteral("\x01"));
|
||||
m_scheme_cb->insertItem(1, tr("Custom formula: %1").arg(formula), QStringLiteral("\x01"));
|
||||
m_scheme_cb->setCurrentIndex(1);
|
||||
}
|
||||
m_scheme_index = m_scheme_cb->currentIndex();
|
||||
@@ -1043,9 +1045,11 @@ void ElementInfoWidget::schemeChosen()
|
||||
{
|
||||
const auto answer = QET::QetMessageBox::question(
|
||||
this,
|
||||
tr("Nom figé"),
|
||||
tr("Le nom de cet élément est figé.\n"
|
||||
"Changer sa numérotation le remplacera ou l'effacera.\n\nContinuer ?"),
|
||||
tr("Frozen name"),
|
||||
tr("This element's name is frozen.\n"
|
||||
"Changing its numbering will replace or erase it.\n"
|
||||
"\n"
|
||||
"Continue?"),
|
||||
QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::No);
|
||||
if (answer != QMessageBox::Yes) {
|
||||
|
||||
@@ -54,7 +54,7 @@ class ElementInfoWidget : public AbstractElementPropertiesEditorWidget
|
||||
void setElement(Element *element) override;
|
||||
void apply() override;
|
||||
QUndoCommand *associatedUndo () const override;
|
||||
QString title() const override {return tr("Informations");}
|
||||
QString title() const override {return tr("Information");}
|
||||
bool setLiveEdit(bool live_edit) override;
|
||||
void updateUi() override;
|
||||
DiagramContext currentInfo() const;
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_auto_num_locked_cb">
|
||||
<property name="text">
|
||||
<string>Exclure de la numérotation auto</string>
|
||||
<string>Exclude from automatic numbering</string>
|
||||
</property>
|
||||
<property name="layoutDirection">
|
||||
<enum>Qt::LeftToRight</enum>
|
||||
|
||||
@@ -357,7 +357,7 @@ void ElementPropertiesWidget::addGeneralWidget()
|
||||
delete m_general_widget;
|
||||
}
|
||||
m_general_widget = generalWidget();
|
||||
m_tab -> addTab(m_general_widget, tr("Général"));
|
||||
m_tab -> addTab(m_general_widget, tr("General"));
|
||||
m_tab->setCurrentIndex(index);
|
||||
}
|
||||
|
||||
@@ -367,33 +367,33 @@ void ElementPropertiesWidget::addGeneralWidget()
|
||||
*/
|
||||
QWidget *ElementPropertiesWidget::generalWidget()
|
||||
{
|
||||
QString description_string(tr("Élément\n"));
|
||||
QString description_string(tr("Element\n"));
|
||||
|
||||
// some element characteristic
|
||||
description_string += QString(tr("Nom : %1\n")).arg(m_element -> name());
|
||||
description_string += QString(tr("Name : %1\n")).arg(m_element -> name());
|
||||
int folio_index = m_diagram -> folioIndex();
|
||||
if (folio_index != -1) {
|
||||
description_string += QString(tr("Folio : %1\n")).arg(folio_index + 1);
|
||||
description_string += QString(tr("Sheet : %1\n")).arg(folio_index + 1);
|
||||
}
|
||||
description_string += QString(tr("Type : %1\n")).arg(m_element->elementData().typeToString());
|
||||
description_string += QString(tr("Sous-type : %1\n")).arg(m_element ->kindInformations()["type"].toString());
|
||||
description_string += QString(tr("Type: %1\n")).arg(m_element->elementData().typeToString());
|
||||
description_string += QString(tr("Sub-type : %1\n")).arg(m_element ->kindInformations()["type"].toString());
|
||||
description_string += QString(tr("Position : %1\n")).arg(m_diagram -> convertPosition(m_element -> scenePos()).toString());
|
||||
description_string += QString(tr("Rotation : %1°\n")).arg(m_element.data()->rotation());
|
||||
description_string += QString(tr("Dimensions : %1*%2\n")).arg(m_element -> size().width()).arg(m_element -> size().height());
|
||||
description_string += QString(tr("Bornes : %1\n")).arg(m_element -> terminals().count());
|
||||
description_string += QString(tr("Terminals : %1\n")).arg(m_element -> terminals().count());
|
||||
if (m_element->linkType() == Element::Master)
|
||||
{
|
||||
//The declared limit is optional: -1 means the element sets no
|
||||
//limit at all, which is worth saying rather than printing "-1".
|
||||
const int max_slaves = m_element->elementData().m_max_slaves;
|
||||
description_string += max_slaves == -1
|
||||
? QString(tr("Nombre maximum de contacts esclaves définis : non défini\n"))
|
||||
: QString(tr("Nombre maximum de contacts esclaves définis : %1\n")).arg(max_slaves);
|
||||
? QString(tr("Maximum number of slave contacts defined: not defined\n"))
|
||||
: QString(tr("Maximum number of slave contacts defined: %1\n")).arg(max_slaves);
|
||||
|
||||
//Left as a count of linked elements: the line above is a number
|
||||
//of slots, and a slave fills one slot however many contacts it
|
||||
//carries, so the two stay in the same unit.
|
||||
description_string += QString(tr("Nombre de contacts esclaves utilisés : %1\n")).arg(m_element->linkedElements().count());
|
||||
description_string += QString(tr("Number of slave contacts used : %1\n")).arg(m_element->linkedElements().count());
|
||||
|
||||
//The breakdown below is in contacts, not slots: it answers how
|
||||
//many contacts an auxiliary block must provide.
|
||||
@@ -408,7 +408,7 @@ QWidget *ElementPropertiesWidget::generalWidget()
|
||||
//only what has been used but what it has to offer. A type
|
||||
//used beyond what is declared shows as e.g. "1/0", which
|
||||
//is the point: it says this contact does not fit the part.
|
||||
description_string += QString(tr(" Contacts : NO : %1/%2, NC : %3/%4, inverseurs : %5/%6, autres : %7/%8\n"))
|
||||
description_string += QString(tr(" Contacts : NO : %1/%2, NC : %3/%4, changeover : %5/%6, other : %7/%8\n"))
|
||||
.arg(usage.no).arg(capacity.no)
|
||||
.arg(usage.nc).arg(capacity.nc)
|
||||
.arg(usage.sw).arg(capacity.sw)
|
||||
@@ -417,14 +417,14 @@ QWidget *ElementPropertiesWidget::generalWidget()
|
||||
else if (usage.total() > 0)
|
||||
{
|
||||
//No declared groups, so a plain count of what is in use.
|
||||
description_string += QString(tr(" Contacts : NO : %1, NC : %2, inverseurs : %3, autres : %4\n"))
|
||||
description_string += QString(tr(" Contacts : NO : %1, NC : %2, changeover : %3, other : %4\n"))
|
||||
.arg(usage.no)
|
||||
.arg(usage.nc)
|
||||
.arg(usage.sw)
|
||||
.arg(usage.other);
|
||||
}
|
||||
}
|
||||
description_string += QString(tr("Emplacement : %1\n")).arg(m_element.data()->location().toString());
|
||||
description_string += QString(tr("Location : %1\n")).arg(m_element.data()->location().toString());
|
||||
|
||||
// widget himself
|
||||
QWidget *general_widget = new QWidget (m_tab);
|
||||
@@ -439,7 +439,7 @@ QWidget *ElementPropertiesWidget::generalWidget()
|
||||
|
||||
//checkbox to lock the element position on the diagram
|
||||
//(same mechanism already used by images and drawn shapes)
|
||||
QCheckBox *lock_pos_cb = new QCheckBox(tr("Verrouiller la position"), general_widget);
|
||||
QCheckBox *lock_pos_cb = new QCheckBox(tr("Lock Position"), general_widget);
|
||||
lock_pos_cb->setChecked(!m_element->isMovable());
|
||||
QPointer<Element> element = m_element;
|
||||
connect(lock_pos_cb, &QCheckBox::clicked, this, [element](bool checked) {
|
||||
@@ -455,9 +455,9 @@ QWidget *ElementPropertiesWidget::generalWidget()
|
||||
vlayout_ -> addStretch();
|
||||
|
||||
//button widget
|
||||
QPushButton *find_in_panel = new QPushButton(QET::Icons::ZoomDraw, tr("Retrouver dans le panel"), general_widget);
|
||||
QPushButton *find_in_panel = new QPushButton(QET::Icons::ZoomDraw, tr("Find in the panel"), general_widget);
|
||||
connect(find_in_panel, &QPushButton::clicked, this, &ElementPropertiesWidget::findInPanel);
|
||||
QPushButton *edit_element = new QPushButton(QET::Icons::ElementEdit, tr("Éditer l'élément"), general_widget);
|
||||
QPushButton *edit_element = new QPushButton(QET::Icons::ElementEdit, tr("Edit element"), general_widget);
|
||||
connect(edit_element, &QPushButton::clicked, this, &ElementPropertiesWidget::editElement);
|
||||
QHBoxLayout *hlayout_ = new QHBoxLayout;
|
||||
hlayout_->addWidget(find_in_panel);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Assistant de formule</string>
|
||||
<string>Formula Wizard</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@@ -24,7 +24,7 @@
|
||||
<item>
|
||||
<widget class="QLineEdit" name="m_line_edit">
|
||||
<property name="placeholderText">
|
||||
<string>Formule</string>
|
||||
<string>Formula</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -254,15 +254,15 @@ void CropAreaWidget::paintEvent(QPaintEvent *)
|
||||
ImageCropDialog::ImageCropDialog(const QPixmap &pixmap, const QRect &existingCropRect, QWidget *parent) :
|
||||
QDialog(parent)
|
||||
{
|
||||
setWindowTitle(tr("Rogner l'image"));
|
||||
setWindowTitle(tr("Crop the image"));
|
||||
|
||||
m_cropArea = new CropAreaWidget(pixmap.toImage(), existingCropRect, this);
|
||||
|
||||
auto *hint = new QLabel(tr("Faites glisser les poignées, ou l'intérieur du cadre, pour ajuster la zone à conserver."), this);
|
||||
auto *hint = new QLabel(tr("Drag the handles, or the inside of the frame, to adjust the area to keep."), this);
|
||||
hint->setWordWrap(true);
|
||||
|
||||
auto *resetButton = new QPushButton(tr("Réinitialiser"), this);
|
||||
resetButton->setToolTip(tr("Revenir à l'image complète, sans rognage"));
|
||||
auto *resetButton = new QPushButton(tr("Reset"), this);
|
||||
resetButton->setToolTip(tr("Return to the full image, without cropping"));
|
||||
connect(resetButton, &QPushButton::clicked, m_cropArea, &CropAreaWidget::resetToFullImage);
|
||||
|
||||
auto *buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, this);
|
||||
|
||||
@@ -220,11 +220,11 @@ QUndoCommand* ImagePropertiesWidget::associatedUndo() const
|
||||
}
|
||||
};
|
||||
|
||||
chain("scaleFactorX", m_scaleX, newScaleX, tr("Modifier la largeur d'une image"));
|
||||
chain("scaleFactorY", m_scaleY, newScaleY, tr("Modifier la hauteur d'une image"));
|
||||
chain("rotationAngle", m_rotation, newRotation, tr("Modifier l'angle d'une image"));
|
||||
chain("skewX", m_skewX, newSkewX, tr("Modifier l'inclinaison d'une image"));
|
||||
chain("skewY", m_skewY, newSkewY, tr("Modifier l'inclinaison d'une image"));
|
||||
chain("scaleFactorX", m_scaleX, newScaleX, tr("Change the width of an image"));
|
||||
chain("scaleFactorY", m_scaleY, newScaleY, tr("Change the height of an image"));
|
||||
chain("rotationAngle", m_rotation, newRotation, tr("Change the angle of an image"));
|
||||
chain("skewX", m_skewX, newSkewX, tr("Change the skew of an image"));
|
||||
chain("skewY", m_skewY, newSkewY, tr("Change the skew of an image"));
|
||||
|
||||
// Not through chain(): a string cannot be animated.
|
||||
const QString newLabel = ui->m_label_le->text();
|
||||
@@ -235,7 +235,7 @@ QUndoCommand* ImagePropertiesWidget::associatedUndo() const
|
||||
else
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_image, "label", m_label, newLabel);
|
||||
undo->setText(tr("Modifier le libellé d'une image"));
|
||||
undo->setText(tr("Edit an image label"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -243,7 +243,7 @@ QUndoCommand* ImagePropertiesWidget::associatedUndo() const
|
||||
if (adapt != m_adapt_to_dark_theme) {
|
||||
if (undo) new QPropertyUndoCommand(m_image, "adaptToDarkTheme", m_adapt_to_dark_theme, adapt, undo);
|
||||
else {
|
||||
undo = new QUndoCommand(tr("Modifier l'adaptation d'une image au thème sombre"));
|
||||
undo = new QUndoCommand(tr("Change a picture's dark theme adaptation"));
|
||||
new QPropertyUndoCommand(m_image, "adaptToDarkTheme", m_adapt_to_dark_theme, adapt, undo);
|
||||
}
|
||||
}
|
||||
@@ -296,8 +296,8 @@ void ImagePropertiesWidget::on_m_lock_ratio_tb_toggled(bool checked)
|
||||
{
|
||||
ui->m_lock_ratio_tb->setIcon(checked ? QET::Icons::ObjectLocked : QET::Icons::ObjectUnlocked);
|
||||
ui->m_lock_ratio_tb->setToolTip(checked
|
||||
? tr("Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller.")
|
||||
: tr("Déverrouillé : largeur et hauteur peuvent être modifiées indépendamment. Cliquer pour verrouiller."));
|
||||
? tr("Locked: changing the width or height adjusts the other to keep proportions. Click to unlock.")
|
||||
: tr("Unlocked: width and height can be changed independently. Click to lock."));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label_width">
|
||||
<property name="text">
|
||||
<string>Largeur</string>
|
||||
<string>Width</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -43,7 +43,7 @@
|
||||
<item row="0" column="2" rowspan="2">
|
||||
<widget class="QToolButton" name="m_lock_ratio_tb">
|
||||
<property name="toolTip">
|
||||
<string>Verrouillé : modifier la largeur ou la hauteur ajuste l'autre pour conserver les proportions. Cliquer pour déverrouiller.</string>
|
||||
<string>Locked: changing the width or height adjusts the other to keep proportions. Click to unlock.</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
@@ -56,7 +56,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_height">
|
||||
<property name="text">
|
||||
<string>Hauteur</string>
|
||||
<string>Height</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -79,7 +79,7 @@
|
||||
<item row="2" column="0" colspan="3">
|
||||
<widget class="QPushButton" name="m_restore_ratio_pb">
|
||||
<property name="text">
|
||||
<string>Restaurer les proportions</string>
|
||||
<string>Restore proportions</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -109,7 +109,7 @@
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_skew_x">
|
||||
<property name="text">
|
||||
<string>Inclinaison X</string>
|
||||
<string>X skew</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -132,7 +132,7 @@
|
||||
<item row="5" column="0">
|
||||
<widget class="QLabel" name="label_skew_y">
|
||||
<property name="text">
|
||||
<string>Inclinaison Y</string>
|
||||
<string>Y skew</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -155,31 +155,31 @@
|
||||
<item row="6" column="0">
|
||||
<widget class="QLabel" name="label_label">
|
||||
<property name="text">
|
||||
<string>Libellé</string>
|
||||
<string>Label</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="m_label_le">
|
||||
<property name="toolTip">
|
||||
<string>Texte affiché sous l'image. Il suit l'image quand elle est déplacée, copiée ou tournée.</string>
|
||||
<string>Text displayed under the image. It follows the image when it is moved, copied or rotated.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="0" colspan="2">
|
||||
<widget class="QCheckBox" name="m_lock_pos_cb">
|
||||
<property name="text">
|
||||
<string>Verrouiller la position</string>
|
||||
<string>Lock Position</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="m_adapt_to_dark_theme_cb">
|
||||
<property name="text">
|
||||
<string>Adapter l’image au thème sombre</string>
|
||||
<string>Adapt the picture to the dark theme</string>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string>Adapte les couleurs à l’affichage sombre uniquement. L’image originale, les exports et les impressions restent inchangés.</string>
|
||||
<string>Adapts the colors for the dark display only. The original picture, exports and printouts stay unchanged.</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -55,7 +55,7 @@ ClickableImageLabel::ClickableImageLabel(const QImage &sourceImage, QWidget *par
|
||||
: m_source;
|
||||
setPixmap(QPixmap::fromImage(m_displayImage));
|
||||
setCursor(Qt::CrossCursor);
|
||||
setToolTip(tr("Cliquez pour choisir une couleur"));
|
||||
setToolTip(tr("Click to choose a color"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -101,7 +101,7 @@ ImageTransparentColorDialog::ImageTransparentColorDialog(const QPixmap &basePixm
|
||||
m_sourceImage(basePixmap.toImage()),
|
||||
m_pickedColors(existingColors)
|
||||
{
|
||||
setWindowTitle(tr("Couleur transparente"));
|
||||
setWindowTitle(tr("Transparent color"));
|
||||
|
||||
if (!m_pickedColors.isEmpty())
|
||||
m_lastToleranceUsed = m_pickedColors.last().tolerance;
|
||||
@@ -119,8 +119,8 @@ ImageTransparentColorDialog::ImageTransparentColorDialog(const QPixmap &basePixm
|
||||
updateOkEnabled();
|
||||
|
||||
auto *grid = new QGridLayout;
|
||||
grid->addWidget(new QLabel(tr("Image source")), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("Aperçu")), 0, 1);
|
||||
grid->addWidget(new QLabel(tr("Source image")), 0, 0);
|
||||
grid->addWidget(new QLabel(tr("Preview")), 0, 1);
|
||||
grid->addWidget(m_sourceLabel, 1, 0);
|
||||
grid->addWidget(m_previewLabel, 1, 1);
|
||||
|
||||
@@ -263,12 +263,12 @@ void ImageTransparentColorDialog::rebuildSwatches()
|
||||
auto *slider = new QSlider(Qt::Horizontal, row);
|
||||
slider->setRange(0, 100);
|
||||
slider->setValue(pc.tolerance);
|
||||
slider->setToolTip(tr("Tolérance pour cette couleur"));
|
||||
slider->setToolTip(tr("Tolerance for this color"));
|
||||
connect(slider, &QSlider::valueChanged, this, [this, i](int value) { setToleranceForIndex(i, value); });
|
||||
|
||||
auto *removeButton = new QToolButton(row);
|
||||
removeButton->setText(QStringLiteral("×"));
|
||||
removeButton->setToolTip(tr("Retirer cette couleur"));
|
||||
removeButton->setToolTip(tr("Remove this color"));
|
||||
connect(removeButton, &QToolButton::clicked, this, [this, i]() { removeColor(i); });
|
||||
|
||||
rowLayout->addWidget(swatch);
|
||||
@@ -278,8 +278,8 @@ void ImageTransparentColorDialog::rebuildSwatches()
|
||||
}
|
||||
|
||||
m_hintLabel->setText(m_pickedColors.isEmpty()
|
||||
? tr("Cliquez sur l'image pour choisir une couleur")
|
||||
: tr("Cliquez sur l'image pour ajouter une couleur. Ajustez la tolérance de chaque couleur avec son curseur, ou cliquez sur × pour la retirer."));
|
||||
? tr("Click on the image to choose a color")
|
||||
: tr("Click on the image to add a color. Adjust each color's tolerance with its slider, or click × to remove it."));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -11,27 +11,27 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Intégration d'un élément</string>
|
||||
<string>Integration of an element</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>L'élément a déjà été intégré dans le projet. Toutefois, la version que vous tentez de poser semble différente. Que souhaitez-vous faire ?</string>
|
||||
<string>The element has already been integrated in the project. However, the version you're trying to drop appears to be different. What do you wish to do ?</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_use_actual_rd">
|
||||
<property name="text">
|
||||
<string>Utiliser l'élément déjà integré</string>
|
||||
<string>Using the already integrated element</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_use_drop_rb">
|
||||
<property name="text">
|
||||
<string>Intégrer l'élément déposé</string>
|
||||
<string>Integrate the dropped element</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
@@ -49,14 +49,14 @@
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_erase_actual_rb">
|
||||
<property name="text">
|
||||
<string>Écraser l'élément déjà intégé</string>
|
||||
<string>Overwrite the already integrated element</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_use_both_rb">
|
||||
<property name="text">
|
||||
<string>Faire cohabiter les deux éléments</string>
|
||||
<string>Make the two elements coexist</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>false</bool>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_erase_existing_text">
|
||||
<property name="text">
|
||||
<string>Écraser les textes existants</string>
|
||||
<string>Erase existing texts</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -194,36 +194,36 @@ QUndoCommand *IndiTextPropertiesWidget::associatedUndo() const
|
||||
if(ui->m_x_sb->value() != m_text->pos().x()) {
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "x", QVariant(m_text->pos().x()), QVariant(ui->m_x_sb->value()));
|
||||
undo->setAnimated(true, false);
|
||||
undo->setText(tr("Déplacer un champ texte"));
|
||||
undo->setText(tr("Move a text field"));
|
||||
}
|
||||
if(ui->m_y_sb->value() != m_text->pos().y()) {
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "y", QVariant(m_text->pos().y()), QVariant(ui->m_y_sb->value()));
|
||||
undo->setAnimated(true, false);
|
||||
undo->setText(tr("Déplacer un champ texte"));
|
||||
undo->setText(tr("Move a text field"));
|
||||
}
|
||||
if(ui->m_angle_sb->value() != m_text->rotation()) {
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "rotation", QVariant(m_text->rotation()), QVariant(ui->m_angle_sb->value()));
|
||||
undo->setAnimated(true, false);
|
||||
undo->setText(tr("Pivoter un champ texte"));
|
||||
undo->setText(tr("Rotate a text field"));
|
||||
}
|
||||
if (ui->m_line_edit->text() != m_text->toPlainText()) {
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "plainText", m_text->toPlainText(), ui->m_line_edit->text());
|
||||
undo->setText(tr("Modifier un champ texte"));
|
||||
undo->setText(tr("Edit the text field"));
|
||||
}
|
||||
if (ui->m_size_sb->value() != m_text->font().pointSize()) {
|
||||
QFont font = m_text->font();
|
||||
font.setPointSize(ui->m_size_sb->value());
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "font", m_text->font(), font);
|
||||
undo->setText(tr("Modifier la taille d'un champ texte"));
|
||||
undo->setText(tr("Change the size of a text field"));
|
||||
}
|
||||
if (m_font_is_selected &&
|
||||
m_selected_font != m_text->font()) {
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "font", m_text->font(), m_selected_font);
|
||||
undo->setText(tr("Modifier la police d'un champ texte"));
|
||||
undo->setText(tr("Change the font of a text field"));
|
||||
}
|
||||
if (ui->m_width_sb->value() != spinBoxWidth(m_text->textWidth())) {
|
||||
undo = new QPropertyUndoCommand(m_text.data(), "textWidth", m_text->textWidth(), qreal(ui->m_width_sb->value()));
|
||||
undo->setText(tr("Modifier la largeur d'un champ texte"));
|
||||
undo->setText(tr("Change the width of a text field"));
|
||||
}
|
||||
|
||||
return undo;
|
||||
@@ -263,7 +263,7 @@ QUndoCommand *IndiTextPropertiesWidget::associatedUndo() const
|
||||
if (piti)
|
||||
{
|
||||
if (!parent_undo) {
|
||||
parent_undo = new QUndoCommand(tr("Pivoter plusieurs champs texte"));
|
||||
parent_undo = new QUndoCommand(tr("Rotate multiple text fields"));
|
||||
}
|
||||
QPropertyUndoCommand *qpuc = new QPropertyUndoCommand(piti.data(), "rotation", QVariant(piti->rotation()), QVariant(ui->m_angle_sb->value()), parent_undo);
|
||||
qpuc->setAnimated(true, false);
|
||||
@@ -278,7 +278,7 @@ QUndoCommand *IndiTextPropertiesWidget::associatedUndo() const
|
||||
if (piti)
|
||||
{
|
||||
if (!parent_undo) {
|
||||
parent_undo = new QUndoCommand(tr("Modifier la taille de plusieurs champs texte"));
|
||||
parent_undo = new QUndoCommand(tr("Change the size of multiple text fields"));
|
||||
}
|
||||
QFont font = piti->font();
|
||||
font.setPointSize(ui->m_size_sb->value());
|
||||
@@ -294,7 +294,7 @@ QUndoCommand *IndiTextPropertiesWidget::associatedUndo() const
|
||||
if (piti)
|
||||
{
|
||||
if (!parent_undo) {
|
||||
parent_undo = new QUndoCommand(tr("Modifier la police de plusieurs champs texte"));
|
||||
parent_undo = new QUndoCommand(tr("Change the font of several text fields"));
|
||||
}
|
||||
new QPropertyUndoCommand(piti.data(), "font", piti->font(), m_selected_font, parent_undo);
|
||||
}
|
||||
@@ -308,7 +308,7 @@ QUndoCommand *IndiTextPropertiesWidget::associatedUndo() const
|
||||
if (piti)
|
||||
{
|
||||
if (!parent_undo) {
|
||||
parent_undo = new QUndoCommand(tr("Modifier la largeur de plusieurs champs texte"));
|
||||
parent_undo = new QUndoCommand(tr("Change the width of several text fields"));
|
||||
}
|
||||
new QPropertyUndoCommand(piti.data(), "textWidth", piti->textWidth(), qreal(ui->m_width_sb->value()), parent_undo);
|
||||
}
|
||||
@@ -320,7 +320,7 @@ QUndoCommand *IndiTextPropertiesWidget::associatedUndo() const
|
||||
//In mode not live edit, only one text can be edited
|
||||
else if (m_text_list.isEmpty())
|
||||
{
|
||||
QUndoCommand *undo = new QUndoCommand(tr("Modifier les propriétés d'un texte"));
|
||||
QUndoCommand *undo = new QUndoCommand(tr("Modify the properties of a text"));
|
||||
if(ui->m_x_sb->value() != m_text->pos().x()) {
|
||||
new QPropertyUndoCommand(m_text.data(), "x", QVariant(m_text->pos().x()), QVariant(ui->m_x_sb->value()), undo);
|
||||
}
|
||||
@@ -418,7 +418,7 @@ void IndiTextPropertiesWidget::updateUi()
|
||||
ui->m_label->setVisible(m_text->isHtml() ? true : false);
|
||||
ui->m_break_html_pb->setVisible(m_text->isHtml() ? true : false);
|
||||
ui->m_font_pb->setDisabled(m_text->isHtml() ? true : false);
|
||||
ui->m_font_pb->setText(m_text->isHtml() ? tr("Police") : m_text->font().family());
|
||||
ui->m_font_pb->setText(m_text->isHtml() ? tr("Font") : m_text->font().family());
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -457,7 +457,7 @@ void IndiTextPropertiesWidget::updateUi()
|
||||
}
|
||||
}
|
||||
ui->m_font_pb->setEnabled(valid_);
|
||||
ui->m_font_pb->setText(font_equal ? font_.family() : tr("Police"));
|
||||
ui->m_font_pb->setText(font_equal ? font_.family() : tr("Font"));
|
||||
ui->m_size_sb->setEnabled(valid_);
|
||||
ui->m_size_sb->setValue(size_equal ? size_ : 0);
|
||||
ui->m_label->setVisible(false);
|
||||
@@ -506,7 +506,7 @@ void IndiTextPropertiesWidget::on_m_font_pb_clicked()
|
||||
LastUsedStyle::setTextFont(m_selected_font);
|
||||
apply();
|
||||
} else {
|
||||
ui->m_font_pb->setText(tr("Police"));
|
||||
ui->m_font_pb->setText(tr("Font"));
|
||||
m_font_is_selected = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,14 +27,14 @@
|
||||
<item row="1" column="0" colspan="4">
|
||||
<widget class="QPushButton" name="m_advanced_editor_pb">
|
||||
<property name="text">
|
||||
<string>Éditeur avancé</string>
|
||||
<string>Advanced Editor</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Taille :</string>
|
||||
<string>Size :</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@@ -44,7 +44,7 @@
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Angle :</string>
|
||||
<string>Angle:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@@ -129,7 +129,7 @@
|
||||
<item row="4" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Largeur :</string>
|
||||
<string>Width:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||
@@ -139,7 +139,7 @@
|
||||
<item row="4" column="1">
|
||||
<widget class="QSpinBox" name="m_width_sb">
|
||||
<property name="toolTip">
|
||||
<string>Largeur du texte, le texte passe à la ligne. Auto : pas de retour à la ligne automatique</string>
|
||||
<string>Text width; the text wraps at this width. Auto: no automatic line wrap</string>
|
||||
</property>
|
||||
<property name="specialValueText">
|
||||
<string>Auto</string>
|
||||
@@ -161,8 +161,8 @@
|
||||
<item row="5" column="0" colspan="4">
|
||||
<widget class="QLabel" name="m_label">
|
||||
<property name="text">
|
||||
<string>Le contenu, la taille et la police du texte ne peuvent être modifié car formaté en html.
|
||||
Veuillez utiliser l'éditeur avancé pour cela.</string>
|
||||
<string>The contents, the size and the font of the text can not be modified because formatted in html.
|
||||
Please use the advanced editor for this.</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
@@ -175,21 +175,21 @@ Veuillez utiliser l'éditeur avancé pour cela.</string>
|
||||
<item row="6" column="0" colspan="4">
|
||||
<widget class="QPushButton" name="m_break_html_pb">
|
||||
<property name="text">
|
||||
<string>Cliquez ici pour annuler le formatage html</string>
|
||||
<string>Click here to cancel html formatting</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QLineEdit" name="m_line_edit">
|
||||
<property name="placeholderText">
|
||||
<string>Texte</string>
|
||||
<string>Text</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="3">
|
||||
<widget class="QPushButton" name="m_font_pb">
|
||||
<property name="text">
|
||||
<string>Police</string>
|
||||
<string>Font</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -40,10 +40,10 @@ JumpToElementDialog::JumpToElementDialog(Diagram *diagram, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
m_diagram(diagram)
|
||||
{
|
||||
setWindowTitle(tr("Atteindre un élément", "window title"));
|
||||
setWindowTitle(tr("Navigate to an element", "window title"));
|
||||
|
||||
m_filter_edit = new QLineEdit(this);
|
||||
m_filter_edit->setPlaceholderText(tr("Nom, label ou information de l'élément, ou case (ex. B13 ou 3-B13)…"));
|
||||
m_filter_edit->setPlaceholderText(tr("Name, label or information of the element, or cell (e.g. B13 or 3-B13)…"));
|
||||
m_filter_edit->installEventFilter(this);
|
||||
|
||||
m_result_list = new QListWidget(this);
|
||||
@@ -236,12 +236,12 @@ QListWidgetItem *JumpToElementDialog::cellItem(const QString &needle) const
|
||||
|
||||
cell = cell.remove(QLatin1Char(' ')).toUpper();
|
||||
if (diagram == m_diagram) {
|
||||
text = tr("Case %1").arg(cell);
|
||||
text = tr("Cell %1").arg(cell);
|
||||
} else {
|
||||
const QString title = diagram->title();
|
||||
text = title.isEmpty()
|
||||
? tr("Folio %1, case %2").arg(diagrams.indexOf(diagram) + 1).arg(cell)
|
||||
: tr("Folio %1 (%2), case %3").arg(diagrams.indexOf(diagram) + 1).arg(title, cell);
|
||||
? tr("Sheet %1, cell %2").arg(diagrams.indexOf(diagram) + 1).arg(cell)
|
||||
: tr("Sheet %1 (%2), cell %3").arg(diagrams.indexOf(diagram) + 1).arg(title, cell);
|
||||
}
|
||||
|
||||
auto *item = new QListWidgetItem(text);
|
||||
|
||||
@@ -52,10 +52,10 @@ LinkSingleElementWidget::LinkSingleElementWidget(Element *elmt,
|
||||
|
||||
ui->m_tree_widget->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
m_context_menu = new QMenu(this);
|
||||
m_link_action = new QAction(tr("Lier l'élément"), this);
|
||||
m_show_qtwi = new QAction(tr("Montrer l'élément"), this);
|
||||
m_show_element = new QAction(tr("Montrer l'élément esclave"), this);
|
||||
m_save_header_state = new QAction(tr("Enregistrer la disposition"), this);
|
||||
m_link_action = new QAction(tr("Link the item"), this);
|
||||
m_show_qtwi = new QAction(tr("Show item"), this);
|
||||
m_show_element = new QAction(tr("Show slave element"), this);
|
||||
m_save_header_state = new QAction(tr("Save the layout"), this);
|
||||
|
||||
// Hide the full-masters checkbox for non-slave elements
|
||||
const bool is_slave = (elmt && elmt->elementData().m_type == ElementData::Slave);
|
||||
@@ -233,9 +233,9 @@ QUndoCommand *LinkSingleElementWidget::associatedUndo() const
|
||||
QString LinkSingleElementWidget::title() const
|
||||
{
|
||||
if (m_element->elementData().m_type & ElementData::AllReport)
|
||||
return tr("Report de folio");
|
||||
return tr("Sheet reference");
|
||||
else
|
||||
return tr("Référence croisée (esclave)");
|
||||
return tr("Cross-reference (slave)");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -514,18 +514,18 @@ void LinkSingleElementWidget::setUpHeaderLabels()
|
||||
if (settings.value(QStringLiteral("genericpanel/folio"), false).toBool())
|
||||
{
|
||||
list << tr("Label")
|
||||
<< tr("Commentaire")
|
||||
<< tr("Label de folio")
|
||||
<< tr("Annotation")
|
||||
<< tr("Sheet label")
|
||||
<< tr("Position")
|
||||
<< tr("Titre de folio");
|
||||
<< tr("Sheet title");
|
||||
}
|
||||
else
|
||||
{
|
||||
list << tr("Label")
|
||||
<< tr("Commentaire")
|
||||
<< tr("N° de folio")
|
||||
<< tr("Annotation")
|
||||
<< tr("Sheet no.")
|
||||
<< tr("Position")
|
||||
<< tr("Titre de folio");
|
||||
<< tr("Sheet title");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -533,25 +533,25 @@ void LinkSingleElementWidget::setUpHeaderLabels()
|
||||
{
|
||||
if (settings.value(QStringLiteral("genericpanel/folio"), false).toBool())
|
||||
{
|
||||
list << tr("N° de fil")
|
||||
<< tr("Fonction")
|
||||
<< tr("Tension / Protocole")
|
||||
<< tr("Couleur du conducteur")
|
||||
<< tr("Section du conducteur")
|
||||
<< tr("Label de folio")
|
||||
list << tr("N° wire")
|
||||
<< tr("Function")
|
||||
<< tr("Voltage / Protocol")
|
||||
<< tr("Conductor color")
|
||||
<< tr("Conductor section")
|
||||
<< tr("Sheet label")
|
||||
<< tr("Position")
|
||||
<< tr("Titre de folio");
|
||||
<< tr("Sheet title");
|
||||
}
|
||||
else
|
||||
{
|
||||
list << tr("N° de fil")
|
||||
<< tr("Fonction")
|
||||
<< tr("Tension / Protocole")
|
||||
<< tr("Couleur du conducteur")
|
||||
<< tr("Section du conducteur")
|
||||
<< tr("N° de folio")
|
||||
list << tr("N° wire")
|
||||
<< tr("Function")
|
||||
<< tr("Voltage / Protocol")
|
||||
<< tr("Conductor color")
|
||||
<< tr("Conductor section")
|
||||
<< tr("Sheet no.")
|
||||
<< tr("Position")
|
||||
<< tr("Titre de folio");
|
||||
<< tr("Sheet title");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -620,15 +620,15 @@ void LinkSingleElementWidget::linkTriggered()
|
||||
.arg(io.address)
|
||||
.arg(io.functionText);
|
||||
if (used_indices.contains(i))
|
||||
label += tr(" (déjà utilisé)");
|
||||
label += tr(" (already used)");
|
||||
items << label;
|
||||
}
|
||||
|
||||
bool ok = false;
|
||||
int selected = QInputDialog::getInt(
|
||||
this,
|
||||
tr("Sélectionner un IO PLC"),
|
||||
tr("IO disponible:"),
|
||||
tr("Select a PLC I/O"),
|
||||
tr("Available I/O:"),
|
||||
0, 0, plc_data.ios.size() - 1, 1, &ok);
|
||||
|
||||
if (ok && selected >= 0) {
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<item row="1" column="2">
|
||||
<widget class="QPushButton" name="m_show_this_pb">
|
||||
<property name="text">
|
||||
<string>Voir cet élément</string>
|
||||
<string>View this item</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -39,35 +39,35 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="m_unlink_pb">
|
||||
<property name="text">
|
||||
<string>Délier</string>
|
||||
<string>Unlink</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QPushButton" name="m_show_linked_pb">
|
||||
<property name="text">
|
||||
<string>Voir l'élément lié</string>
|
||||
<string>See the linked item</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="m_label">
|
||||
<property name="text">
|
||||
<string>Cet élément est déjà lié</string>
|
||||
<string>This element is already linked</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0" colspan="3">
|
||||
<widget class="QLineEdit" name="m_search_field">
|
||||
<property name="placeholderText">
|
||||
<string>Recherche</string>
|
||||
<string>Search</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="m_hide_full_masters_cb">
|
||||
<property name="text">
|
||||
<string>Masquer les éléments maîtres pleins</string>
|
||||
<string>Hide full master elements</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Editer les marges</string>
|
||||
<string>Edit margins</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="3" column="1">
|
||||
@@ -68,28 +68,28 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Haut :</string>
|
||||
<string>Top :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Gauche :</string>
|
||||
<string>Left :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Droit :</string>
|
||||
<string>Right :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Bas :</string>
|
||||
<string>Bottom :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -60,26 +60,26 @@ m_project(nullptr)
|
||||
QStringList list;
|
||||
QSettings settings;
|
||||
if (settings.value("genericpanel/folio", false).toBool()) {
|
||||
list << tr("Vignette")
|
||||
<< tr("Label de folio")
|
||||
<< tr("Titre de folio")
|
||||
list << tr("Thumbnail")
|
||||
<< tr("Sheet label")
|
||||
<< tr("Sheet title")
|
||||
<< tr("Position");
|
||||
}
|
||||
else {
|
||||
list << tr("Vignette")
|
||||
<< tr("N° de folio")
|
||||
<< tr("Titre de folio")
|
||||
list << tr("Thumbnail")
|
||||
<< tr("Sheet no.")
|
||||
<< tr("Sheet title")
|
||||
<< tr("Position");
|
||||
}
|
||||
ui->m_free_tree_widget->setHeaderLabels(list);
|
||||
ui->m_link_tree_widget->setHeaderLabels(list);
|
||||
|
||||
m_context_menu = new QMenu(this);
|
||||
m_link_action = new QAction(tr("Lier l'élément"), this);
|
||||
m_unlink_action = new QAction(tr("Délier l'élément"), this);
|
||||
m_show_qtwi = new QAction(tr("Montrer l'élément"), this);
|
||||
m_show_element = new QAction(tr("Montrer l'élément maître"), this);
|
||||
m_save_header_state = new QAction(tr("Enregistrer la disposition"), this);
|
||||
m_link_action = new QAction(tr("Link the item"), this);
|
||||
m_unlink_action = new QAction(tr("Unlink the item"), this);
|
||||
m_show_qtwi = new QAction(tr("Show item"), this);
|
||||
m_show_element = new QAction(tr("Show master element"), this);
|
||||
m_save_header_state = new QAction(tr("Save the layout"), this);
|
||||
|
||||
connect(ui->m_free_tree_widget, &QTreeWidget::itemDoubleClicked,
|
||||
this, &MasterPropertiesWidget::showElementFromTWI);
|
||||
@@ -317,9 +317,10 @@ void MasterPropertiesWidget::on_link_button_clicked()
|
||||
// Show a message box with the actual window as parent to ensure it's on top
|
||||
const auto answer = QMessageBox::warning(
|
||||
this->window(),
|
||||
tr("Nombre maximal d'esclaves atteint."),
|
||||
tr("La limite fixée pour cet élément maître est atteinte (Limite: %1).\n\n"
|
||||
"Voulez-vous tout de même lier ce contact esclave ?").arg(max_slaves),
|
||||
tr("Maximum number of slaves reached."),
|
||||
tr("The limit set for this master element has been reached (Limit: %1).\n"
|
||||
"\n"
|
||||
"Do you still want to link this slave contact?").arg(max_slaves),
|
||||
QMessageBox::Yes | QMessageBox::No,
|
||||
QMessageBox::Yes);
|
||||
if (answer != QMessageBox::Yes) {
|
||||
@@ -536,8 +537,8 @@ void MasterPropertiesWidget::updateUi()
|
||||
m_plc_table = new QTableWidget(m_plc_widget);
|
||||
m_plc_table->setColumnCount(6);
|
||||
m_plc_table->setHorizontalHeaderLabels({
|
||||
tr("Type"), tr("Adresse"), tr("Fonction"),
|
||||
tr("Commentaire"), tr("Réf. croisée"), tr("Bornes")
|
||||
tr("Type"), tr("Address"), tr("Function"),
|
||||
tr("Annotation"), tr("Cross-reference"), tr("Terminals")
|
||||
});
|
||||
m_plc_table->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
|
||||
m_plc_table->horizontalHeader()->setSectionsMovable(true);
|
||||
@@ -1074,7 +1075,7 @@ void MasterPropertiesWidget::plcShowTableContextMenu(const QPoint &pos)
|
||||
return;
|
||||
|
||||
QMenu menu;
|
||||
menu.addAction(tr("Coller depuis le presse-papiers"), this, &MasterPropertiesWidget::plcPasteFromClipboard);
|
||||
menu.addAction(tr("Paste from the clipboard"), this, &MasterPropertiesWidget::plcPasteFromClipboard);
|
||||
|
||||
menu.exec(m_plc_table->mapToGlobal(pos));
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ class MasterPropertiesWidget : public AbstractElementPropertiesEditorWidget
|
||||
@return QString title
|
||||
*/
|
||||
QString title() const override {
|
||||
return tr("Référence croisée (maître)");}
|
||||
return tr("Cross-reference (master)");}
|
||||
bool setLiveEdit(bool live_edit) override;
|
||||
|
||||
public slots:
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Éléments liés</string>
|
||||
<string>Elements related</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
@@ -120,7 +120,7 @@
|
||||
<item row="0" column="2">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Éléments disponibles</string>
|
||||
<string>Available elements</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
@@ -130,7 +130,7 @@
|
||||
<item row="2" column="3">
|
||||
<widget class="QPushButton" name="unlink_button">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Délier l'élément sélectionné</p></body></html></string>
|
||||
<string><html><head/><body><p>Unlink the selected item</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -143,7 +143,7 @@
|
||||
<item row="2" column="4">
|
||||
<widget class="QPushButton" name="link_button">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Lier l'élément sélectionné</p></body></html></string>
|
||||
<string><html><head/><body><p>Link the selected item</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
|
||||
@@ -104,7 +104,7 @@ void MultiPasteDialog::on_m_button_box_accepted()
|
||||
{
|
||||
if(m_pasted_content.count())
|
||||
{
|
||||
m_diagram->undoStack().beginMacro(tr("Multi-collage"));
|
||||
m_diagram->undoStack().beginMacro(tr("Multi-paste"));
|
||||
|
||||
QETProject *project = m_diagram->project();
|
||||
|
||||
@@ -161,7 +161,7 @@ void MultiPasteDialog::on_m_button_box_accepted()
|
||||
//changed, and labels which other elements keep are not given.
|
||||
if(!copy_schemes.at(copy).isEmpty())
|
||||
{
|
||||
auto *numbering = new QUndoCommand(tr("Numéroter les éléments collés"));
|
||||
auto *numbering = new QUndoCommand(tr("Number pasted elements"));
|
||||
ElementAutoNumSchemeCommand::numberPasted(project, copy_schemes.at(copy), numbering);
|
||||
if(numbering->childCount())
|
||||
m_diagram->undoStack().push(numbering);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Collage multiple</string>
|
||||
<string>Multiple paste</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@@ -19,7 +19,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Décalage</string>
|
||||
<string>offset</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -74,7 +74,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Nombre de copie</string>
|
||||
<string>Number of copies</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -90,21 +90,21 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_auto_connection_cb">
|
||||
<property name="text">
|
||||
<string>Auto-connexion</string>
|
||||
<string>Auto-connection</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_auto_num_cb">
|
||||
<property name="text">
|
||||
<string>Auto-numérotation des éléments</string>
|
||||
<string>Self-numbering of elements</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_auto_num_cond_cb">
|
||||
<property name="text">
|
||||
<string>Auto-numérotation des conducteurs</string>
|
||||
<string>Self-numbering of conductors</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -48,7 +48,7 @@ PdfPagesDialog::PdfPagesDialog(QPdfDocument &document, QWidget *parent)
|
||||
: QDialog(parent),
|
||||
m_document(document)
|
||||
{
|
||||
setWindowTitle(tr("Sélectionner une page"));
|
||||
setWindowTitle(tr("Select a page"));
|
||||
setMinimumWidth(500);
|
||||
setMinimumHeight(500);
|
||||
|
||||
@@ -59,7 +59,7 @@ PdfPagesDialog::PdfPagesDialog(QPdfDocument &document, QWidget *parent)
|
||||
|
||||
// Info label: "Ce document PDF contient X page(s)"
|
||||
m_info_label = new QLabel(
|
||||
tr("Ce document PDF contient %n page(s)", "", pageCount),
|
||||
tr("This PDF document contains %n pages", "", pageCount),
|
||||
this
|
||||
);
|
||||
m_info_label->setWordWrap(true);
|
||||
@@ -68,7 +68,7 @@ PdfPagesDialog::PdfPagesDialog(QPdfDocument &document, QWidget *parent)
|
||||
// Page selection layout
|
||||
QHBoxLayout *page_layout = new QHBoxLayout();
|
||||
|
||||
QLabel *select_label = new QLabel(tr("Page à importer :"), this);
|
||||
QLabel *select_label = new QLabel(tr("Page to import:"), this);
|
||||
page_layout->addWidget(select_label);
|
||||
|
||||
// Spinbox: min=1, max=pageCount
|
||||
@@ -81,20 +81,20 @@ PdfPagesDialog::PdfPagesDialog(QPdfDocument &document, QWidget *parent)
|
||||
page_layout->addStretch();
|
||||
|
||||
// DPI selection
|
||||
QLabel *dpi_label = new QLabel(tr("Résolution :"), this);
|
||||
QLabel *dpi_label = new QLabel(tr("Resolution:"), this);
|
||||
page_layout->addWidget(dpi_label);
|
||||
|
||||
m_dpi_combo = new QComboBox(this);
|
||||
m_dpi_combo->addItem(tr("150 DPI (écran)"), 150);
|
||||
m_dpi_combo->addItem(tr("300 DPI (impression)"), 300);
|
||||
m_dpi_combo->addItem(tr("600 DPI (haute qualité)"), 600);
|
||||
m_dpi_combo->addItem(tr("150 DPI (screen)"), 150);
|
||||
m_dpi_combo->addItem(tr("300 DPI (print)"), 300);
|
||||
m_dpi_combo->addItem(tr("600 DPI (high quality)"), 600);
|
||||
m_dpi_combo->setCurrentIndex(0);
|
||||
page_layout->addWidget(m_dpi_combo);
|
||||
|
||||
main_layout->addLayout(page_layout);
|
||||
|
||||
// Preview area
|
||||
QLabel *preview_title = new QLabel(tr("Aperçu :"), this);
|
||||
QLabel *preview_title = new QLabel(tr("Preview :"), this);
|
||||
main_layout->addWidget(preview_title);
|
||||
|
||||
QScrollArea *scroll_area = new QScrollArea(this);
|
||||
|
||||
@@ -50,28 +50,28 @@ PlcLinkWidget::PlcLinkWidget(Element *elmt, QWidget *parent)
|
||||
auto *main_layout = new QGridLayout(this);
|
||||
|
||||
// Row 0: Status label + buttons (shown when already linked)
|
||||
m_label = new QLabel(tr("Cet élément est déjà lié"), this);
|
||||
m_unlink_pb = new QPushButton(tr("Délier"), this);
|
||||
m_show_this_pb = new QPushButton(tr("Voir cet élément"), this);
|
||||
m_label = new QLabel(tr("This element is already linked"), this);
|
||||
m_unlink_pb = new QPushButton(tr("Unlink"), this);
|
||||
m_show_this_pb = new QPushButton(tr("View this item"), this);
|
||||
|
||||
main_layout->addWidget(m_label, 0, 0);
|
||||
main_layout->addWidget(m_unlink_pb, 0, 1);
|
||||
main_layout->addWidget(m_show_this_pb, 0, 2);
|
||||
|
||||
// Row 1: Hide linked elements checkbox
|
||||
m_hide_linked_cb = new QCheckBox(tr("Masquer les éléments connectés"), this);
|
||||
m_hide_linked_cb = new QCheckBox(tr("Hide connected elements"), this);
|
||||
main_layout->addWidget(m_hide_linked_cb, 1, 0, 1, 3);
|
||||
|
||||
// Row 2: Search field
|
||||
m_search_field = new QLineEdit(this);
|
||||
m_search_field->setPlaceholderText(tr("Recherche"));
|
||||
m_search_field->setPlaceholderText(tr("Search"));
|
||||
main_layout->addWidget(m_search_field, 2, 0, 1, 3);
|
||||
|
||||
// Row 3: Tree widget
|
||||
m_tree_widget = new QTreeWidget(this);
|
||||
m_tree_widget->setHeaderLabels({
|
||||
tr("Label"), tr("Type"), tr("Adresse"),
|
||||
tr("Fonction"), tr("Commentaire"), tr("Bornes")
|
||||
tr("Label"), tr("Type"), tr("Address"),
|
||||
tr("Function"), tr("Annotation"), tr("Terminals")
|
||||
});
|
||||
m_tree_widget->setRootIsDecorated(true);
|
||||
m_tree_widget->setIndentation(20);
|
||||
@@ -88,8 +88,8 @@ PlcLinkWidget::PlcLinkWidget(Element *elmt, QWidget *parent)
|
||||
|
||||
// Row 4: Hidden masters note
|
||||
m_hidden_masters_label = new QLabel(
|
||||
tr("Remarque : les éléments maîtres ayant atteint leur nombre maximal "
|
||||
"d'esclaves sont masqués."), this);
|
||||
tr("Note: Master elements that have reached their maximum number of "
|
||||
"slaves are hidden."), this);
|
||||
m_hidden_masters_label->setWordWrap(true);
|
||||
QFont italic_font = m_hidden_masters_label->font();
|
||||
italic_font.setItalic(true);
|
||||
@@ -153,7 +153,7 @@ QUndoCommand *PlcLinkWidget::associatedUndo() const
|
||||
|
||||
QString PlcLinkWidget::title() const
|
||||
{
|
||||
return tr("Automate (PLC)");
|
||||
return tr("Programmable Logic Controller (PLC)");
|
||||
}
|
||||
|
||||
void PlcLinkWidget::updateUi()
|
||||
@@ -271,7 +271,7 @@ void PlcLinkWidget::buildPlcTree()
|
||||
for (Element *linked : elmt->linkedElements()) {
|
||||
if (elmt->groupIndexForElement(linked) == i) {
|
||||
child_item->setToolTip(0,
|
||||
tr("Lié à: %1").arg(linked->actualLabel()));
|
||||
tr("Related to: %1").arg(linked->actualLabel()));
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -377,7 +377,7 @@ void PlcLinkWidget::on_m_tree_widget_customContextMenuRequested(const QPoint &po
|
||||
return; // Already linked, no actions
|
||||
|
||||
QMenu menu;
|
||||
QAction *link_action = menu.addAction(tr("Connecter"));
|
||||
QAction *link_action = menu.addAction(tr("Log in"));
|
||||
|
||||
QAction *selected_action = menu.exec(m_tree_widget->viewport()->mapToGlobal(pos));
|
||||
if (selected_action == link_action) {
|
||||
|
||||
@@ -203,8 +203,8 @@ ConductorProperties PotentialSelectorDialog::chosenProperties(QList<ConductorPro
|
||||
QDialog dialog(widget);
|
||||
QVBoxLayout layout(widget);
|
||||
dialog.setLayout(&layout);
|
||||
QLabel label(tr("Veuillez choisir un potentiel électrique de la liste \n"
|
||||
"à utiliser pour le nouveau potentiel"));
|
||||
QLabel label(tr("Please select an electrical potential from the list \n"
|
||||
"to use for the new potential"));
|
||||
layout.addWidget(&label);
|
||||
|
||||
QHash <QRadioButton *, ConductorProperties> H;
|
||||
@@ -212,15 +212,15 @@ ConductorProperties PotentialSelectorDialog::chosenProperties(QList<ConductorPro
|
||||
{
|
||||
QString text;
|
||||
if(!cp.text.isEmpty())
|
||||
text.append(tr("\nNuméro : %1").arg(cp.text));
|
||||
text.append(tr("\nNumber: %1").arg(cp.text));
|
||||
if(!cp.m_function.isEmpty())
|
||||
text.append(tr("\nFonction : %1").arg(cp.m_function));
|
||||
text.append(tr("\nFunction : %1").arg(cp.m_function));
|
||||
if(!cp.m_tension_protocol.isEmpty())
|
||||
text.append(tr("\nTension/protocole : %1").arg(cp.m_tension_protocol));
|
||||
text.append(tr("\nVoltage / Protocol : %1").arg(cp.m_tension_protocol));
|
||||
if(!cp.m_wire_color.isEmpty())
|
||||
text.append(tr("\nCouleur du conducteur : %1").arg(cp.m_wire_color));
|
||||
text.append(tr("\nConductor color : %1").arg(cp.m_wire_color));
|
||||
if(!cp.m_wire_section.isEmpty())
|
||||
text.append(tr("\nSection du conducteur : %1").arg(cp.m_wire_section));
|
||||
text.append(tr("\nConductor section : %1").arg(cp.m_wire_section));
|
||||
|
||||
QRadioButton *b = new QRadioButton(text, &dialog);
|
||||
layout.addWidget(b);
|
||||
@@ -311,7 +311,7 @@ PotentialSelectorDialog::~PotentialSelectorDialog()
|
||||
*/
|
||||
void PotentialSelectorDialog::buildWidget()
|
||||
{
|
||||
QString text1(tr("%n conducteurs composent le potentiel suivant :",
|
||||
QString text1(tr("%n conductors make up the following potential :",
|
||||
"",
|
||||
m_potential_selector->m_conductor_number_1));
|
||||
|
||||
@@ -320,20 +320,20 @@ void PotentialSelectorDialog::buildWidget()
|
||||
cp1 = m_potential_selector->m_properties_list_1.first();;
|
||||
|
||||
if(!cp1.text.isEmpty())
|
||||
text1.append(tr("\nNuméro : %1").arg(cp1.text));
|
||||
text1.append(tr("\nNumber: %1").arg(cp1.text));
|
||||
if(!cp1.m_function.isEmpty())
|
||||
text1.append(tr("\nFonction : %1").arg(cp1.m_function));
|
||||
text1.append(tr("\nFunction : %1").arg(cp1.m_function));
|
||||
if(!cp1.m_tension_protocol.isEmpty())
|
||||
text1.append(tr("\nTension/protocole : %1")
|
||||
text1.append(tr("\nVoltage / Protocol : %1")
|
||||
.arg(cp1.m_tension_protocol));
|
||||
if(!cp1.m_wire_color.isEmpty())
|
||||
text1.append(tr("\nCouleur du conducteur : %1")
|
||||
text1.append(tr("\nConductor color : %1")
|
||||
.arg(cp1.m_wire_color));
|
||||
if(!cp1.m_wire_section.isEmpty())
|
||||
text1.append(tr("\nSection du conducteur : %1")
|
||||
text1.append(tr("\nConductor section : %1")
|
||||
.arg(cp1.m_wire_section));
|
||||
|
||||
QString text2(tr("%n conducteurs composent le potentiel suivant :",
|
||||
QString text2(tr("%n conductors make up the following potential :",
|
||||
"",
|
||||
m_potential_selector->m_conductor_number_2));
|
||||
ConductorProperties cp2;
|
||||
@@ -341,27 +341,27 @@ void PotentialSelectorDialog::buildWidget()
|
||||
cp2 = m_potential_selector->m_properties_list_2.first();
|
||||
|
||||
if(!cp2.text.isEmpty())
|
||||
text2.append(tr("\nNuméro : %1").arg(cp2.text));
|
||||
text2.append(tr("\nNumber: %1").arg(cp2.text));
|
||||
if(!cp2.m_function.isEmpty())
|
||||
text2.append(tr("\nFonction : %1").arg(cp2.m_function));
|
||||
text2.append(tr("\nFunction : %1").arg(cp2.m_function));
|
||||
if(!cp2.m_tension_protocol.isEmpty())
|
||||
text2.append(tr("\nTension/protocole : %1")
|
||||
text2.append(tr("\nVoltage / Protocol : %1")
|
||||
.arg(cp2.m_tension_protocol));
|
||||
if(!cp2.m_wire_color.isEmpty())
|
||||
text2.append(tr("\nCouleur du conducteur : %1")
|
||||
text2.append(tr("\nConductor color : %1")
|
||||
.arg(cp2.m_wire_color));
|
||||
if(!cp2.m_wire_section.isEmpty())
|
||||
text2.append(tr("\nSection du conducteur : %1")
|
||||
text2.append(tr("\nConductor section : %1")
|
||||
.arg(cp2.m_wire_section));
|
||||
|
||||
QRadioButton *rb1 = new QRadioButton(text1, this);
|
||||
QRadioButton *rb2 = new QRadioButton(text2, this);
|
||||
|
||||
QRadioButton *rbk = new QRadioButton(
|
||||
tr("Ajouter au câble: %1")
|
||||
tr("Add to cable: %1")
|
||||
.arg("wouldn't this be nice?"), this);
|
||||
QRadioButton *rbb = new QRadioButton(
|
||||
tr("Ajouter au bus: %1")
|
||||
tr("Add to bus: %1")
|
||||
.arg("wouldn't this be nice?"), this);
|
||||
|
||||
#if TODO_LIST
|
||||
@@ -433,7 +433,7 @@ void PotentialSelectorDialog::on_buttonBox_accepted()
|
||||
undo = m_parent_undo;
|
||||
else
|
||||
undo = new QUndoCommand(
|
||||
tr("Modifier les propriétés de plusieurs conducteurs",
|
||||
tr("Edit the properties of several conductors",
|
||||
"undo caption"));
|
||||
|
||||
Diagram * diagram = nullptr;
|
||||
@@ -486,9 +486,9 @@ void PotentialSelectorDialog::on_buttonBox_accepted()
|
||||
<< "%M"
|
||||
<< "%LM";
|
||||
|
||||
QString text(tr("La formule du nouveau potentiel contient des variables incompatibles avec les reports de folio.\n"
|
||||
"Veuillez saisir une formule compatible pour ce potentiel.\n"
|
||||
"Les variables suivantes sont incompatibles :\n"
|
||||
QString text(tr("The new potential formula contains variables incompatible with sheet references.\n"
|
||||
"Please enter a compatible formula for this potential.\n"
|
||||
"The following variables are incompatible:\n"
|
||||
"%sequf_ %seqtf_ %seqhf_ %id %F %M %LM"));
|
||||
FormulaAssistantDialog fag(this);
|
||||
fag.setForbiddenVariables(forbidden_str);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Sélectionner le potentiel éléctrique</string>
|
||||
<string>Select the electric potential</string>
|
||||
</property>
|
||||
<property name="sizeGripEnabled">
|
||||
<bool>false</bool>
|
||||
@@ -35,8 +35,8 @@
|
||||
<enum>QFrame::Plain</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Vous tentez de lier deux potentiels différents ensemble.
|
||||
Veuillez choisir les propriétées à appliquer au nouveau potentiel.</string>
|
||||
<string>You try to link two different potentials together.
|
||||
Please select the properties to be applied to new potential.</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
|
||||
@@ -45,7 +45,7 @@ PrefixConfigurationDialog::PrefixConfigurationDialog(QetLabelsFile &labels, cons
|
||||
m_folders(folders),
|
||||
m_tree(new QTreeWidget(this))
|
||||
{
|
||||
setWindowTitle(tr("Préfixes de la collection utilisateur", "title of the dialog configuring the prefixes of the user collection"));
|
||||
setWindowTitle(tr("User collection prefixes", "title of the dialog configuring the prefixes of the user collection"));
|
||||
setModal(true);
|
||||
resize(700, 500);
|
||||
|
||||
@@ -53,12 +53,12 @@ PrefixConfigurationDialog::PrefixConfigurationDialog(QetLabelsFile &labels, cons
|
||||
|
||||
auto *hint = new QLabel(this);
|
||||
hint->setWordWrap(true);
|
||||
hint->setText(tr("Chaque dossier de la collection possède un préfixe : il est ajouté devant l'étiquette des éléments du dossier.\n"
|
||||
"Un champ vide signifie que le dossier reprend le préfixe de son dossier parent."));
|
||||
hint->setText(tr("Each folder of the collection has a prefix: it is added in front of the label of the symbols in the folder.\n"
|
||||
"An empty field means the folder takes the prefix of its parent folder."));
|
||||
layout->addWidget(hint);
|
||||
|
||||
m_tree->setColumnCount(2);
|
||||
m_tree->setHeaderLabels(QStringList() << tr("Dossier", "column header of the folder tree") << tr("Préfixe", "column header of the prefix column"));
|
||||
m_tree->setHeaderLabels(QStringList() << tr("Folder", "column header of the folder tree") << tr("Prefix", "column header of the prefix column"));
|
||||
m_tree->setRootIsDecorated(true);
|
||||
m_tree->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
m_tree->setSelectionMode(QAbstractItemView::NoSelection);
|
||||
@@ -66,8 +66,8 @@ PrefixConfigurationDialog::PrefixConfigurationDialog(QetLabelsFile &labels, cons
|
||||
m_tree->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
||||
layout->addWidget(m_tree);
|
||||
|
||||
auto *expand_pb = new QPushButton(tr("Tout déplier"), this);
|
||||
auto *collapse_pb = new QPushButton(tr("Tout replier"), this);
|
||||
auto *expand_pb = new QPushButton(tr("Expand all"), this);
|
||||
auto *collapse_pb = new QPushButton(tr("Collapse all"), this);
|
||||
connect(expand_pb, &QPushButton::clicked, m_tree, &QTreeWidget::expandAll);
|
||||
connect(collapse_pb, &QPushButton::clicked, m_tree, &QTreeWidget::collapseAll);
|
||||
|
||||
@@ -107,13 +107,13 @@ void PrefixConfigurationDialog::askWhatToDoWithOrphans()
|
||||
}
|
||||
|
||||
QMessageBox box(QMessageBox::Question,
|
||||
tr("Entrées sans dossier"),
|
||||
tr("%n entrée(s) de qet_labels.xml ne correspond à aucun dossier de la collection :\n"
|
||||
"les conserver ou les supprimer ?", nullptr, static_cast<int>(orphans.size())),
|
||||
tr("Entries without a folder"),
|
||||
tr("%n entries of qet_labels.xml match no folder of the collection:\n"
|
||||
"keep them or delete them?", nullptr, static_cast<int>(orphans.size())),
|
||||
QMessageBox::NoButton,
|
||||
parentWidget());
|
||||
auto *keep_button = box.addButton(tr("Conserver"), QMessageBox::AcceptRole);
|
||||
box.addButton(tr("Supprimer"), QMessageBox::DestructiveRole);
|
||||
auto *keep_button = box.addButton(tr("Keep"), QMessageBox::AcceptRole);
|
||||
box.addButton(tr("Delete"), QMessageBox::DestructiveRole);
|
||||
box.setDetailedText(orphans.join(QLatin1Char('\n')));
|
||||
box.exec();
|
||||
|
||||
@@ -165,16 +165,16 @@ void PrefixConfigurationDialog::buildTree()
|
||||
//field too, but does not inherit : say so instead of promising
|
||||
//an inheritance that will not happen
|
||||
edit->setPlaceholderText(m_labels.hasPrefix(folder)
|
||||
? tr("aucun préfixe : n'hérite pas du parent",
|
||||
? tr("no prefix: does not take the parent's",
|
||||
"placeholder of an empty prefix field whose folder explicitly has no prefix, which cancels the inheritance")
|
||||
: tr("hériter du dossier parent", "placeholder of an empty prefix field"));
|
||||
: tr("take the parent folder's", "placeholder of an empty prefix field"));
|
||||
connect(edit, &QLineEdit::textEdited, this, [parent_item, edit]() {
|
||||
//Once the user has typed in the field, whatever it holds
|
||||
//when OK is pressed is what the folder gets - an emptied
|
||||
//field then means "inherit" again, even when the file had
|
||||
//an explicit <prefix/>
|
||||
parent_item->setData(1, Qt::UserRole + 1, true);
|
||||
edit->setPlaceholderText(tr("hériter du dossier parent", "placeholder of an empty prefix field"));
|
||||
edit->setPlaceholderText(tr("take the parent folder's", "placeholder of an empty prefix field"));
|
||||
});
|
||||
edit->installEventFilter(this);
|
||||
m_tree->setItemWidget(parent_item, 1, edit);
|
||||
@@ -220,16 +220,16 @@ void PrefixConfigurationDialog::accept()
|
||||
|
||||
if (!m_labels.save()) {
|
||||
QMessageBox::critical(this,
|
||||
tr("Enregistrement impossible"),
|
||||
tr("Le fichier %1 n'a pas pu être enregistré :\n%2")
|
||||
tr("Cannot save"),
|
||||
tr("The file %1 could not be saved:\n%2")
|
||||
.arg(m_labels.filePath(), m_labels.errorString()));
|
||||
return;
|
||||
}
|
||||
|
||||
if (!m_labels.backupPath().isEmpty()) {
|
||||
QMessageBox::information(this,
|
||||
tr("Fichier endommagé remplacé"),
|
||||
tr("Le fichier %1 était illisible : il a été remplacé.\nSa copie a été conservée sous :\n%2")
|
||||
tr("Damaged file replaced"),
|
||||
tr("The file %1 could not be read: it has been replaced.\nIts copy was kept as:\n%2")
|
||||
.arg(m_labels.filePath(), m_labels.backupPath()));
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
ProjectPropertiesDialog::ProjectPropertiesDialog(QETProject *project, QWidget *parent)
|
||||
{
|
||||
m_properties_dialog = new ConfigDialog (parent);
|
||||
m_properties_dialog -> setWindowTitle(QObject::tr("Propriétés du projet", "window title"));
|
||||
m_properties_dialog -> setWindowTitle(QObject::tr("Project properties", "window title"));
|
||||
m_properties_dialog -> addPage(new ProjectMainConfigPage(project));
|
||||
|
||||
NewDiagramPage *newDiagramPage = new NewDiagramPage(project,parent,this);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="report_label_gb">
|
||||
<property name="title">
|
||||
<string>Label de report de folio</string>
|
||||
<string>Sheet reference label</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
@@ -32,14 +32,14 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label_">
|
||||
<property name="text">
|
||||
<string>Vous pouvez définir un label personnalisé pour les reports de folio.
|
||||
Créer votre propre texte en vous aidant des variables suivantes :
|
||||
%f : la position du folio dans le projet
|
||||
%F : le numéro de folio
|
||||
%M : l'installation
|
||||
%LM : la localisation
|
||||
%l : le numéro de ligne
|
||||
%c : le numéro de colonne</string>
|
||||
<string>You can define a custom label for sheet references.
|
||||
Create your own text using the following variables:
|
||||
%f: the sheet position in the project
|
||||
%F: the sheet number
|
||||
%M: the installation
|
||||
%LM: the location
|
||||
%l: the row number
|
||||
%c: the column number</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
|
||||
@@ -180,7 +180,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
if (new_line != old_line)
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_shape, "line", old_line, new_line);
|
||||
undo->setText(tr("Modifier la longueur d'une ligne"));
|
||||
undo->setText(tr("Change the length of a line"));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -199,7 +199,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
if (new_rect != old_rect)
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_shape, "rect", old_rect, new_rect);
|
||||
undo->setText(tr("Modifier la taille d'une forme"));
|
||||
undo->setText(tr("Change the size of a shape"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
else
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_shape, "rotation", old_angle, new_angle);
|
||||
undo->setText(tr("Modifier l'angle d'une forme"));
|
||||
undo->setText(tr("Change the angle of a shape"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -233,7 +233,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
if (new_pen != old_pen)
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_shape, "pen", old_pen, new_pen);
|
||||
undo->setText(tr("Modifier le trait d'une forme"));
|
||||
undo->setText(tr("Edit line of a form"));
|
||||
LastUsedStyle::setShapePen(new_pen);
|
||||
}
|
||||
|
||||
@@ -249,7 +249,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
else
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_shape, "brush", old_brush, new_brush);
|
||||
undo->setText(tr("Modifier le remplissage d'une forme"));
|
||||
undo->setText(tr("Edit filling a form"));
|
||||
}
|
||||
LastUsedStyle::setShapeBrush(new_brush);
|
||||
}
|
||||
@@ -261,7 +261,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
else
|
||||
{
|
||||
undo = new QPropertyUndoCommand(m_shape, "close", m_shape->isClosed(), ui->m_close_polygon->isChecked(), undo);
|
||||
undo->setText(tr("Fermer le polygone"));
|
||||
undo->setText(tr("Close the polygon"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
for (QPointer<QetShapeItem> qsi : pen_H.keys())
|
||||
{
|
||||
if (!parent_undo) {
|
||||
parent_undo = new QUndoCommand(tr("Modifier une forme simple"));
|
||||
parent_undo = new QUndoCommand(tr("Modify a simple form"));
|
||||
}
|
||||
new QPropertyUndoCommand(qsi, "pen", qsi->pen(), pen_H.value(qsi), parent_undo);
|
||||
}
|
||||
@@ -349,7 +349,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
for (QPointer<QetShapeItem> qsi : brush_H.keys())
|
||||
{
|
||||
if (!parent_undo) {
|
||||
parent_undo = new QUndoCommand(tr("Modifier une forme simple"));
|
||||
parent_undo = new QUndoCommand(tr("Modify a simple form"));
|
||||
}
|
||||
|
||||
new QPropertyUndoCommand(qsi, "brush", qsi->brush(), brush_H.value(qsi), parent_undo);
|
||||
@@ -361,7 +361,7 @@ QUndoCommand* ShapeGraphicsItemPropertiesWidget::associatedUndo() const
|
||||
//In mode not live edit, only one shape can be edited
|
||||
else if (m_shapes_list.isEmpty())
|
||||
{
|
||||
QUndoCommand *undo = new QUndoCommand(tr("Modifier les propriétés d'une forme simple"));
|
||||
QUndoCommand *undo = new QUndoCommand(tr("Modify the properties of a simple form"));
|
||||
QPen old_pen = m_shape->pen();
|
||||
QPen new_pen = old_pen;
|
||||
|
||||
@@ -430,7 +430,7 @@ void ShapeGraphicsItemPropertiesWidget::updateUi()
|
||||
|
||||
if (m_shape->shapeType() == QetShapeItem::Line)
|
||||
{
|
||||
ui->m_geom_dim1_label->setText(tr("Longueur"));
|
||||
ui->m_geom_dim1_label->setText(tr("Length"));
|
||||
ui->m_geom_dim1_dsb->setValue(m_shape->line().length());
|
||||
ui->m_geom_dim2_label->setVisible(false);
|
||||
ui->m_geom_dim2_dsb->setVisible(false);
|
||||
@@ -439,8 +439,8 @@ void ShapeGraphicsItemPropertiesWidget::updateUi()
|
||||
{
|
||||
const QRectF r = m_shape->rect().normalized();
|
||||
const bool isEllipse = (m_shape->shapeType() == QetShapeItem::Ellipse);
|
||||
ui->m_geom_dim1_label->setText(isEllipse ? tr("Rayon X") : tr("Largeur"));
|
||||
ui->m_geom_dim2_label->setText(isEllipse ? tr("Rayon Y") : tr("Hauteur"));
|
||||
ui->m_geom_dim1_label->setText(isEllipse ? tr("X radius") : tr("Width"));
|
||||
ui->m_geom_dim2_label->setText(isEllipse ? tr("Y radius") : tr("Height"));
|
||||
ui->m_geom_dim1_dsb->setValue(isEllipse ? r.width() / 2.0 : r.width());
|
||||
ui->m_geom_dim2_dsb->setValue(isEllipse ? r.height() / 2.0 : r.height());
|
||||
ui->m_geom_dim2_label->setVisible(true);
|
||||
|
||||
@@ -47,7 +47,7 @@ class ShapeGraphicsItemPropertiesWidget : public PropertiesEditorWidget
|
||||
void reset() override;
|
||||
public:
|
||||
QUndoCommand* associatedUndo() const override;
|
||||
QString title() const override { return tr("Éditer les propriétés d'une primitive "); }
|
||||
QString title() const override { return tr("Edit the properties of a primitive "); }
|
||||
void updateUi() override;
|
||||
bool setLiveEdit(bool live_edit) override;
|
||||
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="m_geometry_gb">
|
||||
<property name="title">
|
||||
<string>Géométrie</string>
|
||||
<string>Geometry</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_3">
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="m_geom_dim1_label">
|
||||
<property name="text">
|
||||
<string>Largeur</string>
|
||||
<string>Width</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -43,7 +43,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="m_geom_dim2_label">
|
||||
<property name="text">
|
||||
<string>Hauteur</string>
|
||||
<string>Height</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -89,7 +89,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Trait</string>
|
||||
<string>Line</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
@@ -102,14 +102,14 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Épaisseur</string>
|
||||
<string>Thickness</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Couleur</string>
|
||||
<string>Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -159,27 +159,27 @@
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Tiret</string>
|
||||
<string>Dashed</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Pointillé</string>
|
||||
<string>Dotted</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Traits et points</string>
|
||||
<string>Dots and dashes</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Traits points points</string>
|
||||
<string>Dash dot dot</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Tiret custom</string>
|
||||
<string>Custom Dash Line</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -190,54 +190,54 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="m_filling_gb">
|
||||
<property name="title">
|
||||
<string>Remplissage</string>
|
||||
<string>Filling</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="1">
|
||||
<widget class="QComboBox" name="m_brush_style_cb">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Aucun</string>
|
||||
<string>None</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Plein</string>
|
||||
<string>Solid line</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 1</string>
|
||||
<string>Dense 1</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 2</string>
|
||||
<string>Dense 2</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 3</string>
|
||||
<string>Dense 3</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 4</string>
|
||||
<string>Dense 4</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 5</string>
|
||||
<string>Dense 5</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 6</string>
|
||||
<string>Dense 6</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Densité 7</string>
|
||||
<string>Dense 7</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
@@ -252,22 +252,22 @@
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Croix</string>
|
||||
<string>Cross</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Diagonal arrière</string>
|
||||
<string>BDiag</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Diagonal avant</string>
|
||||
<string>FDiag</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Diagonal en croix</string>
|
||||
<string>CrossDiag</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
@@ -282,7 +282,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Couleur</string>
|
||||
<string>Color</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -295,14 +295,14 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_lock_pos_cb">
|
||||
<property name="text">
|
||||
<string>Verrouiller la position</string>
|
||||
<string>Lock Position</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_close_polygon">
|
||||
<property name="text">
|
||||
<string>Forme fermée</string>
|
||||
<string>Closed shape</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -11,13 +11,13 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Numérotation automatique des bornes</string>
|
||||
<string>Automatic numbering of terminals</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_description">
|
||||
<property name="text">
|
||||
<string>Cette fonction numérote les bornes du projet selon leur position. Les bornes vides ou verrouillées sont ignorées.Le marquage des bornes doit être configuré au préalable comme suit : '-X:AB'. La partie avant les deux-points (le bornier) peut être nommée au choix. 'AB' peut être composé de chiffres ou de lettres."</string>
|
||||
<string>This function numbers the terminals in the project according to their position. Empty or locked terminals are ignored. Terminal labelling must be configured in advance as follows : '-X:AB'. The part before the colon (the terminal block) can be named as desired. 'AB' can consist of numbers or letters."</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
@@ -31,13 +31,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_axis">
|
||||
<property name="title">
|
||||
<string>Priorité des axes</string>
|
||||
<string>Priority of axes</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_priority_x">
|
||||
<property name="text">
|
||||
<string>Priorité à l'axe X (horizontal)</string>
|
||||
<string>Priority to the X-axis (horizontal)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
@@ -47,7 +47,7 @@
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_priority_y">
|
||||
<property name="text">
|
||||
<string>Priorité à l'axe Y (vertical)</string>
|
||||
<string>Priority to the Y-axis (vertical)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -57,13 +57,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_type">
|
||||
<property name="title">
|
||||
<string>Type de numérotation</string>
|
||||
<string>Type of numbering</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_type_num">
|
||||
<property name="text">
|
||||
<string>Numérique uniquement (1, 2, 3...)</string>
|
||||
<string>Numeric only (1, 2, 3...)</string>
|
||||
</property>
|
||||
<property name="checked">
|
||||
<bool>true</bool>
|
||||
@@ -73,7 +73,7 @@
|
||||
<item>
|
||||
<widget class="QRadioButton" name="rb_type_alpha">
|
||||
<property name="text">
|
||||
<string>Alphanumérique (A, B, C... 1, 2...)</string>
|
||||
<string>Alphanumeric (A, B, C... 1, 2...)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -98,7 +98,7 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cb_also_alpha">
|
||||
<property name="text">
|
||||
<string>Numéroter également les lettres</string>
|
||||
<string>Number the letters as well</string>
|
||||
</property>
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
@@ -115,13 +115,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox_strips">
|
||||
<property name="title">
|
||||
<string>Borniers</string>
|
||||
<string>Terminal blocks</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_strips">
|
||||
<item>
|
||||
<widget class="QLabel" name="label_strips_description">
|
||||
<property name="text">
|
||||
<string>Décochez les borniers dont la numérotation doit être exclue</string>
|
||||
<string>Uncheck the terminal blocks whose numbering is to be excluded</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Logiciel tiers requis</string>
|
||||
<string>Third party software required</string>
|
||||
</property>
|
||||
<property name="modal">
|
||||
<bool>true</bool>
|
||||
@@ -30,7 +30,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QPushButton" name="m_download_pb">
|
||||
<property name="text">
|
||||
<string>Télechargement</string>
|
||||
<string>Download</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="edit-download"/>
|
||||
@@ -40,7 +40,7 @@
|
||||
<item row="1" column="1">
|
||||
<widget class="QPushButton" name="m_install_dir_pb">
|
||||
<property name="text">
|
||||
<string>Dossier installation</string>
|
||||
<string>Installation folder</string>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset theme="folder-open"/>
|
||||
|
||||
@@ -232,7 +232,7 @@ TitleBlockProperties TitleBlockPropertiesWidget::properties() const
|
||||
//was set unless the user picked something else.
|
||||
if (!m_auto_page_num_picked)
|
||||
prop.auto_page_num = m_auto_page_num;
|
||||
else if (ui->auto_page_cb->currentText() != tr("Créer un Folio Numérotation Auto"))
|
||||
else if (ui->auto_page_cb->currentText() != tr("Create an auto sheet numbering"))
|
||||
prop.auto_page_num = ui->auto_page_cb->currentText();
|
||||
|
||||
return prop;
|
||||
@@ -388,8 +388,8 @@ void TitleBlockPropertiesWidget::initDialog(
|
||||
setTitleBlockTemplatesVisible(false);
|
||||
ui -> m_current_date_rb -> setVisible(current_date);
|
||||
|
||||
m_tbt_edit = new QAction(tr("Éditer ce modèle", "menu entry"), this);
|
||||
m_tbt_duplicate = new QAction(tr("Dupliquer et éditer ce modèle",
|
||||
m_tbt_edit = new QAction(tr("Edit this template", "menu entry"), this);
|
||||
m_tbt_duplicate = new QAction(tr("Duplicate and edit this template",
|
||||
"menu entry"),
|
||||
this);
|
||||
|
||||
@@ -425,7 +425,7 @@ void TitleBlockPropertiesWidget::initDialog(
|
||||
keys_2 = project -> folioAutoNum().keys();
|
||||
foreach (QString str, keys_2) { ui -> auto_page_cb -> addItem(str); }
|
||||
if (ui->auto_page_cb->currentText()==nullptr)
|
||||
ui->auto_page_cb->addItem(tr("Créer un Folio Numérotation Auto"));
|
||||
ui->auto_page_cb->addItem(tr("Create an auto sheet numbering"));
|
||||
//activated() is only emitted for a choice the user makes
|
||||
connect(ui->auto_page_cb, qOverload<int>(&QComboBox::activated),
|
||||
this, [this]() { m_auto_page_num_picked = true; });
|
||||
@@ -486,7 +486,7 @@ void TitleBlockPropertiesWidget::updateTemplateList()
|
||||
//Add the default title block
|
||||
m_map_index_to_collection_type.clear();
|
||||
m_map_index_to_collection_type.append(QET::QetCollection::Common);
|
||||
ui -> m_tbt_cb -> addItem(QET::Icons::QETLogo, tr("Modèle par défaut"));
|
||||
ui -> m_tbt_cb -> addItem(QET::Icons::QETLogo, tr("Default template"));
|
||||
|
||||
//Add every title block stored in m_tbt_collection_list
|
||||
foreach (TitleBlockTemplatesCollection *tbt_c, m_tbt_collection_list)
|
||||
@@ -602,7 +602,7 @@ void TitleBlockPropertiesWidget::on_m_date_now_pb_clicked()
|
||||
void TitleBlockPropertiesWidget::on_m_edit_autofolionum_pb_clicked()
|
||||
{
|
||||
emit openAutoNumFolioEditor(ui->auto_page_cb->currentText());
|
||||
if (ui->auto_page_cb->currentText()!=tr("Créer un Folio Numérotation Auto"))
|
||||
if (ui->auto_page_cb->currentText()!=tr("Create an auto sheet numbering"))
|
||||
{
|
||||
//still to implement: load current auto folio num settings
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="m_tbt_gb">
|
||||
<property name="title">
|
||||
<string>Informations des cartouches</string>
|
||||
<string>Title block information</string>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>false</bool>
|
||||
@@ -46,7 +46,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="m_tbt_label">
|
||||
<property name="text">
|
||||
<string>Modèle :</string>
|
||||
<string>Template:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -81,7 +81,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Affiche le cartouche en bas (horizontalement) ou à droite (verticalement) du folio.</p></body></html></string>
|
||||
<string><html> <head/><body><p>Sets the title block at the bottom (horizontal) or right (vertically) of the sheet.</p></body></html></string>
|
||||
</property>
|
||||
<property name="iconSize">
|
||||
<size>
|
||||
@@ -162,7 +162,7 @@
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Principales</string>
|
||||
<string>Main</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
@@ -170,7 +170,7 @@
|
||||
<item row="3" column="1">
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Date :</string>
|
||||
<string>Date:</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||
@@ -216,63 +216,63 @@
|
||||
<item row="2" column="1">
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Auteur :</string>
|
||||
<string>Author:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="1">
|
||||
<widget class="QLabel" name="label_12">
|
||||
<property name="text">
|
||||
<string>Indice Rev:</string>
|
||||
<string>Rev index:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="3">
|
||||
<widget class="QLineEdit" name="m_loc">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %locmach pour les modèles de cartouches</string>
|
||||
<string>Available as variable %locmach for title blocks</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="3">
|
||||
<widget class="QLineEdit" name="m_plant">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Disponible en tant que %plant pour les modèles de cartouches</p></body></html></string>
|
||||
<string><html><head/><body><p>Available as% plant for title block templates</p></body></html></string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="3">
|
||||
<widget class="QLineEdit" name="m_title_le">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %title pour les modèles de cartouches</string>
|
||||
<string>Available as variable %title for title blocks</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1">
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="text">
|
||||
<string>Folio :</string>
|
||||
<string>Sheet:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Fichier :</string>
|
||||
<string>File:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="3">
|
||||
<widget class="QLineEdit" name="m_author_le">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %author pour les modèles de cartouches</string>
|
||||
<string>Available as variable %author for title blocks</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="3">
|
||||
<widget class="QLineEdit" name="m_file_le">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %filename pour les modèles de cartouches</string>
|
||||
<string>Available as variable %filename for title blocks</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -281,21 +281,21 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QRadioButton" name="m_no_date_rb">
|
||||
<property name="text">
|
||||
<string>Pas de date</string>
|
||||
<string>No date</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QRadioButton" name="m_current_date_rb">
|
||||
<property name="text">
|
||||
<string>Date courante</string>
|
||||
<string>Current date</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QPushButton" name="m_date_now_pb">
|
||||
<property name="toolTip">
|
||||
<string>Appliquer la date actuelle</string>
|
||||
<string>Set to current date</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
@@ -308,7 +308,7 @@
|
||||
<item row="2" column="1">
|
||||
<widget class="QDateEdit" name="m_date_edit">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %date pour les modèles de cartouches</string>
|
||||
<string>Available as variable %date for title blocks</string>
|
||||
</property>
|
||||
<property name="frame">
|
||||
<bool>true</bool>
|
||||
@@ -321,7 +321,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QRadioButton" name="m_fixed_date_rb">
|
||||
<property name="text">
|
||||
<string>Date fixe :</string>
|
||||
<string>Fixed date:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -330,18 +330,18 @@
|
||||
<item row="5" column="3">
|
||||
<widget class="QLineEdit" name="m_folio_le">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %folio pour les modèles de cartouches
|
||||
Les variables suivantes sont utilisables :
|
||||
- %id : numéro du folio courant dans le projet
|
||||
- %total : nombre total de folios dans le projet
|
||||
- %autonum : Folio Auto Numeration</string>
|
||||
<string>Available as % folio for titleblock models
|
||||
The following variables can be used:
|
||||
-%id: current number of sheets in the project
|
||||
-%total: total number of sheets in the project
|
||||
-%autonum: sheet auto numbering</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Titre :</string>
|
||||
<string>Title:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -354,28 +354,28 @@ Les variables suivantes sont utilisables :
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Page Num:</string>
|
||||
<string>Page no.:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="9" column="3">
|
||||
<widget class="QLineEdit" name="m_indice">
|
||||
<property name="toolTip">
|
||||
<string>Disponible en tant que %indexrev pour les modèles de cartouches</string>
|
||||
<string>Available as variable %indexrev for title blocks</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QLabel" name="label_10">
|
||||
<property name="text">
|
||||
<string>Installation :</string>
|
||||
<string>Plant:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="1">
|
||||
<widget class="QLabel" name="label_11">
|
||||
<property name="text">
|
||||
<string>Localisation:</string>
|
||||
<string>Location :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -398,7 +398,7 @@ Les variables suivantes sont utilisables :
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Personnalisées</string>
|
||||
<string>Custom</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@@ -406,8 +406,7 @@ Les variables suivantes sont utilisables :
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Vous pouvez définir ici vos propres associations noms/valeurs pour que le cartouche en tienne compte. Exemple :
|
||||
associer le nom "volta" et la valeur "1745" remplacera %{volta} par 1745 dans le cartouche.</string>
|
||||
<string>You may define here your own name/value associations so the title block takes them into account. E.g. associating the name "volta" with the value "1745" will replace %{volta} by 1745 within the title block.</string>
|
||||
</property>
|
||||
<property name="wordWrap">
|
||||
<bool>true</bool>
|
||||
|
||||
@@ -37,7 +37,7 @@ WiringListDialog::WiringListDialog(QETProject *project, QWidget *parent) :
|
||||
QDialog(parent),
|
||||
m_project(project)
|
||||
{
|
||||
setWindowTitle(tr("Liste de câblage", "window title"));
|
||||
setWindowTitle(tr("Wiring list", "window title"));
|
||||
resize(900, 500);
|
||||
|
||||
auto *layout = new QVBoxLayout(this);
|
||||
@@ -63,12 +63,12 @@ WiringListDialog::WiringListDialog(QETProject *project, QWidget *parent) :
|
||||
" wire_number"),
|
||||
m_project->dataBase()->database());
|
||||
|
||||
model->setHeaderData(0, Qt::Horizontal, tr("Fil", "column title"));
|
||||
model->setHeaderData(1, Qt::Horizontal, tr("Composant 1", "column title"));
|
||||
model->setHeaderData(2, Qt::Horizontal, tr("Borne 1", "column title"));
|
||||
model->setHeaderData(3, Qt::Horizontal, tr("Composant 2", "column title"));
|
||||
model->setHeaderData(4, Qt::Horizontal, tr("Borne 2", "column title"));
|
||||
model->setHeaderData(5, Qt::Horizontal, tr("Folio", "column title"));
|
||||
model->setHeaderData(0, Qt::Horizontal, tr("Wire", "column title"));
|
||||
model->setHeaderData(1, Qt::Horizontal, tr("Component 1", "column title"));
|
||||
model->setHeaderData(2, Qt::Horizontal, tr("Terminal 1", "column title"));
|
||||
model->setHeaderData(3, Qt::Horizontal, tr("Component 2", "column title"));
|
||||
model->setHeaderData(4, Qt::Horizontal, tr("Terminal 2", "column title"));
|
||||
model->setHeaderData(5, Qt::Horizontal, tr("Sheet", "column title"));
|
||||
|
||||
const int excluded = m_project->dataBase()->excludedConductorCount();
|
||||
|
||||
@@ -89,14 +89,14 @@ WiringListDialog::WiringListDialog(QETProject *project, QWidget *parent) :
|
||||
//identity: what is left is a conductor whose endpoint has no
|
||||
//parent element at all. Still worth saying out loud rather than
|
||||
//presenting a short list as if it were complete.
|
||||
summary->setText(tr("%n conducteur(s) listé(s).", "wiring list summary", listed)
|
||||
summary->setText(tr("%n conductors listed.", "wiring list summary", listed)
|
||||
% QStringLiteral(" ")
|
||||
% tr("%n conducteur(s) exclu(s) : une extrémité n'est rattachée"
|
||||
" à aucun élément.",
|
||||
% tr("%n conductors excluded: one end is not attached to any "
|
||||
"element.",
|
||||
"wiring list exclusion warning", excluded));
|
||||
}
|
||||
else {
|
||||
summary->setText(tr("%n conducteur(s) listé(s).", "wiring list summary", listed));
|
||||
summary->setText(tr("%n conductors listed.", "wiring list summary", listed));
|
||||
}
|
||||
layout->addWidget(summary);
|
||||
|
||||
|
||||
@@ -34,14 +34,12 @@ void WiringRulesWarning::show(QWidget *parent)
|
||||
{
|
||||
QMessageBox::warning(
|
||||
parent,
|
||||
QApplication::translate("WiringRulesWarning", "Avertissement"),
|
||||
QApplication::translate("WiringRulesWarning", "Warning"),
|
||||
QApplication::translate(
|
||||
"WiringRulesWarning",
|
||||
"<b>Les règles de conducteurs par borne sont une fonction expérimentale.</b>"
|
||||
"<br><br>Elles comptent les conducteurs tels que QElectroTech les représente "
|
||||
"aujourd'hui. Elles pourraient changer, et vos réglages devoir être refaits, "
|
||||
"si les fils et les conducteurs deviennent des objets distincts dans une "
|
||||
"version future."
|
||||
"<br><br>Toutes ces règles peuvent être désactivées dans Configurer "
|
||||
"QElectroTech > Général."));
|
||||
"<b>The conductors-per-terminal rules are an experimental "
|
||||
"feature.</b><br><br>They count conductors as QElectroTech represents them "
|
||||
"today. They may change, and your settings may need redoing, if wires and "
|
||||
"conductors become separate objects in a future version.<br><br>All these "
|
||||
"rules can be turned off in Configure QElectroTech > General."));
|
||||
}
|
||||
|
||||
@@ -100,20 +100,20 @@ void XRefPropertiesWidget::setReadOnly(bool ro) {
|
||||
*/
|
||||
void XRefPropertiesWidget::buildUi()
|
||||
{
|
||||
ui -> m_type_cb -> addItem(tr("Bobine"), "coil");
|
||||
ui -> m_type_cb -> addItem(tr("Organe de protection"), "protection");
|
||||
ui -> m_type_cb -> addItem(tr("Commutateur / bouton"), "commutator");
|
||||
ui -> m_type_cb -> addItem(tr("Automate (PLC)"), "plc");
|
||||
ui -> m_type_cb -> addItem(tr("Coil"), "coil");
|
||||
ui -> m_type_cb -> addItem(tr("Organ of protection"), "protection");
|
||||
ui -> m_type_cb -> addItem(tr("Switch / button"), "commutator");
|
||||
ui -> m_type_cb -> addItem(tr("Programmable Logic Controller (PLC)"), "plc");
|
||||
|
||||
ui -> m_snap_to_cb -> addItem(tr("En bas de page"), "bottom");
|
||||
ui -> m_snap_to_cb -> addItem(tr("Sous le label de l'élément"), "label");
|
||||
ui -> m_snap_to_cb -> addItem(tr("Footer"), "bottom");
|
||||
ui -> m_snap_to_cb -> addItem(tr("Under the label of the element"), "label");
|
||||
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Top"),"top");
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Bottom"),"bottom");
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Left"),"left");
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Right"),"right");
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Text alignment"),"alignment");
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Champ de texte"),"text_field");
|
||||
ui -> m_xrefpos_cb -> addItem(tr("Text field"),"text_field");
|
||||
m_previous_type_index = ui -> m_type_cb -> currentIndex();
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
<string>Properties cross references</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
@@ -19,7 +19,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label_4">
|
||||
<property name="text">
|
||||
<string>Type :</string>
|
||||
<string>Type:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -31,7 +31,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="m_display_gb">
|
||||
<property name="title">
|
||||
<string>Représentation:</string>
|
||||
<string>Representation:</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
@@ -39,7 +39,7 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label_3">
|
||||
<property name="text">
|
||||
<string>Positionner :</string>
|
||||
<string>Positioning :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -93,10 +93,10 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_stack_overlapping_cb">
|
||||
<property name="toolTip">
|
||||
<string>Quand les textes de deux références croisées se chevauchent, celle de l'élément le plus haut est placée au-dessus de l'autre.</string>
|
||||
<string>When the texts of two cross-references overlap, the one of the higher element is placed above the other.</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Empiler les références dont les textes se chevauchent</string>
|
||||
<string>Stack references whose texts overlap</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -157,31 +157,31 @@
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_show_terminal_name_cb">
|
||||
<property name="text">
|
||||
<string>Afficher les numéros de bornes dans les Xrefs</string>
|
||||
<string>Display terminal numbers in Xrefs</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_show_all_slaves_cb">
|
||||
<property name="toolTip">
|
||||
<string>Afficher dans le peigne de contacts tous les contacts esclaves définis par le maître, même ceux qui ne sont pas encore reliés, dans l'ordre défini par le maître</string>
|
||||
<string>Show in the contact comb all slave contacts defined by the master, even those not yet connected, in the order defined by the master</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Afficher tous les esclaves définis par le maître</string>
|
||||
<string>Show all slaves defined by the master</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_display_has_contacts_rb">
|
||||
<property name="text">
|
||||
<string>Affiche&r en contacts</string>
|
||||
<string>&View contacts</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QRadioButton" name="m_display_has_cross_rb">
|
||||
<property name="text">
|
||||
<string>Afficher en croix</string>
|
||||
<string>View cross</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -194,7 +194,7 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupBox">
|
||||
<property name="title">
|
||||
<string>Label des références croisées</string>
|
||||
<string>Label cross reference</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||
<item>
|
||||
@@ -214,7 +214,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Maitre</string>
|
||||
<string>Master</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -247,7 +247,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Esclave</string>
|
||||
<string>Slave</string>
|
||||
</property>
|
||||
<property name="scaledContents">
|
||||
<bool>false</bool>
|
||||
@@ -266,13 +266,13 @@
|
||||
<item>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="text">
|
||||
<string>Créer votre propre texte en vous aidant des variables suivantes :
|
||||
%f : le numéro de folio
|
||||
%F: le label de folio
|
||||
%l : le numéro de ligne
|
||||
%c : le numéro de colonne
|
||||
%M: Installation
|
||||
%LM: Localisation </string>
|
||||
<string>Create your own text using the following variables:
|
||||
%f: the sheet number
|
||||
%F: the sheet label
|
||||
%l: the row number
|
||||
%c: the column number
|
||||
%M: the installation
|
||||
%LM: the location</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -287,13 +287,13 @@
|
||||
<item>
|
||||
<widget class="QGroupBox" name="m_cross_properties_gb">
|
||||
<property name="title">
|
||||
<string>Option d'affichage en croix</string>
|
||||
<string>Option display cross</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="m_show_power_cb">
|
||||
<property name="text">
|
||||
<string>Afficher les contacts de puissance dans la croix</string>
|
||||
<string>Show the power contacts in the cross</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -302,14 +302,14 @@
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="label">
|
||||
<property name="text">
|
||||
<string>Préfixe des contacts de puissance :</string>
|
||||
<string>Prefix of power contacts :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Préfixe des contacts temporisés :</string>
|
||||
<string>Prefix delayed contacts :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -322,7 +322,7 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="text">
|
||||
<string>Préfixe des contacts inverseurs :</string>
|
||||
<string>Prefix changeover contacts :</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user