Index: i18n/ru.ts
===================================================================
--- i18n/ru.ts	(revision 899d1b8e15f517c4ab2c4edbff5fa53650a2e936)
+++ i18n/ru.ts	(revision 899d1b8e15f517c4ab2c4edbff5fa53650a2e936)
@@ -0,0 +1,595 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0" language="ru_RU" sourcelanguage="en">
+<defaultcodec>UTF-8</defaultcodec>
+<context>
+    <name></name>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="244"/>
+        <location filename="../src/mainwindow.cpp" line="253"/>
+        <source>Language change</source>
+        <translation>Смена языка</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="244"/>
+        <source>Language will be autodetected on next application start.</source>
+        <translation>Язык будет автоматически определен при следующем запуске приложения.</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="253"/>
+        <source>You have language autodetection turned on.
+It needs to be off.
+Do you wish to turn it off?</source>
+        <translation>Включено автоматическое определение языка.
+Его необходимо выключить.
+Отключить его?</translation>
+    </message>
+</context>
+<context>
+    <name>CTSPModel</name>
+    <message>
+        <location filename="../src/tspmodel.cpp" line="52"/>
+        <source>City %1</source>
+        <translation>Город %1</translation>
+    </message>
+    <message>
+        <location filename="../src/tspmodel.cpp" line="54"/>
+        <source>%1</source>
+        <translation></translation>
+    </message>
+</context>
+<context>
+    <name>MainWindow</name>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="122"/>
+        <source>Language change</source>
+        <translation>Смена языка</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="122"/>
+        <source>Unable to load translation language.</source>
+        <translation>Невозможно загрузить перевод.</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="189"/>
+        <source>Data error</source>
+        <translation>Ошибка в данных</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="189"/>
+        <source>Error in cell [Row %1; Column %2]: Invalid data format.</source>
+        <translation>Ошибка в ячейке [Строка %1; Колонка %2]: Неверный формат данных.</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="198"/>
+        <source>Solution error</source>
+        <translation>Ошибка при решении</translation>
+    </message>
+    <message>
+        <location filename="../src/mainwindow.cpp" line="198"/>
+        <source>There was an error while solving the task.</source>
+        <translation>Во время решения задачи возникла ошибка.</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="17"/>
+        <location filename="../ui/mainwindow.ui" line="14"/>
+        <source>Travelling salesman problem</source>
+        <translation>Задача коммивояжера</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="56"/>
+        <location filename="../ui/mainwindow.ui" line="35"/>
+        <source>Task</source>
+        <translation>Задача</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="77"/>
+        <location filename="../ui/mainwindow.ui" line="56"/>
+        <source>&amp;Variant:</source>
+        <translation>&amp;Вариант:</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="90"/>
+        <location filename="../ui/mainwindow.ui" line="69"/>
+        <source>Number of variant</source>
+        <translation>Номер варианта</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="100"/>
+        <location filename="../ui/mainwindow.ui" line="79"/>
+        <source>&amp;Cities:</source>
+        <translation>&amp;Городов:</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="113"/>
+        <location filename="../ui/mainwindow.ui" line="92"/>
+        <source>Number of cities</source>
+        <translation>Количество городов, которые обходит коммивояжер</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="144"/>
+        <location filename="../ui/mainwindow.ui" line="123"/>
+        <source>Cost of travel from city to city</source>
+        <translation>Стоимости переходов из города в город</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="172"/>
+        <location filename="../ui/mainwindow.ui" line="151"/>
+        <source>Fill table with random numbers</source>
+        <translation>Заполнить таблицу случайными значениями</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="175"/>
+        <location filename="../ui/mainwindow.ui" line="154"/>
+        <source>Random</source>
+        <translation>Случайно</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="185"/>
+        <location filename="../ui/mainwindow.ui" line="164"/>
+        <source>Solve current task</source>
+        <translation>Решить текущую задачу</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="188"/>
+        <location filename="../ui/mainwindow.ui" line="167"/>
+        <source>Solve</source>
+        <translation>Решить</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="202"/>
+        <location filename="../ui/mainwindow.ui" line="181"/>
+        <source>Solution</source>
+        <translation>Решение</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="219"/>
+        <location filename="../ui/mainwindow.ui" line="198"/>
+        <source>Solution steps</source>
+        <translation>Ход решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="229"/>
+        <location filename="../ui/mainwindow.ui" line="208"/>
+        <source>Solution graph</source>
+        <translation>Граф решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="255"/>
+        <location filename="../ui/mainwindow.ui" line="236"/>
+        <source>&amp;File</source>
+        <translation>&amp;Файл</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="262"/>
+        <location filename="../ui/mainwindow.ui" line="240"/>
+        <source>&amp;Save</source>
+        <translation>Со&amp;хранить</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="282"/>
+        <location filename="../ui/mainwindow.ui" line="263"/>
+        <source>&amp;Settings</source>
+        <translation>&amp;Настройки</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="292"/>
+        <location filename="../ui/mainwindow.ui" line="273"/>
+        <source>&amp;Language</source>
+        <translation>Язык / &amp;Language</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="302"/>
+        <location filename="../ui/mainwindow.ui" line="283"/>
+        <source>&amp;Help</source>
+        <translation>&amp;Помощь</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="342"/>
+        <location filename="../ui/mainwindow.ui" line="355"/>
+        <source>Solution st&amp;eps</source>
+        <translation>&amp;Ход решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="345"/>
+        <location filename="../ui/mainwindow.ui" line="358"/>
+        <source>Save solution steps</source>
+        <translation>Сохранить ход решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="348"/>
+        <location filename="../ui/mainwindow.ui" line="361"/>
+        <source>Save solution steps only</source>
+        <translation>Сохранить только ход решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="356"/>
+        <location filename="../ui/mainwindow.ui" line="369"/>
+        <source>Solution &amp;graph</source>
+        <translation>&amp;Граф решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="359"/>
+        <location filename="../ui/mainwindow.ui" line="372"/>
+        <source>Save solution graph</source>
+        <translation>Сохранить граф решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="362"/>
+        <location filename="../ui/mainwindow.ui" line="375"/>
+        <source>Save solution graph only</source>
+        <translation>Сохранить только граф решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="370"/>
+        <location filename="../ui/mainwindow.ui" line="383"/>
+        <source>&amp;Solution</source>
+        <translation>&amp;Решение</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="373"/>
+        <location filename="../ui/mainwindow.ui" line="386"/>
+        <source>Save solution</source>
+        <translation>Сохранить решение</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="376"/>
+        <location filename="../ui/mainwindow.ui" line="389"/>
+        <source>Save solution steps and graph</source>
+        <translation>Сохранить ход и граф решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="385"/>
+        <location filename="../ui/mainwindow.ui" line="398"/>
+        <source>&amp;New</source>
+        <translation>&amp;Создать</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="388"/>
+        <location filename="../ui/mainwindow.ui" line="401"/>
+        <source>New</source>
+        <translation>Создать</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="391"/>
+        <location filename="../ui/mainwindow.ui" line="404"/>
+        <source>New task</source>
+        <translation>Создать задачу</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="394"/>
+        <location filename="../ui/mainwindow.ui" line="407"/>
+        <source>Create new task</source>
+        <translation>Создать новую задачу</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="397"/>
+        <location filename="../ui/mainwindow.ui" line="410"/>
+        <source>Ctrl+N</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="409"/>
+        <location filename="../ui/mainwindow.ui" line="422"/>
+        <source>&amp;Open...</source>
+        <translation>&amp;Открыть...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="412"/>
+        <location filename="../ui/mainwindow.ui" line="425"/>
+        <source>Open...</source>
+        <translation>Открыть...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="415"/>
+        <location filename="../ui/mainwindow.ui" line="428"/>
+        <source>Open task</source>
+        <translation>Открыть задачу</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="418"/>
+        <location filename="../ui/mainwindow.ui" line="431"/>
+        <source>Open saved task</source>
+        <translation>Открыть сохраненное условие задачи</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="421"/>
+        <location filename="../ui/mainwindow.ui" line="434"/>
+        <source>Ctrl+O</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="430"/>
+        <location filename="../ui/mainwindow.ui" line="443"/>
+        <source>&amp;Preferences...</source>
+        <translation>&amp;Параметры...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="433"/>
+        <location filename="../ui/mainwindow.ui" line="446"/>
+        <source>Preferences...</source>
+        <translation>Параметры...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="436"/>
+        <location filename="../ui/mainwindow.ui" line="449"/>
+        <source>Application preferences</source>
+        <translation>Настройка параметров программмы</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="448"/>
+        <location filename="../ui/mainwindow.ui" line="461"/>
+        <source>&amp;Contents</source>
+        <translation>&amp;Содежание</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="451"/>
+        <location filename="../ui/mainwindow.ui" line="464"/>
+        <source>Open help contents</source>
+        <translation>Вызвать справку программы</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="463"/>
+        <location filename="../ui/mainwindow.ui" line="476"/>
+        <source>&amp;Context help</source>
+        <translation>&amp;Контекстная справка</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="466"/>
+        <location filename="../ui/mainwindow.ui" line="479"/>
+        <source>Open context help</source>
+        <translation>Вызвать контекстную справку</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="475"/>
+        <location filename="../ui/mainwindow.ui" line="488"/>
+        <source>&amp;About...</source>
+        <translation>&amp;Про...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="478"/>
+        <location filename="../ui/mainwindow.ui" line="491"/>
+        <source>About...</source>
+        <translation>Про...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="481"/>
+        <location filename="../ui/mainwindow.ui" line="494"/>
+        <source>About application</source>
+        <translation>О программе</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="490"/>
+        <location filename="../ui/mainwindow.ui" line="503"/>
+        <source>E&amp;xit</source>
+        <translation>В&amp;ыход</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="493"/>
+        <location filename="../ui/mainwindow.ui" line="506"/>
+        <source>Exit application</source>
+        <translation>Выйти из приложения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="505"/>
+        <location filename="../ui/mainwindow.ui" line="518"/>
+        <source>&amp;Task...</source>
+        <translation>&amp;Задачу...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="508"/>
+        <location filename="../ui/mainwindow.ui" line="521"/>
+        <source>Task...</source>
+        <translation>Задачу...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="511"/>
+        <location filename="../ui/mainwindow.ui" line="524"/>
+        <source>Save task</source>
+        <translation>Сохранить задачу</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="514"/>
+        <location filename="../ui/mainwindow.ui" line="527"/>
+        <source>Save task to file</source>
+        <translation>Сохранить условие задачи в файл</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="517"/>
+        <location filename="../ui/mainwindow.ui" line="530"/>
+        <source>Ctrl+S</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="528"/>
+        <location filename="../ui/mainwindow.ui" line="541"/>
+        <source>&amp;Autodetect</source>
+        <translation>&amp;Автоопределение</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="286"/>
+        <location filename="../ui/mainwindow.ui" line="267"/>
+        <source>Select language</source>
+        <translation>Выбор языка</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="289"/>
+        <location filename="../ui/mainwindow.ui" line="270"/>
+        <source>Select application language</source>
+        <translation>Выбрать язык приложения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="326"/>
+        <source>P&amp;rint setup...</source>
+        <translation>&amp;Настройка печати...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="329"/>
+        <source>Setup printing</source>
+        <translation>Настроить печать</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="341"/>
+        <source>&amp;Print...</source>
+        <translation>&amp;Печать...</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="344"/>
+        <source>Print solution results</source>
+        <translation>Распечатать результаты решения</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ui" line="347"/>
+        <source>Ctrl+P</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="531"/>
+        <location filename="../ui/mainwindow.ui" line="544"/>
+        <source>Detect language automatically</source>
+        <translation>Определять язык автоматически</translation>
+    </message>
+    <message>
+        <location filename="../ui/mainwindow.ce.ui" line="534"/>
+        <location filename="../ui/mainwindow.ui" line="547"/>
+        <source>Detect language automatically based on regional settings</source>
+        <translation>Определять язык автоматически, основываясь на региональных настройках</translation>
+    </message>
+</context>
+<context>
+    <name>SettingsDialog</name>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="14"/>
+        <location filename="../ui/settingsdialog.ui" line="14"/>
+        <source>Preferences</source>
+        <translation>Параметры</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="100"/>
+        <location filename="../ui/settingsdialog.ui" line="151"/>
+        <source>Random values:</source>
+        <translation>Случайные значения:</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="114"/>
+        <location filename="../ui/settingsdialog.ui" line="165"/>
+        <source>&amp;Minimal:</source>
+        <translation>&amp;Минимум:</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="127"/>
+        <location filename="../ui/settingsdialog.ui" line="178"/>
+        <source>Minimum for random number generation</source>
+        <translation>Нижняя граница для генерации случайных значений</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="150"/>
+        <location filename="../ui/settingsdialog.ui" line="201"/>
+        <source>Ma&amp;ximal:</source>
+        <translation>М&amp;аксимум:</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="163"/>
+        <location filename="../ui/settingsdialog.ui" line="214"/>
+        <source>Maximum for random number generation</source>
+        <translation>Верхняя граница для генерации случайных значений</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="202"/>
+        <location filename="../ui/settingsdialog.ui" line="288"/>
+        <source>Font color for printing</source>
+        <translation>Цвет шрифта, используемого при печати</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="205"/>
+        <location filename="../ui/settingsdialog.ui" line="291"/>
+        <source>&amp;Color...</source>
+        <translation>&amp;Цвет...</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="219"/>
+        <location filename="../ui/settingsdialog.ui" line="305"/>
+        <source>Font face for printing</source>
+        <translation>Вид шрифта, используемого при печати</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="222"/>
+        <location filename="../ui/settingsdialog.ui" line="308"/>
+        <source>&amp;Font...</source>
+        <translation>&amp;Шрифт...</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="287"/>
+        <location filename="../ui/settingsdialog.ce.ui" line="293"/>
+        <location filename="../ui/settingsdialog.ui" line="377"/>
+        <location filename="../ui/settingsdialog.ui" line="383"/>
+        <source>Help</source>
+        <translation>Помощь</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="290"/>
+        <location filename="../ui/settingsdialog.ui" line="380"/>
+        <source>Get preferences help</source>
+        <translation>Получить помощь по настройкам</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="323"/>
+        <location filename="../ui/settingsdialog.ui" line="425"/>
+        <source>Save new preferences</source>
+        <translation>Сохранить новые параметры</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="326"/>
+        <location filename="../ui/settingsdialog.ui" line="428"/>
+        <source>&amp;OK</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="343"/>
+        <location filename="../ui/settingsdialog.ui" line="445"/>
+        <source>Close without saving preferences</source>
+        <translation>Закрыть окно без сохранения параметров</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ce.ui" line="346"/>
+        <location filename="../ui/settingsdialog.ui" line="448"/>
+        <source>&amp;Cancel</source>
+        <translation>&amp;Отмена</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="41"/>
+        <source>background-color: #0080C0</source>
+        <translation></translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="235"/>
+        <source>Print settings:</source>
+        <translation>Настройки печати:</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="249"/>
+        <source>&amp;Left margin:</source>
+        <translation>&amp;Левый отступ:</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="262"/>
+        <source>Left border margin for page</source>
+        <translation>Левый отступ от края страницы во время печати</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="329"/>
+        <source>Restore main window state and position on application restart</source>
+        <translation>Восстанавливать состояние и размеры главного окна после перезапуска приложения</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="332"/>
+        <source>Save main window state and position</source>
+        <translation>Сохранять состояние и положение главного окна</translation>
+    </message>
+    <message>
+        <location filename="../ui/settingsdialog.ui" line="403"/>
+        <source>Hover mouse pointer over dialog elements to get additional help</source>
+        <translation>Наведите указатель мыши на элемент диалога, чтоб получить подсказку</translation>
+    </message>
+</context>
+</TS>
