From 4d90feb17784488d1596e3be03d97cc09c4441fb Mon Sep 17 00:00:00 2001 From: zufuliu Date: Sat, 26 Oct 2024 16:19:38 +0800 Subject: [PATCH] Add menu to select Russian language, PR #893. --- build/BuildAll.py | 2 +- doc/release.md | 1 + locale/Locale.sln | 40 ++++++++++++++++++++++++++++++++++++-- locale/de/Notepad4.rc | 1 + locale/de/matepath.rc | 1 + locale/fr/Notepad4.rc | 1 + locale/fr/matepath.rc | 1 + locale/it/Notepad4.rc | 1 + locale/it/matepath.rc | 1 + locale/ja/Notepad4.rc | 1 + locale/ja/matepath.rc | 1 + locale/ko/Notepad4.rc | 1 + locale/ko/matepath.rc | 1 + locale/pt-BR/Notepad4.rc | 1 + locale/pt-BR/matepath.rc | 1 + locale/ru/Notepad4.rc | 6 +++--- locale/ru/matepath.rc | 9 +++++---- locale/zh-Hans/Notepad4.rc | 1 + locale/zh-Hans/matepath.rc | 1 + locale/zh-Hant/Notepad4.rc | 1 + locale/zh-Hant/matepath.rc | 1 + matepath/src/Helpers.cpp | 3 +++ matepath/src/matepath.cpp | 6 ++++++ matepath/src/matepath.rc | 1 + matepath/src/resource.h | 3 ++- readme.md | 1 + src/Helpers.cpp | 3 +++ src/Notepad4.cpp | 7 +++++++ src/resource.h | 3 ++- wiki | 2 +- 30 files changed, 90 insertions(+), 13 deletions(-) diff --git a/build/BuildAll.py b/build/BuildAll.py index 20b69df42b..ca4826dd70 100644 --- a/build/BuildAll.py +++ b/build/BuildAll.py @@ -14,7 +14,7 @@ notepad4_rc = os.path.abspath('../src/Notepad4.rc') matepath_rc = os.path.abspath('../matepath/src/matepath.rc') -activeLocaleList = ['i18n', 'en', 'de', 'fr', 'it', 'ja', 'ko', 'zh-Hans', 'zh-Hant'] +activeLocaleList = ['i18n', 'en', 'de', 'fr', 'it', 'ja', 'ko', 'ru', 'zh-Hans', 'zh-Hant'] defaultConfig = { 'NP2_ENABLE_CUSTOMIZE_TOOLBAR_LABELS': 0, 'NP2_ENABLE_HIDPI_IMAGE_RESOURCE': 1, diff --git a/doc/release.md b/doc/release.md index 3202dcca6a..e0644a9ab4 100644 --- a/doc/release.md +++ b/doc/release.md @@ -18,6 +18,7 @@ | it | Italiano | x64 | 🟡legacy 64-bit Windows Vista, Server 2008 | | ja | 日本語 | Win32 | 🟠legacy Windows XP, Server 2003 | | ko | 한국어 | +| ru | Русский | | zh-Hans | 中文 (简体) | | zh-Hant | 中文 (繁體) | Chocolatey | `choco install notepad4` | i18n | all above languages | winget | `winget install -e "Notepad4"` | diff --git a/locale/Locale.sln b/locale/Locale.sln index 03a640a08e..b45e20b3b8 100644 --- a/locale/Locale.sln +++ b/locale/Locale.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.1145 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Notepad4(zh-Hans)", "zh-Hans\Notepad4(zh-Hans).vcxproj", "{14E1F7FB-7F84-4D06-AF55-378DFD7519DF}" EndProject @@ -35,6 +35,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matepath(fr)", "fr\matepath EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Notepad4(fr)", "fr\Notepad4(fr).vcxproj", "{B56E86E2-F6AB-4615-BE4A-C9612D14BDFA}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matepath(ru)", "ru\matepath(ru).vcxproj", "{4BC0C880-0C47-4D9C-93DA-DB59994D8046}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Notepad4(ru)", "ru\Notepad4(ru).vcxproj", "{C13A52D7-2A2E-4E96-936B-ECA98C076AFE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -303,6 +307,38 @@ Global {B56E86E2-F6AB-4615-BE4A-C9612D14BDFA}.Release|Win32.Build.0 = Release|Win32 {B56E86E2-F6AB-4615-BE4A-C9612D14BDFA}.Release|x64.ActiveCfg = Release|x64 {B56E86E2-F6AB-4615-BE4A-C9612D14BDFA}.Release|x64.Build.0 = Release|x64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|ARM.ActiveCfg = Debug|ARM + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|ARM.Build.0 = Debug|ARM + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|ARM64.Build.0 = Debug|ARM64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|Win32.ActiveCfg = Debug|Win32 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|Win32.Build.0 = Debug|Win32 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|x64.ActiveCfg = Debug|x64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Debug|x64.Build.0 = Debug|x64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|ARM.ActiveCfg = Release|ARM + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|ARM.Build.0 = Release|ARM + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|ARM64.ActiveCfg = Release|ARM64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|ARM64.Build.0 = Release|ARM64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|Win32.ActiveCfg = Release|Win32 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|Win32.Build.0 = Release|Win32 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|x64.ActiveCfg = Release|x64 + {4BC0C880-0C47-4D9C-93DA-DB59994D8046}.Release|x64.Build.0 = Release|x64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|ARM.ActiveCfg = Debug|ARM + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|ARM.Build.0 = Debug|ARM + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|ARM64.Build.0 = Debug|ARM64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|Win32.ActiveCfg = Debug|Win32 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|Win32.Build.0 = Debug|Win32 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|x64.ActiveCfg = Debug|x64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Debug|x64.Build.0 = Debug|x64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|ARM.ActiveCfg = Release|ARM + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|ARM.Build.0 = Release|ARM + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|ARM64.ActiveCfg = Release|ARM64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|ARM64.Build.0 = Release|ARM64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|Win32.ActiveCfg = Release|Win32 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|Win32.Build.0 = Release|Win32 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|x64.ActiveCfg = Release|x64 + {C13A52D7-2A2E-4E96-936B-ECA98C076AFE}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/locale/de/Notepad4.rc b/locale/de/Notepad4.rc index 40b2babced..5bf58face1 100644 --- a/locale/de/Notepad4.rc +++ b/locale/de/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italiano", IDM_LANG_ITALIAN MENUITEM "Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/de/matepath.rc b/locale/de/matepath.rc index d0ef4d901a..2698496752 100644 --- a/locale/de/matepath.rc +++ b/locale/de/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/fr/Notepad4.rc b/locale/fr/Notepad4.rc index 37de252555..4f92c5f4db 100644 --- a/locale/fr/Notepad4.rc +++ b/locale/fr/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italien", IDM_LANG_ITALIAN MENUITEM "Portuguais (Brésil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "Japonais", IDM_LANG_JAPANESE MENUITEM "Coréen", IDM_LANG_KOREAN MENUITEM "Chinois traditionnel", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/fr/matepath.rc b/locale/fr/matepath.rc index d81fb85a2d..657fec3159 100644 --- a/locale/fr/matepath.rc +++ b/locale/fr/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/it/Notepad4.rc b/locale/it/Notepad4.rc index 65a8fc74ad..560adca59d 100644 --- a/locale/it/Notepad4.rc +++ b/locale/it/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "&Français", IDM_LANG_FRENCH_FRANCE MENUITEM "&Italiano", IDM_LANG_ITALIAN MENUITEM "&Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/it/matepath.rc b/locale/it/matepath.rc index 315142a5a4..b34310d8b3 100644 --- a/locale/it/matepath.rc +++ b/locale/it/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/ja/Notepad4.rc b/locale/ja/Notepad4.rc index 049abecba5..06738ffe6e 100644 --- a/locale/ja/Notepad4.rc +++ b/locale/ja/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italiano", IDM_LANG_ITALIAN MENUITEM "Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/ja/matepath.rc b/locale/ja/matepath.rc index 6777c0cc57..b67820710d 100644 --- a/locale/ja/matepath.rc +++ b/locale/ja/matepath.rc @@ -615,6 +615,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/ko/Notepad4.rc b/locale/ko/Notepad4.rc index 8551de5724..502021c8a6 100644 --- a/locale/ko/Notepad4.rc +++ b/locale/ko/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italiano", IDM_LANG_ITALIAN MENUITEM "Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/ko/matepath.rc b/locale/ko/matepath.rc index 91b025847f..2112b229d0 100644 --- a/locale/ko/matepath.rc +++ b/locale/ko/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/pt-BR/Notepad4.rc b/locale/pt-BR/Notepad4.rc index cbe90c12ab..e3f3cf7c30 100644 --- a/locale/pt-BR/Notepad4.rc +++ b/locale/pt-BR/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italiano", IDM_LANG_ITALIAN MENUITEM "Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/pt-BR/matepath.rc b/locale/pt-BR/matepath.rc index bc26aa8f3a..35c5e3ceb8 100644 --- a/locale/pt-BR/matepath.rc +++ b/locale/pt-BR/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/ru/Notepad4.rc b/locale/ru/Notepad4.rc index 7a6752f2fd..3984fa7040 100644 --- a/locale/ru/Notepad4.rc +++ b/locale/ru/Notepad4.rc @@ -20,9 +20,9 @@ #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// English (United States) resources +// Russian (Russia) resources -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT #pragma code_page(65001) @@ -2136,7 +2136,7 @@ END #endif // APSTUDIO_INVOKED -#endif // English (United States) resources +#endif // Russian (Russia) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/locale/ru/matepath.rc b/locale/ru/matepath.rc index 1331218d57..079e05fca7 100644 --- a/locale/ru/matepath.rc +++ b/locale/ru/matepath.rc @@ -18,10 +18,10 @@ #undef APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// -// English (United States) resources +// Russian (Russia) resources -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT #pragma code_page(65001) ///////////////////////////////////////////////////////////////////////////// @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif @@ -641,7 +642,7 @@ END #endif // APSTUDIO_INVOKED -#endif // English (United States) resources +#endif // Russian (Russia) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/locale/zh-Hans/Notepad4.rc b/locale/zh-Hans/Notepad4.rc index 1cbc739252..b6b7a75ce7 100644 --- a/locale/zh-Hans/Notepad4.rc +++ b/locale/zh-Hans/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italiano", IDM_LANG_ITALIAN MENUITEM "Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/zh-Hans/matepath.rc b/locale/zh-Hans/matepath.rc index a9634ab41b..10b1e6ccdd 100644 --- a/locale/zh-Hans/matepath.rc +++ b/locale/zh-Hans/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/locale/zh-Hant/Notepad4.rc b/locale/zh-Hant/Notepad4.rc index 2279b4a823..72f3474d39 100644 --- a/locale/zh-Hant/Notepad4.rc +++ b/locale/zh-Hant/Notepad4.rc @@ -620,6 +620,7 @@ BEGIN MENUITEM "Français", IDM_LANG_FRENCH_FRANCE MENUITEM "Italiano", IDM_LANG_ITALIAN MENUITEM "Português (Brasil)", IDM_LANG_PORTUGUESE_BRAZIL + MENUITEM "Русский", IDM_LANG_RUSSIAN MENUITEM "日本語", IDM_LANG_JAPANESE MENUITEM "한국어", IDM_LANG_KOREAN MENUITEM "中文(繁體)", IDM_LANG_CHINESE_TRADITIONAL diff --git a/locale/zh-Hant/matepath.rc b/locale/zh-Hant/matepath.rc index 6038dc8180..89ab4d952d 100644 --- a/locale/zh-Hant/matepath.rc +++ b/locale/zh-Hant/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/matepath/src/Helpers.cpp b/matepath/src/Helpers.cpp index 94084a79ca..5e6035ea31 100644 --- a/matepath/src/Helpers.cpp +++ b/matepath/src/Helpers.cpp @@ -1055,6 +1055,9 @@ HMODULE LoadLocalizedResourceDLL(LANGID lang, LPCWSTR dllName) noexcept { case LANG_PORTUGUESE: folder = L"pt-BR"; break; + case LANG_RUSSIAN: + folder = L"ru"; + break; } if (folder == nullptr) { diff --git a/matepath/src/matepath.cpp b/matepath/src/matepath.cpp index fe38a2ee5c..3e2eb610db 100644 --- a/matepath/src/matepath.cpp +++ b/matepath/src/matepath.cpp @@ -2403,6 +2403,9 @@ void ValidateUILangauge() noexcept { case LANG_PORTUGUESE: languageResID = IDS_LANG_PORTUGUESE_BRAZIL; break; + case LANG_RUSSIAN: + languageResID = IDS_LANG_RUSSIAN; + break; case LANG_NEUTRAL: default: languageResID = IDS_LANG_USER_DEFAULT; @@ -2444,6 +2447,9 @@ void SetUILanguage(int resID) noexcept { case IDS_LANG_PORTUGUESE_BRAZIL: lang = MAKELANGID(LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN); break; + case IDS_LANG_RUSSIAN: + lang = MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT); + break; } if (uiLanguage == lang) { diff --git a/matepath/src/matepath.rc b/matepath/src/matepath.rc index 5ebefd9c34..0b62b8e4fa 100644 --- a/matepath/src/matepath.rc +++ b/matepath/src/matepath.rc @@ -614,6 +614,7 @@ BEGIN IDS_LANG_ITALIAN "Italiano" IDS_LANG_PORTUGUESE_BRAZIL "Português (Brasil)" IDS_LANG_FRENCH_FRANCE "Français" + IDS_LANG_RUSSIAN "Русский" END #endif diff --git a/matepath/src/resource.h b/matepath/src/resource.h index 9d30200024..dc8ce4c248 100644 --- a/matepath/src/resource.h +++ b/matepath/src/resource.h @@ -233,7 +233,8 @@ #define IDS_LANG_KOREAN 40907 #define IDS_LANG_PORTUGUESE_BRAZIL 40908 #define IDS_LANG_FRENCH_FRANCE 40909 -#define IDS_LANG_LAST_LANGUAGE IDS_LANG_FRENCH_FRANCE +#define IDS_LANG_RUSSIAN 40910 +#define IDS_LANG_LAST_LANGUAGE IDS_LANG_RUSSIAN #define ACC_ESCAPE 41001 #define ACC_NEXTCTL 41002 diff --git a/readme.md b/readme.md index 4712165f76..309af0e5e3 100644 --- a/readme.md +++ b/readme.md @@ -200,6 +200,7 @@ Latest development builds (artifacts in Release configuration for each compiler * [Deutsch](https://github.com/zufuliu/notepad4/tree/main/locale/de) by [@xelsios](https://github.com/xelsios) * [French](https://github.com/zufuliu/notepad4/tree/main/locale/fr) by [@VoilierBleu](https://github.com/VoilierBleu) * [Italiano](https://github.com/zufuliu/notepad4/tree/main/locale/it) by [@Matteo-Nigro](https://github.com/Matteo-Nigro) + * [Русский](https://github.com/zufuliu/notepad4/tree/main/locale/ru) by [@tretdm](https://github.com/tretdm) * [日本語](https://github.com/zufuliu/notepad4/tree/main/locale/ja) by [@maboroshin](https://github.com/maboroshin) * [中文 (繁體)](https://github.com/zufuliu/notepad4/tree/main/locale/zh-Hant) * [中文 (简体)](https://github.com/zufuliu/notepad4/tree/main/locale/zh-Hans) diff --git a/src/Helpers.cpp b/src/Helpers.cpp index f37edca559..0f01d4c3e6 100644 --- a/src/Helpers.cpp +++ b/src/Helpers.cpp @@ -1480,6 +1480,9 @@ HMODULE LoadLocalizedResourceDLL(LANGID lang, LPCWSTR dllName) noexcept { case LANG_PORTUGUESE: folder = L"pt-BR"; break; + case LANG_RUSSIAN: + folder = L"ru"; + break; } if (folder == nullptr) { diff --git a/src/Notepad4.cpp b/src/Notepad4.cpp index 9eab3e94dd..937b5f3fb3 100644 --- a/src/Notepad4.cpp +++ b/src/Notepad4.cpp @@ -2196,6 +2196,9 @@ void ValidateUILangauge() noexcept { case LANG_PORTUGUESE: languageMenu = IDM_LANG_PORTUGUESE_BRAZIL; break; + case LANG_RUSSIAN: + languageMenu = IDM_LANG_RUSSIAN; + break; case LANG_NEUTRAL: default: languageMenu = IDM_LANG_USER_DEFAULT; @@ -2237,6 +2240,9 @@ void SetUILanguage(int menu) noexcept { case IDM_LANG_PORTUGUESE_BRAZIL: lang = MAKELANGID(LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN); break; + case IDM_LANG_RUSSIAN: + lang = MAKELANGID(LANG_RUSSIAN, SUBLANG_DEFAULT); + break; } if (uiLanguage == lang) { @@ -4530,6 +4536,7 @@ LRESULT MsgCommand(HWND hwnd, WPARAM wParam, LPARAM lParam) { case IDM_LANG_KOREAN: case IDM_LANG_PORTUGUESE_BRAZIL: case IDM_LANG_FRENCH_FRANCE: + case IDM_LANG_RUSSIAN: SetUILanguage(LOWORD(wParam)); break; #endif diff --git a/src/resource.h b/src/resource.h index 967dbad2a3..d6d14462cf 100644 --- a/src/resource.h +++ b/src/resource.h @@ -820,7 +820,8 @@ #define IDM_LANG_KOREAN 40657 #define IDM_LANG_PORTUGUESE_BRAZIL 40658 #define IDM_LANG_FRENCH_FRANCE 40659 -#define IDM_LANG_LAST_LANGUAGE IDM_LANG_FRENCH_FRANCE +#define IDM_LANG_RUSSIAN 40660 +#define IDM_LANG_LAST_LANGUAGE IDM_LANG_RUSSIAN // resource id generated by tools/Misc.py #define IDM_LEXER_TEXTFILE 40700 diff --git a/wiki b/wiki index 3fee37fd96..6ab74322a6 160000 --- a/wiki +++ b/wiki @@ -1 +1 @@ -Subproject commit 3fee37fd96b6855fbf8c53cacddaedad75a0af38 +Subproject commit 6ab74322a68cd6b9a4e075d44495633f2ba0a04d