paysages : Translated GUI + fr translation.

git-svn-id: https://subversion.assembla.com/svn/thunderk/paysages@275 b1fd45b6-86a6-48da-8261-f70d1f35bdcc
This commit is contained in:
Michaël Lemaire 2012-02-28 13:45:11 +00:00 committed by ThunderK
parent d3cf3912e7
commit a02d199c7b
19 changed files with 759 additions and 111 deletions

View file

@ -30,17 +30,17 @@ BaseForm::BaseForm(QWidget* parent, bool auto_apply, bool with_layers) : QWidget
hwidget = new QWidget(this); hwidget = new QWidget(this);
hwidget->setLayout(new QHBoxLayout()); hwidget->setLayout(new QHBoxLayout());
hwidget->layout()->addWidget(new QLabel("Layers : ", hwidget)); hwidget->layout()->addWidget(new QLabel(tr("Layers : "), hwidget));
layer_list = new QComboBox(hwidget); layer_list = new QComboBox(hwidget);
hwidget->layout()->addWidget(layer_list); hwidget->layout()->addWidget(layer_list);
QObject::connect(layer_list, SIGNAL(currentIndexChanged(int)), this, SLOT(layerListChanged())); QObject::connect(layer_list, SIGNAL(currentIndexChanged(int)), this, SLOT(layerListChanged()));
layer_new = new QPushButton("Add layer", hwidget); layer_new = new QPushButton(tr("Add layer"), hwidget);
hwidget->layout()->addWidget(layer_new); hwidget->layout()->addWidget(layer_new);
QObject::connect(layer_new, SIGNAL(clicked()), this, SLOT(layerAddClicked())); QObject::connect(layer_new, SIGNAL(clicked()), this, SLOT(layerAddClicked()));
layer_del = new QPushButton("Delete layer", hwidget); layer_del = new QPushButton(tr("Delete layer"), hwidget);
hwidget->layout()->addWidget(layer_del); hwidget->layout()->addWidget(layer_del);
QObject::connect(layer_del, SIGNAL(clicked()), this, SLOT(layerDelClicked())); QObject::connect(layer_del, SIGNAL(clicked()), this, SLOT(layerDelClicked()));
@ -70,10 +70,10 @@ BaseForm::BaseForm(QWidget* parent, bool auto_apply, bool with_layers) : QWidget
this->setLayout(vlayout); this->setLayout(vlayout);
this->setObjectName("_base_form_"); this->setObjectName("_base_form_");
button_apply = addButton("Apply"); button_apply = addButton(tr("Apply"));
button_apply->setEnabled(false); button_apply->setEnabled(false);
connect(button_apply, SIGNAL(clicked()), this, SLOT(applyConfig())); connect(button_apply, SIGNAL(clicked()), this, SLOT(applyConfig()));
button_revert = addButton("Revert"); button_revert = addButton(tr("Revert"));
button_revert->setEnabled(false); button_revert->setEnabled(false);
connect(button_revert, SIGNAL(clicked()), this, SLOT(revertConfig())); connect(button_revert, SIGNAL(clicked()), this, SLOT(revertConfig()));
@ -236,7 +236,7 @@ void BaseForm::setLayerCount(int layer_count)
for (i = 0; i < layer_count; i++) for (i = 0; i < layer_count; i++)
{ {
layer_list->addItem(QString("Layer %1").arg(i + 1)); layer_list->addItem(QString(tr("Layer %1")).arg(i + 1));
} }
if (selected >= 0) if (selected >= 0)
{ {

View file

@ -48,18 +48,18 @@ public:
QPushButton* button; QPushButton* button;
_gradation = gradation; _gradation = gradation;
addPreview(new PreviewColorGradation(this, _gradation), "Preview"); addPreview(new PreviewColorGradation(this, _gradation), tr("Preview"));
addInputDouble("Position", &_layer.start, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Position"), &_layer.start, 0.0, 1.0, 0.01, 0.1);
addInputColor("Color", &_layer.col); addInputColor(tr("Color"), &_layer.col);
button = addButton("Validate"); button = addButton(tr("Validate"));
QObject::connect(button, SIGNAL(clicked()), parent, SLOT(accept())); QObject::connect(button, SIGNAL(clicked()), parent, SLOT(accept()));
button = addButton("Revert"); button = addButton(tr("Revert"));
QObject::connect(button, SIGNAL(clicked()), parent, SLOT(revert())); QObject::connect(button, SIGNAL(clicked()), parent, SLOT(revert()));
button = addButton("Cancel"); button = addButton(tr("Cancel"));
QObject::connect(button, SIGNAL(clicked()), parent, SLOT(reject())); QObject::connect(button, SIGNAL(clicked()), parent, SLOT(reject()));
revertConfig(); revertConfig();
@ -126,7 +126,7 @@ DialogColorGradation::DialogColorGradation(QWidget *parent, ColorGradation* grad
QObject::connect(button, SIGNAL(clicked()), this, SLOT(revert())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(revert()));
QObject::connect(button, SIGNAL(clicked()), this, SLOT(reject()));*/ QObject::connect(button, SIGNAL(clicked()), this, SLOT(reject()));*/
setWindowTitle("Paysages 3D - Color gradation editor"); setWindowTitle(tr("Paysages 3D - Color gradation editor"));
revert(); revert();
} }

View file

@ -95,12 +95,12 @@ DialogNoise::DialogNoise(QWidget *parent, NoiseGenerator* value):
layout()->addWidget(previews); layout()->addWidget(previews);
previewLevel = new PreviewLevel(previews, _current); previewLevel = new PreviewLevel(previews, _current);
previews->layout()->addWidget(new QLabel("Level preview")); previews->layout()->addWidget(new QLabel(tr("Level preview")));
previews->layout()->addWidget(previewLevel); previews->layout()->addWidget(previewLevel);
previewLevel->setScaling(1.0 / 127.0); previewLevel->setScaling(1.0 / 127.0);
previewLevel->start(); previewLevel->start();
previewTotal = new PreviewTotal(previews, _current); previewTotal = new PreviewTotal(previews, _current);
previews->layout()->addWidget(new QLabel("Total preview")); previews->layout()->addWidget(new QLabel(tr("Total preview")));
previews->layout()->addWidget(previewTotal); previews->layout()->addWidget(previewTotal);
previewTotal->setScaling(1.0 / 127.0); previewTotal->setScaling(1.0 / 127.0);
previewTotal->start(); previewTotal->start();
@ -109,7 +109,7 @@ DialogNoise::DialogNoise(QWidget *parent, NoiseGenerator* value):
form->setLayout(new QVBoxLayout()); form->setLayout(new QVBoxLayout());
layout()->addWidget(form); layout()->addWidget(form);
form->layout()->addWidget(new QLabel("Noise components")); form->layout()->addWidget(new QLabel(tr("Noise components")));
levels = new QListWidget(form); levels = new QListWidget(form);
form->layout()->addWidget(levels); form->layout()->addWidget(levels);
QObject::connect(levels, SIGNAL(currentRowChanged(int)), this, SLOT(levelChanged(int))); QObject::connect(levels, SIGNAL(currentRowChanged(int)), this, SLOT(levelChanged(int)));
@ -118,15 +118,15 @@ DialogNoise::DialogNoise(QWidget *parent, NoiseGenerator* value):
buttons->setLayout(new QHBoxLayout()); buttons->setLayout(new QHBoxLayout());
form->layout()->addWidget(buttons); form->layout()->addWidget(buttons);
button = new QPushButton("Add component", buttons); button = new QPushButton(tr("Add component"), buttons);
buttons->layout()->addWidget(button); buttons->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(addLevel())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(addLevel()));
button = new QPushButton("Remove component", buttons); button = new QPushButton(tr("Remove component"), buttons);
buttons->layout()->addWidget(button); buttons->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(removeLevel())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(removeLevel()));
form->layout()->addWidget(new QLabel("Component height")); form->layout()->addWidget(new QLabel(tr("Component height")));
slider_height = new QSlider(form); slider_height = new QSlider(form);
slider_height->setOrientation(Qt::Horizontal); slider_height->setOrientation(Qt::Horizontal);
slider_height->setMinimumWidth(150); slider_height->setMinimumWidth(150);
@ -138,7 +138,7 @@ DialogNoise::DialogNoise(QWidget *parent, NoiseGenerator* value):
form->layout()->addWidget(slider_height); form->layout()->addWidget(slider_height);
QObject::connect(slider_height, SIGNAL(valueChanged(int)), this, SLOT(heightChanged(int))); QObject::connect(slider_height, SIGNAL(valueChanged(int)), this, SLOT(heightChanged(int)));
form->layout()->addWidget(new QLabel("Component scaling")); form->layout()->addWidget(new QLabel(tr("Component scaling")));
slider_scaling = new QSlider(form); slider_scaling = new QSlider(form);
slider_scaling->setOrientation(Qt::Horizontal); slider_scaling->setOrientation(Qt::Horizontal);
slider_scaling->setMinimumWidth(150); slider_scaling->setMinimumWidth(150);
@ -154,19 +154,19 @@ DialogNoise::DialogNoise(QWidget *parent, NoiseGenerator* value):
buttons->setLayout(new QHBoxLayout()); buttons->setLayout(new QHBoxLayout());
form->layout()->addWidget(buttons); form->layout()->addWidget(buttons);
button = new QPushButton("Validate", buttons); button = new QPushButton(tr("Validate"), buttons);
buttons->layout()->addWidget(button); buttons->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(accept())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(accept()));
button = new QPushButton("Reset", buttons); button = new QPushButton(tr("Reset"), buttons);
buttons->layout()->addWidget(button); buttons->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(revert())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(revert()));
button = new QPushButton("Cancel", buttons); button = new QPushButton(tr("Cancel"), buttons);
buttons->layout()->addWidget(button); buttons->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(reject())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(reject()));
setWindowTitle("Paysages 3D - Noise editor"); setWindowTitle(tr("Paysages 3D - Noise editor"));
revert(); revert();
} }
@ -217,7 +217,7 @@ void DialogNoise::revertToCurrent()
n = noiseGetLevelCount(_current); n = noiseGetLevelCount(_current);
for (i = 0; i < n; i++) for (i = 0; i < n; i++)
{ {
levels->addItem(QString("Component %1").arg(i + 1)); levels->addItem(QString(tr("Component %1")).arg(i + 1));
} }
previewLevel->redraw(); previewLevel->redraw();

View file

@ -75,7 +75,7 @@ DialogRender::DialogRender(QWidget *parent):
renderer = sceneryCreateStandardRenderer(); renderer = sceneryCreateStandardRenderer();
setModal(true); setModal(true);
setWindowTitle("Paysages 3D - Render"); setWindowTitle(tr("Paysages 3D - Render"));
setLayout(new QVBoxLayout()); setLayout(new QVBoxLayout());
scroll = new QScrollArea(this); scroll = new QScrollArea(this);

View file

@ -11,7 +11,7 @@ DialogWanderer::DialogWanderer(QWidget* parent, CameraDefinition* camera, bool c
QPushButton* button; QPushButton* button;
setModal(true); setModal(true);
setWindowTitle("Paysages 3D - Explore"); setWindowTitle(tr("Paysages 3D - Explore"));
setLayout(new QHBoxLayout()); setLayout(new QHBoxLayout());
_wanderer = new WidgetWanderer(this, camera); _wanderer = new WidgetWanderer(this, camera);
@ -21,18 +21,18 @@ DialogWanderer::DialogWanderer(QWidget* parent, CameraDefinition* camera, bool c
panel->setLayout(new QVBoxLayout()); panel->setLayout(new QVBoxLayout());
panel->setMaximumWidth(200); panel->setMaximumWidth(200);
button = new QPushButton("Reset camera", panel); button = new QPushButton(tr("Reset camera"), panel);
panel->layout()->addWidget(button); panel->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), _wanderer, SLOT(resetCamera())); QObject::connect(button, SIGNAL(clicked()), _wanderer, SLOT(resetCamera()));
if (camera_validable) if (camera_validable)
{ {
button = new QPushButton("Validate as render camera", panel); button = new QPushButton(tr("Validate as render camera"), panel);
panel->layout()->addWidget(button); panel->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(validateCamera())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(validateCamera()));
} }
button = new QPushButton("Close", panel); button = new QPushButton(tr("Close"), panel);
panel->layout()->addWidget(button); panel->layout()->addWidget(button);
QObject::connect(button, SIGNAL(clicked()), this, SLOT(reject())); QObject::connect(button, SIGNAL(clicked()), this, SLOT(reject()));

View file

@ -59,13 +59,13 @@ FormAtmosphere::FormAtmosphere(QWidget *parent):
_definition = atmosphereCreateDefinition(); _definition = atmosphereCreateDefinition();
previewColor = new PreviewAtmosphereColor(this); previewColor = new PreviewAtmosphereColor(this);
addPreview(previewColor, QString("Color preview")); addPreview(previewColor, QString(tr("Color preview")));
addInputDouble("Start distance", &_definition.distance_near, -500.0, 500.0, 5.0, 50.0); addInputDouble(tr("Start distance"), &_definition.distance_near, -500.0, 500.0, 5.0, 50.0);
addInputDouble("End distance", &_definition.distance_far, -500.0, 500.0, 5.0, 50.0); addInputDouble(tr("End distance"), &_definition.distance_far, -500.0, 500.0, 5.0, 50.0);
addInputDouble("Masking power", &_definition.full_mask, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Masking power"), &_definition.full_mask, 0.0, 1.0, 0.01, 0.1);
addInputBoolean("Lock color on haze", &_definition.auto_lock_on_haze); addInputBoolean(tr("Lock color on haze"), &_definition.auto_lock_on_haze);
addInputColor("Color", &_definition.color); addInputColor(tr("Color"), &_definition.color);
revertConfig(); revertConfig();
} }

View file

@ -142,21 +142,21 @@ FormClouds::FormClouds(QWidget *parent):
_definition = cloudsCreateDefinition(); _definition = cloudsCreateDefinition();
_layer = cloudsLayerCreateDefinition(); _layer = cloudsLayerCreateDefinition();
addPreview(new PreviewCloudsCoverage(parent), "Layer coverage (no lighting)"); addPreview(new PreviewCloudsCoverage(parent), tr("Layer coverage (no lighting)"));
addPreview(new PreviewCloudsColor(parent), "Color and lighting"); addPreview(new PreviewCloudsColor(parent), tr("Color and lighting"));
addInputDouble("Start altitude", &_layer.ymin, -10.0, 250.0, 0.5, 5.0); addInputDouble(tr("Start altitude"), &_layer.ymin, -10.0, 250.0, 0.5, 5.0);
addInputDouble("Max density altitude", &_layer.ycenter, -10.0, 250.0, 0.5, 5.0); addInputDouble(tr("Max density altitude"), &_layer.ycenter, -10.0, 250.0, 0.5, 5.0);
addInputDouble("End altitude", &_layer.ymax, -10.0, 250.0, 0.5, 5.0); addInputDouble(tr("End altitude"), &_layer.ymax, -10.0, 250.0, 0.5, 5.0);
addInputNoise("Noise", _layer.noise); addInputNoise(tr("Noise"), _layer.noise);
addInputDouble("Coverage", &_layer.coverage, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Coverage"), &_layer.coverage, 0.0, 1.0, 0.01, 0.1);
addInputDouble("Scaling", &_layer.scaling, 1.0, 100.0, 0.5, 5.0); addInputDouble(tr("Scaling"), &_layer.scaling, 1.0, 100.0, 0.5, 5.0);
addInputColor("Base color", &_layer.material.base); addInputColor(tr("Base color"), &_layer.material.base);
addInputDouble("Light reflection", &_layer.material.reflection, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Light reflection"), &_layer.material.reflection, 0.0, 1.0, 0.01, 0.1);
addInputDouble("Light reflection shininess", &_layer.material.shininess, 0.0, 20.0, 0.1, 1.0); addInputDouble(tr("Light reflection shininess"), &_layer.material.shininess, 0.0, 20.0, 0.1, 1.0);
addInputDouble("Transparency depth", &_layer.transparencydepth, 0.0, 100.0, 0.5, 5.0); addInputDouble(tr("Transparency depth"), &_layer.transparencydepth, 0.0, 100.0, 0.5, 5.0);
addInputDouble("Light traversal depth", &_layer.lighttraversal, 0.0, 100.0, 0.5, 5.0); addInputDouble(tr("Light traversal depth"), &_layer.lighttraversal, 0.0, 100.0, 0.5, 5.0);
addInputDouble("Minimum lighting", &_layer.minimumlight, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Minimum lighting"), &_layer.minimumlight, 0.0, 1.0, 0.01, 0.1);
revertConfig(); revertConfig();
} }

View file

@ -18,16 +18,16 @@ FormRender::FormRender(QWidget *parent) :
_height = 600; _height = 600;
_camera = cameraCreateDefinition(); _camera = cameraCreateDefinition();
addInput(new InputCamera(this, "Camera", &_camera)); addInput(new InputCamera(this, tr("Camera"), &_camera));
addInputInt("Quality", &_quality, 1, 10, 1, 1); addInputInt(tr("Quality"), &_quality, 1, 10, 1, 1);
addInputInt("Image width", &_width, 100, 2000, 10, 100); addInputInt(tr("Image width"), &_width, 100, 2000, 10, 100);
addInputInt("Image height", &_height, 100, 2000, 10, 100); addInputInt(tr("Image height"), &_height, 100, 2000, 10, 100);
button = addButton("Start new render"); button = addButton(tr("Start new render"));
connect(button, SIGNAL(clicked()), this, SLOT(startRender())); connect(button, SIGNAL(clicked()), this, SLOT(startRender()));
button = addButton("Show last render"); button = addButton(tr("Show last render"));
connect(button, SIGNAL(clicked()), this, SLOT(showRender())); connect(button, SIGNAL(clicked()), this, SLOT(showRender()));
button = addButton("Save last render"); button = addButton(tr("Save last render"));
connect(button, SIGNAL(clicked()), this, SLOT(saveRender())); connect(button, SIGNAL(clicked()), this, SLOT(saveRender()));
revertConfig(); revertConfig();
@ -71,10 +71,10 @@ void FormRender::saveRender()
{ {
QString filepath; QString filepath;
filepath = QFileDialog::getSaveFileName(this, "Choose a filename to save the last render"); filepath = QFileDialog::getSaveFileName(this, tr("Choose a filename to save the last render"));
if (!filepath.isNull()) if (!filepath.isNull())
{ {
//renderSaveToFile((char*)filepath.toStdString().c_str()); //renderSaveToFile((char*)filepath.toStdString().c_str());
QMessageBox::information(this, "Message", "The picture " + filepath + " has been saved."); QMessageBox::information(this, "Message", QString(tr("The picture %1 has been saved.")).arg(filepath));
} }
} }

View file

@ -81,17 +81,17 @@ FormSky::FormSky(QWidget *parent):
_definition = skyCreateDefinition(); _definition = skyCreateDefinition();
previewWest = new PreviewSkyWest(this); previewWest = new PreviewSkyWest(this);
addPreview(previewWest, QString("West preview")); addPreview(previewWest, QString(tr("West preview")));
previewEast = new PreviewSkyEast(this); previewEast = new PreviewSkyEast(this);
addPreview(previewEast, QString("East preview")); addPreview(previewEast, QString(tr("East preview")));
addInputDouble("Day time", &_definition.daytime, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Day time"), &_definition.daytime, 0.0, 1.0, 0.01, 0.1);
addInputColorGradation("Sun color", &_definition.sun_color); addInputColorGradation(tr("Sun color"), &_definition.sun_color);
addInputDouble("Sun radius", &_definition.sun_radius, 0.0, 0.3, 0.01, 0.03); addInputDouble(tr("Sun radius"), &_definition.sun_radius, 0.0, 0.3, 0.01, 0.03);
addInputColorGradation("Zenith color", &_definition.zenith_color); addInputColorGradation(tr("Zenith color"), &_definition.zenith_color);
addInputColorGradation("Haze color", &_definition.haze_color); addInputColorGradation(tr("Haze color"), &_definition.haze_color);
addInputDouble("Haze height", &_definition.haze_height, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Haze height"), &_definition.haze_height, 0.0, 1.0, 0.01, 0.1);
addInputDouble("Haze smoothing", &_definition.haze_smoothing, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Haze smoothing"), &_definition.haze_smoothing, 0.0, 1.0, 0.01, 0.1);
revertConfig(); revertConfig();
} }

View file

@ -85,12 +85,12 @@ FormTerrain::FormTerrain(QWidget *parent):
previewHeight = new PreviewTerrainHeight(this); previewHeight = new PreviewTerrainHeight(this);
previewColor = new PreviewTerrainColor(this); previewColor = new PreviewTerrainColor(this);
addPreview(previewHeight, QString("Height preview (normalized)")); addPreview(previewHeight, QString(tr("Height preview (normalized)")));
addPreview(previewColor, QString("Textured preview (no shadow)")); addPreview(previewColor, QString(tr("Textured preview (no shadow)")));
addInputNoise("Noise", _definition.height_noise); addInputNoise(tr("Noise"), _definition.height_noise);
addInputDouble("Height", &_definition.height_factor, 0.0, 20.0, 0.1, 1.0); addInputDouble(tr("Height"), &_definition.height_factor, 0.0, 20.0, 0.1, 1.0);
addInputDouble("Scaling", &_definition.scaling, 1.0, 20.0, 0.1, 1.0); addInputDouble(tr("Scaling"), &_definition.scaling, 1.0, 20.0, 0.1, 1.0);
revertConfig(); revertConfig();
} }

View file

@ -170,21 +170,21 @@ FormWater::FormWater(QWidget *parent):
previewCoverage = new PreviewWaterCoverage(this); previewCoverage = new PreviewWaterCoverage(this);
previewColor = new PreviewWaterColor(this); previewColor = new PreviewWaterColor(this);
addPreview(previewCoverage, QString("Coverage preview")); addPreview(previewCoverage, QString(tr("Coverage preview")));
addPreview(previewColor, QString("Rendered preview (without/with lighting)")); addPreview(previewColor, QString(tr("Rendered preview (without/with lighting)")));
addInputDouble("Height", &_definition.height, -10.0, 10.0, 0.1, 1.0); addInputDouble(tr("Height"), &_definition.height, -10.0, 10.0, 0.1, 1.0);
addInputColor("Surface color", &_definition.material.base); addInputColor(tr("Surface color"), &_definition.material.base);
addInputDouble("Light reflection", &_definition.material.reflection, 0.0, 1.0, 0.01, 0.1); addInputDouble(tr("Light reflection"), &_definition.material.reflection, 0.0, 1.0, 0.01, 0.1);
addInputDouble("Shininess to light", &_definition.material.shininess, 0.0, 20.0, 0.1, 1.0); addInputDouble(tr("Shininess to light"), &_definition.material.shininess, 0.0, 20.0, 0.1, 1.0);
addInputDouble("Transparency", &_definition.transparency, 0.0, 1.0, 0.001, 0.1); addInputDouble(tr("Transparency"), &_definition.transparency, 0.0, 1.0, 0.001, 0.1);
addInputDouble("Reflection", &_definition.reflection, 0.0, 1.0, 0.001, 0.1); addInputDouble(tr("Reflection"), &_definition.reflection, 0.0, 1.0, 0.001, 0.1);
addInputDouble("Transparency distance", &_definition.transparency_depth, 0.0, 20.0, 0.1, 1.0); addInputDouble(tr("Transparency distance"), &_definition.transparency_depth, 0.0, 20.0, 0.1, 1.0);
addInputColor("Depth color", &_definition.depth_color); addInputColor(tr("Depth color"), &_definition.depth_color);
addInputDouble("Light-through distance", &_definition.lighting_depth, 0.0, 20.0, 0.1, 1.0); addInputDouble(tr("Light-through distance"), &_definition.lighting_depth, 0.0, 20.0, 0.1, 1.0);
addInputNoise("Waves noise", _definition.waves_noise); addInputNoise(tr("Waves noise"), _definition.waves_noise);
addInputDouble("Waves height", &_definition.waves_noise_height, 0.0, 0.1, 0.001, 0.01); addInputDouble(tr("Waves height"), &_definition.waves_noise_height, 0.0, 0.1, 0.001, 0.01);
addInputDouble("Waves scaling", &_definition.waves_noise_scale, 0.01, 1.0, 0.01, 0.1); addInputDouble(tr("Waves scaling"), &_definition.waves_noise_scale, 0.01, 1.0, 0.01, 0.1);
revertConfig(); revertConfig();
} }

View file

@ -19,11 +19,11 @@ void InputBoolean::updatePreview()
{ {
if (checkbox->checkState() == Qt::Checked) if (checkbox->checkState() == Qt::Checked)
{ {
((QLabel*)_preview)->setText("Yes"); ((QLabel*)_preview)->setText(tr("Yes"));
} }
else else
{ {
((QLabel*)_preview)->setText("No"); ((QLabel*)_preview)->setText(tr("No"));
} }
BaseInput::updatePreview(); BaseInput::updatePreview();

View file

@ -13,7 +13,7 @@ InputCamera::InputCamera(QWidget* form, QString label, CameraDefinition* value):
_preview = new QWidget(form); _preview = new QWidget(form);
_control = new QPushButton("Edit", form); _control = new QPushButton(tr("Edit"), form);
_control->setMaximumWidth(150); _control->setMaximumWidth(150);
connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(editCamera())); connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(editCamera()));

View file

@ -27,7 +27,7 @@ InputColor::InputColor(QWidget* form, QString label, Color* value):
{ {
_preview = new ColorPreview(form); _preview = new ColorPreview(form);
_preview->setMinimumSize(50, 20); _preview->setMinimumSize(50, 20);
_control = new QPushButton("Edit", form); _control = new QPushButton(tr("Edit"), form);
_control->setMaximumWidth(150); _control->setMaximumWidth(150);
connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(chooseColor())); connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(chooseColor()));

View file

@ -39,7 +39,7 @@ InputColorGradation::InputColorGradation(QWidget* form, QString label, ColorGrad
_preview = new ColorGradationPreview(form, value); _preview = new ColorGradationPreview(form, value);
_preview->setMinimumSize(200, 20); _preview->setMinimumSize(200, 20);
_control = new QPushButton("Edit", form); _control = new QPushButton(tr("Edit"), form);
_control->setMaximumWidth(150); _control->setMaximumWidth(150);
connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(editGradation())); connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(editGradation()));

View file

@ -47,7 +47,7 @@ InputNoise::InputNoise(QWidget* form, QString label, NoiseGenerator* value):
{ {
_preview = new NoiseSmallPreview(form, value); _preview = new NoiseSmallPreview(form, value);
_preview->setMinimumSize(100, 40); _preview->setMinimumSize(100, 40);
_control = new QPushButton("Edit", form); _control = new QPushButton(tr("Edit"), form);
_control->setMaximumWidth(150); _control->setMaximumWidth(150);
connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(editNoise())); connect((QPushButton*)_control, SIGNAL(clicked()), this, SLOT(editNoise()));

View file

@ -6,6 +6,8 @@
#include <QIcon> #include <QIcon>
#include <QFileDialog> #include <QFileDialog>
#include <QTabWidget> #include <QTabWidget>
#include <QTranslator>
#include <QLocale>
#include "formatmosphere.h" #include "formatmosphere.h"
#include "formclouds.h" #include "formclouds.h"
@ -25,17 +27,36 @@
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
MainWindow* window;
int result; int result;
paysagesInit(); paysagesInit();
QApplication app(argc, argv); QApplication app(argc, argv);
MainWindow window;
window.show(); QTranslator qtTranslator;
QTranslator myTranslator;
if (myTranslator.load("paysages_" + QLocale::system().name(), "./i18n"))
{
app.installTranslator(&myTranslator);
qtTranslator.load("qt_" + QLocale::system().name());
app.installTranslator(&qtTranslator);
}
else
{
qtTranslator.load("qt_en");
app.installTranslator(&qtTranslator);
}
window = new MainWindow();
window->show();
result = app.exec(); result = app.exec();
delete window;
paysagesQuit(); paysagesQuit();
return result; return result;
} }
@ -50,48 +71,48 @@ MainWindow::MainWindow(QWidget *parent) :
tabs = new QTabWidget(this); tabs = new QTabWidget(this);
form = new FormTerrain(tabs); form = new FormTerrain(tabs);
tabs->addTab(form, "Terrain"); tabs->addTab(form, tr("Terrain"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormTextures(tabs); form = new FormTextures(tabs);
tabs->addTab(form, "Textures"); tabs->addTab(form, tr("Textures"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormWater(tabs); form = new FormWater(tabs);
tabs->addTab(form, "Water"); tabs->addTab(form, tr("Water"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormAtmosphere(tabs); form = new FormAtmosphere(tabs);
tabs->addTab(form, "Atmosphere"); tabs->addTab(form, tr("Atmosphere"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormSky(tabs); form = new FormSky(tabs);
tabs->addTab(form, "Sky"); tabs->addTab(form, tr("Sky"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormClouds(tabs); form = new FormClouds(tabs);
tabs->addTab(form, "Clouds"); tabs->addTab(form, tr("Clouds"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormLighting(tabs); form = new FormLighting(tabs);
tabs->addTab(form, "Lighting"); tabs->addTab(form, tr("Lighting"));
QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
form = new FormRender(tabs); form = new FormRender(tabs);
tabs->addTab(form, "Render"); tabs->addTab(form, tr("Render"));
//QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll())); //QObject::connect(form, SIGNAL(configApplied()), this, SLOT(refreshAll()));
menu = menuBar()->addMenu("Scene"); menu = menuBar()->addMenu(tr("&Scene"));
menu->addAction("New", this, SLOT(fileNew()), QKeySequence(Qt::CTRL + Qt::Key_N)); menu->addAction(tr("&New"), this, SLOT(fileNew()), QKeySequence(tr("Crtl+N")));
menu->addSeparator(); menu->addSeparator();
menu->addAction("Save", this, SLOT(fileSave()), QKeySequence(Qt::CTRL + Qt::Key_S)); menu->addAction(tr("&Save"), this, SLOT(fileSave()), QKeySequence(tr("Crtl+S")));
menu->addAction("Open", this, SLOT(fileLoad()), QKeySequence(Qt::CTRL + Qt::Key_O)); menu->addAction(tr("&Open"), this, SLOT(fileLoad()), QKeySequence(tr("Crtl+O")));
menu->addSeparator(); menu->addSeparator();
menu->addAction("Quit", this, SLOT(close()), QKeySequence(Qt::CTRL + Qt::Key_Q)); menu->addAction(tr("&Quit"), this, SLOT(close()), QKeySequence(tr("Crtl+Q")));
menu = menuBar()->addMenu("Actions"); menu = menuBar()->addMenu(tr("&Actions"));
menu->addAction("Explore in 3D", this, SLOT(explore3D()), QKeySequence("F2")); menu->addAction(tr("&Explore in 3D"), this, SLOT(explore3D()), QKeySequence("F2"));
menu->addAction("Quick render", this, SLOT(quickPreview()), QKeySequence("F5")); menu->addAction(tr("&Quick render"), this, SLOT(quickPreview()), QKeySequence("F5"));
setCentralWidget(tabs); setCentralWidget(tabs);

View file

@ -13,3 +13,7 @@ win32:LIBS += $$DESTDIR/libpaysages.a -lDevIL -lILU -lILUT -lglib-2.0 -lgthread-
HEADERS += $$files(*.h) $$files(../lib_paysages/*.h) $$files(../lib_paysages/shared/*.h) HEADERS += $$files(*.h) $$files(../lib_paysages/*.h) $$files(../lib_paysages/shared/*.h)
SOURCES += $$files(*.cpp) SOURCES += $$files(*.cpp)
TRANSLATIONS = ../i18n/paysages_fr.ts
system(lupdate paysages-qt.pro)
system(lrelease $$TRANSLATIONS)

623
i18n/paysages_fr.ts Normal file
View file

@ -0,0 +1,623 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="fr_FR">
<context>
<name>BaseForm</name>
<message>
<location filename="../gui_qt/baseform.cpp" line="33"/>
<source>Layers : </source>
<translation>Niveaux :</translation>
</message>
<message>
<location filename="../gui_qt/baseform.cpp" line="39"/>
<source>Add layer</source>
<translation>Ajouter un niveau</translation>
</message>
<message>
<location filename="../gui_qt/baseform.cpp" line="43"/>
<source>Delete layer</source>
<translation>Supprimer un niveau</translation>
</message>
<message>
<location filename="../gui_qt/baseform.cpp" line="73"/>
<source>Apply</source>
<translation>Appliquer</translation>
</message>
<message>
<location filename="../gui_qt/baseform.cpp" line="76"/>
<source>Revert</source>
<translation>Annuler les modifications</translation>
</message>
<message>
<location filename="../gui_qt/baseform.cpp" line="239"/>
<source>Layer %1</source>
<translation>Niveau %1</translation>
</message>
</context>
<context>
<name>DialogColorGradation</name>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="129"/>
<source>Paysages 3D - Color gradation editor</source>
<translation>Paysages 3D - Editeur de gradients de couleur</translation>
</message>
</context>
<context>
<name>DialogNoise</name>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="98"/>
<source>Level preview</source>
<translation>Aperçu du composant</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="103"/>
<source>Total preview</source>
<translation>Aperçu du total</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="112"/>
<source>Noise components</source>
<translation>Composants du bruit</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="121"/>
<source>Add component</source>
<translation>Ajouter un composant</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="125"/>
<source>Remove component</source>
<translation>Supprimer un composant</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="129"/>
<source>Component height</source>
<translation>Hauteur du composant</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="141"/>
<source>Component scaling</source>
<translation>Echelle du composant</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="157"/>
<source>Validate</source>
<translation>Valider</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="161"/>
<source>Reset</source>
<translation>Recommencer</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="165"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="169"/>
<source>Paysages 3D - Noise editor</source>
<translation>Paysages 3D - Editeur de bruit</translation>
</message>
<message>
<location filename="../gui_qt/dialognoise.cpp" line="220"/>
<source>Component %1</source>
<translation>Composant %1</translation>
</message>
</context>
<context>
<name>DialogRender</name>
<message>
<location filename="../gui_qt/dialogrender.cpp" line="78"/>
<source>Paysages 3D - Render</source>
<translation>Paysages 3D - Rendu</translation>
</message>
</context>
<context>
<name>DialogWanderer</name>
<message>
<location filename="../gui_qt/dialogwanderer.cpp" line="14"/>
<source>Paysages 3D - Explore</source>
<translation>Paysages 3D - Exploration</translation>
</message>
<message>
<location filename="../gui_qt/dialogwanderer.cpp" line="24"/>
<source>Reset camera</source>
<translation>Revenir au point de vue initial</translation>
</message>
<message>
<location filename="../gui_qt/dialogwanderer.cpp" line="30"/>
<source>Validate as render camera</source>
<translation>Valider comme caméra de rendu</translation>
</message>
<message>
<location filename="../gui_qt/dialogwanderer.cpp" line="35"/>
<source>Close</source>
<translation>Fermer</translation>
</message>
</context>
<context>
<name>FormAtmosphere</name>
<message>
<location filename="../gui_qt/formatmosphere.cpp" line="62"/>
<source>Color preview</source>
<translation>Aperçu de la couleur</translation>
</message>
<message>
<location filename="../gui_qt/formatmosphere.cpp" line="64"/>
<source>Start distance</source>
<translation>Distance de début</translation>
</message>
<message>
<location filename="../gui_qt/formatmosphere.cpp" line="65"/>
<source>End distance</source>
<translation>Distance de fin</translation>
</message>
<message>
<location filename="../gui_qt/formatmosphere.cpp" line="66"/>
<source>Masking power</source>
<translation>Opacité maximale</translation>
</message>
<message>
<location filename="../gui_qt/formatmosphere.cpp" line="67"/>
<source>Lock color on haze</source>
<translation>Verrouiller sur la couleur de la brume</translation>
</message>
<message>
<location filename="../gui_qt/formatmosphere.cpp" line="68"/>
<source>Color</source>
<translation>Couleur</translation>
</message>
</context>
<context>
<name>FormClouds</name>
<message>
<location filename="../gui_qt/formclouds.cpp" line="145"/>
<source>Layer coverage (no lighting)</source>
<translation>Couverture de la couche (sans éclairage)</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="146"/>
<source>Color and lighting</source>
<translation>Echantillon éclairé</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="148"/>
<source>Start altitude</source>
<translation>Altitude de début</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="149"/>
<source>Max density altitude</source>
<translation>Altitude de densité maximale</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="150"/>
<source>End altitude</source>
<translation>Altitude de fin</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="151"/>
<source>Noise</source>
<translation>Bruit</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="152"/>
<source>Coverage</source>
<translation>Couverture</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="153"/>
<source>Scaling</source>
<translation>Echelle</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="154"/>
<source>Base color</source>
<translation>Couleur de base</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="155"/>
<source>Light reflection</source>
<translation>Facteur de réflexion de la lumière</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="156"/>
<source>Light reflection shininess</source>
<translation>Concentration de la réflexion de lumière</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="157"/>
<source>Transparency depth</source>
<translation>Distance de transparence</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="158"/>
<source>Light traversal depth</source>
<translation>Distance de traversée de la lumière</translation>
</message>
<message>
<location filename="../gui_qt/formclouds.cpp" line="159"/>
<source>Minimum lighting</source>
<translation>Eclairage minimal</translation>
</message>
</context>
<context>
<name>FormColorGradation</name>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="51"/>
<source>Preview</source>
<translation>Aperçu</translation>
</message>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="53"/>
<source>Position</source>
<translation>Position</translation>
</message>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="54"/>
<source>Color</source>
<translation>Couleur</translation>
</message>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="56"/>
<source>Validate</source>
<translation>Valider</translation>
</message>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="59"/>
<source>Revert</source>
<translation>Recommencer</translation>
</message>
<message>
<location filename="../gui_qt/dialogcolorgradation.cpp" line="62"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
</context>
<context>
<name>FormRender</name>
<message>
<location filename="../gui_qt/formrender.cpp" line="21"/>
<source>Camera</source>
<translation>Caméra</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="22"/>
<source>Quality</source>
<translation>Qualité de rendu</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="23"/>
<source>Image width</source>
<translation>Largeur de l&apos;image</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="24"/>
<source>Image height</source>
<translation>Hauteur de l&apos;image</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="26"/>
<source>Start new render</source>
<translation>Démarrer un rendu</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="28"/>
<source>Show last render</source>
<translation>Voir le dernier rendu</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="30"/>
<source>Save last render</source>
<translation>Sauvegarder le dernier rendu</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="74"/>
<source>Choose a filename to save the last render</source>
<translation>Choisissez un nom de fichier pour le rendu</translation>
</message>
<message>
<location filename="../gui_qt/formrender.cpp" line="78"/>
<source>The picture %1 has been saved.</source>
<translation>L&apos;image %1 a é sauvegardée.</translation>
</message>
</context>
<context>
<name>FormSky</name>
<message>
<location filename="../gui_qt/formsky.cpp" line="84"/>
<source>West preview</source>
<translation>Aperçu de l&apos;ouest</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="86"/>
<source>East preview</source>
<translation>Aperçu de l&apos;est</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="88"/>
<source>Day time</source>
<translation>Heure du jour</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="89"/>
<source>Sun color</source>
<translation>Couleur du soleil</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="90"/>
<source>Sun radius</source>
<translation>Diamètre apparent du soleil</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="91"/>
<source>Zenith color</source>
<translation>Couleur du ciel au zénith</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="92"/>
<source>Haze color</source>
<translation>Couleur de la brume</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="93"/>
<source>Haze height</source>
<translation>Hauteur apparente de la brume</translation>
</message>
<message>
<location filename="../gui_qt/formsky.cpp" line="94"/>
<source>Haze smoothing</source>
<translation>Facteur de lissage de la brume</translation>
</message>
</context>
<context>
<name>FormTerrain</name>
<message>
<location filename="../gui_qt/formterrain.cpp" line="88"/>
<source>Height preview (normalized)</source>
<translation>Aperçu de la hauteur (normalisée)</translation>
</message>
<message>
<location filename="../gui_qt/formterrain.cpp" line="89"/>
<source>Textured preview (no shadow)</source>
<translation>Aperçu du rendu (sans ombres)</translation>
</message>
<message>
<location filename="../gui_qt/formterrain.cpp" line="91"/>
<source>Noise</source>
<translation>Bruit</translation>
</message>
<message>
<location filename="../gui_qt/formterrain.cpp" line="92"/>
<source>Height</source>
<translation>Hauteur</translation>
</message>
<message>
<location filename="../gui_qt/formterrain.cpp" line="93"/>
<source>Scaling</source>
<translation>Echelle</translation>
</message>
</context>
<context>
<name>FormWater</name>
<message>
<location filename="../gui_qt/formwater.cpp" line="173"/>
<source>Coverage preview</source>
<translation>Aperçu de la couverture</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="174"/>
<source>Rendered preview (without/with lighting)</source>
<translation>Aperçu du rendu (sans/avec éclairage)</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="176"/>
<source>Height</source>
<translation>Hauteur</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="177"/>
<source>Surface color</source>
<translation>Couleur de la surface</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="178"/>
<source>Light reflection</source>
<translation>Réflection de la lumière</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="179"/>
<source>Shininess to light</source>
<translation>Concentration de la lumière réfléchie</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="180"/>
<source>Transparency</source>
<translation>Transparence</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="181"/>
<source>Reflection</source>
<translation>Reflets</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="182"/>
<source>Transparency distance</source>
<translation>Distance maximale de transparence</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="183"/>
<source>Depth color</source>
<translation>Couleur en profondeur</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="184"/>
<source>Light-through distance</source>
<translation>Distance de filtrage de la lumière</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="185"/>
<source>Waves noise</source>
<translation>Bruit des vagues</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="186"/>
<source>Waves height</source>
<translation>Hauteur des vagues</translation>
</message>
<message>
<location filename="../gui_qt/formwater.cpp" line="187"/>
<source>Waves scaling</source>
<translation>Echelle des vagues</translation>
</message>
</context>
<context>
<name>InputBoolean</name>
<message>
<location filename="../gui_qt/inputboolean.cpp" line="22"/>
<source>Yes</source>
<translation>Oui</translation>
</message>
<message>
<location filename="../gui_qt/inputboolean.cpp" line="26"/>
<source>No</source>
<translation>Non</translation>
</message>
</context>
<context>
<name>InputCamera</name>
<message>
<location filename="../gui_qt/inputcamera.cpp" line="16"/>
<source>Edit</source>
<translation>Editer</translation>
</message>
</context>
<context>
<name>InputColor</name>
<message>
<location filename="../gui_qt/inputcolor.cpp" line="30"/>
<source>Edit</source>
<translation>Editer</translation>
</message>
</context>
<context>
<name>InputColorGradation</name>
<message>
<location filename="../gui_qt/inputcolorgradation.cpp" line="42"/>
<source>Edit</source>
<translation>Editer</translation>
</message>
</context>
<context>
<name>InputNoise</name>
<message>
<location filename="../gui_qt/inputnoise.cpp" line="50"/>
<source>Edit</source>
<translation>Editer</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="74"/>
<source>Terrain</source>
<translation>Terrain</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="78"/>
<source>Textures</source>
<translation>Textures</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="82"/>
<source>Water</source>
<translation>Eau</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="86"/>
<source>Atmosphere</source>
<translation>Atmosphère</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="90"/>
<source>Sky</source>
<translation>Ciel</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="94"/>
<source>Clouds</source>
<translation>Nuages</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="98"/>
<source>Lighting</source>
<translation>Eclairage</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="102"/>
<source>Render</source>
<translation>Rendu</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="105"/>
<source>&amp;Scene</source>
<translation>&amp;Scène</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="106"/>
<source>&amp;New</source>
<translation>&amp;Nouvelle</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="106"/>
<source>Crtl+N</source>
<translation>Ctrl+N</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="108"/>
<source>&amp;Save</source>
<translation>&amp;Sauvegarder</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="108"/>
<source>Crtl+S</source>
<translation>Ctrl+S</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="109"/>
<source>&amp;Open</source>
<translation>&amp;Ouvrir</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="109"/>
<source>Crtl+O</source>
<translation>Ctrl+O</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="111"/>
<source>&amp;Quit</source>
<translation>&amp;Quitter</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="111"/>
<source>Crtl+Q</source>
<translation>Ctrl+Q</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="113"/>
<source>&amp;Actions</source>
<translation>&amp;Actions</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="114"/>
<source>&amp;Explore in 3D</source>
<translation>&amp;Explorer en 3D</translation>
</message>
<message>
<location filename="../gui_qt/mainwindow.cpp" line="115"/>
<source>&amp;Quick render</source>
<translation>Rendu r&amp;apide</translation>
</message>
</context>
</TS>