diff --git a/Notepad3.sln b/Notepad3.sln
index f8122e166..dcbef96a8 100644
--- a/Notepad3.sln
+++ b/Notepad3.sln
@@ -14,6 +14,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Notepad3", "src\Notepad3.vc
{4484EA6C-AA9D-4DE4-BAA1-535FFFEFE49E} = {4484EA6C-AA9D-4DE4-BAA1-535FFFEFE49E}
{7E16647B-CA40-43E8-8ABB-E4C430C186CA} = {7E16647B-CA40-43E8-8ABB-E4C430C186CA}
{3B8C289D-FF47-4237-AD7B-0702230F41A3} = {3B8C289D-FF47-4237-AD7B-0702230F41A3}
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E} = {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}
{ADCA49F0-D91B-4AB9-913A-5840DCA8C79E} = {ADCA49F0-D91B-4AB9-913A-5840DCA8C79E}
EndProjectSection
EndProject
@@ -118,6 +119,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_be_by", "language\np3_b
{9DC82B0D-2484-4925-92AD-1237C64CCB78} = {9DC82B0D-2484-4925-92AD-1237C64CCB78}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "np3_ru_ru", "language\np3_ru_ru\np3_ru_ru.vcxproj", "{AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {9DC82B0D-2484-4925-92AD-1237C64CCB78} = {9DC82B0D-2484-4925-92AD-1237C64CCB78}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -322,6 +328,14 @@ Global
{4484EA6C-AA9D-4DE4-BAA1-535FFFEFE49E}.Release|Win32.Build.0 = Release|Win32
{4484EA6C-AA9D-4DE4-BAA1-535FFFEFE49E}.Release|x64.ActiveCfg = Release|x64
{4484EA6C-AA9D-4DE4-BAA1-535FFFEFE49E}.Release|x64.Build.0 = Release|x64
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Debug|Win32.Build.0 = Debug|Win32
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Debug|x64.ActiveCfg = Debug|x64
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Debug|x64.Build.0 = Debug|x64
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Release|Win32.ActiveCfg = Release|Win32
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Release|Win32.Build.0 = Release|Win32
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Release|x64.ActiveCfg = Release|x64
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/language/np3_ru_ru/dialogs_ru_ru.rc b/language/np3_ru_ru/dialogs_ru_ru.rc
new file mode 100644
index 000000000..2d3b9688e
Binary files /dev/null and b/language/np3_ru_ru/dialogs_ru_ru.rc differ
diff --git a/language/np3_ru_ru/dllmain.cpp b/language/np3_ru_ru/dllmain.cpp
new file mode 100644
index 000000000..fa05c50f9
Binary files /dev/null and b/language/np3_ru_ru/dllmain.cpp differ
diff --git a/language/np3_ru_ru/encode_ru_ru.rc b/language/np3_ru_ru/encode_ru_ru.rc
new file mode 100644
index 000000000..e22e73757
Binary files /dev/null and b/language/np3_ru_ru/encode_ru_ru.rc differ
diff --git a/language/np3_ru_ru/lexer_ru_ru.rc b/language/np3_ru_ru/lexer_ru_ru.rc
new file mode 100644
index 000000000..732fc4e7c
Binary files /dev/null and b/language/np3_ru_ru/lexer_ru_ru.rc differ
diff --git a/language/np3_ru_ru/menu_ru_ru.rc b/language/np3_ru_ru/menu_ru_ru.rc
new file mode 100644
index 000000000..abfee35a3
Binary files /dev/null and b/language/np3_ru_ru/menu_ru_ru.rc differ
diff --git a/language/np3_ru_ru/np3_ru_ru.cpp b/language/np3_ru_ru/np3_ru_ru.cpp
new file mode 100644
index 000000000..c9ccce1f4
Binary files /dev/null and b/language/np3_ru_ru/np3_ru_ru.cpp differ
diff --git a/language/np3_ru_ru/np3_ru_ru.rc b/language/np3_ru_ru/np3_ru_ru.rc
new file mode 100644
index 000000000..3a3f6e636
Binary files /dev/null and b/language/np3_ru_ru/np3_ru_ru.rc differ
diff --git a/language/np3_ru_ru/np3_ru_ru.vcxproj b/language/np3_ru_ru/np3_ru_ru.vcxproj
new file mode 100644
index 000000000..2aadd3acf
--- /dev/null
+++ b/language/np3_ru_ru/np3_ru_ru.vcxproj
@@ -0,0 +1,263 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ 15.0
+ {AB02DFC9-B0C0-488C-9BF9-E90B0402F30E}
+ Win32Proj
+ np3enus
+ 10.0.17134.0
+
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\obj\
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\
+ false
+
+
+ true
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\obj\
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\
+ false
+
+
+ false
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\obj\
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\
+ false
+
+
+ false
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\lng\obj\
+ ..\..\Bin\$(Configuration)_$(PlatformShortName)_$(PlatformToolset)\obj\$(ProjectName)\
+ false
+
+
+
+ Use
+ Level3
+ Disabled
+ true
+ _DEBUG;NP3ENUS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+ mkdir "$(TargetDir)..\ru-RU"
+"$(UCRTContentRoot)bin\$(WindowsTargetPlatformVersion)\x86\muirct.exe" -q "$(SolutionDir)language\DoReverseMuiLoc.rcconfig" -v 2 -x 0x0419 -g 0x0409 "$(TargetDir)$(TargetFileName)" "$(TargetDir)..\np3lng.dll" "$(TargetDir)..\ru-RU\np3lng.dll.mui"
+
+
+ MUI Split
+
+
+ 0x0419
+ $(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)
+
+
+
+
+ Use
+ Level3
+ Disabled
+ true
+ WIN32;_DEBUG;NP3ENUS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+
+
+ Windows
+ true
+
+
+ mkdir "$(TargetDir)..\ru-RU"
+"$(UCRTContentRoot)bin\$(WindowsTargetPlatformVersion)\x86\muirct.exe" -q "$(SolutionDir)language\DoReverseMuiLoc.rcconfig" -v 2 -x 0x0419 -g 0x0409 "$(TargetDir)$(TargetFileName)" "$(TargetDir)..\np3lng.dll" "$(TargetDir)..\ru-RU\np3lng.dll.mui"
+
+
+ MUI Split
+
+
+ 0x0419
+ $(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)
+
+
+
+
+ Use
+ Level3
+ MinSpace
+ true
+ true
+ true
+ WIN32;NDEBUG;NP3ENUS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ AnySuitable
+ Size
+
+
+ Windows
+ true
+ true
+ true
+
+
+ mkdir "$(TargetDir)..\ru-RU"
+"$(UCRTContentRoot)bin\$(WindowsTargetPlatformVersion)\x86\muirct.exe" -q "$(SolutionDir)language\DoReverseMuiLoc.rcconfig" -v 2 -x 0x0419 -g 0x0409 "$(TargetDir)$(TargetFileName)" "$(TargetDir)..\np3lng.dll" "$(TargetDir)..\ru-RU\np3lng.dll.mui"
+
+
+ MUI Split
+
+
+ 0x0419
+ $(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)
+
+
+
+
+ Use
+ Level3
+ MinSpace
+ true
+ true
+ true
+ NDEBUG;NP3ENUS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)
+ true
+ AnySuitable
+ Size
+
+
+ Windows
+ true
+ true
+ true
+
+
+ mkdir "$(TargetDir)..\ru-RU"
+"$(UCRTContentRoot)bin\$(WindowsTargetPlatformVersion)\x86\muirct.exe" -q "$(SolutionDir)language\DoReverseMuiLoc.rcconfig" -v 2 -x 0x0419 -g 0x0409 "$(TargetDir)$(TargetFileName)" "$(TargetDir)..\np3lng.dll" "$(TargetDir)..\ru-RU\np3lng.dll.mui"
+
+
+ MUI Split
+
+
+ 0x0419
+ $(ProjectDir)..\..\res;%(AdditionalIncludeDirectories)
+
+
+
+
+
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+ true
+ true
+ true
+ true
+
+
+
+ true
+ true
+ true
+ true
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/language/np3_ru_ru/np3_ru_ru.vcxproj.filters b/language/np3_ru_ru/np3_ru_ru.vcxproj.filters
new file mode 100644
index 000000000..4d67132ba
--- /dev/null
+++ b/language/np3_ru_ru/np3_ru_ru.vcxproj.filters
@@ -0,0 +1,64 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {93995380-89BD-4b04-88EB-625FBE52EBFB}
+ h;hh;hpp;hxx;hm;inl;inc;ipp;xsd
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+
+
+ Header Files
+
+
+ Header Files
+
+
+ Header Files
+
+
+
+
+ Source Files
+
+
+ Source Files
+
+
+ Source Files
+
+
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/language/np3_ru_ru/resource.h b/language/np3_ru_ru/resource.h
new file mode 100644
index 000000000..da393bb0f
--- /dev/null
+++ b/language/np3_ru_ru/resource.h
@@ -0,0 +1,16 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by strings_ru_ru.rc
+//
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NO_MFC 1
+#define _APS_NEXT_RESOURCE_VALUE 0
+#define _APS_NEXT_COMMAND_VALUE 0
+#define _APS_NEXT_CONTROL_VALUE 0
+#define _APS_NEXT_SYMED_VALUE 0
+#endif
+#endif
diff --git a/language/np3_ru_ru/stdafx.cpp b/language/np3_ru_ru/stdafx.cpp
new file mode 100644
index 000000000..d3f431360
Binary files /dev/null and b/language/np3_ru_ru/stdafx.cpp differ
diff --git a/language/np3_ru_ru/stdafx.h b/language/np3_ru_ru/stdafx.h
new file mode 100644
index 000000000..4ca98c3b3
Binary files /dev/null and b/language/np3_ru_ru/stdafx.h differ
diff --git a/language/np3_ru_ru/strings_ru_ru.rc b/language/np3_ru_ru/strings_ru_ru.rc
new file mode 100644
index 000000000..a92c60091
Binary files /dev/null and b/language/np3_ru_ru/strings_ru_ru.rc differ
diff --git a/language/np3_ru_ru/targetver.h b/language/np3_ru_ru/targetver.h
new file mode 100644
index 000000000..6fcbd5af9
Binary files /dev/null and b/language/np3_ru_ru/targetver.h differ
diff --git a/src/Dialogs.c b/src/Dialogs.c
index 3ee32ece5..6c1e3b9bd 100644
--- a/src/Dialogs.c
+++ b/src/Dialogs.c
@@ -3533,8 +3533,9 @@ INT_PTR ThemedDialogBoxParam(HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndP
DLGPROC lpDialogFunc, LPARAM dwInitParam)
{
DLGTEMPLATE* pDlgTemplate = LoadThemedDialogTemplate(lpTemplate, hInstance);
- INT_PTR ret = DialogBoxIndirectParam(hInstance, pDlgTemplate, hWndParent, lpDialogFunc, dwInitParam);
+ INT_PTR ret = (INT_PTR)NULL;
if (pDlgTemplate) {
+ ret = DialogBoxIndirectParam(hInstance, pDlgTemplate, hWndParent, lpDialogFunc, dwInitParam);
FreeMem(pDlgTemplate);
}
return ret;
@@ -3544,11 +3545,12 @@ HWND CreateThemedDialogParam(HINSTANCE hInstance, LPCTSTR lpTemplate, HWND hWndP
DLGPROC lpDialogFunc, LPARAM dwInitParam)
{
DLGTEMPLATE* pDlgTemplate = LoadThemedDialogTemplate(lpTemplate, hInstance);
- HWND hwnd = CreateDialogIndirectParam(hInstance, pDlgTemplate, hWndParent, lpDialogFunc, dwInitParam);
+ HWND hwnd = INVALID_HANDLE_VALUE;
if (pDlgTemplate) {
+ hwnd = CreateDialogIndirectParam(hInstance, pDlgTemplate, hWndParent, lpDialogFunc, dwInitParam);
FreeMem(pDlgTemplate);
}
- return(hwnd);
+ return hwnd;
}
// End of Dialogs.c
diff --git a/src/Notepad3.c b/src/Notepad3.c
index db8fcbd3f..57852855c 100644
--- a/src/Notepad3.c
+++ b/src/Notepad3.c
@@ -82,7 +82,7 @@ static HWND s_hwndReBar = NULL;
static WCHAR s_wchIniFile2[MAX_PATH + 1] = { L'\0' };
static WCHAR s_wchTmpFilePath[MAX_PATH + 1] = { L'\0' };
-static WCHAR* const s_tchAvailableLanguages = L"af-ZA be-BY de-DE es-ES en-GB fr-FR ja-JP nl-NL zh-CN"; // en-US internal
+static WCHAR* const s_tchAvailableLanguages = L"af-ZA be-BY de-DE es-ES en-GB fr-FR ja-JP nl-NL ru-RU zh-CN"; // en-US internal
static int s_iSettingsVersion = CFG_VER_NONE;
static bool s_bSaveSettings = true;