Reputation: 189
I develop my project in Delphi 2010 on Windows 7 (Russian localization).
When I started working on Windows 8 (English) and moved my project to Delphi XE3 I saw standard dialogs (like buttons, headers of MessageDlg and system errors) in English (must be in Russian).
Look at Project - Options - Version Info - Language, and saw Locale ID as "English (United States)" in "Debug Configuration - 32-bit Windows platform".
Look other configurations, and saw in three headlines like "All configurations - All platforms" (where all elements disabled)
Locale ID is "Russian (Russia)" and in all subtitles "32-bit Windows platform" Locale ID is "English (United States)".
OK, I changed in all configurations Locale ID to "Russian (Russia)". But It doesn't work - all messages in English. In properties of builded exe-file Language=Russian (Russia). Tested it on Windows 7, Vista with Russian localization.
Upvotes: 1
Views: 1220
Reputation: 57
There's a consts.pas/consts.dcu unit in Delphi source, which contains all the translations of the standard dialogs. You can make a copy of this file and add it to your project. You can make your changes and build your project. Make sure, that the original consts.pas/consts.dcu is not available (rename/move them).
Upvotes: 0
Reputation: 47889
The Locale ID in the version info has nothing to do with the language used for standard dialogs. You can even have multiple entries in version info for different locales.
The language used for standard dialogs depends on the language setting for the current Windows user. It is the same for all applications started under this user account and is independent of the language used inside the application itself.
Upvotes: 2