Index: trunk/src/defines.h
===================================================================
--- trunk/src/defines.h	(revision 26)
+++ trunk/src/defines.h	(revision 27)
@@ -33,3 +33,15 @@
 #define DEF_FONT_COLOR Qt::black
 
+// Decided, that static array with 100 of cities maximum hard limit
+// will be enough for most cases, but the code will be simplier than
+// when using dynamic lists. If you need more, just change this value
+// and recompile the program ;-)
+#define MAX_CITIES 100
+// This value means infinity :-)
+#ifndef INFINITY
+	#define INFINITY 1.7E+308
+#endif
+// This is string, which represents infinite value in table
+#define INFSTR "-----"
+
 #endif // DEFINES_H
Index: trunk/src/main.cpp
===================================================================
--- trunk/src/main.cpp	(revision 26)
+++ trunk/src/main.cpp	(revision 27)
@@ -33,17 +33,13 @@
 	app.setOrganizationDomain("www.leppsville.com");
 	app.setApplicationName("TSPSG");
-/*/ i18n
-// TODO: Make English as program's "native" language
+// i18n
+// TODO: Language selection in application.
+// TODO: Saving and restoring selected language.
 QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
 QString locale = QLocale::languageToString(QLocale::system().language());
 QTranslator translator;
-	// Getting current locale languge name and trying to load it
-	if (translator.load(locale,"i18n"))
+	// Getting current locale language name and trying to load it, if it's not English
+	if (locale.compare("English") && translator.load(locale,"i18n"))
 		app.installTranslator(&translator);
-	// If language loading failed and locale language is not
-	// application's "native" we're trying to load English
-	else if (locale.compare("Russian") && translator.load("English","i18n"))
-		app.installTranslator(&translator);
-//*/
 MainWindow mainwindow;
 	mainwindow.show();
Index: trunk/src/mainwindow.cpp
===================================================================
--- trunk/src/mainwindow.cpp	(revision 26)
+++ trunk/src/mainwindow.cpp	(revision 27)
@@ -26,5 +26,4 @@
 	#include <QPrintDialog>
 #endif // Q_OS_WINCE
-#include "defines.h"
 #include "mainwindow.h"
 
@@ -124,5 +123,5 @@
 			row[c] = tspmodel->index(r,c).data(Qt::UserRole).toDouble(&ok);
 			if (!ok) {
-				QMessageBox(QMessageBox::Critical,trUtf8("Ошибка в данных"),QString(trUtf8("Ошибка в ячейке [Строка %1; Колонка %2]: Неверный формат данных.")).arg(r + 1).arg(c + 1),QMessageBox::Ok,this).exec();
+				QMessageBox(QMessageBox::Critical,trUtf8("Data error"),QString(trUtf8("Error in cell [Row %1; Column %2]: Invalid data format.")).arg(r + 1).arg(c + 1),QMessageBox::Ok,this).exec();
 				return;
 			}
@@ -133,5 +132,5 @@
 sStep *root = solver.solve(spinCities->value(),matrix);
 	if (!root)
-		QMessageBox(QMessageBox::Critical,trUtf8("Ошибка при решении"),trUtf8("Во время решения задачи возникла ошибка"),QMessageBox::Ok,this).exec();
+		QMessageBox(QMessageBox::Critical,trUtf8("Solution error"),trUtf8("There was an error while solving the task."),QMessageBox::Ok,this).exec();
 	// tabWidget->setCurrentIndex(1);
 }
@@ -147,5 +146,5 @@
 \n\
 TSPSG is licensed under the terms of the GNU General Public License. You should have received a copy of the GNU General Public License along with TSPSG.").arg(QDate().toString("%Y"),QT_VERSION_STR,qVersion());
-	QMessageBox(QMessageBox::Information,"About",about).exec();
+	QMessageBox(QMessageBox::Information,"About",about,QMessageBox::Ok,this).exec();
 }
 
Index: trunk/src/tspmodel.cpp
===================================================================
--- trunk/src/tspmodel.cpp	(revision 26)
+++ trunk/src/tspmodel.cpp	(revision 27)
@@ -23,5 +23,4 @@
 
 #include <QtGui>
-#include "defines.h"
 #include "tspmodel.h"
 
@@ -51,5 +50,5 @@
 	if (role == Qt::DisplayRole)
 		if (orientation == Qt::Vertical)
-			return trUtf8("Город %1").arg(section + 1);
+			return trUtf8("City %1").arg(section + 1);
 		else
 			return trUtf8("%1").arg(section + 1);
Index: trunk/src/tspmodel.h
===================================================================
--- trunk/src/tspmodel.h	(revision 26)
+++ trunk/src/tspmodel.h	(revision 27)
@@ -25,18 +25,7 @@
 #define TSPMODEL_H
 
-// Decided, that static array with 100 of cities maximum hard limit
-// will be enough for most cases, but the code will be simplier than
-// when using dynamic lists. If you need more, just change this value
-// and recompile the program ;-)
-#define MAX_CITIES 100
-// This value means infinity :-)
-#ifndef INFINITY
-	#define INFINITY 1.7E+308
-#endif
-// This is string, which represents infinite value in table
-#define INFSTR "---"
-
 #include <QAbstractTableModel>
 #include <QSettings>
+#include "defines.h"
 
 class CTSPModel: public QAbstractTableModel
