diff --git a/src/dlangide/ui/frame.d b/src/dlangide/ui/frame.d
index 7762c5a..1b2e7bd 100644
--- a/src/dlangide/ui/frame.d
+++ b/src/dlangide/ui/frame.d
@@ -220,17 +220,17 @@ class IDEFrame : AppFrame, ProgramExecutionStatusListener, BreakpointListChangeL
         import std.file;
         stopExecution();
         if (!project) {
-            window.showMessageBox(UIString.fromRaw("Cannot debug project"d), UIString.fromRaw("Startup project is not specified"d));
+            window.showMessageBox(UIString.fromId("ERROR_CANNOT_DEBUG_PROJECT"c), UIString.fromId("ERROR_STARTUP_PROJECT_ABSENT"c));
             return;
         }
         string executableFileName = project.executableFileName;
         if (!executableFileName || !exists(executableFileName) || !isFile(executableFileName)) {
-            window.showMessageBox(UIString.fromRaw("Cannot debug project"d), UIString.fromRaw("Cannot find executable file"d));
+            window.showMessageBox(UIString.fromId("ERROR_CANNOT_DEBUG_PROJECT"c), UIString.fromId("ERROR_CANNOT_FIND_EXEC"c));
             return;
         }
         string debuggerExecutable = _settings.debuggerExecutable;
         if (debuggerExecutable.empty) {
-            window.showMessageBox(UIString.fromRaw("Cannot debug project"d), UIString.fromRaw("No debugger executable specified in settings"d));
+            window.showMessageBox(UIString.fromId("ERROR_CANNOT_DEBUG_PROJECT"c), UIString.fromId("ERROR_NO_DEBUGGER"c));
             return;
         }
 
@@ -250,7 +250,7 @@ class IDEFrame : AppFrame, ProgramExecutionStatusListener, BreakpointListChangeL
         if (!project)
             project = currentWorkspace.startupProject;
         if (!project) {
-            window.showMessageBox(UIString.fromRaw("Cannot run project"d), UIString.fromRaw("Startup project is not specified"d));
+            window.showMessageBox(UIString.fromId("ERROR_CANNOT_RUN_PROJECT"c), UIString.fromId("ERROR_CANNOT_RUN_PROJECT"c));
             return;
         }
         buildProject(BuildOperation.Build, project, delegate(int result) {
@@ -267,12 +267,12 @@ class IDEFrame : AppFrame, ProgramExecutionStatusListener, BreakpointListChangeL
         import std.file;
         stopExecution();
         if (!project) {
-            window.showMessageBox(UIString.fromRaw("Cannot run project"d), UIString.fromRaw("Startup project is not specified"d));
+            window.showMessageBox(UIString.fromId("ERROR_CANNOT_RUN_PROJECT"c), UIString.fromId("ERROR_STARTUP_PROJECT_ABSENT"c));
             return;
         }
         string executableFileName = project.executableFileName;
         if (!executableFileName || !exists(executableFileName) || !isFile(executableFileName)) {
-            window.showMessageBox(UIString.fromRaw("Cannot run project"d), UIString.fromRaw("Cannot find executable file"d));
+            window.showMessageBox(UIString.fromId("ERROR_CANNOT_RUN_PROJECT"c), UIString.fromId("ERROR_CANNOT_FIND_EXEC"c));
             return;
         }
         auto program = new ProgramExecutionNoDebug;
@@ -582,7 +582,7 @@ class IDEFrame : AppFrame, ProgramExecutionStatusListener, BreakpointListChangeL
         }
         string tabId = ed.id;
         // tab content is modified - ask for confirmation
-        auto header = UIString.fromRaw("HEADER_CLOSE_FILE"c);
+        auto header = UIString.fromId("HEADER_CLOSE_FILE"c);
         window.showMessageBox(header ~ " " ~ toUTF32(baseName(tabId)), UIString.fromId("MSG_FILE_CONTENT_CHANGED"c), 
                               [ACTION_SAVE, ACTION_SAVE_ALL, ACTION_DISCARD_CHANGES, ACTION_DISCARD_ALL, ACTION_CANCEL], 
                               0, delegate(const Action result) {
@@ -1224,8 +1224,8 @@ class IDEFrame : AppFrame, ProgramExecutionStatusListener, BreakpointListChangeL
         Project project = srcfile.project;
         if (!project)
             return;
-        window.showMessageBox(UIString.fromRaw("Remove file"d), 
-                UIString.fromRaw("Do you want to remove file "d ~ srcfile.name ~ "?"), 
+        window.showMessageBox(UIString.fromId("HEADER_REMOVE_FILE"c), 
+                UIString.fromId("QUESTION_REMOVE_FILE"c) ~ " " ~ srcfile.name ~ "?", 
                 [ACTION_YES, ACTION_NO], 
                 1, delegate(const Action result) {
                     if (result == StandardAction.Yes) {
diff --git a/src/dlangide/ui/newfile.d b/src/dlangide/ui/newfile.d
index c43eb8a..40bb2a4 100644
--- a/src/dlangide/ui/newfile.d
+++ b/src/dlangide/ui/newfile.d
@@ -39,7 +39,7 @@ class NewFileDlg : Dialog {
     ProjectFolder _folder;
     string[] _sourcePaths;
     this(IDEFrame parent, Project currentProject, ProjectFolder folder) {
-        super(UIString.fromRaw("New source file"d), parent.window, 
+        super(UIString.fromId("OPTION_NEW_SOURCE_FILE"c), parent.window, 
               DialogFlag.Modal | DialogFlag.Resizable | DialogFlag.Popup, 500, 400);
         _ide = parent;
         _icon = "dlangui-logo1";
@@ -68,7 +68,7 @@ class NewFileDlg : Dialog {
                             VerticalLayout {
                                 margins: 5
                                 layoutWidth: 50%; layoutHeight: fill
-                                TextWidget { text: "Project template" }
+                                TextWidget { text: OPTION_PROJECT_TEMPLATE }
                                 StringListWidget { 
                                     id: projectTemplateList 
                                     layoutWidth: wrap; layoutHeight: fill
@@ -77,7 +77,7 @@ class NewFileDlg : Dialog {
                             VerticalLayout {
                                 margins: 5
                                 layoutWidth: 50%; layoutHeight: fill
-                                TextWidget { text: "Template description" }
+                                TextWidget { text: OPTION_TEMPLATE_DESCR }
                                 EditBox { 
                                     id: templateDescription; readOnly: true 
                                     layoutWidth: fill; layoutHeight: fill
@@ -88,13 +88,13 @@ class NewFileDlg : Dialog {
                             margins: 5
                             colCount: 2
                             layoutWidth: fill; layoutHeight: wrap
-                            TextWidget { text: "Name" }
+                            TextWidget { text: NAME }
                             EditLine { id: edName; text: "newfile"; layoutWidth: fill }
-                            TextWidget { text: "Location" }
+                            TextWidget { text: LOCATION }
                             DirEditLine { id: edLocation; layoutWidth: fill }
-                            TextWidget { text: "Module name" }
+                            TextWidget { text: OPTION_MODULE_NAME }
                             EditLine { id: edModuleName; text: ""; layoutWidth: fill; readOnly: true }
-                            TextWidget { text: "File path" }
+                            TextWidget { text: OPTION_FILE_PATH }
                             EditLine { id: edFilePath; text: ""; layoutWidth: fill; readOnly: true }
                         }
                         TextWidget { id: statusText; text: ""; layoutWidth: fill; textColor: #FF0000 }
@@ -119,7 +119,7 @@ class NewFileDlg : Dialog {
         _edLocation.filetypeIcons["dub.json"] = "project-d";
         _edLocation.filetypeIcons["package.json"] = "project-d";
         _edLocation.filetypeIcons[".dlangidews"] = "project-development";
-        _edLocation.addFilter(FileFilterEntry(UIString.fromRaw("DlangIDE files"d), "*.dlangidews;*.d;*.dd;*.di;*.ddoc;*.dh;*.json;*.xml;*.ini;*.dt"));
+        _edLocation.addFilter(FileFilterEntry(UIString.fromId("IDE_FILES"c), "*.dlangidews;*.d;*.dd;*.di;*.ddoc;*.dh;*.json;*.xml;*.ini;*.dt"));
         _edLocation.caption = "Select directory"d;
 
         _edFileName.editorAction.connect(&onEditorAction);
@@ -304,11 +304,11 @@ class NewFileDlg : Dialog {
         Action newaction = action.clone();
         if (action.id == IDEActions.FileNew) {
             if (!validate()) {
-                window.showMessageBox(UIString.fromRaw("Error"d), UIString.fromRaw("Invalid parameters"));
+                window.showMessageBox(UIString.fromId("ERROR"c), UIString.fromId("ERROR_INVALID_PARAMETERS"c));
                 return;
             }
             if (!createItem()) {
-                window.showMessageBox(UIString.fromRaw("Error"d), UIString.fromRaw("Failed to create project item"));
+                window.showMessageBox(UIString.fromId("ERROR"c), UIString.fromId("ERROR_INVALID_PARAMETERS"c));
                 return;
             }
             newaction.objectParam = _result;
diff --git a/src/dlangide/ui/newproject.d b/src/dlangide/ui/newproject.d
index 8c1f181..8e08426 100644
--- a/src/dlangide/ui/newproject.d
+++ b/src/dlangide/ui/newproject.d
@@ -38,7 +38,7 @@ class NewProjectDlg : Dialog {
     IDEFrame _ide;
 
     this(IDEFrame parent, bool newWorkspace, Workspace currentWorkspace, string dir) {
-        super(newWorkspace ? UIString.fromRaw("New Workspace"d) : UIString.fromRaw("New Project"d), parent.window, 
+        super(newWorkspace ? UIString.fromId("OPTION_NEW_WORKSPACE"c) : UIString.fromId("OPTION_NEW_PROJECT"c), parent.window, 
               DialogFlag.Modal | DialogFlag.Resizable | DialogFlag.Popup, 500, 400);
         _ide = parent;
         _icon = "dlangui-logo1";
@@ -63,7 +63,7 @@ class NewProjectDlg : Dialog {
                             VerticalLayout {
                                 margins: 5
                                 layoutWidth: 25%; layoutHeight: fill
-                                TextWidget { text: "Project template" }
+                                TextWidget { text: OPTION_PROJECT_TEMPLATE }
                                 StringListWidget { 
                                     id: projectTemplateList 
                                     layoutWidth: wrap; layoutHeight: fill
@@ -72,7 +72,7 @@ class NewProjectDlg : Dialog {
                             VerticalLayout {
                                 margins: 5
                                 layoutWidth: 40%; layoutHeight: fill
-                                TextWidget { text: "Template description" }
+                                TextWidget { text: OPTION_TEMPLATE_DESCR }
                                 EditBox { 
                                     id: templateDescription; readOnly: true 
                                     layoutWidth: fill; layoutHeight: fill
@@ -81,7 +81,7 @@ class NewProjectDlg : Dialog {
                             VerticalLayout {
                                 layoutWidth: 35%; layoutHeight: fill
                                 margins: 5
-                                TextWidget { text: "Directory layout" }
+                                TextWidget { text: OPTION_DIRECTORY_LAYOUT }
                                 EditBox { 
                                     id: directoryLayout; readOnly: true
                                     layoutWidth: fill; layoutHeight: fill
@@ -93,16 +93,16 @@ class NewProjectDlg : Dialog {
                             colCount: 2
                             layoutWidth: fill; layoutHeight: wrap
                             TextWidget { text: "" }
-                            CheckBox { id: cbCreateWorkspace; text: "Create new solution"; checked: true }
-                            TextWidget { text: "Workspace name" }
+                            CheckBox { id: cbCreateWorkspace; text: OPTION_CREATE_NEW_SOLUTION; checked: true }
+                            TextWidget { text: OPTION_WORKSPACE_NAME }
                             EditLine { id: edWorkspaceName; text: "newworkspace"; layoutWidth: fill }
                             TextWidget { text: "" }
-                            CheckBox { id: cbCreateWorkspaceSubdir; text: "Create subdirectory for workspace"; checked: true }
-                            TextWidget { text: "Project name" }
+                            CheckBox { id: cbCreateWorkspaceSubdir; text: OPTION_CREATE_SUBDIRECTORY_FOR_WORKSPACE; checked: true }
+                            TextWidget { text: OPTION_PROJECT_NAME }
                             EditLine { id: edProjectName; text: "newproject"; layoutWidth: fill }
                             TextWidget { text: "" }
-                            CheckBox { id: cbCreateSubdir; text: "Create subdirectory for project"; checked: true }
-                            TextWidget { text: "Location" }
+                            CheckBox { id: cbCreateSubdir; text: OPTION_CREATE_SUBDIRECTORY_FOR_PROJECT; checked: true }
+                            TextWidget { text: LOCATION }
                             DirEditLine { id: edLocation; layoutWidth: fill }
                         }
                         TextWidget { id: statusText; text: ""; layoutWidth: fill }
@@ -130,8 +130,8 @@ class NewProjectDlg : Dialog {
         _edLocation.filetypeIcons["dub.json"] = "project-d";
         _edLocation.filetypeIcons["package.json"] = "project-d";
         _edLocation.filetypeIcons[".dlangidews"] = "project-development";
-        _edLocation.addFilter(FileFilterEntry(UIString.fromRaw("DlangIDE files"d), "*.dlangidews;*.d;*.dd;*.di;*.ddoc;*.dh;*.json;*.xml;*.ini"));
-        _edLocation.caption = "Select directory"d;
+        _edLocation.addFilter(FileFilterEntry(UIString.fromId("IDE_FILES"c), "*.dlangidews;*.d;*.dd;*.di;*.ddoc;*.dh;*.json;*.xml;*.ini"));
+        _edLocation.caption = UIString.fromId("MSG_SELECT_DIR"c);
 
         if (_currentWorkspace) {
             _workspaceName = toUTF8(_currentWorkspace.name);
@@ -273,14 +273,14 @@ class NewProjectDlg : Dialog {
         if (action.id == IDEActions.FileNewWorkspace || action.id == IDEActions.FileNewProject) {
             if (!exists(_location)) {
                 // show message box with OK and CANCEL buttons, cancel by default, and handle its result
-                window.showMessageBox(UIString.fromRaw("Cannot create project"d), UIString.fromRaw("The target location does not exist.\nDo you want to create the target directory?"), [ACTION_YES, ACTION_CANCEL], 1, delegate(const Action a) {
+                window.showMessageBox(UIString.fromId("ERROR_CANNOT_CREATE_PROJECT"c), UIString.fromId("QUESTION_CREATE_DIR"c), [ACTION_YES, ACTION_CANCEL], 1, delegate(const Action a) {
                     if (a.id == StandardAction.Yes) {
                         try {
                             mkdirRecurse(_location);
                             close(action);
                         } catch (Exception e) {
                             setError("Cannot create target location");
-                            window.showMessageBox(UIString.fromRaw("Cannot create project"d), UIString.fromRaw(getError()));
+                            window.showMessageBox(UIString.fromId("ERROR_CANNOT_CREATE_PROJECT"c), UIString.fromRaw(getError()));
                         }
                     }
                     return true;
@@ -288,11 +288,11 @@ class NewProjectDlg : Dialog {
                 return;
             }
             if (!validate()) {
-                window.showMessageBox(UIString.fromRaw("Cannot create project"d), UIString.fromRaw(getError()));
+                window.showMessageBox(UIString.fromId("ERROR_CANNOT_CREATE_PROJECT"c), UIString.fromRaw(getError()));
                 return;
             }
             if (!createProject()) {
-                window.showMessageBox(UIString.fromRaw("Cannot create project"d), UIString.fromRaw("Failed to create project"));
+                window.showMessageBox(UIString.fromId("ERROR_CANNOT_CREATE_PROJECT"c), UIString.fromId("ERROR_FAILED_CREATE_PROJECT"c));
                 return;
             }
             newaction.objectParam = _result;
@@ -496,8 +496,8 @@ extern (C) int UIAppMain(string[] args) {
     };
     // show message box with content of editors
     window.mainWidget.childById!Button("btnOk").click = delegate(Widget w) {
-        window.showMessageBox(UIString.fromRaw("Ok button pressed"d), 
-                              UIString.fromRaw("Editors content\nEdit1: "d ~ edit1.text ~ "\nEdit2: "d ~ edit2.text));
+        window.showMessageBox(UIString.fromId("MSG_OK_BUTTON"c), 
+                              UIString.fromId("EDITOR_CONTENT"c) ~ "\nEdit1: "d ~ edit1.text ~ "\nEdit2: "d ~ edit2.text);
         return true;
     };
 
diff --git a/src/dlangide/ui/settings.d b/src/dlangide/ui/settings.d
index 384c094..b5fb8ff 100644
--- a/src/dlangide/ui/settings.d
+++ b/src/dlangide/ui/settings.d
@@ -13,7 +13,7 @@ public import dlangide.workspace.workspacesettings;
 StringListValue[] createFaceList(bool monospaceFirst) {
     StringListValue[] faces;
     faces.assumeSafeAppend();
-    faces ~= StringListValue("Default", "OPTION_DEFAULT"c);
+    faces ~= StringListValue("Default", UIString.fromId("OPTION_DEFAULT"c));
     import dlangui.graphics.fonts;
     import std.utf : toUTF32;
     FontFaceProps[] allFaces = FontManager.instance.getFaces();
@@ -153,7 +153,7 @@ SettingsPage createSettingsPages() {
     SettingsPage terminal = dlang.addChild("dlang/terminal", UIString.fromId("OPTION_TERMINAL"c));
     terminal.addExecutableFileNameEdit("dlang/terminal/executable", UIString.fromId("OPTION_TERMINAL_EXECUTABLE"c), "xterm");
 
-    SettingsPage toolchains = dlang.addChild("dlang/toolchains", UIString.fromId("OPTION_TOOLCHANS"c));
+    SettingsPage toolchains = dlang.addChild("dlang/toolchains", UIString.fromId("OPTION_TOOLCHAINS"c));
     SettingsPage dmdtoolchain = toolchains.addChild("dlang/toolchains/dmd", UIString.fromRaw("DMD"d));
     dmdtoolchain.addExecutableFileNameEdit("dlang/toolchains/dmd/executable", UIString.fromId("OPTION_DMD_EXECUTABLE"c), "dmd");
     dmdtoolchain.addStringEdit("dlang/toolchains/dmd/dub_additional_params", UIString.fromId("OPTION_DUB_ADDITIONAL_PARAMS"c), "");
@@ -174,27 +174,27 @@ SettingsPage createSettingsPages() {
 SettingsPage createProjectSettingsPages() {
     SettingsPage res = new SettingsPage("", UIString.fromRaw(""d));
 
-    SettingsPage build = res.addChild("build", UIString.fromRaw("Build"d));
-    build.addStringComboBox("build/toolchain", UIString.fromRaw("Toolchain"d), [
-            StringListValue("default", "Default"d), 
+    SettingsPage build = res.addChild("build", UIString.fromId("OPTION_BUILD"c));
+    build.addStringComboBox("build/toolchain", UIString.fromId("OPTION_TOOLCHAIN"c), [
+            StringListValue("default", UIString.fromId("OPTION_DEFAULT"c)), 
             StringListValue("dmd", "DMD"d), 
             StringListValue("ldc", "LDC"d), 
             StringListValue("ldmd", "LDMD"d), 
             StringListValue("gdc", "GDC"d)]);
-    build.addStringComboBox("build/arch", UIString.fromRaw("Architecture"d), [
-            StringListValue("default", "Default"d), 
+    build.addStringComboBox("build/arch", UIString.fromId("OPTION_ARCHITECTURE"c), [
+            StringListValue("default", UIString.fromId("OPTION_DEFAULT"c)), 
             StringListValue("x86", "x86"d), 
             StringListValue("x86_64", "x86_64"d),
             StringListValue("arm", "arm"d),
             StringListValue("arm64", "arm64"d),
     ]);
-    build.addCheckbox("build/verbose", UIString.fromRaw("Verbose"d), true);
-    build.addStringEdit("build/dub_additional_params", UIString.fromRaw("DUB additional params"d), "");
+    build.addCheckbox("build/verbose", UIString.fromId("OPTION_VERBOSE"c), true);
+    build.addStringEdit("build/dub_additional_params", UIString.fromId("OPTION_DUB_ADDITIONAL_PARAMS"c), "");
 
-    SettingsPage dbg = res.addChild("debug", UIString.fromRaw("Run and Debug"d));
-    dbg.addStringEdit("debug/run_args", UIString.fromRaw("Command line args"d), "");
-    dbg.addDirNameEdit("debug/working_dir", UIString.fromRaw("Working directory"d), "");
-    dbg.addCheckbox("debug/external_console", UIString.fromRaw("Run in external console"d), false);
+    SettingsPage dbg = res.addChild("debug", UIString.fromId("OPTION_RUN_DEBUG"c));
+    dbg.addStringEdit("debug/run_args", UIString.fromId("OPTION_COMMAND_LINE"c), "");
+    dbg.addDirNameEdit("debug/working_dir", UIString.fromId("OPTION_WORKING_DIR"c), "");
+    dbg.addCheckbox("debug/external_console", UIString.fromId("OPTION_RUN_IN_EXTERNAL_CONSOLE"c), false);
 
     return res;
 }
diff --git a/views/res/i18n/en.ini b/views/res/i18n/en.ini
index 278f1ed..7bfcf07 100644
--- a/views/res/i18n/en.ini
+++ b/views/res/i18n/en.ini
@@ -21,6 +21,11 @@ EXIT=Exit
 ALL_FILES=All files
 SOURCE_FILES=Source files
 WORKSPACE_AND_PROJECT_FILES=Workspace and project files
+IDE_FILES=DlangIDE files
+
+EDITOR_CONTENT=Editors content
+LOCATION=Location
+NAME=Name
 
 MENU_FILE=&File
 MENU_FILE_NEW=&Create
@@ -127,21 +132,30 @@ HEADER_OPEN_WORKSPACE_OR_PROJECT=Open Workspace or Project
 HEADER_OPEN_TEXT_FILE=Open Text File
 HEADER_CLOSE_FILE=Close file
 HEADER_CLOSE_TAB=Close tab
+HEADER_REMOVE_FILE=Remove file
 HEADER_SAVE_FILE_AS=Save File As
 
 OPTION_ADD_TO_CURRENT_WORKSPACE=Add to current workspace
+OPTION_ARCHITECTURE=Architecture
 OPTION_AUTO_OPEN_LAST_PROJECT=Auto open last project
+OPTION_BUILD=Build
+OPTION_COMMAND_LINE=Command line args
 OPTION_COMMON=Common
+OPTION_CREATE_NEW_SOLUTION=Create new solution
 OPTION_CREATE_NEW_WORKSPACE=Create new workspace
+OPTION_CREATE_SUBDIRECTORY_FOR_PROJECT=Create subdirectory for project
+OPTION_CREATE_SUBDIRECTORY_FOR_WORKSPACE=Create subdirectory for workspace
 OPTION_DARK=Dark
 OPTION_DEBUGGER=Debugger
 OPTION_DEBUGGER_EXECUTABLE=Debugger executable
 OPTION_DEFAULT=Default
+OPTION_DIRECTORY_LAYOUT=Directory layout
 OPTION_DMD_EXECUTABLE=DMD executable
 OPTION_DUB_ADDITIONAL_PARAMS=DUB additional params
 OPTION_DUB_EXECUTABLE=DUB executable
 OPTION_EDITORS=Editors
 OPTION_INTERFACE=Interface
+OPTION_FILE_PATH=File path
 OPTION_FONT_ANTIALIASING=Minimum font size for antialiasing
 OPTION_FONT_ANTIALIASING_ALWAYS_OFF=Always OFF
 OPTION_FONT_ANTIALIASING_ALWAYS_ON=Always ON
@@ -157,24 +171,44 @@ OPTION_GDC_EXECUTABLE=GDC executable
 OPTION_LANGUAGE=Language
 OPTION_LDC2_EXECUTABLE=LDC2 executable
 OPTION_LDMD2_EXECUTABLE=LDMD2 executable
+OPTION_MODULE_NAME=Module name
+OPTION_NEW_PROJECT=New project
+OPTION_NEW_SOURCE_FILE=New source file
+OPTION_NEW_WORKSPACE=New workspace
+OPTION_PROJECT_NAME=Project name
+OPTION_PROJECT_TEMPLATE=Project template
 OPTION_RDMD_ADDITIONAL_PARAMS=rdmd additional params
 OPTION_RDMD_EXECUTABLE=rdmd executable
+OPTION_RUN_IN_EXTERNAL_CONSOLE=Run in external console
+OPTION_RUN_DEBUG=Run and Debug
 OPTION_SHOW_SPACES=Show white space marks
 OPTION_SHOW_TABS=Show tab position marks
 OPTION_SMART_INDENTS=Smart indents
 OPTION_SMART_INDENTS_PASTE=Smart indent after paste
 OPTION_TAB=Tab size
+OPTION_TEMPLATE_DESCR=Template description
 OPTION_TEXT_EDITORS=Text Editors
 OPTION_TERMINAL=Terminal
 OPTION_TERMINAL_EXECUTABLE=Terminal executable
 OPTION_THEME=Theme
-OPTION_TOOLCHANS=Toolchains
+OPTION_TOOLCHAIN=Toolchain
+OPTION_TOOLCHAINS=Toolchains
+OPTION_VERBOSE=Verbose
+OPTION_WORKING_DIR=Working directory
+OPTION_WORKSPACE_NAME=Workspace name
 OPTION_USE_SPACES=Use spaces for tabs
 
+ERROR=Error
+ERROR_CANNOT_CREATE_PROJECT=Cannot create project
 ERROR_CANNOT_DEBUG_PROJECT=Cannot debug project
+ERROR_CANNOT_FIND_EXEC=Cannot find executable file
+ERROR_CANNOT_RUN_PROJECT=Cannot run project
+ERROR_FAILED_CREATE_PROJECT=Failed to create project
 ERROR_STARTUP_PROJECT_ABSENT=Startup project is not specified
+ERROR_INVALID_PARAMETERS=Invalid parameters
 ERROR_INVALID_WORKSPACE_FILE=Invalid workspace file
 ERROR_INVALID_WS_OR_PROJECT_FILE=This file is not a valid workspace or project file
+ERROR_NO_DEBUGGER=No debugger executable specified in settings
 ERROR_OPEN_FILE=File open error
 ERROR_OPEN_PROJECT=Cannot open project
 ERROR_OPEN_WORKSPACE=Cannot open workspace
@@ -184,12 +218,16 @@ ERROR_OPENING_WORKSPACE=Error occured while opening workspace
 
 MSG_FILE_CONTENT_CHANGED=Content of this file has been changed.
 MSG_TAB_CONTENT_CHANGED=Content of tab has been changed
+MSG_OK_BUTTON=Ok button pressed
 MSG_OPEN_PROJECT=Open project
 MSG_PROJECT_ALREADY_OPENED=Project is already in workspace
+MSG_SELECT_DIR=Select directory
 MSG_STARTING=Starting
 MSG_STARTING_DEBUGGER=Starting debugger for
 MSG_TRY_OPEN_PROJECT=Trying to open project from
 DEBUGGING=debugging...
 RUNNING=running...
 
+QUESTION_CREATE_DIR=The target location does not exist. Do you want to create the target directory?
 QUESTION_NEW_WORKSPACE=Do you want to create new workspace or use current one?
+QUESTION_REMOVE_FILE=Do you want to remove file
diff --git a/views/res/i18n/ru.ini b/views/res/i18n/ru.ini
index 3f32da5..1a925bb 100644
--- a/views/res/i18n/ru.ini
+++ b/views/res/i18n/ru.ini
@@ -21,12 +21,17 @@ EXIT=Выход
 ALL_FILES=Все файлы
 SOURCE_FILES=Исходники
 WORKSPACE_AND_PROJECT_FILES=Файлы проектов и раб. прост.
+IDE_FILES=Файлы DlangIDE
+
+EDITOR_CONTENT=Содержимое редактора
+LOCATION=Место
+NAME=Имя
 
 MENU_FILE=&Файл
 MENU_FILE_NEW=&Создать
 MENU_FILE_NEW_SOURCE_FILE=Новый файл
 MENU_FILE_NEW_PROJECT=Новый проект
-MENU_FILE_NEW_WORKSPACE=Новый рабочее пространство
+MENU_FILE_NEW_WORKSPACE=Новое рабочее пространство
 MENU_FILE_OPEN=&Открыть файл
 MENU_FILE_OPEN_WORKSPACE=Открыть проект или рабочее пространство...
 MENU_FILE_OPEN_RECENT=Открыть недавние
@@ -127,21 +132,30 @@ HEADER_OPEN_WORKSPACE_OR_PROJECT=Открыть рабочее простран
 HEADER_OPEN_TEXT_FILE=Открыть текстовый файл
 HEADER_CLOSE_FILE=Закрыть файл
 HEADER_CLOSE_TAB=Закрыть вкладку
+HEADER_REMOVE_FILE=Удалить файл
 HEADER_SAVE_FILE_AS=Сохранить как
 
 OPTION_ADD_TO_CURRENT_WORKSPACE=Добавить в текущее пр-во
+OPTION_ARCHITECTURE=Архитектура
 OPTION_AUTO_OPEN_LAST_PROJECT=Авт.открывать последний проект
+OPTION_BUILD=Сборка
+OPTION_COMMAND_LINE=Аргументы командной строки
 OPTION_COMMON=Общие
+OPTION_CREATE_NEW_SOLUTION=Создать новое решение
 OPTION_CREATE_NEW_WORKSPACE=Создать новое пр-во
+OPTION_CREATE_SUBDIRECTORY_FOR_PROJECT=Создать подкаталог для проекта
+OPTION_CREATE_SUBDIRECTORY_FOR_WORKSPACE=Создать подкаталог для раб.пространства
 OPTION_DARK=Темная
 OPTION_DEBUGGER=Отладчик
 OPTION_DEBUGGER_EXECUTABLE=Исполняемый файл отладчика
 OPTION_DEFAULT=По умолчанию
+OPTION_DIRECTORY_LAYOUT=Структура каталога
 OPTION_DMD_EXECUTABLE=Исполняемый файл DMD
 OPTION_DUB_ADDITIONAL_PARAMS=Доп.параметры DUB
 OPTION_DUB_EXECUTABLE=Исполняемый файл DUB
 OPTION_EDITORS=Редакторы
 OPTION_INTERFACE=Внешний вид
+OPTION_FILE_PATH=Путь к файлу
 OPTION_FONT_ANTIALIASING=Минимальный размер шрифта для сглаживания
 OPTION_FONT_ANTIALIASING_ALWAYS_OFF=Всегда выключено
 OPTION_FONT_ANTIALIASING_ALWAYS_ON=Всегда включено
@@ -156,24 +170,44 @@ OPTION_GDC_EXECUTABLE=Исполняемый файл GDC
 OPTION_LANGUAGE=Язык
 OPTION_LDC2_EXECUTABLE=Исполняемый файл LDC2
 OPTION_LDMD2_EXECUTABLE=Исполняемый файл LDMD2
+OPTION_MODULE_NAME=Имя модуля
+OPTION_NEW_PROJECT=Новый проект
+OPTION_NEW_SOURCE_FILE=Новый исходный файл
+OPTION_NEW_WORKSPACE=Новое рабочее пространство
+OPTION_PROJECT_NAME=Имя проекта
+OPTION_PROJECT_TEMPLATE=Шаблон проекта
 OPTION_RDMD_ADDITIONAL_PARAMS=Доп.параметры rdmd
 OPTION_RDMD_EXECUTABLE=Исполняемый файл rdmd
+OPTION_RUN_IN_EXTERNAL_CONSOLE=Запустить во внешней консоли
+OPTION_RUN_DEBUG=Запуск и отладка
 OPTION_SHOW_SPACES=Показать пробелы
 OPTION_SHOW_TABS=Показать табуляцию
 OPTION_SMART_INDENTS=Умные отступы
 OPTION_SMART_INDENTS_PASTE=Умные отступы после вставки
 OPTION_TAB=Размер Tab
+OPTION_TEMPLATE_DESCR=Описание шаблона
 OPTION_TEXT_EDITORS=Текстовые редакторы
 OPTION_TERMINAL=Командная строка
 OPTION_TERMINAL_EXECUTABLE=Исполняемый файл терминала
 OPTION_THEME=Тема оформления
-OPTION_TOOLCHANS=Наборы инструментов
+OPTION_TOOLCHAIN=Инструмент
+OPTION_TOOLCHAINS=Наборы инструментов
+OPTION_VERBOSE=Показать подробности
+OPTION_WORKING_DIR=Рабочий каталог
+OPTION_WORKSPACE_NAME=Имя рабочего пространства
 OPTION_USE_SPACES=Использовать пробелы вместо табуляции
 
+ERROR=Ошибка
+ERROR_CANNOT_CREATE_PROJECT=Не могу создать проект
 ERROR_CANNOT_DEBUG_PROJECT=Невозможно отлаживать проект
+ERROR_CANNOT_FIND_EXEC=Не могу найти исполняемый файл
+ERROR_CANNOT_RUN_PROJECT=Невозможно запустить проект
+ERROR_FAILED_CREATE_PROJECT=Ошибка создания проекта
 ERROR_STARTUP_PROJECT_ABSENT=Стартовый проект не указан
+ERROR_INVALID_PARAMETERS=Неверные параметры
 ERROR_INVALID_WORKSPACE_FILE=Неверный файл раб.пространства
 ERROR_INVALID_WS_OR_PROJECT_FILE=Файл не является ни файлом раб.пространства, ни проектным
+ERROR_NO_DEBUGGER=Отладчика нет в настройках
 ERROR_OPEN_FILE=Невозможно открыть файл
 ERROR_OPEN_PROJECT=Невозможно открыть проект
 ERROR_OPEN_WORKSPACE=Невозможно открыть рабочее пространство
@@ -183,12 +217,16 @@ ERROR_OPENING_WORKSPACE=Ошибка в ходе открытия рабочег
 
 MSG_FILE_CONTENT_CHANGED=Содержимое этого файла изменено.
 MSG_TAB_CONTENT_CHANGED=Содержимое вкладки изменено
+MSG_OK_BUTTON=Нажата кнопка Ok
 MSG_OPEN_PROJECT=Открыть проект
 MSG_PROJECT_ALREADY_OPENED=Проект уже в рабочем пространстве
+MSG_SELECT_DIR=Выберите каталог
 MSG_STARTING=Выполняем
 MSG_STARTING_DEBUGGER=Стартуем отладчик для
 MSG_TRY_OPEN_PROJECT=Попытка открыть проект из
 DEBUGGING=отладка...
 RUNNING=выполнение...
 
+QUESTION_CREATE_DIR=Целевой каталог не существует. Желаете создать?
 QUESTION_NEW_WORKSPACE=Открыть новое рабочее пространство или использовать текущее?
+QUESTION_REMOVE_FILE=Вы действительно хотите удалить файл