Commit a6c697f0 authored by Yann Boucher's avatar Yann Boucher
Browse files

Uniformisation de l'anglais dans toute l'application

parent 404c2d5b
Pipeline #79673 passed with stages
in 17 seconds
......@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>1068</width>
<height>800</height>
<height>833</height>
</rect>
</property>
<property name="windowTitle">
......
......@@ -17,13 +17,13 @@
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Sauvegarde</string>
<string>Save</string>
</property>
<layout class="QFormLayout" name="formLayout">
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Nom : </string>
<string>Name : </string>
</property>
<property name="buddy">
<cstring>nom</cstring>
......@@ -36,7 +36,7 @@
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Auteur : </string>
<string>Author : </string>
</property>
<property name="buddy">
<cstring>auteur</cstring>
......@@ -59,14 +59,14 @@
<item row="3" column="1">
<widget class="QPlainTextEdit" name="desc">
<property name="placeholderText">
<string>Entrer une description de la structure, ses caractéristiques remarquables...</string>
<string>Describe the structure, its noteworthy characteristics...</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Date de création : </string>
<string>Creation date :</string>
</property>
<property name="buddy">
<cstring>date</cstring>
......
......@@ -17,7 +17,7 @@
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Double clic pour faire un glisser-déposer de la structure.</string>
<string>Double click to drag a structure into the main view.</string>
</property>
</widget>
</item>
......
......@@ -61,7 +61,7 @@ public:
{
if(tab.size()>0)
return tab.back();
throw HistoryException("La pile est vide. \n");
throw HistoryException("The stack is empty.");
}
//! \brief Fonction qui vérifie si l'historique est vide ou pas
//! \return Retourne un booléen selon si le prédicat "l'historique est vide"
......
......@@ -97,7 +97,7 @@ public:
//! \pre La coord ne doit pas déjà exister
void addNeighbor(Coord c, unsigned char s) {
if (s >= MAX_ETATS)
throw NeighborhoodException("Valeur d'état supérieure à l'état maximal");
throw NeighborhoodException("Invalid state value (>= MAX_ETATS)");
sorted = false;
neighborPositions[neighbors++] = {(int8_t)c.x, (int8_t)c.y, s};
......@@ -119,7 +119,7 @@ public:
pair<Coord, unsigned char> neighbor_at_index(unsigned i) const
{
if (i >= size())
throw NeighborhoodException("Index invalide\n");
throw NeighborhoodException("Invalid index");
if (!sorted)
{
std::sort(std::begin(neighborPositions), std::begin(neighborPositions) + neighbors,
......
......@@ -23,7 +23,7 @@ class state{
public:
//! \brief Constructeur de l'état
state(stateColor c, const std::string& l = "sans nom"):color(c),label(l){}
state(stateColor c, const std::string& l = "unnamed"):color(c),label(l){}
//! \brief Accesseur en lecture de la couleur
const stateColor& getColor() const { return color; }
......
......@@ -20,7 +20,7 @@ const state &Alphabet::getState(unsigned int it) const{ // Définition de la mé
return etats[it];
}
else
throw AlphabetException("ID d'état invalide");
throw AlphabetException("Invalid state ID");
}
void Alphabet::setState(unsigned int it, const state &s){ // Méthode permettant de modifier un identifiant d'un état. On se doit de vérifier si l'identifiant que veut donner n'a pas déjà été attribué
......@@ -29,6 +29,6 @@ void Alphabet::setState(unsigned int it, const state &s){ // Méthode permettant
etats[it] = s;
}
else
throw AlphabetException("ID d'état invalide");
throw AlphabetException("Invalid state ID");
}
......@@ -8,6 +8,7 @@
#include <string>
#include <QListWidget>
#include <QColorDialog>
#include <QMessageBox>
#include "constantes.hpp"
......@@ -49,7 +50,7 @@ ColorLabel::~ColorLabel()
void ColorLabel::generateState(){
if(a.taille() >= MAX_ETATS) // On vérifie qu'il reste encore de la place dans l'alphabet
{
throw AlphabetException("Nombre d'états maximal atteint");
QMessageBox::warning(this, "Error", "Reached the maximal amount of states");
}
else {
std::string string_name_state = ui->state_label->text().toStdString(); // On passe notre QString en string pour pouvoir utiliser le constructeur
......
......@@ -105,7 +105,7 @@ void ConfigurationLoadingDialog::done(int r)
{
if(!m_current_configuration.empty() && ui->tree->selectedItems().size() != 1) // validate the data somehow
{
QMessageBox::information(this, "Erreur", "Il est nécéssaire de sélectionner un modèle.");
QMessageBox::information(this, "Error", "It is required to select a configuration.");
return;
}
else
......@@ -125,7 +125,7 @@ QJsonObject ConfigurationLoadingDialog::load_configuration(const QString &filena
{
QFile f(filename);
if (!f.open(QFile::ReadOnly | QFile::Text))
throw ConfigurationLoadingException("Impossible de lire le fichier");
throw ConfigurationLoadingException("Error reading file");
QTextStream in(&f);
......@@ -133,7 +133,7 @@ QJsonObject ConfigurationLoadingDialog::load_configuration(const QString &filena
QJsonDocument jsonDoc = QJsonDocument::fromJson(in.readAll().toUtf8(), &parseError);
if (parseError.error != QJsonParseError::NoError)
{
throw ConfigurationLoadingException("Erreur de parsing JSON à " + std::to_string(parseError.offset) + ":" + parseError.errorString().toStdString());
throw ConfigurationLoadingException("JSON parsing error at: " + std::to_string(parseError.offset) + ":" + parseError.errorString().toStdString());
}
const QJsonObject root = jsonDoc.object();
......
......@@ -30,14 +30,6 @@ Cette classe représente le widget utilisé pour l'affichage et l'interaction av
#include "structurereader.hpp"
//! Permet de convertir un stateColor vers un QColor.
//! Détail d'implémentation.
static QColor stateColor_to_QColor(const stateColor& sc)
{
return QColor::fromRgb(sc.getRed(), sc.getGreen(), sc.getBlue());
}
namespace detail
{
Graphics_view_zoom::Graphics_view_zoom(QGraphicsView* view)
......@@ -303,8 +295,8 @@ GridView::GridView(QWidget *parent)
layout->addWidget(m_view);
m_mouse_pos_label = new QLabel("");
layout->addWidget(m_mouse_pos_label);
layout->addWidget(new QLabel("Clic gauche : éditer; Clic droit : sélectionner", this));
layout->addWidget(new QLabel("Maintenir SHIFT pour déplacer la grille; Molette ou CTRL+/CTRL- pour zoomer", this));
layout->addWidget(new QLabel("Left click : edit; Right click : select", this));
layout->addWidget(new QLabel("Hold SHIFT to move across the grid; Scroll wheel or CTRL+/CTRL- to zoom", this));
setLayout(layout);
m_drag_drop_handler = new DragDropHandlerItem(*this);
......
......@@ -33,5 +33,5 @@ Grid History::popGrid(){
tab.pop_back();
return tmp;
}
throw HistoryException("La pile est vide. \n");
throw HistoryException("Empty stack");
}
......@@ -151,7 +151,7 @@ QString MainWindow::afficher_interface_sauvegarde_structure()
if (!dialog.exec())
return "";
QString filename = QFileDialog::getSaveFileName(this, "Choisir un nom de fichier", "", "Format Cellulut (*.json);;Format Golly RLE (*.rle)");
QString filename = QFileDialog::getSaveFileName(this, "Choose a file name", "", "Cellulut format (*.json);;Golly RLE format (*.rle)");
QFileInfo info(filename);
//printf("%s\n", info.suffix().toStdString().c_str());
// on pourrait utiliser un Factory ici, mais c'est possiblement overkill, les possibilités d'évolution de format de fichier sont faibles et ne justifient pas l'effort
......@@ -177,7 +177,7 @@ QString MainWindow::afficher_interface_sauvegarde_structure()
QFile file(filename);
if (!file.open(QIODevice::WriteOnly))
{
QMessageBox::information(this, "Impossible de créer le fichier",
QMessageBox::information(this, "Unable to create file",
file.errorString());
return "";
}
......@@ -414,7 +414,7 @@ void MainWindow::save_model()
if (!dialog.exec())
return;
QString filename = QFileDialog::getSaveFileName(this, "Choisir un nom de fichier", QString(), "Modèle d'automate (*.json)");
QString filename = QFileDialog::getSaveFileName(this, "Choose a file name", QString(), "Automaton model file (*.json)");
PropertySaverVisitor trans_saver;
for (auto& prop : m_transition_rule->get_properties())
......@@ -457,7 +457,7 @@ void MainWindow::save_model()
QFile file(filename);
if (!file.open(QFile::WriteOnly | QFile::Text | QFile::Truncate))
{
QMessageBox::information(this, "Impossible de créer le fichier",
QMessageBox::information(this, "Unable to create file",
file.errorString());
}
file.write(doc.toJson());
......@@ -557,7 +557,7 @@ void MainWindow::save_grid_configuration()
const Grid& grid = ui->grid_view->get_grid();
Structure grid_data = grid.to_structure();
QString title = QInputDialog::getText(this, "Choisir un titre", "Titre de la configuration : ");
QString title = QInputDialog::getText(this, "Choose a title", "Configuration title : ");
if (title.isEmpty())
return;
......@@ -573,14 +573,14 @@ void MainWindow::save_grid_configuration()
json_data["top"] = grid_data.top_left.y;
json_data["data"] = QString::fromStdString(structure_data);
QString filename = QFileDialog::getSaveFileName(this, "Choisir un nom de fichier", "", "Configuration Cellulut (*.json)");
QString filename = QFileDialog::getSaveFileName(this, "Choose a file name", "", "Cellulut configuration (*.json)");
if (filename.isEmpty())
return;
QFile file(filename);
if (!file.open(QIODevice::WriteOnly | QFile::Text | QFile::Truncate))
{
QMessageBox::information(this, "Impossible de créer le fichier",
QMessageBox::information(this, "Unable to create file",
file.errorString());
}
......@@ -668,7 +668,7 @@ void MainWindow::play_bad_apple()
QFile f("extras/bad_apple.json");
if (!f.open(QFile::ReadOnly | QFile::Text))
{
QMessageBox::warning(this, "", "Can't find 'extras/bad_apple.json'\n");
QMessageBox::warning(this, "", "Couldn't open 'extras/bad_apple.json'\n");
return;
}
QTextStream in(&f);
......@@ -809,7 +809,7 @@ void MainWindow::on_nextButton_clicked()
void MainWindow::on_prevButton_clicked()
{
if(!simulation.back()) {
QMessageBox::critical(this, "Retour arrière impossible", "L'historique est vide : impossible de revenir en arrière.");
QMessageBox::warning(this, "Unable to step back", "Empty history : unable to step back");
}
ui->grid_view->copy_grid(simulation.getGrid());
ui->nbStepsLabel->setText(QString::number(simulation.getTime())+" steps");
......@@ -826,9 +826,9 @@ void MainWindow::on_playPauseButton_clicked()
ui->playPauseButton->setText("Pause");
int frequence = ui->simSpeedSpinbox->value();
if(frequence == 0) {
QMessageBox::critical(this, "Impossible de démarrer", "Impossible de lancer la simulation à une vitesse nulle.");
QMessageBox::critical(this, "Unable to start", "Speed needs to be nonzero.");
} else if(!simulation.runnable()) {
QMessageBox::critical(this, "Impossible de démarrer", "Impossible de lancer la simulation : les règles ne sont pas définies ou incompatibles.");
QMessageBox::critical(this, "Unable to start", "Unable to begin the simulation : incompatible rules.");
} else {
timer->setInterval(1000/frequence);
timer->start();
......
......@@ -86,14 +86,14 @@ void ModelLoadingDialog::update_info(QTreeWidgetItem *item, int column)
QFile f(item->data(0, Qt::UserRole).toString());
if (!f.open(QFile::ReadOnly | QFile::Text))
throw ModelLoadingException("Impossible de lire le fichier");
throw ModelLoadingException("Unable to read file");
QTextStream in(&f);
QJsonParseError parseError;
QJsonDocument jsonDoc = QJsonDocument::fromJson(in.readAll().toUtf8(), &parseError);
if(parseError.error != QJsonParseError::NoError)
{
throw ModelLoadingException("Erreur de parsing JSON à " + std::to_string(parseError.offset) + ":" + parseError.errorString().toStdString());
throw ModelLoadingException("JSON parsing error at: " + std::to_string(parseError.offset) + ":" + parseError.errorString().toStdString());
}
const QJsonObject root = jsonDoc.object();
......@@ -112,7 +112,7 @@ void ModelLoadingDialog::done(int r)
{
if(!m_current_model.empty() && ui->tree->selectedItems().size() != 1) // validate the data somehow
{
QMessageBox::information(this, "Erreur", "Il est nécéssaire de sélectionner un modèle.");
QMessageBox::information(this, "Error", "It is required to select a model.");
return;
}
else
......
......@@ -35,8 +35,6 @@ NeighborhoodDialog::NeighborhoodDialog(Neighborhood& n, QWidget *parent) :
if(abs(currentY) >= yMax /2) yMax = (abs(currentY)+1) * 2;
}
std::cout << "xMax =" << xMax << " yMax=" << yMax << endl;
ui->widthSpinBox_2->setValue(xMax);
ui->heightSpinBox_2->setValue(yMax);
ResizeCreateGrid(xMax, yMax, n);
......@@ -91,7 +89,6 @@ Neighborhood* NeighborhoodDialog::getNeighborhood() const
if( currentGrid.get_state({i,j}) == 1 || currentGrid.get_state({i,j}) == 3) {
Coord newCoord = {i - currentPoint.x, j - currentPoint.y};
newNeighborhood->addNeighbor(newCoord, 1);
std::cout << "Nouveau voisin : X=" << newCoord.x << " Y=" << newCoord.y << endl;
fflush(stdout);
}
}
......@@ -114,38 +111,6 @@ void NeighborhoodDialog::on_validateGridDim_2_clicked()
ui->validateGridDim_2->setEnabled(false);
delete oldNeighborhood;
/*
unsigned oldNbrRow = oldGrid.get_rows(); // rows = nbr de lignes => axe y
unsigned oldNbrCol = oldGrid.get_col(); // col = nbr de colonne => axe x
if(oldNbrRow <= nbrRow && oldNbrCol <= nbrCol) {
//std::cout << "superieur\n";
fflush(stdout);
for (unsigned y = 0; y < oldNbrRow ; y++) {
for (unsigned x = 0; x < oldNbrCol ; x++) {
Coord pos = {static_cast<int>(x), static_cast<int>(y)};
newGrid.set_cell(pos, oldGrid.get_state(pos));
//std::cout << "oldState : " << oldGrid.get_state(pos) << endl;
}
}
}
else
{
//std::cout << "superieur\n";
fflush(stdout);
for (unsigned y = 0; y < nbrRow ; y++) {
for (unsigned x = 0; x < nbrCol ; x++) {
Coord pos = {static_cast<int>(x), static_cast<int>(y)};
newGrid.set_cell(pos, oldGrid.get_state(pos));
//std::cout << "oldState : " << oldGrid.get_state(pos) << endl;
}
}
}
ui->grid_view->copy_grid(newGrid);
ui->validateGridDim_2->setEnabled(false);
*/
}
void NeighborhoodDialog::on_heightSpinBox_2_valueChanged(int)
......
......@@ -7,7 +7,7 @@ mooreNeighborhoodRule::mooreNeighborhoodRule(int _radius)
current_format_radius = radius.val = _radius;
if(_radius == 0)
throw NeighborhoodException("Le rayon ne peut pas être égal à 0");
throw NeighborhoodException("Radius can't be zero");
update_format();
}
......
......@@ -7,7 +7,7 @@ vonNeumannNeighborhoodRule::vonNeumannNeighborhoodRule(int _radius)
current_format_radius = radius.val = _radius;
if(_radius == 0)
throw NeighborhoodException("Le rayon ne peut pas être égal à 0");
throw NeighborhoodException("Radius can't be zero");
update_format();
}
......
......@@ -31,7 +31,7 @@ void SavingDialog::done(int r)
{
if(ui->nom->text().isEmpty()) // validate the data somehow
{
QMessageBox::information(this, "Erreur", "Le champ 'Titre' doit être rempli.");
QMessageBox::information(this, "Error", "The 'Title' field needs to be completed.");
return;
}
else
......
......@@ -20,7 +20,7 @@
char StructureReader::peek() const
{
if (m_idx >= m_data.size())
throw StructureReaderException("Fichier invalide, la lecture a dépassé la fin du fichier.");
throw StructureReaderException("Invalid file, reach end-of-file unexpectedly.");
return m_data[m_idx];
}
......@@ -40,7 +40,7 @@ void StructureReader::expect(const std::string &str)
{
read_white();
if (m_data.substr(m_idx, str.size()) != str)
throw StructureReaderException("Valeur attendue : " + str);
throw StructureReaderException("Expected string : " + str);
m_idx += str.size();
read_white();
}
......@@ -93,7 +93,7 @@ int StructureReader::read_int()
}
catch (std::exception& e)
{
throw StructureReaderException("La valeur lue n'est pas un entier !");
throw StructureReaderException("Expected an integer");
}
m_idx += cars_read;
......@@ -237,7 +237,7 @@ Structure JSONStructureReader::read_structure()
QJsonDocument jsonDoc = QJsonDocument::fromJson(byteArray, &parseError);
if(parseError.error != QJsonParseError::NoError)
{
throw StructureReaderException("Erreur de parsing JSON à " + std::to_string(parseError.offset) + ":" + parseError.errorString().toStdString());
throw StructureReaderException("JSON parsing error at: " + std::to_string(parseError.offset) + ":" + parseError.errorString().toStdString());
}
QJsonObject root = jsonDoc.object();
......@@ -245,9 +245,9 @@ Structure JSONStructureReader::read_structure()
Structure s;
if (!root.contains("cells"))
throw StructureReaderException("Pas de champ 'cells' !");
throw StructureReaderException("No 'cells' field !");
if (!root["cells"].isArray())
throw StructureReaderException("'cells' doit être un array.");
throw StructureReaderException("'cells' must be an array.");
s.author = root.value("author").toString().toStdString();
s.title = root.value("title").toString().toStdString();
......@@ -256,7 +256,7 @@ Structure JSONStructureReader::read_structure()
for (const auto& entry : root["cells"].toArray())
{
const char* msg = "Chaque entrée de 'cells' doit être un objet contenant des entiers x, y, et state.";
const char* msg = "Each 'cells' entry must contain fields x, y, and state.";
if (!entry.isObject())
throw StructureReaderException(msg);
......@@ -279,7 +279,7 @@ Structure load_structure(const std::string &path)
QString filename = QString::fromStdString(path);
QFile f(filename);
if (!f.open(QFile::ReadOnly | QFile::Text))
throw StructureReaderException("Impossible de lire le fichier");
throw StructureReaderException("Unable to open file");
QTextStream in(&f);
std::string data = in.readAll().toStdString();
......@@ -295,5 +295,5 @@ Structure load_structure(const std::string &path)
return rle.read_structure();
}
else
throw StructureReaderException("Format de fichier de structure invalide");
throw StructureReaderException("Invalid structure file format");
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment