Commit Graph
139 Commits
Author SHA1 Message Date
Václav Zouzalík 0ea9354ac4 [MSGINA] Update Slovak (sk-SK) translation (#8950) 2026-05-20 16:32:42 +03:00
Václav ZouzalíkandStanislav Motylkov b1b9530281 [MSGINA] Update German (de-DE) translation (#8955)
* Update German (de-DE) translation
* Add file header

Co-authored-by: Stanislav Motylkov <[email protected]>
2026-05-09 17:08:00 +00:00
Václav Zouzalík 74723ae8c2 [MSGINA] Fix typo in Czech (cs-CZ) translation (#8952) 2026-05-07 16:55:53 +02:00
Thomas Anderson c87e1b9c2d [MSGINA] Fix "beacuse" -> "because" typo (#8941)
* Fix typo in account locked message

* Fix typo in account locked message

* Fix typo in account locked message for Italian locale

* Fix typo in account locked message

* Fix typo in account locked message

* Fix typo in account locked message
2026-05-06 22:43:47 +02:00
Václav Zouzalík e30686e2aa [MSGINA] Update Czech (cs-CZ) translation (#8782) 2026-05-06 15:04:13 +03:00
Hermès Bélusca-Maïto e616f29a24 🎆 ⚛️ ☢️ Happy New Year 2026 to the ReactOS community! 🎊 🍾 🥳
And do you know what this also means?!
...
Yes, you've guessed it...
...
It means that in few days, ReactOS will be 30 !! 🎉 🥳
2026-01-01 00:00:00 +01:00
Hermès Bélusca-Maïto c687f6e146 [MSGINA] Don't depend on powrprof.dll; fix shutdown from fancy dialog (#8391)
CORE-19104

- Use `NtPowerInformation()` and the `IS_PWR_*` macros instead.

- Fancy shutdown dialog:

  * Enable or disable the hibernate/sleep buttons depending on
    the previously-determined available shutdown options.

  * Don't invoke `ExitWindowsEx()` or `SetSuspendState()` directly
    within Msgina, but return a suitable `WLX_SAS_ACTION_SHUTDOWN_*`
    value, like what's done by the classic dialog. The power action
    proper is then performed by the caller of the shutdown dialog:
    either Shell32 or Winlogon.
2025-09-22 13:05:13 +02:00
Hermès Bélusca-Maïto e92be1ede2 [MSGINA] Simplify GetRegistrySettings() (#8381) 2025-09-12 13:53:58 +02:00
Hermès Bélusca-Maïto 27db7ece88 [MSGINA] ReadRegDwordValue(): Support interpreting REG_SZ values as DWORDs when possible (#8381)
This is useful for numerical values that are documented as being stored
in string format as `REG_SZ` in the registry; the reason being that they
are still read or written via `GetProfileIntW()`/`WriteProfileStringW()`
by Windows' Winlogon, and these functions store `REG_SZ` values because
of the INI <-> Registry mapping mechanism.
2025-09-11 16:31:47 +02:00
Hermès Bélusca-Maïto 38398fbaf3 [MSGINA] Fix gcc x86 build
Addendum to commit 1499e7ef53.

Poor thing was crying that it was ignoring trigraph `??)`, even
though this whole thing was inside an `#if 0`-commented block...
Use something else instead.

```
msgina/shutdown.c: In function 'ShutdownDialog':
msgina/shutdown.c:1217:56: error: trigraph ??) ignored, use -trigraphs to enable [-Werror=trigraphs]
     pgContext->nShutdownAction = LoadShutdownSelState(???);

msgina/shutdown.c: At top level:
cc1: error: unrecognized command line option '-Wno-unknown-warning-option' [-Werror]
```
2025-09-05 11:55:40 +02:00
Hermès Bélusca-Maïto 1499e7ef53 [MSGINA] Improve Security and Shutdown dialog features (#8372)
- Respect system policies for showing or hiding:

  * Security dialog "Lock Workstation", "Log Off", "Shut Down",
    "Change Password", "Task Manager" buttons;

  * "Log Off" entry in the Shutdown dialog;

- Disable the "Shut Down" Security dialog button, and the "Stand by",
  "Shut down" entries in the Shutdown dialog, if the logged user
  doesn't have the SeShutdownPrivilege.

- Add other missing `WLX_SHUTDOWN_STATE_*` shutdown flags that are
  supported by Windows.

- Improve the retrieval of shutdown options to be displayed in the
  "Shut Down" dialog. In particular, don't hardcode any sort of
  defaults, but let them come from what the user can do (Is logoff
  allowed? Does (s)he have the rights to shutdown/reboot? etc.).
  If no shutdown options are available, then simply don't display
  the dialog!

- Don't hardcode the default selected shutdown option. Either it comes
  from the user's registry and is valid (i.e. corresponds to an existing
  shutdown option in the dialog), otherwise, fall back to the first
  option in the dialog.

  In particular this means:
  * when opening the "Shut Down" dialog from the C-A-D Security
    dialog, by default we will select the "Log Off" option, or
    whatever the user last selected;
  * when opening the dialog from the "Turn Off" Start Menu item, default
    to the "Shut down" option, or whatever the user last selected.
  * when opening the dialog from the C-A-D "Log On" dialog (no user
    is logged in), the "Shut down" option will also be selected, or
    whatever the system operator last selected.

- For the shell-invokable `ShellShutdownDialog()` function, implement
  support for using a custom display user name, or the one in the
  `"Logon User Name"` registry value saved by `WlxActivateUserShell()`.
  Plus, the 3rd parameter specifies the list of shutdown options to
  *exclude* from the options list.
2025-09-04 22:57:23 +02:00
Hermès Bélusca-Maïto 0b43959beb [MSGINA] OnInitSecurityDlg(): Remove unnecessary code (#8371)
The Security dialog can be displayed only when a user is logged.
When this is so, the `pgContext->bAutoAdminLogon` has already been
reset to `FALSE`, see `gui.c!DoLogon()`. Thus there is really no
reason to disable the "Log Off" button in that case.

Addendum to commit c633b79451 (r61622)
2025-09-04 11:55:07 +02:00
Hermès Bélusca-Maïto b306f46e5b [MSGINA] Revisit WlxActivateUserShell(), add support for "Logon User Name" (#8370)
- Add SAL annotations;
- Avoid using hardcoded buffer sizes in function calls.

- If the start-application (Userinit) launched successfully, store
  in the logged-in user's Explorer key, value `"Logon User Name"`,
  the user name that was entered verbatim in the "Log On" dialog
  to log into the system. This value is used as a "convenience" to
  display the `"Log Off <username>"` item in the explorer's Start menu
  (see `explorer!util.cpp:GetCurrentLoggedOnUserName()`), and the
  corresponding item in the "Shut Down" dialog.

- utils.c: Introduce the `RegOpenLoggedOnHKCU()` helper, for opening
  the current logged-in user HKCU key.

  NOTE: Regarding the `.Default` registry key, see:
  https://devblogs.microsoft.com/oldnewthing/20070302-00/?p=27783
2025-09-04 11:47:01 +02:00
Hermès Bélusca-Maïto 55ed59c379 [MSGINA] ReadRegDwordValue(): Return valid errors on data validation (#8370) 2025-09-04 11:47:00 +02:00
Hermès Bélusca-Maïto e7073d2639 [MSGINA] Move some utility functions to a separate utils.c file (#8370)
- Registry-value getters; string copy functions.

- ReadRegSzValue(): Use a meaningful error value
  when the value type isn't the expected one.

- Rename `DuplicationString` -> `DuplicateString`
2025-09-04 11:46:59 +02:00
Hermès Bélusca-Maïto b3a0b4124a [MSGINA] Zero out and don't return old user login info on aborted logon attempts
- WlxLogoff(): Zero out cached Winlogon buffer pointers and some more
  user login info.

- WlxLoggedOutSAS(): Return the logged-in user token handle *ONLY* if
  the user is actually logging into the system.
  If (s)he doesn't log in, but instead cancels the Log-On dialog, or
  chooses to Shutdown/Reboot the computer from that dialog, do *NOT*
  return any previous logged-in user token handle.

  For example, in the case of a previously failed logon attempt due
  to a wrong or corrupted user profile, shutting down the computer
  from the Log-On dialog would show the following errors in the debugger:
  ```
  err:(.../winlogon/sas.c:757) ImpersonateLoggedOnUser() failed with error 6
  err:(.../winlogon/sas.c:859) Shutdown thread returned failure
  err:(.../winlogon/sas.c:1182) Failed to start the Shutdown thread, Status 0xc0000001
  ```
2025-08-29 18:23:55 +02:00
Hermès Bélusca-Maïto 752f6b5591 [MSGINA] Erase passwords & set focus back to the password field, in failure cases (#8337)
Do this in the "Logon", "Unlock Computer", and "Change Password" dialogs.
2025-08-14 23:28:25 +02:00
Hermès Bélusca-Maïto 20b3673aab [MSGINA] Fix default focus to dialog controls (#8337)
Fix some erroneous `SetFocus()` invocations in dialog procedures:

- In `WM_INITDIALOG`, don't return `TRUE` if focus is changed to a
  control, otherwise any focus set by the caller would be ignored;

- In other handlers, `SetFocus()` would generate an inconsistent
  behaviour with the dialog push-buttons, as mentioned in:
  https://devblogs.microsoft.com/oldnewthing/20040802-00/?p=38283
2025-08-14 23:28:02 +02:00
Hermès Bélusca-Maïto d537052196 [MSGINA][SHELL32] Make the minimal shutdown and logoff dialogs handle WM_ACTIVATE similarly (#8334)
Fix also the `LOGOFF_DLG_CONTEXT Context` in `shell32!LogoffWindowsDialog()`
not being initialized to default values.
2025-08-14 17:56:43 +02:00
Hermès Bélusca-Maïto 61623ab497 [MSGINA] Use IDOK/IDCANCEL for the "Log Off ReactOS" Yes/No buttons (#8334)
This allows pressing ENTER or ESC on the keyboard and have the correct
action done. The equivalent dialog in shell32.dll was already using that.
Simplify the associated code as well.

Also: remove the unused `", 400, 0, 1"` `FONT` resource specification info.
2025-08-14 17:56:42 +02:00
Hermès Bélusca-Maïto 10b0101cc5 [MSGINA] *.rc: Default to "Lock Computer" in the "Security" dialog (#8334)
And add missing keyboard accelerators to the dialog buttons
(except for Hebrew where it's not clear what the preferred way
of specifying accelerators is).
2025-08-14 17:56:42 +02:00
Hermès Bélusca-Maïto dc43104a70 [MSGINA] *.rc: Simplify BS_DEFPUSHBUTTON style (#8334)
Indeed, `DEFPUSHBUTTON` == `PUSHBUTTON ..., BS_DEFPUSHBUTTON` with
also the `WS_TABSTOP` style that is needed for keyboard navigation.
2025-08-14 17:56:22 +02:00
Hermès Bélusca-Maïto aa67222595 [MSGINA] CreateProfile(): Fix initialization of some WLX_PROFILE_V2_0 members (#8321)
The following members of the returned `WLX_PROFILE_V2_0` structure:
`pszProfile`, `pszPolicy`, `pszNetworkDefaultUserProfile`, and
`pszServerName`, have a specific meaning and are used when logging
to (NT4, Active Directory...) domains.
See the added code comments for details.

In particular, `pszProfile` specifies the path to a *roaming* user
profile[^1] on a domain server, if any. It **DOES NOT** specify the local
`"C:\Documents and Settings"` path (got via `GetProfilesDirectoryW()`).

Since we don't really support user login on domains, set these pointers to NULL.

----

Enabling UserEnv debug logging[^2] on Windows 2003, one can observe such
following traces, for a `TestUser` roaming user profile:
```
USERENV(148.14c) 20:24:59:821 LoadUserProfile: Entering, hToken = <0x8bc>, lpProfileInfo = 0x6e5d8
USERENV(148.14c) 20:24:59:875 LoadUserProfile: lpProfileInfo->dwFlags = <0x0>
USERENV(148.14c) 20:24:59:912 LoadUserProfile: lpProfileInfo->lpUserName = <TestUser>
USERENV(148.14c) 20:24:59:966 LoadUserProfile: lpProfileInfo->lpProfilePath = <C:\Documents and Settings\TestUser_Roaming>
USERENV(148.14c) 20:25:00:021 LoadUserProfile: lpProfileInfo->lpDefaultPath = <\\PC-H\netlogon\Default User>
USERENV(148.14c) 20:25:00:075 LoadUserProfile: NULL server name
...
USERENV(148.14c) 20:25:06:177 CopyProfileDirectoryEx: Found hive file NTUSER.DAT
USERENV(148.14c) 20:25:06:395 ReconcileFile: C:\Documents and Settings\TestUser_Roaming\NTUSER.DAT ==> C:\Documents and Settings\TestUser\NTUSER.DAT  [OK]
...
```
The `lpProfilePath` specifies a roaming profile directory (`"TestUser_Roaming"`)
for a user named named `TestUser`, and UserEnv proceeds to image the roaming
profile into the directory (`"TestUser"`) in the local computer.

However, when the user has a local profile, the `lpProfilePath` is set to
NULL in this case, and one observes instead:
```
USERENV(148.14c) 20:21:22:644 LoadUserProfile: NULL central profile path
```

----

[^1]: The following links explain this, also demonstrating UserEnv debug logging:
    - https://web.archive.org/web/20130319204738/http://blogs.technet.com/b/askds/archive/2008/11/11/understanding-how-to-read-a-userenv-log-part-2.aspx
    - https://web.archive.org/web/20150405040409/http://blogs.technet.com/b/ad/archive/2007/08/20/tracking-user-environment-creation.aspx

[^2]: For more details, see:
  https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/221833
  (archived from: http://support.microsoft.com/kb/221833)
  UserEnv debug logging is achieved by adding a `REG_DWORD` value named
  `UserEnvDebugLevel` in the following registry sub-key:
  `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon`
  with a non-zero value.
  To view the output in a debugger (e.g. WinDbg when kernel-debugging
  Windows), set the value to `0x00020002`.
2025-08-11 21:55:43 +02:00
Hermès Bélusca-Maïto 4d85dd4f97 [MSGINA] gui.c: Simplify 'wcslen(string) != 0' tests 2025-08-10 20:56:41 +02:00
Hermès Bélusca-Maïto f60be66d1f [MSGINA][WINLOGON] Carefully zero password memory buffers before freeing them (#8172)
Including variables containing pointers to a password buffer and its lengths.
2025-06-27 16:45:12 +02:00
Hermès Bélusca-Maïto b254ea8274 [MSGINA][WINLOGON] Perform thorough memory cleanup after user logging (#8155)
- MSGINA: The `pMprNotifyInfo` and `pProfile` structures returned by
  `WlxLoggedOutSAS()`, as well as all of their pointer fields, are
  allocated by `LocalAlloc()`[^1][^2]. This is what Windows' Winlogon
  expects (and ours too, for interoperability with GINA dlls written
  for Windows), as it then frees them using `LocalFree()`.

- WINLOGON: In `HandleLogon()`, free the cached `MprNotifyInfo` and
  `Profile` buffers (and all their members) obtained from a previous
  call to `WlxLoggedOutSAS()`.

[^1]: https://learn.microsoft.com/en-us/windows/win32/api/winwlx/nf-winwlx-wlxloggedoutsas
[^2]: 3rd-party GINAs rely on this as well. One example can be found at:
      https://www.codeproject.com/Articles/20656/Winlogon-using-Mobile-Disk
2025-06-24 20:30:34 +02:00
Hermès Bélusca-Maïto b0fbeb6801 [WINLOGON][MSGINA] Improve WLX_SAS_ACTION_TASKLIST handling in logged-on/logged-on SAS states (#8131)
CORE-13478
Addendum to commit 46dcab7ab.

The `WLX_SAS_ACTION_TASKLIST` action can be invoked in three scenarii to
open the Task-Manager:

1. from the logged-on state (`LogonState == STATE_LOGGED_ON`), when the
   user presses Ctrl-Shift-Esc while being on its own desktop (usual case);

2. from the Logged-On SAS dialog (`LogonState == STATE_LOGGED_ON_SAS`),
   when the user presses the "Task-Manager" button: here Winlogon should
   switch back to the user's desktop, restoring `STATE_LOGGED_ON` and
   start the TaskMgr;

3. or when the user presses Ctrl-Shift-Esc **while being on the Logged-On
   SAS dialog**: in this case, the Task-Manager is started on the
   currently-hidden user's desktop (and so, will be hidden), but the SAS
   dialog stays open. The user will see the opened TaskMgr once (s)he
   closes the SAS dialog and Winlogon switches back to the user's desktop.

In order to support these scenarii, the `WLX_SAS_ACTION_TASKLIST` action
handling is reworked:

- `SASWindowProc(WM_HOTKEY, IDHK_CTRL_SHIFT_ESC)` always invokes the
  `DoGenericAction(WLX_SAS_ACTION_TASKLIST)`: this allows centralizing
  inside `DoGenericAction()` the condition checks for starting TaskMgr.

- `DoGenericAction(WLX_SAS_ACTION_TASKLIST)` just starts the Task-Manager
  only if the Winlogon's `LogonState` is either `STATE_LOGGED_ON` or
  `STATE_LOGGED_ON_SAS`. It doesn't attempt there to switch desktops nor
  change the `LogonState` value, in order to support scenarii 2 and 3.

- The switch from/to Winlogon/user's desktops when going to the
  `LogonState: STATE_LOGGED_ON -> STATE_LOGGED_ON_SAS` change is done
  in `DispatchSAS()`, just before invoking the GINA's `WlxLoggedOnSAS()`
  (see below for more details) and just after it returns, only in the
  necessary cases.

----

[MSGINA] The WlxLoggedOnSAS() dialog shouldn't switch the desktops itself.

This behaviour can be observed on Windows with Winlogon debugging + tracing
enabled. It is Winlogon instead that does the desktop switch itself, as for
all the other SAS dialogs, in addition to changing its internal `LogonState`.

Fix for commit 7aecedf79 (r58785).
2025-06-16 14:04:33 +02:00
Whindmar Saksit bbd6a57c0f [MSGINA][LSASRV] Support LSA secret DefaultPassword in autologon (#7936) 2025-05-01 17:51:42 +02:00
Hermès Bélusca-Maïto ebdb7b3e4d A problem has been detected and ReactOS has been shut down to prevent
damage to your time machine warp core.

UNEXPECTED_NEW_YEAR_TIMESLIP

If this is the first time you have seen this Stop error screen,
restart your time machine. If this screen appears again, follow
these steps:

Check to make sure you wish the ReactOS Community a
🎊 🍾 🥳 *:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:* 🎆 ⚛️ ☢️

        █ █ █▀█ █▀█ █▀█ █ █          ██████╗  ██████╗ ██████╗ ███████╗    ██╗
        █▀█ █▀█ █▀▀ █▀▀ ▀█▀          ╚════██╗██╔═████╗╚════██╗██╔════╝    ██║
        ▀ ▀ ▀ ▀ ▀   ▀    ▀            █████╔╝██║██╔██║ █████╔╝╚█████╗     ██║
  █▄ █ █▀▀ █ █ █  █ █ █▀▀ █▀█ █▀█    ██╔═══╝ ████╔╝██║██╔═══╝  ╚═══██╗    ╚═╝
  █▀██ █▀▀ █ █ █  ▀█▀ █▀▀ █▀█ ██▀    ███████╗╚██████╔╝███████╗██████╔╝    ██╗
  ▀  ▀ ▀▀▀  ▀▀▀    ▀  ▀▀▀ ▀ ▀ ▀ ▀    ╚══════╝ ╚═════╝ ╚══════╝╚═════╝     ╚═╝
🎆 ⚛️ ☢️ *:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:* 🎊 🍾 🥳
Also, ensure you use the latest nightly ReactOS version and run it
attached to a debugger.

If problems continue, Keep Calm And Carry On Developing. Test your
code more thoroughly, use a sane compiler and debugger, or ask any
questions on ReactOS' official Mattermost channel.

Technical information:

*** STOP: 0x42000042 (0x67747770,0x000007E9,0x00000001,0x00000001)

***  jira.reactos.org   - Address chat.reactos.org Base at reactos.org
***  github.com/reactos - Address  git.reactos.org Base at reactos.org
2025-01-01 00:00:00 +01:00
Jose Carlos Jesus 0cf2390c3f [MSGINA] Update Portuguese (pt-PT) translation (#7235) 2024-11-02 21:43:48 +01:00
Timo Kreuzer e4930be4ff [REACTOS] Use the ISO C and C++ conformant names: _wcsicmp, _stricmp
Stop using non-conforming wcsicmp, stricmp, strcasecmp
2024-10-20 14:12:25 +03:00
Hermès Bélusca-Maïto c1e642fdb5 Revert "[SHELL32] Show Product version on About dialog bmp (#3621)" (#7327)
This reverts commit 2636cff09f
by Cătălin Gabriel Drăghiță (@jeffbox12) as well as any subsequent changes.

This was agreed upon by the original author on our official Mattermost
chat (chat.reactos.org)

The reactos.bmp banners are again generated from the file:
  dll/win32/msgina/resources/svg/reactos.svg
2024-09-08 14:55:47 +02:00
Andrei Miloiu cab86826e9 [MSGINA] Update Romanian (ro-RO) translation (#6536) 2024-07-16 20:28:05 +02:00
Oleg Dubinskiy 1a1025011f [REACTOS] Fix LoadCursorW() incorrect usage cases (#7053)
Fix wrong MAKEINTRESOURCEW() macro usage cases in LoadCursorW() system-wide.
MSDN documentation for this function states we need to use MAKEINTRESOURCEW() macro only for internal application-defined cursors (loaded from the app instance specified by hInstance parameter), but not for system-defined cursors (those begin with IDC_* prefix), in case when hInstance is NULL.
So get rid from MAKEINTRESOURCEW() macro usage for all cases when hInstance parameter is NULL. And on the contrary, when hInstance is valid and points to the application instance, then use it for the resource identifier.
2024-07-01 18:05:46 +02:00
Hermès Bélusca-Maïto a70ce994f0 🎊 🍾 🥳 Happy New Year 2024 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.██████╗  ██████╗ ██████╗ ██╗  ██╗
 __,  ,__)            __,  ,__)       __, ,__)         ╚════██╗██╔═████╗╚════██╗██║  ██║
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_     █████╔╝██║██╔██║ █████╔╝███████║
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||     ██╔═══╝ ████╔╝██║██╔═══╝ ╚════██║
 (        |  |  ,_|   (                (__|            ███████╗╚██████╔╝███████╗     ██║
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:.╚══════╝ ╚═════╝ ╚══════╝     ╚═╝
2024-01-01 00:00:00 +01:00
Andrei Miloiu 212f3eaf00 [MSGINA] Update Romanian (ro-RO) translation (#6062) 2023-12-01 15:32:38 +01:00
Tibor Lajos Füzi 3068422d51 [TRANSLATION] Update hungarian translation for mspaint, notepad, taskmgr, explorer, appwiz, browseui, msgina, shell32 (#5645) 2023-09-03 17:46:38 +02:00
Andrei Miloiu f86fdfb526 [MSGINA] Update Romanian (ro-RO) translation (#5636) 2023-09-02 15:43:38 +02:00
Stanislav Motylkov a0250607f2 [MSGINA] Update Russian (ru-RU) translation 2023-08-31 20:10:23 +03:00
Katayama Hirofumi MZ f23bb1ab76 [MSGINA] Update Japanese (ja-JP) translation
CORE-18706
2023-08-31 20:16:45 +09:00
Carl J. Bialorucki 2263547985 [WINLOGON][MSGINA] Add emergency restart and log off features (#5629)
CORE-18958

Introduce an emergency log-off and restart feature, available when holding
down the control key and selecting "Log Off" or "Shut down" in the MSGINA
Ctrl-Alt-Del security dialog, similar to Windows Server 2003 and newer
Windows versions.
2023-08-31 11:51:54 +02:00
Arnav Bhatt 79e4efe04e [MSGINA] Convert shutdown/logoff boxes back to modal dialog boxes (#5114)
- Convert all modeless dialog boxes back to modal dialog boxes.
- Use WM_TIMER to detect SHIFT key press instead, as you can't
  directly intercept messages on modal dialog boxes.
- Remove some unused functions.

Fixes explorer crash on shutdown cancel. CORE-17749
2023-07-14 15:02:40 +03:00
Ratin Gao 2f70f79904 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4979)
- Add and improve translation
- Fix mistakes
2023-02-10 23:15:25 +09:00
Hermès Bélusca-Maïto 95e5f07084 🎊 🍾 🥳 Happy New Year 2023 to the ReactOS Community! 🎆 ⚛️ ☢️
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
 __,  ,__)            __,  ,__)       __, ,__)        ░▄████▄░▄███▄░▄████▄░▄█▀▀█▄░
(--|__| _ ,_ ,_      (--|\ | _       (--\ | _  _ ,_   ░▀▀░▄██░██░██░▀▀░▄██░░░░▄█▀░
  _|  |(_||_)|_)(_|    _| \|(/_(_|_)     \|(/_(_||    ░░▄██▀░░██░██░░▄██▀░░▄░▀▀█▄░
 (        |  |  ,_|   (                (__|           ░██████░▀███▀░██████░▀█▄▄█▀░
.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:*~*:._.:
2023-01-01 00:00:00 +03:00
Andrei Miloiu 5b4a145453 [TRANSLATION] Big Romanian (ro-RO) translation update - part 1 (#4701)
- [CALC] Improve Romanian (ro-RO) translation
- [SOLITAIRE] Improve Romanian (ro-RO) translation
- [MSPAINT] Improve Romanian (ro-RO) translation
- [MSTSC] Improve Romanian (ro-RO) translation
- [SNDVOL32] Improve Romanian (ro-RO) translation
- [REACTOS] Improve Romanian (ro-RO) translation
- [USETUP] Improve Romanian (ro-RO) translation
- [DESK] Improve Romanian (ro-RO) translation
- [INPUT] Improve Romanian (ro-RO) translation
- [INTL] Improve Romanian (ro-RO) translation
- [JOY] Improve Romanian (ro-RO) translation
- [MMSYS] Improve Romanian (ro-RO) translation
- [POWERCFG] Improve Romanian (ro-RO) translation
- [SYSDM] Improve Romanian (ro-RO) translation
- [ACPPAGE] Improve Romanian (ro-RO) translation
- [DESKADP] Improve Romanian (ro-RO) translation
- [MYDOCS] Add Romanian (ro-RO) translation
- [NETPLWIZ] Add Romanian (ro-RO) translation
- [NTOBJSHEX] Improve Romanian (ro-RO) translation
- [SENDMAIL] Add Romanian (ro-RO) translation
- [ZIPFLDR] Improve Romanian (ro-RO) translation
- [JSCRIPT] Improve Romanian (ro-RO) translation
- [MSGINA] Improve Romanian (ro-RO) translation
- [SYSSETUP] Improve Romanian (ro-RO) translation
- [MC] Add Romanian (ro-RO) translation

Reviewed-by: Ștefan Fulea <[email protected]>
Reviewed-by: Joachim Henze <[email protected]>
Reviewed-by: George Bișoc <[email protected]>
Reviewed-by: Stanislav Motylkov <[email protected]>
2022-10-09 14:00:20 +03:00
Nikolay DimitrovandHermès Bélusca-Maïto f2bc613fda [TRANSLATION] Update Bulgarian translation (#4429)
Update translations for:
Explorer, Calculator, MSPaint, MSGina, USetup.

Add translations for:
INetCPL, Crypt32, CryptUI.

Signed-off-by: Nikolay Dimitrov <[email protected]>
Co-authored-by: Hermès Bélusca-Maïto <[email protected]>
Reviewed-by: Rosen Iliev <[email protected]>
2022-09-30 18:08:13 +02:00
Artyom Ovsyannikov 3f411c5da7 [REACTOS] Various Russian (ru-RU) translation fixes (#4696)
Reviewed-by: Stanislav Motylkov <[email protected]>
2022-09-15 18:46:03 +03:00
Luke Luo de972e2bc2 [TRANSLATION] Improve Simplified Chinese (zh-CN) translation (#4513)
- Changed some wording according to the translation requirements.
- Fixed some mistakes.
- Changed my name.

Reviewed-by: He Yang <[email protected]>
Reviewed-by: Stanislav Motylkov <[email protected]>
2022-05-20 15:38:24 +03:00
Serge Gautherie 03422451b3 [REACTOS] Add '\n' to debug logs
on TRACE, WARN, FIXME and ERR calls.

Plus a few nit picks.
2022-05-04 03:28:38 +03:00
Wu HaotianandLiu Wenyuan 0c42866e64 [TRANSLATION] Review & update Simplified Chinese (zh-CN) translation (#3933)
Reviewed all Chinese Simplified translation files and updated those
inappropriate or outdated ones.

Co-authored-by: Liu Wenyuan <[email protected]>
Reviewed-by: Chan Chilung <[email protected]>
Reviewed-by: He Yang <[email protected]>
Reviewed-by: Zheng Jianping <[email protected]>
Reviewed-by: Luo Yufan <[email protected]>
Reviewed-by: Hermès Bélusca-Maïto <[email protected]>
Reviewed-by: Stanislav Motylkov <[email protected]>
2022-03-31 20:30:52 +03:00