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:
ispyisail
2026-10-08 12:50:13 +13:00
parent 57c650e6e0
commit f5962ecd06
363 changed files with 227813 additions and 199545 deletions
@@ -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();
+14 -14
View File
@@ -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"));
}
/**