mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-10 06:04:12 +02: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:
@@ -102,7 +102,7 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
m_commands->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(m_commands, &QWidget::customContextMenuRequested, this, [this](const QPoint &pos) {
|
||||
QMenu menu;
|
||||
menu.addAction(tr("Personnaliser la barre…"), this, &ElementPickerPopup::startCustomising);
|
||||
menu.addAction(tr("Customize the bar…"), this, &ElementPickerPopup::startCustomising);
|
||||
menu.exec(m_commands->mapToGlobal(pos));
|
||||
});
|
||||
|
||||
@@ -113,9 +113,9 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
auto *editor_layout = new QVBoxLayout(m_editor);
|
||||
editor_layout->setContentsMargins(0, 0, 0, 0);
|
||||
auto *help = new QLabel(
|
||||
tr("Glissez les commandes et les éléments dans la barre, hors de la "
|
||||
"barre, ou d'une place à l'autre. Un double-clic fait passer une "
|
||||
"commande ou un élément d'une liste à l'autre."), m_editor);
|
||||
tr("Drag commands and elements into the bar, out of the bar, or from "
|
||||
"one place to another. Double-clicking moves a command or an "
|
||||
"element from one list to the other."), m_editor);
|
||||
help->setWordWrap(true);
|
||||
m_edit_row = new QListWidget(m_editor);
|
||||
m_edit_row->setFlow(QListView::LeftToRight);
|
||||
@@ -183,7 +183,7 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
auto *symbols_layout = new QVBoxLayout(m_edit_symbols_box);
|
||||
symbols_layout->setContentsMargins(0, 0, 0, 0);
|
||||
m_edit_symbols_search = new QLineEdit(m_edit_symbols_box);
|
||||
m_edit_symbols_search->setPlaceholderText(tr("Rechercher un élément…"));
|
||||
m_edit_symbols_search->setPlaceholderText(tr("Search for an element…"));
|
||||
m_edit_symbols_search->setClearButtonEnabled(true);
|
||||
m_edit_symbols = new QListWidget(m_edit_symbols_box);
|
||||
m_edit_symbols->setIconSize(QSize(32, 32));
|
||||
@@ -191,7 +191,7 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
m_edit_symbols->setDragDropMode(QAbstractItemView::DragOnly);
|
||||
m_edit_symbols->setDefaultDropAction(Qt::CopyAction);
|
||||
m_edit_symbols->setSelectionMode(QAbstractItemView::SingleSelection);
|
||||
symbols_layout->addWidget(new QLabel(tr("Éléments :"), m_edit_symbols_box));
|
||||
symbols_layout->addWidget(new QLabel(tr("Elements:"), m_edit_symbols_box));
|
||||
symbols_layout->addWidget(m_edit_symbols_search);
|
||||
symbols_layout->addWidget(m_edit_symbols);
|
||||
|
||||
@@ -204,9 +204,9 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
connect(m_edit_symbols, &QListWidget::itemDoubleClicked, this, [this](QListWidgetItem *item) {
|
||||
m_edit_row->addItem(barItem(item->data(Qt::UserRole).toString(), true));
|
||||
});
|
||||
auto *defaults = new QPushButton(tr("Valeurs par défaut"), m_editor);
|
||||
auto *cancel = new QPushButton(tr("Annuler"), m_editor);
|
||||
auto *done = new QPushButton(tr("Terminé"), m_editor);
|
||||
auto *defaults = new QPushButton(tr("Default values"), m_editor);
|
||||
auto *cancel = new QPushButton(tr("Undo"), m_editor);
|
||||
auto *done = new QPushButton(tr("Done"), m_editor);
|
||||
done->setDefault(true);
|
||||
connect(defaults, &QPushButton::clicked, this, [this]() {
|
||||
fillCustomising(ShortcutBarSettings::defaultIds(m_context));
|
||||
@@ -219,11 +219,11 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
editor_buttons->addWidget(cancel);
|
||||
editor_buttons->addWidget(done);
|
||||
editor_layout->addWidget(help);
|
||||
editor_layout->addWidget(new QLabel(tr("Dans la barre :"), m_editor));
|
||||
editor_layout->addWidget(new QLabel(tr("In the bar:"), m_editor));
|
||||
editor_layout->addWidget(m_edit_row);
|
||||
auto *lists = new QHBoxLayout();
|
||||
auto *commands_column = new QVBoxLayout();
|
||||
commands_column->addWidget(new QLabel(tr("Autres commandes :"), m_editor));
|
||||
commands_column->addWidget(new QLabel(tr("Other commands:"), m_editor));
|
||||
commands_column->addWidget(m_edit_available);
|
||||
lists->addLayout(commands_column);
|
||||
lists->addWidget(m_edit_symbols_box);
|
||||
@@ -232,7 +232,7 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
m_editor->hide();
|
||||
|
||||
m_search = new QLineEdit(this);
|
||||
m_search->setPlaceholderText(tr("Rechercher un élément…"));
|
||||
m_search->setPlaceholderText(tr("Search for an element…"));
|
||||
m_search->setClearButtonEnabled(true);
|
||||
|
||||
m_model = new QStandardItemModel(this);
|
||||
@@ -245,7 +245,7 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
m_view->setEditTriggers(QAbstractItemView::NoEditTriggers);
|
||||
m_view->setMinimumHeight(260);
|
||||
|
||||
m_hint = new QLabel(tr("Entrée pour insérer · Échap pour fermer"), this);
|
||||
m_hint = new QLabel(tr("Enter to insert · Esc to close"), this);
|
||||
m_hint->setEnabled(false);
|
||||
//Wrapped rather than cut off when the bar is made narrow
|
||||
m_hint->setWordWrap(true);
|
||||
@@ -253,7 +253,7 @@ ElementPickerPopup::ElementPickerPopup(ElementsCollectionWidget *source,
|
||||
//The bar's width is the user's: dragging the grip wraps the tiles
|
||||
//onto more rows, and the width is kept for next time
|
||||
m_grip = new QSizeGrip(this);
|
||||
m_grip->setToolTip(tr("Glisser pour changer la largeur de la barre"));
|
||||
m_grip->setToolTip(tr("Drag to change the width of the bar"));
|
||||
m_grip->installEventFilter(this);
|
||||
auto *hint_row = new QHBoxLayout();
|
||||
hint_row->addWidget(m_hint, 1);
|
||||
@@ -451,7 +451,7 @@ void ElementPickerPopup::setCommands(const QStringList &ids)
|
||||
auto *customise = new QToolButton(m_commands);
|
||||
customise->setAutoRaise(true);
|
||||
customise->setText(QStringLiteral("…"));
|
||||
customise->setToolTip(tr("Personnaliser la barre…"));
|
||||
customise->setToolTip(tr("Customize the bar…"));
|
||||
customise->setFocusPolicy(Qt::NoFocus);
|
||||
connect(customise, &QToolButton::clicked, this, &ElementPickerPopup::startCustomising);
|
||||
m_commands_layout->addWidget(customise, 0, Qt::AlignTop);
|
||||
@@ -596,7 +596,7 @@ void ElementPickerPopup::startCustomising()
|
||||
m_customising = true;
|
||||
hide();
|
||||
setWindowFlags(Qt::Tool);
|
||||
setWindowTitle(tr("Personnaliser la barre de raccourcis : %1")
|
||||
setWindowTitle(tr("Customize the shortcut bar: %1")
|
||||
.arg(ShortcutBarSettings::title(m_context)));
|
||||
|
||||
fillCustomising(ShortcutBarSettings::ids(m_context));
|
||||
@@ -765,8 +765,8 @@ void ElementPickerPopup::runSearch()
|
||||
m_view->setCurrentIndex(m_model->index(0, 0));
|
||||
}
|
||||
m_hint->setText(hits.isEmpty()
|
||||
? tr("Aucun résultat")
|
||||
: tr("Entrée pour insérer · Échap pour fermer"));
|
||||
? tr("No results")
|
||||
: tr("Enter to insert · Esc to close"));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -870,7 +870,7 @@ void ElementPickerPopup::showPalette()
|
||||
//The search still works; the list comes back as soon as one types.
|
||||
if (m_bar_mode && ShortcutBarSettings::hasElements(m_context)) {
|
||||
m_view->hide();
|
||||
m_hint->setText(tr("Tapez pour rechercher un élément · Échap pour fermer"));
|
||||
m_hint->setText(tr("Type to search for an element · Esc to close"));
|
||||
return;
|
||||
}
|
||||
m_view->show();
|
||||
@@ -891,10 +891,10 @@ void ElementPickerPopup::showPalette()
|
||||
|
||||
if (!count) {
|
||||
m_hint->setText(
|
||||
tr("Palette vide — glissez des éléments dans votre collection "
|
||||
"personnelle, ou tapez pour rechercher"));
|
||||
tr("Empty palette — drag elements into your personal "
|
||||
"collection, or type to search"));
|
||||
} else {
|
||||
m_hint->setText(tr("Entrée pour insérer · Échap pour fermer"));
|
||||
m_hint->setText(tr("Enter to insert · Esc to close"));
|
||||
m_view->setCurrentIndex(m_model->index(0, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,30 +195,30 @@ void ElementsCollectionWidget::leaveEvent(QEvent *event)
|
||||
void ElementsCollectionWidget::setUpAction()
|
||||
{
|
||||
m_open_dir = new QAction(QET::Icons::FolderOpen,
|
||||
tr("Ouvrir le dossier correspondant"), this);
|
||||
tr("Open the underlying folder"), this);
|
||||
m_edit_element = new QAction(QET::Icons::ElementEdit,
|
||||
tr("Éditer l'élément"), this);
|
||||
tr("Edit element"), this);
|
||||
m_delete_element = new QAction(QET::Icons::ElementDelete,
|
||||
tr("Supprimer l'élément"), this);
|
||||
tr("Delete element"), this);
|
||||
m_delete_dir = new QAction(QET::Icons::FolderDelete,
|
||||
tr("Supprimer le dossier"), this);
|
||||
tr("Delete folder"), this);
|
||||
m_reload = new QAction(QET::Icons::ViewRefresh,
|
||||
tr("Recharger les collections"), this);
|
||||
tr("Reload collections"), this);
|
||||
m_edit_dir = new QAction(QET::Icons::FolderEdit,
|
||||
tr("Éditer le dossier"), this);
|
||||
tr("Edit folder"), this);
|
||||
m_new_directory = new QAction(QET::Icons::FolderNew,
|
||||
tr("Nouveau dossier"), this);
|
||||
tr("New folder"), this);
|
||||
m_new_element = new QAction(QET::Icons::ElementNew,
|
||||
tr("Nouvel élément"), this);
|
||||
tr("New element"), this);
|
||||
m_import_edz = new QAction(QET::Icons::ElementNew,
|
||||
tr("Importer une pièce EPLAN (.edz)…"), this);
|
||||
tr("Import an EPLAN part (.edz)…"), this);
|
||||
m_show_this_dir = new QAction(QET::Icons::FolderOnlyThis,
|
||||
tr("Afficher uniquement ce dossier"),
|
||||
tr("Show only this folder"),
|
||||
this);
|
||||
m_show_all_dir = new QAction(QET::Icons::FolderShowAll,
|
||||
tr("Afficher tous les dossiers"), this);
|
||||
tr("Show All Folders"), this);
|
||||
m_dir_propertie = new QAction(QET::Icons::FolderProperties,
|
||||
tr("Propriété du dossier"), this);
|
||||
tr("Folder properties"), this);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -232,7 +232,7 @@ void ElementsCollectionWidget::setUpWidget()
|
||||
m_main_vlayout->setSpacing(2);
|
||||
|
||||
m_search_field = new QLineEdit(this);
|
||||
m_search_field->setPlaceholderText(tr("Rechercher..."));
|
||||
m_search_field->setPlaceholderText(tr("Search..."));
|
||||
m_search_field->setClearButtonEnabled(true);
|
||||
|
||||
m_tree_view = new ElementsTreeView(this);
|
||||
@@ -260,7 +260,7 @@ void ElementsCollectionWidget::setUpWidget()
|
||||
m_tab_widget->setDocumentMode(true);
|
||||
m_tab_widget->setTabPosition(QTabWidget::North);
|
||||
m_tab_widget->addTab(m_tree_view, tr("Collections"));
|
||||
m_tab_widget->addTab(m_macros_tree_view, tr("Modèles"));
|
||||
m_tab_widget->addTab(m_macros_tree_view, tr("Templates"));
|
||||
|
||||
//Flat ranked search results.
|
||||
//The tree search hides non-matching rows, so hits stay scattered
|
||||
@@ -286,7 +286,7 @@ void ElementsCollectionWidget::setUpWidget()
|
||||
m_main_vlayout->addWidget(m_search_results);
|
||||
|
||||
m_progress_bar = new QProgressBar(this);
|
||||
m_progress_bar->setFormat(QObject::tr("chargement %p% (%v sur %m)"));
|
||||
m_progress_bar->setFormat(QObject::tr("load %p% (%v on %m)"));
|
||||
m_main_vlayout->addWidget(m_progress_bar);
|
||||
m_progress_bar->hide();
|
||||
|
||||
@@ -613,8 +613,8 @@ void ElementsCollectionWidget::deleteElement()
|
||||
|
||||
if (QET::QetMessageBox::question(
|
||||
this,
|
||||
tr("Supprimer l'élément ?", "message box title"),
|
||||
tr("Êtes-vous sûr de vouloir supprimer cet élément ?\n",
|
||||
tr("Delete element?", "message box title"),
|
||||
tr("Do you really wish to delete this element ?\n",
|
||||
"message box content"),
|
||||
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)
|
||||
{
|
||||
@@ -630,9 +630,9 @@ void ElementsCollectionWidget::deleteElement()
|
||||
{
|
||||
QET::QetMessageBox::warning(
|
||||
this,
|
||||
tr("Suppression de l'élément",
|
||||
tr("Deleting element",
|
||||
"message box title"),
|
||||
tr("La suppression de l'élément a échoué.",
|
||||
tr("Deleting element failed.",
|
||||
"message box content"));
|
||||
}
|
||||
}
|
||||
@@ -659,9 +659,9 @@ void ElementsCollectionWidget::deleteDirectory()
|
||||
|
||||
if (QET::QetMessageBox::question(
|
||||
this,
|
||||
tr("Supprimer le dossier?", "message box title"),
|
||||
tr("Êtes-vous sûr de vouloir supprimer le dossier ?\n"
|
||||
"Tout les éléments et les dossier contenus dans ce dossier seront supprimés.",
|
||||
tr("Deleting folder?", "message box title"),
|
||||
tr("Are you sure you want to delete the folder?\n"
|
||||
"All the elements and contents file in this folder will be deleted.",
|
||||
"message box content"),
|
||||
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes)
|
||||
{
|
||||
@@ -677,9 +677,9 @@ void ElementsCollectionWidget::deleteDirectory()
|
||||
{
|
||||
QET::QetMessageBox::warning(
|
||||
this,
|
||||
tr("Suppression du dossier",
|
||||
tr("Folder Delete",
|
||||
"message box title"),
|
||||
tr("La suppression du dossier a échoué.",
|
||||
tr("Folder deletion failed.",
|
||||
"message box content"));
|
||||
}
|
||||
}
|
||||
@@ -779,41 +779,37 @@ void ElementsCollectionWidget::newElement()
|
||||
bool ElementsCollectionWidget::confirmEdzImportTerms()
|
||||
{
|
||||
QDialog dialog(this);
|
||||
dialog.setWindowTitle(tr("Avertissement — Importation d'un fichier EPLAN (.edz)"));
|
||||
dialog.setWindowTitle(tr("Warning — Importing an EPLAN file (.edz)"));
|
||||
|
||||
QLabel *text = new QLabel(
|
||||
tr("Le format .edz peut provenir de deux sources différentes :\n"
|
||||
"\n"
|
||||
"• Le portail EPLAN Data Portal (dataportal.eplan.com), soumis "
|
||||
"aux conditions d'utilisation de l'environnement EPLAN Cloud ;\n"
|
||||
"• Le site d'un fabricant de composants (ou d'un distributeur) "
|
||||
"qui met ses fichiers .edz à disposition directement, selon ses "
|
||||
"propres conditions.\n"
|
||||
"\n"
|
||||
"QElectroTech ne peut pas déterminer automatiquement l'origine "
|
||||
"du fichier que vous importez, ni les conditions qui s'y "
|
||||
"appliquent.\n"
|
||||
"\n"
|
||||
"En important ce fichier, vous confirmez que :\n"
|
||||
"\n"
|
||||
"• vous connaissez son origine et êtes autorisé à l'utiliser "
|
||||
"dans ce contexte, au regard des conditions applicables à cette "
|
||||
"source ;\n"
|
||||
"• cette importation est effectuée à vos propres risques et "
|
||||
"responsabilité ;\n"
|
||||
"• ni QElectroTech, ni ses mainteneurs, ni ses contributeurs ne "
|
||||
"peuvent être tenus responsables d'une utilisation non conforme "
|
||||
"de ces données."),
|
||||
tr("The .edz file format can come from two different sources:\n"
|
||||
"• The EPLAN Data Portal (dataportal.eplan.com), which is "
|
||||
"subject to the terms of use for the EPLAN Cloud environment;\n"
|
||||
"• A component manufacturer’s (or distributor’s) website, which "
|
||||
"makes its .edz files available directly, subject to its own "
|
||||
"terms and conditions.\n"
|
||||
"QElectroTech cannot automatically determine the origin of the "
|
||||
"file you are importing, nor the terms and conditions that apply "
|
||||
"to it.\n"
|
||||
"By importing this file, you confirm that:\n"
|
||||
"• you are aware of its source and are authorised to use it in "
|
||||
"this context, in accordance with the terms and conditions "
|
||||
"applicable to that source;\n"
|
||||
"• this import is carried out at your own risk and "
|
||||
"responsibility;\n"
|
||||
"• neither QElectroTech, nor its maintainers, nor its "
|
||||
"contributors can be held liable for any unauthorised use of "
|
||||
"this data."),
|
||||
&dialog);
|
||||
text->setWordWrap(true);
|
||||
|
||||
QCheckBox *accept_box = new QCheckBox(
|
||||
tr("J'ai lu et j'accepte ces conditions."), &dialog);
|
||||
tr("I have read and accept these terms and conditions."), &dialog);
|
||||
|
||||
QDialogButtonBox *buttons = new QDialogButtonBox(
|
||||
QDialogButtonBox::Cancel, &dialog);
|
||||
QPushButton *import_button = buttons->addButton(
|
||||
tr("Importer"), QDialogButtonBox::AcceptRole);
|
||||
tr("Import"), QDialogButtonBox::AcceptRole);
|
||||
import_button->setDefault(true);
|
||||
import_button->setEnabled(false);
|
||||
|
||||
@@ -854,8 +850,8 @@ void ElementsCollectionWidget::importEdz()
|
||||
}
|
||||
|
||||
const QString edz_path = QFileDialog::getOpenFileName(
|
||||
this, tr("Importer une pièce EPLAN"), QString(),
|
||||
tr("Pièces EPLAN (*.edz)"));
|
||||
this, tr("Import an EPLAN part"), QString(),
|
||||
tr("EPLAN parts (*.edz)"));
|
||||
if (edz_path.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
@@ -864,7 +860,7 @@ void ElementsCollectionWidget::importEdz()
|
||||
if (!importer.importToDirectory(edz_path, feci->fileSystemPath())) {
|
||||
QET::QetMessageBox::critical(
|
||||
this, tr("Import EPLAN"),
|
||||
tr("Impossible d'importer cette pièce :\n%1")
|
||||
tr("Could not import this part:\n%1")
|
||||
.arg(importer.errorString()));
|
||||
return;
|
||||
}
|
||||
@@ -944,23 +940,23 @@ void ElementsCollectionWidget::dirProperties()
|
||||
{
|
||||
QString filePath;
|
||||
if (eci->type() == FileElementCollectionItem::Type) {
|
||||
filePath = tr("Chemin dans le système de fichiers : %1")
|
||||
filePath = tr("Path in the file system : %1")
|
||||
.arg(
|
||||
static_cast<FileElementCollectionItem*>(eci)
|
||||
->fileSystemPath());
|
||||
}
|
||||
QString out =
|
||||
tr("Le dossier %1 contient").arg(eci->localName()) % " "
|
||||
% tr("%n élément(s), répartie(s)", "", eci->elementsChild().size())
|
||||
tr("the folder %1 contains").arg(eci->localName()) % " "
|
||||
% tr("%n elements, spread", "", eci->elementsChild().size())
|
||||
% " "
|
||||
% tr("dans %n dossier(s).", "", eci->directoriesChild().size())
|
||||
% tr("across %n folders.", "", eci->directoriesChild().size())
|
||||
% "\n\n"
|
||||
% tr("Chemin de la collection : %1").arg(eci->collectionPath())
|
||||
% tr("Path of collection : %1").arg(eci->collectionPath())
|
||||
% "\n" % filePath;
|
||||
qInfo() << out;
|
||||
QMessageBox::information(
|
||||
this,
|
||||
tr("Propriété du dossier %1").arg(eci->localName()),
|
||||
tr("Property of the folder %1").arg(eci->localName()),
|
||||
out);
|
||||
}
|
||||
}
|
||||
@@ -982,7 +978,7 @@ void ElementsCollectionWidget::reload()
|
||||
// Force to repaint now,
|
||||
// else tree view will be not disabled immediately
|
||||
m_tree_view->repaint();
|
||||
m_progress_bar->setFormat(QObject::tr("chargement %p% (%v sur %m)"));
|
||||
m_progress_bar->setFormat(QObject::tr("load %p% (%v on %m)"));
|
||||
|
||||
QList <QETProject *> project_list;
|
||||
project_list.append(m_waiting_project);
|
||||
|
||||
@@ -157,15 +157,15 @@ QString FileElementCollectionItem::localName()
|
||||
if (macrosPath.endsWith("/")) macrosPath.remove(macrosPath.length() - 1, 1);
|
||||
|
||||
if (m_path == QETApp::commonElementsDirN())
|
||||
setText(QObject::tr("Collection QET"));
|
||||
setText(QObject::tr("QET Collection"));
|
||||
else if (m_path == QETApp::companyElementsDirN())
|
||||
setText(QObject::tr("Collection Company"));
|
||||
setText(QObject::tr("Company collection"));
|
||||
else if (m_path == QETApp::customElementsDirN())
|
||||
setText(QObject::tr("Collection utilisateur"));
|
||||
setText(QObject::tr("User Collection"));
|
||||
else if (m_path == macrosPath)
|
||||
setText(QObject::tr("Macros"));
|
||||
else
|
||||
setText(QObject::tr("Collection inconnue"));
|
||||
setText(QObject::tr("Unknown collection"));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -419,9 +419,9 @@ void FileElementCollectionItem::setUpData()
|
||||
QStringList tip;
|
||||
if (isDir() && m_qet_directory_unreadable)
|
||||
{
|
||||
tip << QObject::tr("Le fichier « %1 » est absent ou illisible : "
|
||||
"le nom traduit de ce dossier n'a pas pu être lu, "
|
||||
"son nom de dossier est affiché à la place.")
|
||||
tip << QObject::tr("The file \"%1\" is missing or unreadable:\n"
|
||||
"the translated name of this folder could not be "
|
||||
"read, so its folder name is displayed instead.")
|
||||
.arg(fileSystemPath() % "/qet_directory");
|
||||
}
|
||||
tip << collectionPath();
|
||||
|
||||
@@ -177,7 +177,7 @@ bool QetLabelsFile::parse(QIODevice &device, QDomDocument &document, QString *re
|
||||
return true;
|
||||
}
|
||||
if (reason != nullptr) {
|
||||
*reason = tr("erreur de syntaxe à la ligne %1, colonne %2 :\n%3")
|
||||
*reason = tr("syntax error at line %1, column %2:\n%3")
|
||||
.arg(result.errorLine)
|
||||
.arg(result.errorColumn)
|
||||
.arg(result.errorMessage);
|
||||
@@ -191,7 +191,7 @@ bool QetLabelsFile::parse(QIODevice &device, QDomDocument &document, QString *re
|
||||
return true;
|
||||
}
|
||||
if (reason != nullptr) {
|
||||
*reason = tr("erreur de syntaxe à la ligne %1, colonne %2 :\n%3")
|
||||
*reason = tr("syntax error at line %1, column %2:\n%3")
|
||||
.arg(line)
|
||||
.arg(column)
|
||||
.arg(message);
|
||||
@@ -228,7 +228,7 @@ bool QetLabelsFile::load(const QString &collection_dir)
|
||||
m_document = QDomDocument();
|
||||
|
||||
if (collection_dir.isEmpty()) {
|
||||
m_error = tr("Aucun répertoire de collection n'a été donné.");
|
||||
m_error = tr("No collection folder was given.");
|
||||
return false;
|
||||
}
|
||||
m_file_path = labelsFilePath(collection_dir);
|
||||
@@ -248,12 +248,12 @@ bool QetLabelsFile::load(const QString &collection_dir)
|
||||
if (well_formed
|
||||
&& document.documentElement().tagName() != QLatin1String("labels")) {
|
||||
well_formed = false;
|
||||
m_broken_reason = tr("l'élément racine <%1> n'est pas <labels>.")
|
||||
m_broken_reason = tr("the root element <%1> is not <labels>.")
|
||||
.arg(document.documentElement().tagName());
|
||||
}
|
||||
file.close();
|
||||
} else {
|
||||
m_broken_reason = tr("le fichier n'a pas pu être ouvert : %1")
|
||||
m_broken_reason = tr("the file could not be opened: %1")
|
||||
.arg(file.errorString());
|
||||
}
|
||||
|
||||
@@ -286,12 +286,12 @@ void QetLabelsFile::createEmptyDocument()
|
||||
QStringLiteral("version=\"1.0\" encoding=\"utf-8\"")));
|
||||
|
||||
const QString comment = tr(
|
||||
"Fichier de préfixes (étiquettes) de la collection utilisateur.\n"
|
||||
"Un préfixe est attribué à chaque dossier : les éléments d'un dossier\n"
|
||||
"reprennent le préfixe de ce dossier, sauf s'ils portent eux-mêmes une\n"
|
||||
"étiquette. Un dossier sans préfixe reprend celui de son dossier parent.\n"
|
||||
"Ce fichier est créé et modifié par QElectroTech (Programme de réglages :\n"
|
||||
"Configurer les préfixes…), mais reste modifiable à la main.");
|
||||
"Prefix (label) file of the user collection.\n"
|
||||
"Each folder is given a prefix: the symbols of a folder take that\n"
|
||||
"folder's prefix, unless they carry a label of their own. A folder\n"
|
||||
"without a prefix takes its parent folder's.\n"
|
||||
"QElectroTech creates and changes this file (Settings:\n"
|
||||
"Configure prefixes…), but it can still be edited by hand.");
|
||||
m_document.appendChild(m_document.createComment(comment));
|
||||
|
||||
m_document.appendChild(m_document.createElement(QStringLiteral("labels")));
|
||||
@@ -612,7 +612,7 @@ bool QetLabelsFile::save()
|
||||
m_error.clear();
|
||||
|
||||
if (m_file_path.isEmpty()) {
|
||||
m_error = tr("Aucun fichier de préfixes à enregistrer.");
|
||||
m_error = tr("No prefix file to save.");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -623,7 +623,7 @@ bool QetLabelsFile::save()
|
||||
|
||||
const QDir directory(QFileInfo(m_file_path).absolutePath());
|
||||
if (!directory.exists() && !QDir().mkpath(directory.absolutePath())) {
|
||||
m_error = tr("Le répertoire %1 n'a pas pu être créé.").arg(directory.absolutePath());
|
||||
m_error = tr("The folder %1 could not be created.").arg(directory.absolutePath());
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -635,7 +635,7 @@ bool QetLabelsFile::save()
|
||||
//and cancels.
|
||||
m_backup_path = backupBrokenFile();
|
||||
if (m_backup_path.isEmpty()) {
|
||||
m_error = tr("Le fichier %1 n'a pas pu être copié à côté avant d'être remplacé :\nrien n'a été modifié.")
|
||||
m_error = tr("The file %1 could not be copied beside itself before being replaced:\nnothing has been changed.")
|
||||
.arg(m_file_path);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ RenameDialog::RenameDialog(QString path, QWidget *parent) :
|
||||
QET::trackDialogGeometry(this);
|
||||
m_name = m_path.split("/").last();
|
||||
if (m_name.endsWith(".elmt")) m_name.remove(".elmt");
|
||||
ui->m_label->setText(tr("L'élément « %1 » existe déjà. Que souhaitez-vous faire ?").arg(m_path));
|
||||
ui->m_label->setText(tr("The element « %1 » already exists. What do you wish to do?").arg(m_path));
|
||||
ui->lineEdit->setText(m_name + QDate::currentDate().toString("dd-MM-yy"));
|
||||
}
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="label_2">
|
||||
<property name="text">
|
||||
<string>Nouveau nom :</string>
|
||||
<string>new name :</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignCenter</set>
|
||||
@@ -27,21 +27,21 @@
|
||||
<item row="2" column="0">
|
||||
<widget class="QPushButton" name="m_erase_pb">
|
||||
<property name="text">
|
||||
<string>Écraser</string>
|
||||
<string>Erase</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QPushButton" name="m_rename_pb">
|
||||
<property name="text">
|
||||
<string>Renommer</string>
|
||||
<string>Rename</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QPushButton" name="m_cancel_pb">
|
||||
<property name="text">
|
||||
<string>Annuler</string>
|
||||
<string>Undo</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -86,7 +86,7 @@ void XmlProjectElementCollectionItem::updateProjectName()
|
||||
else if (!m_project->filePath().isEmpty())
|
||||
setText(QFileInfo(m_project->filePath()).completeBaseName());
|
||||
else
|
||||
setText(QObject::tr("Projet sans titre"));
|
||||
setText(QObject::tr("Untitled project"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user